首页 > 其他分享 >C基础:控制语句

C基础:控制语句

时间:2024-07-20 15:00:31浏览次数:12  
标签:语句 控制 基础 else break case 执行 表达式

1.分支语句

1.1 if语句

1.1.1 基本结构

if(表达式)

{

语句块1;

}

else

{

语句块2;

}

执行顺序:如果条件成立,则执行语句块1,否则条件不成立的话执行语句块2。

1.1.2分层结构

if(表达式1)

{

语句块1;

}

else if(表达式2)

{

语句块2;

}

else

{

语句块3;

}

执行顺序:如果满足if中的表达式则进入if后面语句块1执行,如果不满足则进入下面else if中表达式进行判断,如果条件满足则进入else if下面的语句块2执行,如果不满足继续往后执行,最后如果都不满足则进入else下面语句块3执行。

1.1.3 嵌套结构

if(表达式1)

{

if(表达式2)

{

语句块1;

}

else

{

语句块2;

}

}

else

{

语句块3;

}

执行顺序:如果满足if中的表达式则进入if后面语句块1执行,如果不满足则进入下面else if中表达式进行判断,如果条件满足则进入else if下面的语句块2执行,如果不满足继续往后执行,最后如果都不满足则进入else下面语句块3执行。

总结:

(1)首先判断表达式是否成立,如果成立就执行if下面的语句块,否则就执行else下面的语句块。

(2)if后面可以没有else, 但是else前面必须有if

(3)if和else以及else if后面如果只有一行语句可以省略花括号{}

1.2 switch case 语句

基本结构:

switch(变量或表达式)

{

case 常量1: 语句块1; break;

case 常量2: 语句块2; break;

case 常量3: 语句块3; break;

...

case 常量n: 语句块n; break;

default: 语句块n+1;

}

执行顺序:

当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break, 语句跳出switch语句为止。如果变量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。

注意:

(1)   表达式不能是浮点型或字符串

(2)   case后面的break可以省略,但是省略时会顺序执行,直到遇到break结束;

总结:

  1. 执行顺序:先判断switch()中的条件是否满足以下的case,如果满足则执行满足的case中的语句块,如果都不满足则执行default中的默认语句块。
  2. 如果case的语句块和下面case中的语句块相同,则可以省略。形式如下:

case 常量1:

case 常量2:语句块1;break;

遵守switch语句规则

switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:

(1)只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

(2)case标签必须是常量表达式(constantExpression),如42或者'4'。

(3)case标签必须是唯一性的表达式;也就是说,不允许两个case具有相同的值。

2.循环语句

2.1 for 循环

2.1.1 基本结构

格式:

for(表达式1;表达式2;表达式3)

{

语句块;

}

表达式1:赋初值

表达式2:判断的判断条件

表达式3:增值或减值

执行顺序:

首先执行表达式1进行赋值,然后判断表达式2是否成立,如果成立就进入循环执行语句块,再执行表达式3进行增值或减值然后继续判断表达式2是否成立,直到表达式2不成立退出循环。

2.1.2 嵌套结构

格式:

for(表达式1;表达式2;表达式3)

{

for(表达式4;表达式5;表达式6)

{

语句块;

}

}

2.1.3 变形

变形一:

int i=0;

for(;表达式2;表达式3)

{

语句块;

}

变形二:

int i=0;

for(;表达式2;)

{

语句块;

表达式3;

}

变形三:

int i=0;

for(;;)//死循环

{

if(表达式2)

{

语句块;

表达式3;

}

else

{

break; //结束循环

}

}

2.2 while循环

格式:

定义循环变量并赋值;

while(判断条件)

{

语句块;

增值或减值语句;

}

执行顺序:

首先定义循环变量并赋值,然后判断条件是否符合,如果符合就进入循环执行语句块及增值减值语句,然后继续判断,直到不成立退出循环。

相当于for循环的第二个变形。

2.3 do while

格式:

赋初值语句;

do

{

语句块;

增减值语句;

}while(判断条件);

执行顺序:先执行后判断

左边do-while右边while

两者区别:

(1)执行顺序不同:do while先执行后判断,while先判断后执行。

(2)执行次数不同:do while至少会执行一次。

2.5 死循环

for(;;){}

while(1){};

while(1);

2.6 循环控制语句

break continue goto

(1)break: 直接结束循环

(2)continue: 结束本次循环,继续下一次循环

(3)goto: 强制跳转到标签位置,可以应用于多重循环嵌套。(尽量不要使用!)

使用场景:

使用在循环语句中,结束循环

使用时需要有判断条件

标签:语句,控制,基础,else,break,case,执行,表达式
From: https://blog.csdn.net/thh135/article/details/140566984

相关文章

  • 通过渗透拿到对方web网站服务器控制权!让对方服务器成为木偶?
    一.靶场服务器打开(模拟要攻击的对象)1.1打开web服务1.2查看IP1.3右键计算机属性 远程设置不允许远程链接 (后面会通过远程渗透打开这个功能)1.4将服务器(此电脑)用户 设置密码并将服务器锁定二.打开win11攻击机上一篇文章中已经将对方网站登录密码破开,于是......
  • 【网络基础知识】三级跳板技术揭秘:企业如何防范网络“隐形刺客”?
    在一个寂静的夜晚,一家知名科技公司的网络管理员小李突然发现,公司内网的数据流量异常激增,而且似乎有未授权的设备在进行数据传输。小李立即启动了应急响应机制,但奇怪的是,公司的防火墙和入侵检测系统都没有发出任何警报。这究竟是怎么一回事?原来,这一切的幕后黑手正是一种被称为“三......
  • C基础(学习)2024.7.19
             Linux基本命令,vi编译器的使用,简单的编程步骤,程序语言,gcc编译器编译过程,进制转换相关知识可以查看文档http://t.csdnimg.cn/CmqhC        数值表示,词法符号,变量,常量相关知识可以查看文档http://t.csdnimg.cn/jJIe2        运算符和输表达式......
  • Java基础语法(一)
    目录一、Java入门 java定义前期准备Java应用java的主要特性JDK和JRE二、Java基础概念注释关键字关键字特点字面量分类特殊的字面量\t变量数据类型标识符键盘录入Scanner类三、运算符四、循环和判断五、数组六、方法一、Java入门 java定义  ......
  • JS 滚动条控制
    ​如何控制滚动条到指定位置?当页面上有四篇文章,如何控制指定文章置顶<article><h1>文章一</h1><p>这是文章一的内容</p></article><article><h1>文章二</h1><p>这是文章二的内容</p></article><article>......
  • idea内置数据库DataGrip + 多表查询sql语句 -- 内连接与外连接
    多表查询内连接与外连接--——————————多表查询--用的是多表设计中一对多的表与数据--单表select*fromtb_dept;select*fromtb_emp;--多表select*fromtb_emp,tb_deptwheretb_emp.dept_id=tb_dept.id;--==============内链接没有联系的查......
  • 05. Kubernetes基础篇-Docker知识
    常用命令dockerinfo查看docker信息#客户端信息Client:DockerEngine-CommunityVersion:26.1.4Context:defaultDebugMode:falsePlugins:buildx:DockerBuildx(DockerInc.)Version:v0.14.1Path:/usr/libexec/docker/cli-plu......
  • 第十节 JMeter基础-初级购物车【接口关联-鉴权】
    声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改。 背景:商城购物车可以添加数据,也可以删除数据。思路:登录后添加购物车,加入成功后查看购物车列表。购物车列表,随机删除,或者指定删除(需要特殊指定,例如购物车ID)。全部删除:依次读取购物车列表并删除。 1......
  • 零基础,快速学YOLO目标检查算法(YOLO—v1,2,3快速学习)
    一.深度学习经典检测方法1.two-stage(两阶段):Faster-rcnnMask-Rcnn系列,先有预选,预选完之后再通过预选得到最终结果。速度通常较慢,但效果不错2.one-stage(单阶段):YOLO系列,普通回归任务。最核心的优势,速度非常快,适合做实时检测任务,但效果通常情况不会太好二.指标分析map指标......
  • 微软研发致胜策略 01:尊定基础
    这是一本老书,作者SteveMaguire在微软工作期间写了这本书,英文版于1994年发布。我们看到的标题是中译版名字,英文版的名字是《DebuggingtheDevelopmentProcess》,这本书详细阐述了软件开发过程中的常见问题及其解决方案,强调团队合作、项目管理和开发流程的优化。该书成......