P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。
P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。
这里写目录标题
一、if 语句
1、if 单语句
<1>、if 单语句流程图
<2>、if单语句的使用
if 单语句的语法形式如下:
1.if(exp1)
2. exp2;
使用if 单语句是,要判断表达式exp1是真是假(C语言中默认0为假,非0为真),如果表达式exp1为真,则执行表达式exp2;如果表达式exp1为假,则不执行表达式exp2。
举例:判断一个数是否为奇数。
1. int main()
2. {
3. int sum = 0;
4. scanf("%d ",&sum);
5. if(sum % 2 == 1)
6. printf("%d是奇数\n", sum);
7. return 0;
8. }
1. 3
2. 3 是奇数
2、“ if ” “ else ” 语句
<1>、“ if ” “ else ” 语句流程图
<2>、“ if ” “ else ”语句的使用
“ if ” “ else ”语句的语法形式如下:
1. if (exp1)
2. exp2;
3. else
4. exp3;
使用“ if ” “ else ”语句时,判断表达式exp1是真是假,如果表达式exp1为真,执行表达式exp2; 如果表达式exp1为假,则执行表达式exp3。
举例:输入一个整数,判断是否为奇数,如果是奇数打印奇数,否则打印是偶数
1. int main ()
2. {
3. int sum = 0;
4. scanf("%d", &sum);
5. if(sum % 2 == 1)
6. printf("%d是奇数\n", sum);
7. else
8. printf("%d是偶数\n", sum);
9. return 0;
10. }
1. 3
2. 3 是奇数
3. 4
4. 4 是偶数
3、“ if ” “ else if ” “ else ”语句
<1>、“ if ” “ else if ” “ else ”语句流程图
<2>、“ if ” “ else if ” “ else ”语句的使用
“ if ” “ else if ” “ else ”语句的语法形式如下:
1. if(exp1)
2. exp2;
3. else if(exp3)
4. exp4;
5. else
6. exp5
当我们所需要的分支大于两个时,可以在 " if " “ else ” 语句中加入 “ else if ” 来构成多重判断,以应对多种情况;执行程序时从“ if ”开始,逐一判断圆括号内表达式是否为真,如果为真就执行,反之向下进行判断,直到最后一个“ else if ”的判断为假,就执行“ else ” 后的语句。
举例:输入成绩,(90~100)分是优秀,(60—89)分是良好,其他分数是需努力
1. int main()
2. {
3. int num = 0;
4. scanf("%d", &num);
5. if(num >= 90)
6. printf("优秀\n");
7. else if(num < 89 && num>=60)
8. printf("良好\n");
9. else
10. printf("需努力");
11. return 0;
12. }
1. 91
2. 优秀
4、if语句的使用细节
<1>、当if语句执行多条语句是,需要将语句全部放在{}内
1. int main()
2. {
3. int a = 0;
4. if(a)
5. printf("哈哈\n");
6. printf("呵呵\n");
7. return 0;
8. }
1. 1
2. 哈哈
呵呵
3. 0
4. 呵呵
1为真,0为假,上述代码中输入1 打印“哈哈”和“呵呵”,输如0是则打印了“呵呵”,如果想要达到输入1时打印,输入0时不打印的效果,那么,需要将“哈哈”和“呵呵”放在{}中,如下所示:
1. int main()
2. {
3. int a = 0;
4. if(a)
5. {
6. printf("哈哈\n");
7. printf("呵呵\n");
8. }
9. return 0;
10. }
1. 1
2. 哈哈
呵呵
3. 0
4.
<2>、else 常和距离最近的 if 匹配;
使用if 语句时,如果在判断语句后面加分号,会导致代码不执行判断。
二、Switch 语句
1、Switch 语句流程图
2、Switch 语句的使用
Switch语句的语法形式如下:
1. switch(exp1)
2. {
3. case value1:
4. exp2;
5. break;
6. case value2:
7. exp3;
8. break;
9. default:
10. exp4;
11. break;
12. }
switch语句在使用时,会根据exp1的内容在下面找出相应的case语句,执行该case的exp,如果没有相应的case与之匹配,则执行default
举例:输入任意一个值,判断是周内还是周末
1. int main()
2. {
3. int day = 0;
4. scanf("%d", &day);
5. switch(day)
6. {
7. case 1:
8. case 2:
9. case 3:
10. case 4:
11. case 5:
12. printf("周内\n");
13. case 6:
14. case 7:
15. printf("周末\n");
16. default:
17. printf("输入错误\n");
18. }
19. return 0;
20. }
1. 4
2. 周内
3. 6
4. 周末
5. 8
6. 输入错误
3、switch 语句的使用细节
在Switch语句中,case语句和default语句没有顺序要求,只要顺序满足实际即可,不过我们通常把default子句放在最后处理;
使用Switch语句时,要在每一个case子句和default子句后面加上“break”来跳出Switch循环,不然在输入数据后,代码会将所有结果全部打印出来!
三、for 语句
1、for 语句的流程图
2、for语句的使用
for语句的语法形式如下:
1. for(exp1;exp2;exp3)
2. {
3. exp4;
4. }
exp1用于循环变量的初始化
exp2用于循环结束条件的判断
exp3用于循环变量的调整
for循环首先执行exp1初始化循环变量,在判断exp2是否为真,为真接着执行exp4、exp3,然后在进行exp2的判断,直至循环至exp2的判断结果为假,跳出循环。整个循环中exp1的初始化部分只被执行1次,剩下的是exp2、exp3、exp4在循环。
举例:打印1~10
1. int main()
2. {
3. for(int a = 1; a <= 10; a++)
4. {
5. printf("%d ", a);
6. }
7. return 0;
8. }
1. 1 2 3 4 5 6 7 8 9 10
四、while语句
1、while语句的流程图
2、while语句的使用
while语句的语法形式如下:
1. while(exp1)
2. {
3. exp2;
4. }
while语句先执行exp1,判断exp1为假,直接跳出循环,exp1为真,执行exp2,语句执行完后再继续判断,是否进行下一次循环。
举例:打印1~10
1. int main()
2. {
3. int a = 1;
4. while(a <= 10)
5. {
6. printf("%d ", a);
7. a += 1;
8. }
9. return 0;
10. }
1. 1 2 3 4 5 6 7 8 9 10
五、do while语句
1、do while语句流程图
2、do while语句的使用
do while 语句的语法形式如下:
1. do
2. {
3. exp1;
4. }while(exp2);
do while 循环是先进入循环体,执行循环语句exp1,然后再执行while后的判断表达式exp2,exp2为真就会继续循环,exp2为假,就会停止循环。
举例:打印1~10
1. int main ()
2. {
3. int a = 1;
4. do
5. {
6. printf("%d ", a);
7. a += 1;
8. }while(a <= 10);
9. return 0;
10. }
1. 1 2 3 4 5 6 7 8 9 10
六、break 和 continue 的使用
1、break
break的作用就是永久的终止循环,只要break被执行,循环就被停止了。
举例:
1. int main()
2. {
3. int a = 1;
4. while(a <= 10)
5. {
6. if(a == 5)
7. break;
8. printf("%d ", a);
9. a += 1;
10. }
11. return 0;
12. }
1. 1 2 3 4
2、continue
continue主要用于跳过某次循环,当代码执行当“ continue ” 时,直接跳过“ continue ” 后面的代码,并执行下一次循环。
举例:
1. 1. int main()
2. {
3. for(int a = 1; a <= 10; a++)
4. {
5. if(a == 5)
6. continue;
7. printf("%d ", a);
8. }
9. return 0;
10. }
1. 1 2 3 4 6 7 8 9 10
**结语:
本文主要用于个人学习和知识分享,学习路漫漫,如有错误,感谢指正。
如需引用,注明地址。**