首页 > 其他分享 >C语言-流程控制语句

C语言-流程控制语句

时间:2022-10-18 18:23:21浏览次数:79  
标签:语句 case 流程 C语言 break while 循环 代码

一:分支语句

1.if语句

流程控制语句可以让程序中的语句不再从上到下逐条执行
分支是一种流程控制语句,可以把程序中某些语句忽略掉不去执行
if关键字可以用来编写分支语句,只有当表达式为真时,才会执行对应语句
如果多个分支的逻辑表达式之间存在互斥关系,则可以采用else关键字把他们合并成一个分支语句
一个分支语句中的多个逻辑表达式之间如果具有互补关系,则可以把最后一个逻辑表达式省略

if()

{

代码区;

}
2:switch语句

  • 如果有一组数字,数字的个数有限,每个数字对应一组专门的处理语句。这种情况的分支可以采用下面的语法实实现:

switch (x)

{

case 0:代码;break;

case 1:代码;break;

case 2:代码;break;

case 3:代码;break;

case 4:代码;break;

case 5:代码;break;

case 6:代码;break;

case 7:代码;break;

case 8:代码;break;

case 9:代码;break;

}

二:循环语句

循环语句可以让一组语句多次反复执行
1.for语句
for( exp1 ; exp2 ; exp3 ) 其中 exp1为变量初始值赋值语句,exp2为循环变量与终值的关系,exp3为循环变量怎么从初值变为终值。exp之间通过分号 ; 隔开
对于下例中的num++,即每次运行完后,num = num +1 ,更多关于自增自减的内容请参考《C语言 自增运算符(前++后++)》
for (赋值; 判断条件;跳出条件;)

{

代码区;

}

2.break和continue语句

  • break语句随时终止循环的执行
  • continue语句可以把档次大括号中后面的语句跳过
  • 无论break还是continue,都只对直接包含它的循环语句产生影响
  • 具体区别请参考《C语言break和continue》

 

3.循环嵌套
循环嵌套结构可以用来解决复杂的循环问题
首先把复杂问题分组,为每组找到一个代表数字。
要求所有组的代表数字是规律变化的。
循环嵌套由两个循环构成,其中一个包含另一个。外循环负责描述组代表数字的变换过程,内循环负责完成某组内的所有处理任务。
循环嵌套结构中内循环的开始数字和结束数字很可能需要根据外循环的循环。

例题:利用for循环打印99乘法表

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
int i,j,n;
for (i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
if(i>=j)
{
printf("%d*%d=%d ",i,j,i*j);
}
}
printf("\n");
}
return 0;
}

3:while和do…while语句
while关键字也可以用来编写循环
for关键字编写的循环和while关键字编写的循环可以互相替代
当编写循环时不容易算出循环的执行次数时就可以考虑采用while关键字
while(逻辑表达式){ 反复执行的语句组 }
while关键字也可以编写空语句和死循环
采用do…while语句也可以实现循环,格式如下:
do{ 语句 } while (逻辑表达式);
使用do…while语句可以保证大括号内部的语句至少执行依次

1

while(条件)

{

执行语句

}

2

do

{

代码区

}

while(条件)

区别 while与do while:后者先进行括号里面的,前者前判断条件。

 

标签:语句,case,流程,C语言,break,while,循环,代码
From: https://www.cnblogs.com/030622zfy-/p/16803582.html

相关文章

  • python基础:模块简介、模块的语句、绝对导入和相对导入
    python基础:模块简介、模块的语句、绝对导入和相对导入目录一、索引取值与迭代取值的差异二、模块简介三、模块的分类四、导入模块的两种句式1.import句式2.from...import......
  • AI智能视频融合平台EasyCVR如何使用SQL语句批量开启通道音频?
    EasyCVR视频融合云平台可支持多协议、多类型的设备接入,包括国标GB28181、RTSP/Onvif、RTMP协议,以及海康/大华SDK、海康Ehome等,对外可分发RTSP、RTMP、FLV、HLS、WebRTC等格......
  • sim900芯片—GPRS使用C语言接电话和收短信应用程序
    ————————————————————————————————————————————— 主机操作系统:Centos6.7交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台......
  • sim900芯片—GPRS使用C语言打电话和发短信应用程序
    ————————————————————————————————————————————— 主机操作系统:Centos6.7交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台:......
  • C语言简易计算器
    #inlcude<stdio.h>intmain(){printf("\t简易计算器\n1、加法\n2、减法\n3、乘法\n4、除法\n请输入你的选择:"); intc;//用if语句来决定这是什么运算 floata,b;//定......
  • CentOS 7 下 LVM 创建流程
    1.简介1.1.逻辑卷概念PP(PhysicalPartition)-物理分区如硬盘的分区,或RAID分区。PV(PhysicalVolume)-物理卷是PP的LVM抽象,它维护了PP的结构信息,是组成VG的基本......
  • C语言零基础入门-文件
    C语言零基础入门-文件这节课的主要内容:1,文件的基本知识。2,文件操作实例。1.基础知识1.1基础概念1.1.1文件这个概念不用说大家应该都知道是什么,虽然自己的定义可能不是很......
  • C语言零基础入门-结构体-01
    C语言零基础入门-结构体-01这节课的主要内容:1,什么是结构体。2,结构体的定义以及使用。1.什么是结构体这个问题就变得有意思了,为什么呢?因为他可以与我们之前的学习紧密相关了......
  • C语言零基础入门-06-习题
    C语言零基础入门-06-习题本节课的任务是: 布置5道指针的习题。习题01给定的5个整数(9,7,5,6,2),书写子函数进行排序,按照由小较大的顺序输出。要求:子函数之间数据传递使用指针进行。......
  • C语言零基础入门-指针-03
    C语言零基础入门-指针-03本节要点:1,指针操作int类型数据。2,指针操作float,char类型数据。01.指针操作int类型数据其实这一小节主要是带大家回顾一下,因为前边我们已经讲了很多......