今天一起来学习C语言第七弹
在C语言的学习中,语句尤为重要。以下是对C语言分支语句的部分详解
1.if语句中单分支结构的语法结构及代码详解
单分支结构:表达式结果为真则执行语句,表达式结果不成立则不执行。
2.if语句中多分支结构的语法结构及代码详解
多分支结构表达式1成立,则语句1执行,表达式2成立,则语句2执行。除此之外多分支结构可以加多个else if。
3.if语句注意点
执行多条语句,应该使用代码块。
正确如下:
4.练习
例题1:
答案:什么都没有输出。
注意:当出现两个if时,else 是和距离它最近的if进行匹配。
但当出现以下情况时,else就不是和距离它最近的if进行匹配
其次if(a==1)不能写成if(a=5);
可以写成if(1 ==a),这样当写成if(1=a)时就会报错。
例题2:输出1~100之间的奇数
for循环写法
#includeint main() { int a = 0; for (a = 0; a <= 100; a++) { if (a % 2 == 1) printf("%d ", a); } return 0; }
while循环写法
#includeint main() { int a = 0; while (a <= 100) { if (a % 2 == 1) printf("%d ", a); a++; } return 0; }
不用if语句
#includeint main() { int a = 1; while (a <= 100) { printf("%d ", a); a+=2; } return 0; }
代码如下(示例):
switch(整形表达式) { 语句项(是一些case语句) 如: case 整形常量表达式: 语句; }
代码如下(示例):
int main() { int day = 0; scanf_s("%d", &day); switch (day) { case 1: printf("星期1\n"); case 2: printf("星期2\n"); case 3: printf("星期2\n"); case 4: printf("星期4\n"); case 5: printf("星期5\n"); case 6: printf("星期6\n"); case 7: printf("星期7\n"); default: printf("输入错误\n"); break; } return 0; }
当输入一个值时,假设输入4,则会输出星期4 星期5 星期6 星期7。因为输入4,4之前的不执行而后面的并没有停止所以会从星期4到星期7直到程序结束。如果只想输出一个星期4,则需要加上break,就会停止。
#includeint main() { int day = 0; scanf_s("%d", &day); switch (day) { case 1: printf("星期1\n"); break; case 2: printf("星期2\n"); break; case 3: printf("星期2\n"); break; case 4: printf("星期4\n");//当然也可以只在这里加上break break; case 5: printf("星期5\n"); break; case 6: printf("星期6\n"); break; case 7: printf("星期7\n"); break; default: printf("输入错误\n"); break; } return 0;
如果default语句在所有case最后,此时可以不加break 如果default语句之后还有case语句,如果不加break,则default语句执行过之后会继续下面的case语句,此时必须要在default之后加break语句,不过这种default用法是不推荐的,default顾名思义是缺省情况,只有任何条件都不匹配的情况下才会执行,所以应该将default语句放在所有case结束之后。
#includeint main() { int day = 0; scanf_s("%d", &day); switch (day) { case 1: case 2: case 3: case 4: case 5: printf("工作日\n"); break; case 6: case 7: printf("休息日\n"); break; } return 0; }
当输出一样时可以如上图写法。
switch(是整形表达式)例如short、char、int、long整数类型和枚举类型
case 必须是整形常量表达式:
float day=0;//这种形式就是错误的 switch(day) { case 1.0//这种形式就是错误的不是整形 case n//这种形式也是错误的不是常量 }
答案:m=5,n=3
解析:因为开始n=1进入switch语句,先执行case 1是m++所以m变成3,再执行case 2是n++所以n变成2,然后执行case 3再次进入switch语句,n=2所以执行case 2语句,m++,n++所以m n分别变成4和3,经过break,跳出case 3中的switch语句,执行case 4所以m++,m变成5然后经过break跳出switch语句
以上就是今天要学习的内容,本文仅仅简单介绍了C语言中分支语句。
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者