- if;else;else if:
if(表达式) \\0为假,非0为真
语句;
if(表达式)
语句1;
else \\就近原则
语句2;
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
- switch;case;break(结束所有循环);continue(结束本次循环)
禁止 ‘ float,double,long(java中不可以) ’ ,作switch的参数类型
#include <stdio.h>
int main()
{ int day ;
scanf("%d",&day);
switch(day) \\若输入1或6
{ case 1: \\继续执行
case 2: \\继续执行
case 3: \\继续执行
case 4: \\继续执行
case 5: printf("weekday\n");
break; \\停止执行
case 6: \\继续执行
case 7: printf("weekend\n");
break; \\停止执行
default: break; \\若输入其他,则跳出选择
}
return 0;
}
- 1).while( ) { }
先判断条件,再进入循环
2).do{ } while( )
至少执行一次后,判断条件
3).for(执行顺序1(仅1次);执行顺序2;执行顺序3){ }(循环体在执行顺序2和3)
#include <stdio.h>
int main()
{ int i, k;
for (i = 0, k = 0; k = 0; i++, k++)\\已满足跳出条件,不执行
k++;
return 0;
}
#include <stdio.h>
int main()
{ char b[10]; int i;
printf("请输入字符数:\n");
scanf("%s", b); \\输入的字符串以数组形式储存
for (i = 0; i < 10; i++)
{ if ((b[i] >= 'A') && (b[i] <= 'Z')) \\字母本质为ASCII码
b[i] = b[i] + 32; \\ASCII码可进行加减后表示字母
if ((b[i] >= 'a') && (b[i] <= 'z'))
b[i] = b[i] - 32;
if ((b[i] >= 49) && (b[i] <= 57))
b[i] = ' '; \\将' '赋予数字所占空间
}
printf("%s", b);以字符串形式输出
return 0;
}
- scanf的陷阱:
scanf("%d",&a);
........
getchar();