您当前的位置:首页 > 互联网教程

初学编程最常问的几个问题

发布时间:2025-05-19 12:13:52    发布人:远客网络

初学编程最常问的几个问题

一、初学编程最常问的几个问题

隔行如隔山,初学编程往往不知道从何入手,非常迷茫,以下几个问题是我经常被问到的,总结出来分享给读者。

这是一个没有答案的问题。每个人投入的时间、学习效率和基础都不一样。如果你每天都拿出大把的时间来学习,那么两三个月就可以学会web前端,不到半年时间就可以编写出一些软件。

但是有一点可以肯定,几个月从小白成长为大神是绝对不可能的。要想出类拔萃,没有几年功夫是不行的。学习编程不是看几本书就能搞定的,需要你不断的练习,编写代码,积累零散的知识点,代码量跟你的编程水平直接相关,没有几万行代码,没有拿得出手的作品,怎能称得上“大神”。

每个人程序员都是这样过来的,开始都是一头雾水,连输出九九乘法表都很吃力,只有通过不断练习才能熟悉,这是一个强化思维方式的过程。

知识点可以在短时间内了解,但是思维方式和编程经验需要不断实践才能强化,这就是为什么很多初学者已经了解了web前端的基本概念,但是仍然不会编写代码的原因。

程序员被戏称为”码农“,意思是写代码的农民,要想成为一个合格的农民,必须要脚踏实地辛苦耕耘。

也不要压力太大,一切编程语言都是纸老虎,一层窗户纸,只要开窍了,就容易了。

编程是一门技术,我也不知道它难不难,我只知道,只要你想学,肯定能学会。技术就是一层窗户纸,是有道理可以遵循的,在我看来,比搞抽象的艺术要容易。

在技术领域,编程的入门门槛很低,互联网的资料很多,只要你有一台计算机,一根网线,具备初中学历,就可以学习,投资在5K左右。

不管是技术还是非技术,要想有所造诣,都必须潜心钻研,没有几年功夫不会鹤立鸡群。所以请先问问你自己,你想学编程吗,你喜欢吗,如果你觉得自己对编程很感兴趣,想了解软件或网站是怎么做的,那么就不要再问这个问题了,尽管去学就好了。

3、英语和数学基础不行,可以学会吗?初中毕业可以学会吗?

首先说英语。编程需要你有英语基础,初中水平完全可以胜任。编程起源于美国,昆明北大青鸟发现代码中会出现很多单词,有英语基础记忆起来会非常容易,如果你不认识也没关系,我推荐你安装有道词典,它的划词功能非常棒,选中什么就及时翻译什么,不管是句子还是单词。这样,相信你开发出常用的软件不成问题。

二、求大佬解决C语言问题

题目要求用指针函数,既返回值为指针类型的函数。

在主函数接收返回值并输出打印。

从输入的学生中找出有不及格的学生,并输出其不及格的课目成绩。(在打印所有学生的同时就筛选出存在不及格的学生,可减少循环次数,本题只有3个学生,假设更多的话)。

printf("输入的%d个学生%d科成绩分别为:\n",MS,MC);

for(i=0;i<MS;printf("\n"),i++)//2、输出成绩

for(j=1,printf("学生编号%d:",stus[i][0]);j<MC+1;printf("%d",stus[i][j]),j++)

if(stus[i][j]<JG) p[cnt]=stus[i];//打印输出数组的同时,计算不及格的学生,减少循环次数

for(i=0,printf("\n其中存在课程不及格的学生:\n");i<cnt;i++)

for(j=1,printf("学生编号%d,不及格的课程有:\n",p[i][0]);j<MC+1;j++)

if(p[i][j]<JG) printf("--课程%d不及格,分数为:%d\n",j,p[i][j]);

//malloc申请的内存需要手动释放,这里可写free释放,因为程序到此结束,自动释放了,我就不写了。

static int id=1;//stus数组第1列为学生编号(唯一的),id是学生编号自增序列

p=(int*)malloc(sizeof(int)*MS*(MC+1));

stus=(int**)malloc(sizeof(int*)*MS);

printf("请输入学生的%d科成绩:\n",MC);

for(j=1,stus[i][0]=id++;j<MC+1;scanf("%d",&stus[i][j]),j++);

三、编程的几个问题,谢谢

1、子程序2是否是多线程,由你调用的方式决定。如果用创建线程方式调用2,那么2就是另一个线程,否则,2就是从属于线程1的过程(当然,前提是1是以线程方式创建的);子线程再创建的子线程是否是同步执行的问题也是一样,默认是同步执行的,当然也可以使用异步线程和线程信号灯等方式控制多线程的相互影响。

2、放到DLL会降低效率,但这个降低非常小,是毫秒级的。只要不是多个DLL圈套圈的来来回回调用,这个效率的影响完全可以忽略不计。(当然,这里说的是传统DLL,而不是组件式DLL,组件化的效率牺牲比较大,不是毫秒级的)

3、不是所有的DLL都有初始化代码的。而组件方式的初始化,和传统DLL的初始化也有很大差别。一般来说,决定在哪里加载和初始化,有两个方面确定:a)有些DLL组件必须在程序开始就初始化而且不能反复加载,这个没得说,必须按要求来;b)不是必须初始加载的DLL,采用哪种方式是由效率和资源消耗的对比来决定的,如果经常使用并且初始化耗时较多,那么就应该初始化一次,如果dll只在某个局部使用并且使用频率很低,临时加载并在使用后释放是完全可以的。

4、关于3,简单的总结一下。大部分DLL都是采用初始化一次加载,因为临时加载效率更高的情况很少,这里有占用资源问题,也有程序的不可预期性问题。