C语言的控制结构(顺序结构、选择结构、循环结构)详解

您所在的位置:网站首页 C语言条件语句的三种形式 C语言的控制结构(顺序结构、选择结构、循环结构)详解

C语言的控制结构(顺序结构、选择结构、循环结构)详解

2024-07-05 07:51| 来源: 网络整理| 查看: 265

C语言的三种控制结构 一、顺序结构二、选择结构2.1 if语句(只会匹配一个表达式对应内容)2.2 switch语句 三、循环结构for循环while循环do while循环 四、goto语句 前言:程序由三种基本结构组成: 顺序结构、选择结构、和循环结构,任何程序都由这3种基本结构组合而成。 优点:不会存在无规律的转向,可以使程序结构清晰,易于验证正确性且易于纠错。遵循这种方法的程序设计就是结构化程序设计。

此处简单画出三种结构的执行流程图:

注意:C语言没有布尔类型,在C语言中用数字0表示假,非0表示真,文章后面不在进行说明

一、顺序结构

顺序结构:依照线性顺序依次执行,简单说就是从上到下依次执行 例如下面程序会依次输出1、2、3、4、5

#include int main(void) { printf("1"); printf("2"); printf("3"); printf("4"); printf("5"); return 0; }

输出:

12345 二、选择结构

选择结构:通过某个给定条件进行判断,条件为真或假时分别执行不同的程序内容,选择结构分if语句和switch语句两种(就像人生不是一帆风顺,直线往前走。比如今天出门看到外面下雨了就会带伞,没有下雨就不用带伞一样进行判断)

2.1 if语句(只会匹配一个表达式对应内容)

语法结构(主要分为三种,下面会一 一举例): 说明:以 ; 结尾是一条语句, 第一种 if(表达式)   执行语句;

#include int main(void) { int age = 0; printf("请输入你的年龄:>"); scanf("%d", &age); if (age >= 18) //当if括号内表达式为真时(即非0),才会执行紧接if的第一条语句 printf("成年\n"); return 0; }

输入

18

输出

成年

输入

15

输出

代码块: 一对大括号 { }包裹的语句叫做代码块 在if语句中如果不使用代码块则只会执行紧接if的第一条语句,后面语句与if表达式判断无关。如果想当if表达式为真时执行多条语句,需要将多条语句包裹在代码块内,下面将举例说明:

//程序本意是当用户输入年龄大于等于18时,输出成年并可以谈恋爱。小于18时则什么都不输出 //但是if表达式后面有两条语句,但没有使用代码块包裹,则不管用户输入什么都会输出 可以谈恋爱 #include int main(void) { int age = 0; printf("请输入你的年龄:>"); scanf("%d", &age); if (age >= 18) printf("成年\n"); printf("可以谈恋爱了"); return 0; }

输入

18

输出

成年 可以谈恋爱了

输入

17

输出

可以谈恋爱了

使用代码块执行多条语句

//用户输入大于等于18输出成年并可以谈恋爱,小于18则什么都不输出 #include int main(void) { int age = 0; printf("请输入你的年龄:>"); scanf("%d", &age); if (age >= 18) { printf("成年\n"); printf("可以谈恋爱了"); } return 0; }

输入

18

输出

成年 可以谈恋爱了

输入

17

输出

第二种 if(表达式)   执行语句1; else   执行语句2;

#include int main(void) { int age = 0; printf("请输入你的年龄:>"); scanf("%d", &age); if (age >= 18) //当if括号内表达式为真则执行下面第一条语句 printf("成年\n"); else //当上面表达式都不匹配时,则匹配else,执行else下面第一条语句 printf("未成年\n"); return 0; }

输入

18

输出

成年

输入

16

输出

未成年

当if或else想执行多条语句时使用代码块,后续再不演示有代码块和没有代码块的区别

//当用户输入年龄大于等于18时输出成年可以谈恋爱,否则输出未成年不可以谈恋爱 #include int main(void) { int age = 0; printf("请输入你的年龄:>"); scanf("%d", &age); if (age >= 18) { printf("成年\n"); printf("可以谈恋爱\n"); } else { printf("未成年\n"); printf("不可以谈恋爱\n"); } return 0; }

输入

18

输出

成年 可以谈恋爱

输入

15

输出

未成年 不可以谈恋爱

第三种(多分枝选择) if(表达式1)   执行语句1; else if(表达式2)   执行语句2; else   执行语句3;

//根据用户输入年龄,输出所处年龄段 #include int main(void) { int age = 0; printf("请输入你的年龄:>"); scanf("%d", &age); if (age


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3