---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、
<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
C语言一些注意
1、以分号结尾的是一条语句,尽管可能a;、1233;、a==3;这样的形式,但编译器不会报错
2、if语句的条件里面可以是一般的赋值语句,编译器不会报错,如:if( a=5 )这样条件为真,if(a=0 )条件为假
3、在if语句内部定义局部变量的时候,注意要用上花括号,即{int a;…….}尽管他可能是一条语句,否者会报作用
域不明确的错误。同样的错误还会出现在switch语句的case语句中、while循环语句中、for循环中。
4、if与switch语句在某种时候可以互换,但不是所有时候都可以。一般是switch都可以用if实现。还有switch的条件
只能是整数的数据,如:char、int、long、bool。
5、while(xxx); 这是一个死循环语句,所以注意这里的,制造一个死循环可以通过while(1)来实现。用for语句来时死
循环可以这样子for(;;)或for(;1;)
6、不同作用域的变量可以同名,相反同一作用域同名会报错。像:
for(inti=0;i<5;i++ )
{ //定义同名的局部变量i
int i;
….
}
这样编译器不会报错,且内层的局部变量有更高的优先权。
7、对于scanf函数,它不像java的输入函数那样有提示作用,它分号内部的信息不是提示用的,而是一种格式说明,
即你输入的时候要按照这个格式输入如有:
scanf(“inputnum:%d”,&num);
你在控制台输入的时候必须是:input num:10 这样才能正确输入,否者读不出你输入的数据。
8、逻辑运算符(&&,||,!)和位运算符号(&,|,^)的区别
在C语言中,编程者经常混淆两组运算符:(&&,||,!)和(&,|,^)。第一组是逻辑运算符,它的操作数是布
尔型,而第二组则是位运算符,其操作数是位序列。在布尔型操作数中,只有两个数值,0或1。C语言规定,在逻
辑运算中,所有的非0数值都看做1处理。而位序列则可以是有无符号的字符型,整型,长短整型等。在位运算中,
是相应的位之间进行逻辑运算。因此,从逻辑上讲,位运算过程包含多个逻辑运算过程。通常,位运算操作数选择
无符号型数据。
9、#include表示的copy的意思,所以写两次相同会出现重命名的错误,既然是copy说明他也可以通过路径来实现,
但是必须可绝对路径。
10、对于编译,可以多文件实现,一般在集成的运行环境都是多文件编译,在控制台:只编译:cc –c xxx.c xxx.c xxx.c
结果是生成 .o文件编译加运行:cc xxx.c xxx.c xxx.c. 结果是生成执行文件。
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、
<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------