语言:C
学习资料:C语言程序设计(翁恺),啊哈C语言
知识点:
1.判断语句(if)
if(条件){
代码;
}else{
代码;
}
2.如果在条件成立或不成立时需要执行的语句只有一条,就可以不使用{}了:【不推荐】【养成习惯:始终敲上{】
if(条件)
代码(一行);
else
代码(一行);
3.对的输出1错的输出0,并按照运算符优先级从前到后运算
i=1;j=2;z=1
printf("%d",i>j<z);【i>j==0,0<z==1】
out:1
4.分支:
若没有加{},else总是与最近的if匹配
缩进不能表征else的匹配【对于C语言:空格,回车和缩进无意义】
例如:
if ( a == 6 )
if ( b == 7 )
printf("A");
else
printf("B");
如果a的值是7,b的值是6,则程序的输出是:
无输出
5.分段函数:else if
if(){
;
}else if(){
;
}else{
;
}
6.分支:switch-case
switch(控制表达式){
case 常量1/只有常数的表达式【编译时知道是啥】:代码1;break;
case 常量2:代码2;break;
case 常量3:代码3;break;
......................
default:代码;
}
7.default 不是必须的。当没有 default 时,如果所有 case 都匹配失败,那么就什么都不执行。
8.注意:
①控制表达式结果只能是整数
②以break为分隔,而非case
9.switch-case速度快,但占的内存大,当分支比较多的时使用
问题积累:
const int到底是不是常量,如果是,那为什么下面的代码在VS中报错【case I处】
#include<stdio.h>
int main()
{
const int I=5, J=10, K=1;
switch (1)
{
case I:printf("1");break;
case 2:printf("2");break;
default:printf("3");break;
}
return 0;
}
由衷的感谢“勤奋努力的野指针”与yhx非常耐心的解答(❁´ω`❁)