C语言是结构化的程序设计语言
1.顺序结构
2.选择结构
3.循环结构
C语言的语句分为以下5类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 之后介绍控制语句:用于控制函数的执行流程,以实现程序的各种结构方式,由特定的语句定义符组成,C有9种 可分为以下三类 1. 条件判断语句,即分支语句:if 、while 2. 循环执行语句 do while、while、for 3. 转向语句: break、goto、continue、return
if(18<age<30) //age =10; { //18<10-->0,0<30-->1, if(1) printf("%d ",age); 语句1; }
if(表达式) { 语句1; //不加大括号,只能跟一个语句 } else(表达式) // 这里 if else 合成一条语句 { 语句2; }
if(表达式) //多分支 { 语句1; } else if(表达式) { 语句2; } else (表达式) { 语句3; }
else总是与离他最近的if 匹配;利用大括号分隔 做好代码分隔,int a = 10;(大概是便于修改) //《高质量c/c++编程》
// 代码1 if(condition) //1,2的效果是一致的 函数执行到return 0 ,就结束; return x; // 但这种写法不好,代码2是规范写法 return y; //代码2 if(condition) return x; else return y;
int main() { int num = 1; if (m=5) //误写(m==5) 这时不会报错,会错误地执行下去 printf("A"); if ( 5=m) //误写(5==m) error:左操作目不等于左值 printf("A"); }
常常应用于多分支
int main() { int day = 0; scanf("%d", &day); switch(day) //day 的值只决定了入口,没给出口 { case 1: printf(“星期1\n”); case 2: printf(“星期2\n”); case 3: printf(“星期3\n”); break; // 适当加break,可以跳出; case 4: // 没有break 一直执行,直到遇到break; printf(“星期4\n”); case 5: printf(“星期5\n”); } return 0; }
switch(整型表达式) { case 整型常量表达式: 语句; }
int main() { int day = 0; scanf("%d", &day); switch(day) // day 的值只决定了入口,没给出口 { case 1: case 2: case 3: case 4: case 5: // 保留入口标签 printf(“工作日\n”); break; case 6: case 7: printf(“休息日\n”); break; // 最后一个break 可加可不加,但考虑到后续可能增加case // case 8: } return 0; }
int main() { int day = 0; scanf("%d", &day); switch(day) { case 1: case 2: case 3: case 4: case 5: printf(“工作日\n”); break; default : // 处理额外情况 printf("输入错误"); // 没有顺序要求 break; // 其他位置的话,不要漏掉break; } return 0; }
// 5 3
int main() { int i = 1; while(i<=10) { if(5==i) break; // 1 2 3 4 printf("%d", i); i++; } return0 ; }
直接跳到while ,重新判断条件
int main() { int i = 1; while(i<=10) { if(5==i) continue; // 1 2 3 4 _ 开始前三句的死循环 printf("%d", i); i++; // 遇到continue,之后的代码不再执行 } return0 ; }