资讯动态

C语言:控制语句(上)--- 分支语句

发布时间:2026/10/27 1:55:23 来源:尧图企业网站定制
1. 分支语句1.1 if 语句基本结构if(表达式){语句块1;}else{语句块2;}执行顺序先执行表达式如果执行结果为真则执行语句块1否则执行语句块2分层结构if(表达式1){语句块1;}else if(表达式2){语句块2;}else{语句块3}执行顺序如果满足 if 中的表达式1则执行语句块1如果不满足则进入下面的 else if 中的表达式2如果满足则执行语句块2如果以上条件都不满足则进入 else 执行语句块3。嵌套结构if(表达式1){if(表达式2){语句块1;}else{语句块2;}}else{语句块3}执行顺序如果满足 外层if 中的表达式1则进入到 内层if 看是不是满足表达式2满足就执行语句块1否则就执行语句块2如果不满足 外层if的语句块1就执行 外层else 的语句块3。学完 if语句 我们就会遇到一个非常经典的题目。练习输入年份判断平年还是闰年包括错误情况。#include stdio.h int main(int argc, char const *argv[]) { int year; scanf(%d, year); if (year 0) printf(err!\n); else if ((year % 400 0) || (year % 100 ! 0 year % 4 0)) printf(闰年!\n); else printf(平年\n); return 0; }还要两个比较好的例题可以看一下a1;b2;x0; if(!(--a)) x--; if(!b) x7; else x;1. 这段程序运行后x的值是0#include stdio.h int main() { if(-1) printf(1); else printf(2); if(0) printf(3); else printf(4); return 0; }2. 这段程序的输出结果是14总结首先判断表达式是否成立如果成立就执行if下面的语句否则执行else下面的语句块。if 后面可以没有else, 但是else前面必须有ifif和else后面如果只有一行语句可以省略花括号{}1.2 switch case 语句语句格式switch (变量或表达式){case 常量1: 语句块1; break;case 常量2: 语句块2; break;....case 常量n: 语句块n;break;default: 语句块n1;}执行顺序当变量或者表达式的结果与其中一个case语句的常量相符时就执行此case后面的语句块并且依次执行后面所有case中的语句除非遇到break语句就跳出switch语句。如果变量或表达式所有的case语句常量都不相符时就执行default语句后面的语句块。注意表达式不能是浮点或字符串case后面的break可以省略但是省略时会顺序往下执行直到遇到break结束。练习从终端输入一个日期scanf (%d %d %d , year , mon , day )判断这是这一年的第几天(提示判断闰年还是平年闰年且闰年二月份以上比平年多一天。普通年份除以4有余数是平年对于整百的年份比如2100年要除以400有余数就是平年整除就是闰年。)下面这个写法是个非常深得我心的做法#include stdio.h int main(int argc, char const *argv[]) { int year, mon, day, days 0; int leap 0; scanf(%d %d %d, year, mon, day); leap (year % 400 0) || (year % 100 ! 0 year % 4 0); // 闰年leap为平年为 switch (mon) { case 12: days 30; case 11: days 31; case 10: days 30; case 9: days 31; case 8: days 31; case 7: days 30; case 6: days 31; case 5: days 30; case 4: days 31; case 3: days 28 leap; // 加上二月的天数考虑平润年 case 2: days 31; // 加一月的天数 case 1: days day; // daysdaysday, 加上当月的天数 break; default: printf(mon err\n); break; } printf(%d\n, days); return 0; }总结执行顺序先判断switch()中的结果是否满足下面的case如果满足则执行case后面的语句块如果都不满足则执行default中的语句。如果case的语句和下面case的语句相同则可以省略形式如下- case 常量1:- case 常量2: 语句块;break;遵守switch语句规则switch语句非常有用但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则1. 只能针对基本数据类型中的整型类型使用switch这些类型包括int、char等。对于其他类型则必须使用if语句。2. case标签必须是常量表达式如42或者4。3. case标签必须是唯一性的表达式也就是说不允许两个case具有相同的值。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑