尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

C语言 分支循环语句

C语言 分支循环语句 1. 概述C语⾔是结构化的程序设计语⾔这⾥的结构指的是顺序结构、选择结构、循环结构实现选择结构常见的语句有if、switch实现循环结构常见的语句有for、while、do while2.if语句2.1 ifif ( 表达式 ) 语句表达式为真非0则执行语句为0则不执行。注一个if 语句仅能控制其下一条语句用大括号 “{ }”将语句扩起来可实现控制多条语句。2.2 elseelse 语句与其配合使用的 if 条件下执行。注else 总是和同一作用域内、前面最近且未配对的 if匹配和代码缩进无关2.3 多分⽀在 if else 语句中 else可以与另⼀个if语句连⽤构成多分⽀。2.4 嵌套if语句可以通过嵌套实现多层判断#include stdio.h int main() { int age 5; int height 110; if (age 6 age 0) { if (height 120 height 0) { printf(儿童免票); } else { printf(年龄达标但身高超标需要购票); } } else { printf(年龄超过6岁正常购票); } return 0; }3 关系运算符C 语⾔⽤于⽐较的表达式使⽤的运算符关系表达式通常返回0或1表⽰真假。两个注意1.相等运算符与赋值运算符 是两个不⼀样的运算符可以将变量写在等号的右边。if (2 x)2.多个关系运算符不宜连用if(i j k) ...假设 i, j, k 分别等于 10、23i j 为假00k为真。执行下一个语句。4.条件操作符exp1 ? exp2 : exp3exp1为条件条件为真执行exp2为假执行exp3。注条件操作符也能嵌套使⽤5.逻辑操作符 , || , 与 一假为假全真为真|| 或 一真为真全假为假取反字面意思改变表达式真假短路逻辑运算符先对左侧的表达式求值再对右边的表达式求值满足即停。if(month 3 month 5)例month 2左表达式为假一假为假右表达式不执行6.switch 语句if语句在特定情况下的简化版本switch (表达式) { case value1: 语句1 case value2: 语句2 .. default: statement }switch 后的表达式 必须是整型表达式case 后的值必须是整形常量表达式对号入座假设casevalue1: 1 当表达式结果为整型1时执行casevalue1: 执行其以下的语句遇break跳出注case和后边的数字之间有空格6.1 switch语句中的default类似于elseswitch后的表达式中的值无法匹配代码中的case语句时执行。7.while循环while(表达式) 语句; while(表达式) { 语句;//如果循环体想包含更多的语句可以加上⼤ 括号 }先判断条件while括号内的表达式是否成立满足则执行语句再重新判断直到条件为假。8.for循环for(表达式1; 表达式2; 表达式3) 语句; //形式2 for(表达式1; 表达式2; 表达式3) { 语句;//如果循环体想包含更多的语句可以加上⼤括号 }表达式1 循环变量的初始化只被执⾏1次表达式2 循环结束条件的判断表达式3 循环变量的调整先初始化再判断条件满足则执行语句再调整再判断直到表达式为假。与while类似for循环把初始化判断调整打包在一起了可以理解成whie的简写9. do-while 循环do 语句; while(表达式);先do做再判断。至少执行一次10.break和continue语句break 的作⽤是跳出单层循环continue的作⽤是跳过本次循环中continue后边的代码其中continue在不同语句中差异较大10.1 continue在不同循环语句中的区别1.在 while 循环中 continue 是跳到循环条件判断部分在do while 循环中类似#include stdio.h int main() { int i 1; while(i 10) { if(i 5) continue; //当i等于5后就执⾏continue直接跳过continue的代码去循环的判断的地⽅ //因为这⾥跳过了i i1所以i⼀直为5程序陷⼊和死循环 printf(%d , i); i i 1; } return 0; }2.在 for 循环中 continue 是跳到循环的调整部分#include stdio.h int main() { int i 1; for(i 1; i 10; i) { if(i 5) continue;//这⾥continue跳过了后边的打印来到了i的调整部分 printf(%d , i); } return 0; }结果 1 2 3 4 6 7 8 9 1011. 循环的嵌套#include stdio.h int main() { int i 0; for(i 200; i 300; i) { //判断i是否为素数 int j 0; int flag 1;//假设i是素数 for(j 2; j i; j) { if(i % j 0) { flag 0; break; } } if(flag 1) printf(%d , i); } return 0; }12.goto语句在同一个函数内跳转到标志处可用于快速跳出多层循环#include stdio.h int main() { printf(hehe\n); goto next; printf(haha\n); next: printf(跳过了haha的打印\n); return 0; }
返回列表