C语言详细分析讲解流程控制语句用法

 更新时间:2022年05月06日 09:30:48   作者:龟π气功  
C语言语句的执行默认顺序执行(从上往下依次执行),编程语言一般除了默认的顺序执行以外,还提供分支执行和循环执行的语法,让我们一起来看看

一、分支语句

1.if语句

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

例如:从终端获取一个数字,判断 正数,负数,零

#include<stdio.h>
int main(){
		int num = 0;
		printf("请输入一个整数:");
		scanf("%d",&num);
		if(num >= 0){
			printf("正数\n");
		}
		else if (num < 0){
			printf("负数\n");
		}
		else {
			printf("零\n");
		}
		return 0;
}

2.switch语句

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

例:在控制台获取4个数字0,1,2,3,对应输出四个季节

#include <stdio.h>
int main(){
		int season = 0;
		printf("请输入一个代表季节的数字:");
		scanf("%d",&season);
		switch(season){
			case 0:
				printf("春天\n");
				break;
			case 1:
				printf("夏天\n");
				break;
			case 2:
				printf("秋天\n");
				break;
			case 3:
				printf("冬天\n");
				break;
			default:   // 如果上述情况都不匹配,执行该语句
				printf("所有情况都不匹配,请检查输入是否为正整数!");
				break;
		}
		return 0;
}
  • switch后面的()里面不一定是一个变量,也可以是一个公式,如果例题需求改为:输入的数字对4取余,对应四个季节,那么可以改为 switch(season % 4)
  • default为case情况都不匹配的情况,才执行

二、循环语句

循环语句可以让一组语句多次反复执行

1.for语句

for( exp1 ; exp2 ; exp3 ) 其中 exp1为变量初始值赋值语句,exp2为循环变量与终值的关系,exp3为循环变量怎么从初值变为终值。exp之间通过分号 ; 隔开

对于下例中的num++,即每次运行完后,num = num +1 ,更多关于自增自减的内容请参考《探讨++i与i++哪个效率更高》

例:在屏幕循环打印12345五个数字

#include <stdio.h>
int main(){
		int num = 0;
		for(num =1;num <= 5;num++){
			printf("%d\n",num);
		}
		return 0;
}

2.break和continue语句

break语句随时终止循环的执行

continue语句可以把档次大括号中后面的语句跳过

无论break还是continue,都只对直接包含它的循环语句产生影响

具体区别请参考C语言中break与continue的用法和区别详解

3.循环嵌套

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

例:采用for循环嵌套打印九九乘法表

#include <stdio.h>
int main()
{
        for (int i = 1; i < 9; i++)
        {
                for (int j = 1; j <= i; j++)
                {
                        printf("%d*%d=%-4d", i, j,i*j);
                }
                printf("\n");
        }
        return 0;
}

4.while和do…while语句

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

例:使用while循环输出12345五个数字

#include<stdio.h>
int main(){
		int num = 1;
		while(num <= 5){
			printf("%d\n",num);
			num++;
		}
		return 0;
}

例 do…while演示

#include<stdio.h>
int main(){
		int num = 1;
		do{
			printf("芜湖~,我执行成功啦!\n");
			num++;
		}while(num < 1);
		return 0;
}

输出结果如下:num = 1不满足while里面num < 1的条件,但是do会先执行{ }里面的内容,所以打印成功。

如果改成while形式,打印不成功:

到此这篇关于C语言详细分析讲解流程控制语句用法的文章就介绍到这了,更多相关C语言流程控制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Qt实现解压带有密码的加密文件

    Qt实现解压带有密码的加密文件

    Quazip是Qt平台下面的一个压缩解压缩库。本文将利用Quazip实现解压带有密码的加密文件,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-02-02
  • C++文件读取的4种情况汇总

    C++文件读取的4种情况汇总

    前几天要用到C++读取文本文件,就学习了一下几种不同的读取方法,下面这篇文章主要给大家介绍了关于C++文件读取的4种情况,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • C++面试八股文之如何避免死锁详解

    C++面试八股文之如何避免死锁详解

    在C++中,锁(Lock)是一种同步工具,用于保护共享资源,防止多个线程同时访问,那么如何避免死锁的情况出现呢,下面就为大家简单讲讲
    2023-07-07
  • C语言中双向链表和双向循环链表详解

    C语言中双向链表和双向循环链表详解

    这篇文章主要介绍了C语言中双向链表和双向循环链表详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • Matlab绘制酷炫坐标区域的方法详解

    Matlab绘制酷炫坐标区域的方法详解

    这篇文章主要为大家详细介绍了如何利用Matlab编写一个能让坐标区域变得很炫酷的修饰函数,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • C++编译期循环获取变量类型详情

    C++编译期循环获取变量类型详情

    这篇文章主要介绍了C++编译期循环获取变量类型详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • C++11的新特性简单汇总介绍 (二)

    C++11的新特性简单汇总介绍 (二)

    最近学习了C++11的新特性,将学习内容整理下来以巩固记忆,这里分享给大家,希望对大家学习C++11能够有所帮助
    2016-07-07
  • C++超详细讲解数组操作符的重载

    C++超详细讲解数组操作符的重载

    C 语言提供了丰富的操作符,有:算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符等。接下了让我们探究一下数组操作符的重载
    2022-06-06
  • c++ 前自增/后自增操作符效率分析

    c++ 前自增/后自增操作符效率分析

    这篇文章主要介绍了c++ 前自增/后自增操作符效率分析,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2021-01-01
  • C语言指针变量作为函数参数的实现步骤详解

    C语言指针变量作为函数参数的实现步骤详解

    这篇文章主要介绍了C语言指针变量作为函数参数的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-02-02

最新评论