C语言程序入门——if-else及switch分支结构与for、do-while循环1.1.2

简介: 当表达式值为”真“时,循环执行,直到表达式的值为”假“,循环终止并继续执行while的下一条语句。循环与while有所不同,while循环如果一开始条件不满足,则循环一次都不不执行,而do-while先执行循环体,后判断循环条件,无论赋值条件的值如何,执行流程,先求表达式1,若为真,则执行语句1,并结束整个if语句的执行,否则,求解表达式2······直到表达式n-1都为假时,最后执行语句n。可由一个if语句构成,用来进行分支选择,表达式条件成立,则进行if中的语句,反之,无任何操作行为。.........

目录

1.单分支结构:

2.二分支结构:

3.多分支结构:

4.for语句

5.while语句及do-while循环

小游戏


1.单分支结构:

可由一个if语句构成,用来进行分支选择,表达式条件成立,则进行if中的语句,反之,无任何操作行为。(判断真假)


if (表达式) {

       语句1;}


2.二分支结构:

根据表达式的值选择语句1或语句2中的一条执行。真,则执行语句1句(if后的语),假,则执行语句2(else后的语句)


if (表达式) {

      语句1;

}else{

       语句2;}


#include<stdio.h>#include<stdlib.h>intmain()
{
inti;
printf("Enter a number:");
scanf("%d",&i);
if(i%2!=0){
printf("The number is odd");
    }else{
printf("The number is even");
    }
system("pause");
return0;
}

image.gif

3.多分支结构:

else-if是最常用的实现多分支的方法,其一般形式为


if (表达式){

       语句1;

}else if (表达式2){

       语句2;

}else if(表达式3){

       语句3;

}

···

else if(表达式n-1){

       语句n-1;

}else{

       语句n;}


执行流程,先求表达式1,若为真,则执行语句1,并结束整个if语句的执行,否则,求解表达式2······直到表达式n-1都为假时,最后执行语句n。

#include<stdio.h>#include<stdlib.h>intmain()
{
inta,b,c;
scanf("%d %d %d",&a, &b, &c);
intmax=0;
if(a>b){
if (a>c)
    {
max=a;
    }else{
max=c;
    }
    }elseif (b>c){
max=b;
    }else{
max=c;
    }
printf("最大值max=%d\n",max);
system("pause");
return0;
}

image.gif


4.for语句

C语言中,for语句被称为循环语句,它可以实现C语句的重复执行。

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

       循环体语句

表达式1:初值表达式,对循环变量赋初值,从而指定循环起点

表达式2:条件表达式,给出循环条件,通常判断循环变量是否超过循环的终点

表达式3:步长表达式,设置循环的步长,改变循环变量的值,从而可改变表达式2的结果

循环体语句:被反复执行的语句,只能是一条!!!

#include<stdio.h>#include<stdlib.h>intmain()
{
intn;
scanf("%d",&n);
intfact=1;
inti=1;
for( i=1; i<=n;i++){
fact*=i;                //循环体语句:被反复执行的语句,只能是一条!!!    }
printf("%d! = %d\n", n, fact);
system("pause");
return0;
}

image.gif

5.while语句及do-while循环

while语句也可用于实现循环,而且适用面更广

while (表达式)

       循环体语句;

当表达式值为”真“时,循环执行,直到表达式的值为”假“,循环终止并继续执行while的下一条语句。与for相比,它们执行的机制实质上是一样的,都是在循环前先判断条件,只有条件为”真“才进入循环。

#include<stdio.h>#include<stdlib.h>intmain()
{
intx;
intn=0;
scanf("%d",&x);
n++;
x/=10;
while (x>0){
n++;
x/=10;
printf("x = %d,n = %d\n",x, n);
    }
printf("n = %d\n",n);
system("pause");
return0;
}

image.gif

do-while循环与while有所不同,while循环如果一开始条件不满足,则循环一次都不不执行,而do-while先执行循环体,后判断循环条件,无论赋值条件的值如何,至少会执行一次循环体

do {

       循环体语句

}while (表达式);

#include<stdio.h>#include<stdlib.h>intmain()
{
intx;
intn=0;
scanf("%d",&x);
do{
x/=10;
n++;
    }
while (x>0);
printf("n = %d\n",n);
system("pause");
return0;
}

image.gif

例如其中先输入一个X,直接进行一次循环体x/=10,n++后,才进行循环条件while判断,以决定是否进入下一次循环。

小游戏

熟悉运用循环,就可以用自己异想天开的大脑做一些小小的文字游戏咯,例如我们玩过的猜数字游戏,就是通过一次次对数字猜测的循环判断,最终得出正确答案

#include<stdio.h>#include<stdlib.h>#include<time.h>intmain()
{
srand(time(0));
intnumber=rand()%100+1;
intcount=0;
inta=0;
printf("我已经想好了一个1到100的数");
do{
printf("请输入一个数");
scanf("%d",&a);
count++;
if(a>number){
printf("你猜的数大了");
        }elseif(a<number){
printf("你猜的数小了");
        }
    }while(a!=number);
printf("恭喜你猜对了,共猜了%d次\n",count);
system("pause");
return0;
}

image.gif

输出一个随机数时,需要在上头添加#include<time.h>

输入时,则可以int一个 rand()让系统自己调出一个随机数

在这里,if, else-if,与do-while的合理搭配,保证了游戏的准确进行

so 学起来呀!!!

相关文章
|
7月前
|
C语言
C语言分支和循环语句
分支语句由`if-else`构成,用于根据不同条件执行相应代码。`else`会与最近未配对的`if`结合,多个条件可用`else if`实现。若连续使用`if`,各条件互不影响。嵌套结构可在`if`中再加入`if-else`。此外,`switch`语句适用于多分支选择(注意表达式不能为浮点数,`case`后需加`break`)。循环语句包括`for`、`while`和`do...while`,注意`do...while`末尾需加分号。循环中,`break`直接终止循环,`continue`跳过当前循环剩余部分,但`for`的语句三仍会执行,而`while`中位置影响效果。
169 0
|
11月前
|
人工智能 Java 程序员
一文彻底搞清楚C语言的条件语句的Switch语句
本文详细介绍了C语言中的switch语句,包括其语法格式、运行流程、示例代码及注意事项。switch语句不仅使多分支选择更加清晰易读,还能在某些情况下提升性能。通过具体实例,如判断月份天数和数字转星期,帮助读者更好地理解和应用这一控制结构。
1016 1
一文彻底搞清楚C语言的条件语句的Switch语句
|
存储 安全 C语言
【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
分支的语句,这可能不是预期的行为,这种现象被称为“case穿透”,在某些特定情况下可以利用这一特性来简化代码,但在大多数情况下,需要谨慎使用。编写一个程序,该程序需输入个人数据,进而预测其成年后的身高。根据提示,在右侧编辑器补充代码,计算并输出最终预测的身高。分支下的语句,提示用户输入无效。常量的值必须是唯一的,且在同一个。语句的作用至关重要,如果遗漏。开始你的任务吧,祝你成功!,程序将会继续执行下一个。常量都不匹配,就会执行。来确保程序的正确性。
450 10
|
小程序 C语言
【C语言程序设计——基础】顺序结构程序设计(头歌实践教学平台习题)【合集】
目录 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果: 任务描述 相关知识 编程编写一个程序,从键盘输入3个变量的值,例如a=5,b=6,c=7,然后将3个变量的值进行交换,使得a=6,b=7,c=5。面积=sqrt(s(s−a)(s−b)(s−c)),s=(a+b+c)/2。使用输入函数获取半径,格式指示符与数据类型一致,实验一下,不一致会如何。根据提示,在右侧编辑器补充代码,计算并输出圆的周长和面积。
322 10
|
存储 编译器 C语言
【C语言程序设计——选择结构程序设计】求一元二次方程的根(头歌实践教学平台习题)【合集】
本任务要求根据求根公式计算并输出一元二次方程的两个实根,精确到小数点后两位。若方程无实根,则输出提示信息。主要内容包括: - **任务描述**:使用求根公式计算一元二次方程的实根。 - **相关知识**:掌握 `sqrt()` 函数的基本使用方法,判断方程是否有实根。 - **编程要求**:根据输入的系数,计算并输出方程的根或提示无实根。 - **测试说明**:提供两组测试数据及预期输出,确保代码正确性。 - **通关代码**:包含完整的 C 语言代码示例,实现上述功能。 通过本任务,你将学会如何处理一元二次方程的求解问题,并熟悉 `sqrt()` 函数的使用。
260 5
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】按从小到大排序三个数(头歌实践教学平台习题)【合集】
本任务要求从键盘输入三个数,并按从小到大的顺序排序后输出。主要内容包括: - **任务描述**:实现三个数的排序并输出。 - **编程要求**:根据提示在编辑器中补充代码。 - **相关知识**: - 选择结构(if、if-else、switch) - 主要语句类型(条件语句) - 比较操作与交换操作 - **测试说明**:提供两组测试数据及预期输出。 - **通关代码**:完整代码示例。 - **测试结果**:展示测试通过的结果。 通过本任务,你将掌握基本的选择结构和排序算法的应用。祝你成功!
242 4
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
425 5
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
426 4
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
500 1
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】求阶跃函数的值(头歌实践教学平台习题)【合集】
本任务要求输入x的值,计算并输出特定阶跃函数的结果。主要内容包括: 1. **选择结构基本概念**:介绍if、if-else、switch语句。 2. **主要语句类型**:详细解释if、if-else、switch语句的使用方法。 3. **跃迁函数中变量的取值范围**:说明如何根据条件判断变量范围。 4. **计算阶跃函数的值**:通过示例展示如何根据给定条件计算函数值。 编程要求:在右侧编辑器Begin-End之间补充代码,实现阶跃函数的计算和输出。测试说明提供了多个输入及其预期输出,确保代码正确性。最后提供通关代码和测试结果,帮助理解整个过程。
287 0