在这段时间的c’语言补习阶段与练习练习c语言的一些简单的程序题过程中。虽然简单,很多都学过了,但是经常会出现许多细小的错误,这些错误比较难发现,但是却对程序的运行有很大的影响,导致运行出现错误。今天我就我最近的练习进行一些整理。很多都是基础的,大神别笑,也希望你们能给出一些指点,让我们更快的成长起来。
首先是一些简单的错误:
一、定义类:循环的时候如果一个数每一次循环都要从1开始,那么就不能在外部定义,这里的外部不是宏定义的位置,而是如下位置:
#include<stdio.h>
Int main()
{
Int i=1;
Int a,b;
For (a=0;a<10;a++){
For(i;i<a;i++)
{
在这里使用i时,如果不注意,i的值可能就大于或等于a了,比如在求是否是素数,求因子的时候基本就出不来结果了。所以应该在里面定义如:
For(i=1;i<a;i++)
二、for循环中判断条件的选取:
其实for循环中判断条件的取值不难,你可以根据你需要的值和附近的值来计算比如:
For(i=0;i<10;i++)
在这里不难看出i是从0~~9;但是最后i=10;这里如果下文要调用i需要注意。
除了这些,还有一些平时要多注意的点也是蛮多的:
在ubuntu中使用gcc编译器的时候,除了可以一次性编译以外,也可以分次,
步骤如下:
-
预处理
Gcc –E test.c –o test.i
-
编译
Gcc -s test.i -o test.s
-
汇编
Gcc -c test.s -o test.o
-
链接
Gcc test.o -o test
-
运行
./test
Makefile
这是一个非常好用的文件工具,在分步编译中,或者有些函数写错了,使用它可以非常快速的删除。但其中文件的书写也是有一定规范的,便携式要注意。
‘/’ ’%’这两个运算符的使用
首先是 ‘/ ’ 除号,在使用中两数都是整型时,结果也是整型,一旦有一个是浮点数,就会转换为浮点型。并且它还有一个用处就是除数取整,比如:A=A/10;这个就可以吧A小数位去掉,并缩小十倍。
然后是‘%’这个算数符使用时两侧都要是是整型,否则会报错不能运行。还有一个就是取余运算,除以一个数取余数,这个功能可以方便的把一个数字的各位分解出来。
#define 宏定义
在使用中要注意所定义的字符的作用域,并且在使用中要注意不能重复定义,所以在编程中最好少用。
Typedef
赋予数据类型新名字,如:
,typeddf int SINT32;
有这个语句后,后面定义int型函数就可以用SINT32来定义,这样简单明了而且还增加了其可移植性,如如果是从32位机移到16位机,就可以吧上面的语句中的int改为long int,这样字符长度的问题就可以一次性解决,而不用把每一个定义都得从新定义一遍;
某位清零置一
在这里,涉及到的是位运算,把一个数或者字符存到电脑里,其实就是它相应的补码。
在运算时经常会用到移位和并且,或等运算。这样就可以把相应的位替换成我们需要的字符。
Extern 多文件处理
提示有某个变量,但并不赋地址空间,声明外部变量,这样在多个函数一起编译时就可以相互调用;
Volatile :提示每次取值时都从地址空间取,而不是缓存区。修饰声明i/o寄存器、在中断中会改变的量、全局变量;
,exit,return,continue;break之间的区别:
Exit是直接退出函数,continue是结束本次循环继续下次循环
Break则是结束本循环,即不再执行本循环;
而return则是返回值;
以上就是我总结的一些比较容易混淆的知识点,当然这都是在我自己的观点下,并不全。所以可能有蛮多不足之处的,躯体的还是需要进行系统的学习。希望我们一起进步。