怎样在一个月内成为C语言高手?
几乎可以肯定的说,没有人能在一个月之内成为个中高手,有一本书,书名叫做《21天精通C语言》,但是没有一个C语言高手是因为看完这本书成为高手的。编程语言的学习是一个逐渐进步,慢慢提高的过程,没有人能例外!!!
C语言素数求和,拜托各位高手了?
intprime(intn){inti,j=0;for(i=2;i<n;i++){if(n%i==0){j=1;return0;}}if(j==0)returnn;}intmain(){inti,j,n,sum=0;scanf("%d",&n);for(inti=n;n>0;++i){sum=sum+prime(i);if(prime(i)!=0){n--;}}printf("%d",sum);return0;}主要是你之前的while每次i又重新赋值了,还是不定追问。
关于c语言的问题,下面四句话那句话不对,我看了好长时间就是看不出来呀,哪位高手看出来了,指点一下?
第4个是错误的,obj文件是编译后生成的目标文件,不能直接运行,只有可执行文件
.exe
才有直接运行。其它几个:
1、计算机当然不能直接执行源程序,必须编译成可执行代码才能运行。
3、编译后的
.obj
目标文件,需要链接器把.obj目标文件、.lib库文件、***文件等生成.exe可执行文件,可执行文件是二进制文件。
第四句错了,.obj不是可执行文件。c语言的源代码要经过编译和连接两个步骤才能生成可执行文件。
编译的过程是将源码翻译成机器码的过程。所谓机器码就是二进制的指令码。机器码的程序用obj为扩展名被保存下来。机器码的程序都是按照一个工程一个工程分割开来的。由于不知道程序段所需的内存空间,无法分配数据存储区,堆和栈的空间。这样的程序无法执行。连接则起到了计算所占内存的大小分配内存空间的作用。它将一段一段的机器码连成一体,在头部加上数据存储区和栈区尾部加上堆区。这样的程序就可以被加到内存里执行了。