一、单等= 双等==
= 是赋值,==是比较
常见误解
1)
if(a==1) //判断a==1是否成立
{
.......;
}
2)
if(a=1) //将a赋值为1,条件为真,if判断恒成立。
二、条件判断
if( scanf(“%d”,&a) == 1 )
在条件判断中,先执行条件语句内容,再判断
三、乘法
数学中a*b可以简写为ab
C语法中,乘号*不可省略。需写作a*b
四、连续的大小关系判断
a=1,b=2,c=3
数学中,可以写作a<b<c。 但是在C中,没有连续的大小关系判断符号。
需写作a<b && b<c。
否则C会将a<b<c认为 a<b这个表达式是否为真,再用表达式去比较c。即(a<b)<c
需要注意的是:C中,存在>= <= 操作符
五、句后的;
if() 、while()一般不加分号(do while()中需要加分号)
struct 、 enum创立的自定义类型,需要加分号
上码:
struct SS enum SS
{ {
...... ..........
}; };
六、struct 与 enum的成员分隔:一个分号,一个逗号
直接上码
struct SS enum SS
{ {
int a; Mon=0, //枚举常量有值的属性
char b; Tues=2,
}; };
七、getchar 、 scanf
gethcar与scanf不会自动清除缓冲区的 \n
需要增添一个 getchar(); 手动清除缓冲区。否则在多组输入的题目中,会出现意料之外的问题。
此时再需要换行,可以使用putchar(10);去换行。