大连网站设计哪个最好,设计素材网站蜂,招聘网站开发视频,游戏设计点击蓝字关注我们因公众号更改推送规则#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络#xff0c;侵删1、if-else判断语句一个基本的if语句由一个关键字if开头#xff0c;跟上在括号#xff08;#xff09;里边的是表示逻辑条件的表达式#xf…点击蓝字关注我们因公众号更改推送规则请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络侵删1、if-else判断语句一个基本的if语句由一个关键字if开头跟上在括号里边的是表示逻辑条件的表达式然后是一对大括号{}中间是若干条语句如果条件的逻辑表达式的结果不是零那么就执行大括号中间的语句否则就跳过不执行。if的返回值为真或假可以用bool型变量进行存储占用一字节。当if的条件满足或者不满足的时候要执行的语句也可以是一条或者多条if-else 语句这时候叫嵌套的if语句而else 总是和最接近的 if 匹配。tips:在if或else后面总加上{}大括号即使只有一条语句的时候。风格就是三观。常见的错误忘了大括号if后面的分号错误使用 和 没有匹配或令人困惑的else例子题目描述请判断它能否被 3,5,7 整除并输出以下信息能同时被 3, 5, 7 整除直接输出3 5 7每个数中间一个空格只能被其中两个数整除输出两个数小的在前大的在后。例如3 5或者3 7或者5 7中间用空格分隔只能被其中一个数整除输出这个除数不能被任何数整除输出小写字符n不包括单引号。如输入 105输出 3 5 7解决答案int main(void)
{ int a;
scanf(%d, a);
//输入一个数//if圆括号所表示的 如果 a能被3整除 并且 a也能被 5整除 并且 a也能被7整除
if (a % 3 0 a % 5 0 a % 7 0) {//如果圆括号条件里边的条件满足
printf(3 5 7);//执行这条语句 }
else if (a % 3 0 a % 5 0 a % 7 !0) {//否则判断这条语句是否满足 printf(3 5);//满足执行这条语句 //下面的依次类推 }
else if (a % 3 0 a % 7 0 a % 5 ! 0) { printf(3 7); }
else if (a % 5 0 a % 7 0 a % 3 ! 0) { printf(5 7); }
else if (a % 3 0 a % 5 ! 0 a % 7 ! 0) { printf(3); }
else if (a % 5 0 a % 3 ! 0 a % 7 ! 0) { printf(5); }
else if (a % 7 0 a % 5 ! 0 a % 3 ! 0) { printf(7); }
else { printf(n); }return 0;}2、switch-case选择语句switch语句是多分支选择语句.用来实现多分支选择结构Switch 函数圆括号的参数列表可由多对表达式和数值组成ANSI标准允许它为任何类型.表达式是由左至右加以计算的而数值则会在第一个相关的表达式为 True 时返回。如果其中有部分不成对则会产生一个运行错误。当表达式的值与某一个case后面的常量表达式的值相等时就执行此case后面的语句若所有的case中的常量表达式的值都没有与表达式的匹配的就执行default后面的语句每一个case的常量表达式的值必须互不相同否则就会出现互相矛盾的现象(对表达式的同一个值有两种或多种执行方案)当没有一个表达式为 True或者第一个为 True 的表达式的对应值为 Null时Switch 会返回一个Null值。switch 后面的表达式不能跟doublefloatlongString boolean可以接intshortbytechar返回值switch(表达式, 值1, 结果1, 值2, 结果2, ...)如果表达式的结果是值1整个函数返回结果1如果表达式的结果是值2整个函数返回结果2如果表达式的结果是值3整个函数返回结果3虽然它只返回其中的一个值但是 Switch会计算所有的表达式。因此应该注意到其所产生的副作用。例如只要其中一个表达式导致被零除错误则运行就会发生错误。例子//请输入一个数字n然后输出相应的星期几int main(void) { int n; scanf(%d, n);
switch (n) {//判断输入进来的数值是什么
case 1:printf(Monday); break;//n1就输出此语句平且用break函数退出
case 2:printf(Tuesday); break;
case 3:printf(Wednesday); break;
case 4:printf(Thursday); break;
case 5:printf(Friday); break;
case 6:printf(Sturday); break;
case 7:printf(Sunday); break;
default : printf(error); }
return 0;}说明在使用switch-case函数时在语句完毕后加上break函数表示将不再执行下面的语句直接结束switch函数了。如果什么也不加则是继续执行。一从“优缺点”分析if…else优点使用灵活代码空间小 ;缺点效率低因为 if else 必须遍历所有的可能值;switch…case优点代码结构清晰效率高;缺点1、不够灵活switch 仅支持 int, char, unsigned char 等基本类型。2、代码空间大因为它要生成跳表特别是当 case 常量分布范围很大但实际有效值又比较少的情况switch…case 的空间利用率将变得很低。对于 switch实际上是根据 case 最小值与最大值维系了一段连续的内存空间以空间换取时间;二从“底层原理”分析if…else系统是自上而下逐个条件去判断直到符合条件所以应将机率大的条件置于最前面。switch…caseswitch 语句根据一个整数索引值进行多重分支底层采用跳转表这种数据结构。跳转表是一个数组表项 i 对应代码段的地址。当 switch 索引值等于表项 i 时采取对应的程序操作。可简单理解为执行 switch 时生成一个长度为最大 case1 的数组程序首先判断 switch 变量是否大于最大 case 常量若大于则跳到 default 分支处理。否则取得数组索引号为 switch 变量值大小取得数组对应值即为相应 case 代码块地址程序接着跳到此地址执行完成分支的跳转。三从“选择性”分析当选择分支较少时选用 if else 比 switch…case 的效率要高。一般 3个 以内的分支我会用 if…else 结构大于3个的分支我都会用 switch…case个人习惯这样结构看着舒服。当选择分支较多时选用switch…case结构会提高程序的效率。四总结switch…case 只能处理 case 为常量的情况对非常量的情况是无能为力的。例如 if (x 1 x 100)是无法使用 switch…case 来处理的。所以switch 只能是在常量选择分支时比 if…else 效率高但是 if…else 能应用于更多的场合它比较灵活。如果你年满18周岁以上又觉得学【C语言】太难想尝试其他编程语言那么我推荐你学Python现有价值499元Python零基础课程限时免费领取限10个名额▲扫描二维码-免费领取戳“阅读原文”我们一起进步