当前位置:网站首页>C语言之分支循环语句
C语言之分支循环语句
2022-07-27 14:54:00 【小白菜00】
目录
C语言语句
C语言:结构化程序设计语言
语句:C语言中由一条“;”隔开的就是一条语句(单个;也为语句,其是空语句)。
分支语句和循环语句
生活中的所有事情都可以抽象成3种结构
- 顺序结构
- 选择结构
- 循环结构
分支语句
- if
- switch
循环语句
- while
- for
- do……while
goto语句
C语言表式真假的方式
- 真:!0
- 假:0
选择语句
if语句
//单分支1
if(表达式){
……语句;……}
//单分支2
if(表达式){
……语句;……}else{
……语句;……}
//多分支
if(表达式1){
……语句1;……}else if(表达式2){
……语句2;……}else{
……语句3;……}注意:如果大括号内只有一条语句的话,那么大括号可以省略不写。
以多分支为例if后面表达式为真就执行后面的语句,否则到下面的else if看后面括号内的表达式是否为真,为真则执行后面的语句否则继续向后寻找为真的表达式,如果都没有找到那么就会执行else后面的语句。
int a = 60;
if (18 < a < 26) {
printf("青年");
}
//正确写法如下
int a = 60;
if (18 < a && a<26) {
printf("青年");
}上面的代码结果仍然会打印青年,其执行逻辑为
1.60>18为真——此式子结果为1
2.1<26为真——此式子结果为1
最终导致整体式子为1(为真)
else与if匹配原则——else与离得最近的if进行匹配
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("b=2");
else
printf("a!=1");
//这里else与第二个if匹配switch语句
switch分支常用于多分支的场景
//switch语句基本语法
switch(整形表达式){
case 整形常量表达式1:……语句1;…… break;
case 整形常量表达式2:……语句2;…… break;
case 整形常量表达式3;……语句3;…… break;
default: ……语句4;……
}注意:“:”后面如果有多个语句的话尽量用{}括起来(不加也可以,只要用好break即可),这里面的整形用字符型也可以,因为字符型也属于整形的一种,其底层存储的是字符的ASCII码值。
关于switch语句
如果不加break语句switch语句会从上往下找符合上面给的条件的整形常量表达式(在没找全case之前会跳过default语句),找到之后开始执行后面的语句从上往下依次执行,也包括default后面的语句(前提:default语句在后面),如果都没找到,那么就跳回到之前的default语句开始向后执行所有语句。
switch语句的case作为入口,break作为出口,这样才做到了真正的分支。
循环语句
break与continue的区别
- break:永久终止循环。
- continue:终止当前循环,跳到下一次循环。
while循环
//语法结构:
while(表达式){
——语句;——}注意:如果里面仅有一个语句的话,则{}可省略。
理解:表达式为真,那么就会执行循环体,然后再此判断表达式是否为真,如果为假,则跳出循环体。

for循环
//语法规则:
for(表达式1;表达式2;表达式3){
——循环语句;——}表达式1为初始化部分,用于初始化循环变量。
表达式2为条件判断部分,用于判断循环什么时候终止(表达式2为假时)。
表达式3为循环调整部分,用于循环条件的调整。
执行顺序:
表达式1——>表达式2——>语句——>表达式3——>表达式2——>语句——>……
经典for循环代码
void main() {
//需求:打印1——4,6_10
int i = 0;
for (i= 1; i <= 10; i++) {
if (i == 5)
continue;
printf("%d ", i);
}
}
//这里执行continue之后跳过当前循环依然会执行i++语句
for循环变种
//变种1
void main() {
int i = 0;
for (; ;) {
printf("%d ", i);
}
}判断条件的省略致使for循环为死循环。
//变种2
void main() {
int x,y;
for (x=0,y=0;x<2&&y<5;++x,y++) {
printf("haha");
}
}do……while语句
//语句语法:
do{
——语句项;——}while(表达式);特点:先执行语句——>判断表达式是否为真,为真则继续执行循环体,为假则跳出循环。
经典do……while语句
//需求:打印1——10
int i = 1;
do {
printf("%d ", i);
i++;
} while (i <= 10);goto语句
#include <stdio.h>
//这里的表现是个死循环
void main() {
flag:
printf("begin\n");
printf("end\n");
goto flag;
}goto语句最常用的用法是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或者多层循环;
注意: goto语句只能在一个函数内跳转,不能跨函数;
边栏推荐
猜你喜欢

(2) Dynamic convolution of dynamic convolution

清晰的认识Torchvision(思维导图版)

Filament Creator材质编辑工具的实现
The difference between MVC and MVP and MVVM

Clear understanding of torchvision (mind map)

Opencv (III) -- image segmentation

Product axure9 English version, using repeater repeater to realize drop-down multi selection box

为媒体资产构建一个云原生的文件系统

Handling of multiple parts with duplicate names and missing parts when importing SOLIDWORK assemblies into Adams

C语言之字符函数和字符串函数及内存函数
随机推荐
C语言之枚举和联合体
京东张政:内容理解在广告场景下的实践和探索
Notes on implementation and acquisition of flowable custom attributes
Replication of complex linked list
Collection! 0 basic open source data visualization platform flyfish large screen development guide
JSON data parsing
清晰的认识Torchvision(思维导图版)
获取当前时间的前N天和前后天的数组列表循环遍历每一天
Log4j.jar and slf4-log4 download link
Mazak handwheel maintenance Mazak little giant CNC machine tool handle operator maintenance av-eahs-382-1
string数字类型转换为千分位
File类字节输入、输出流
Gpt-2 text generation
Kmeans implementation
Gurobi——GRBEnv
Apache
As changes the background theme and background picture
T5 learning
Codeforces Round #100 E. New Year Garland & 2021 CCPC Subpermutation
Start from scratch blazor server (1) -- project construction