第7讲 条件运算符与条件表达式 switch语句、选择结构程序设计lgf

合集下载

C语言中的条件语句与循环语句详解

C语言中的条件语句与循环语句详解

C语言中的条件语句与循环语句详解C语言是一种广泛应用于计算机编程领域的高级程序设计语言。

在C语言中,条件语句和循环语句是非常重要的概念之一。

它们能够让程序根据不同的条件或需求来进行不同的操作和控制流程。

本文将详细讲解C语言中的条件语句和循环语句。

一、条件语句条件语句用于在程序中根据给定的条件选择性地执行某个操作或一系列操作。

C语言中的条件语句主要有if语句和switch语句。

1. if语句if语句是C语言中最基本的条件语句,其语法格式如下:```cif (条件) {// 如果条件为真,执行这里的语句块}```在if语句中,条件是一个返回值为真或假的表达式。

如果条件为真,那么将执行if语句中花括号内的代码块;如果条件为假,则跳过代码块,继续向下执行。

if语句还可以与else语句一起使用,实现二选一的逻辑判断:```cif (条件) {// 如果条件为真,执行这里的语句块} else {// 如果条件为假,执行这里的语句块}```2. switch语句switch语句用于在多个选项中选择一个进行操作。

其语法格式如下:```cswitch (表达式) {case 值1:// 如果表达式的值等于值1,执行这里的语句块break;case 值2:// 如果表达式的值等于值2,执行这里的语句块break;// 其他case语句default:// 如果表达式的值都不匹配上述任何一个case的值,执行这里的语句块break;}```在switch语句中,表达式的值会与每个case后面的值进行比较,如果匹配,则执行相应的代码块。

每个case语句后面都要使用break语句来结束本次选择,如果没有匹配的case值,将执行default后面的代码块。

二、循环语句循环语句用于重复执行某个操作或一系列操作,直到满足特定条件才退出循环。

C语言中的循环语句主要有for循环、while循环和do-while循环。

1. for循环for循环是C语言中最常用的循环语句,其语法格式如下:```cfor (初始化表达式; 循环条件; 更新表达式) {// 循环体```在for循环中,初始化表达式在循环开始前执行一次,循环条件在每次循环开始前进行判断,如果为真,则执行循环体中的代码块;更新表达式在每次循环结束后执行。

详解C语言中条件判断语句if和switch的用法

详解C语言中条件判断语句if和switch的用法

详解C语⾔中条件判断语句if和switch的⽤法if 语句⽤ if 语句可以构成分⽀结构,它根据给的条件进⾏判定,以决定执⾏哪个分⽀程序段。

C 语⾔的 if 语句有三种基本形式第⼀种形式:if(条件表达式){语句1;}if(条件表达式){语句1;}这种形式运⾏顺序为:当条件表达式为真,执⾏语句1,否则,直接跳过语句1,执⾏后⾯的语句。

例⼦1:BOOL result = YES;if(result){printf("result is true\n");}BOOL result = YES;if(result){printf("result is true\n");}输出结果为:result is true如果把 result 的值改为 NO,那么就什么都不输出了。

例⼦2:int a = 5;int b = 6;if(a >= b){printf("a⼤于b\n");}int a = 5;int b = 6;if(a >= b){printf("a⼤于b\n");}输出结果为:什么都不输出如果改成这样:if(a <= b){printf("a⼩于b\n");}if(a <= b){printf("a⼩于b\n");}那么输出结果为:a⼩于b。

第⼆种形式:if(条件表达式){语句1;}else{语句2;}if(条件表达式){语句1;}else{语句2;}这种结构的执⾏顺序为:当条件表达式为真时,执⾏语句1,否则执⾏语句2。

例⼦1:BOOL result= YES;if(result){printf("result 为真\n");}else{printf("result 为假\n");}BOOL result= YES;if(result){printf("result 为真\n");}else{printf("result 为假\n");}这⾥的两个输出语句绝对不会同时输出。

c语言switch语句的用法详解

c语言switch语句的用法详解

C语言是一种广泛使用的计算机编程语言,它具有丰富的语法和功能,能够实现各种复杂的编程任务。

在C语言中,switch语句是一种非常重要的控制语句,能够根据表达式的值来选择不同的执行路径。

在本文中,我们将对C语言中switch语句的用法进行详细的解释和讨论,希望能够帮助读者更好地理解和掌握这一语句的使用。

1. switch语句的基本语法在C语言中,switch语句的基本语法如下所示:```cswitch (expression) {case constant1:statement1;break;case constant2:statement2;break;...default:statement;}```其中,expression是一个整数表达式,可以是变量、常量或者复杂的表达式。

在switch语句中,expression的值将会与每个case后面的常量进行比较,直到找到匹配的常量为止。

如果找到了匹配的常量,那么与该常量对应的语句将会被执行,然后switch语句将会被终止。

如果没有找到匹配的常量,那么将会执行default后面的语句。

在case后面的语句执行完毕之后,需要使用break语句来终止switch 语句的执行,否则将会继续执行后面的语句。

2. switch语句的使用示例为了更好地理解switch语句的使用方法,我们接下来将给出一个具体的示例。

假设我们需要根据用户输入的数字来显示对应的星期几,那么可以使用switch语句来实现这个功能。

示例代码如下:```c#include <stdio.h>int m本人n() {int day;printf("请输入一个数字(1-7):");scanf("d", day);switch(day) {case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期日\n");break;default:printf("输入错误!\n");}return 0;}```在这个示例中,我们首先定义了一个整型变量day,然后通过scanf 函数来接收用户输入的数字。

C语言中的条件语句和循环控制结构

C语言中的条件语句和循环控制结构

C语言中的条件语句和循环控制结构在C语言中,条件语句和循环控制结构是编程中非常重要的概念。

它们使得程序能够根据不同的情况做出不同的处理,从而实现更加灵活和高效的代码逻辑。

一、条件语句条件语句允许程序根据某个条件的真假来执行不同的代码块。

在C 语言中,最常见的条件语句是if语句和switch语句。

1. if语句if语句的基本语法如下:```cif (condition){// 当condition为真时执行的代码}```在if语句中,condition是一个布尔表达式,用于判断某个条件是否为真。

如果condition为真,那么就会执行花括号内的代码块;如果condition为假,那么将跳过该代码块。

除了基本的if语句外,还可以使用else语句和else if语句来实现多重条件判断。

下面是一个例子:```cif (score >= 90){printf("优秀\n");}else if (score >= 80){printf("良好\n");}else if (score >= 60){printf("及格\n");}else{printf("不及格\n");}```这段代码根据分数的不同,输出对应的成绩等级。

2. switch语句switch语句用于根据一个表达式的值,选择执行不同的代码块。

它的基本语法如下:```cswitch (expression){case constant1:// 当expression等于constant1时执行的代码break;case constant2:// 当expression等于constant2时执行的代码break;default:// 当expression不等于任何一个constant时执行的代码break;}```在switch语句中,expression可以是一个整型或字符型的表达式,而constant则是一系列常量值。

精品-清华大学C语言课件 第7章03 switch语句

精品-清华大学C语言课件 第7章03 switch语句
return 0; }
运行程序,显示效果如图7.17所示。
图7.17 使用switch语句输出分数段 本程序使用switch语句判断字符变量cGrade,其中使用case关键字检验可能出现的级别情况。并 且在每一个case语句的最后都会有break进行跳出。如果没有符合的情况则会执行default默认语句。 注意: 在case语句表示的条件后有一个冒号“:”,在编写时不要忘记。
运行程序,显示效果如图7.19所示。
图7.19 使用多路开关模式编写日程安排程序 程序中使用多路开关模式,使得检测iDay的值为2、3、4、5这四种情况时,都会执行相同的结果。 并且利用default语句将不符合的数字显示提示信息表示输入错误。
switch (表达式) { case 情况1: 语句块1; case 情况2: 语句块2; … case 情况n: 语句块n; default: 默认情况语句块; }
其语句的程序流程如下图7.15所示。
图7.15 switch多分支选择语句流程
通过上面的流程图进行分析switch语句的一般形式。switch后面括号中的表达式就是要进行判断的条 件。在switch的语句块中,使用case关键字表示检验条件符合的各种情况,其后的语句是相应的操作。 其中还有一个default关键字,代表的作用是如果上面没有符合条件的情况,那么执行default后的默认情 况语句。
在实例7.9中,将break去掉之后,会将符合检验条件后的所有语句都输出。利用这个特点,可以设 计多路开关模式的switch语句。其形式如下。
switch(表达式) { case 1: 语句1 break; case 2: case 3: 语句2 break; …… default: 默认语句 break; }

学习计算机编程中的条件语句与循环结构

学习计算机编程中的条件语句与循环结构

学习计算机编程中的条件语句与循环结构在计算机编程的学习过程中,条件语句和循环结构是非常重要的概念。

它们能够使程序根据不同的条件或重复执行特定的代码块,为开发者提供了强大的逻辑控制能力。

本文将介绍条件语句和循环结构的基本概念以及如何在学习计算机编程时灵活应用它们。

一、条件语句条件语句是编程中最基本的控制结构之一。

它基于一个条件的真假来判断是否执行特定的代码块。

在计算机编程中,常见的条件语句有if语句和switch语句。

1. if语句if语句用于判断一个条件是否为真,如果条件为真,则执行相应的代码块。

其基本语法如下:```if (条件) {// 执行代码块}```在编写if语句时,我们需要注意以下几个关键点:- 条件必须是一个布尔表达式或返回布尔值的表达式;- 可以使用逻辑运算符(如&&和||)结合多个条件;- 可以使用if-else语句来处理条件不满足的情况。

2. switch语句switch语句根据一个表达式的值,选择性地执行与之匹配的代码块。

其基本语法如下:```switch (表达式) {case 值1:// 执行代码块1break;case 值2:// 执行代码块2break;default:// 执行默认代码块break;}```在使用switch语句时,需要特别注意以下几点:- 表达式的值必须为整数、字符或枚举类型;- case后的值必须与表达式的值完全匹配才会执行对应的代码块;- 每个case后需要使用break语句来结束代码块,否则将会继续执行后续的代码;如果没有匹配的case,则执行默认代码块。

二、循环结构循环结构允许我们反复执行一段代码块,直到满足退出条件为止。

在计算机编程中,常见的循环结构有for循环、while循环和do-while 循环。

1. for循环for循环用于指定初始条件、循环条件和每次迭代后的更新操作。

通过这些条件和操作,可以重复执行一个代码块多次。

掌握C语言中的条件语句和循环结构

掌握C语言中的条件语句和循环结构

掌握C语言中的条件语句和循环结构C语言是一种广泛应用于程序设计和系统开发的编程语言,具有快速、高效、灵活等特点。

在C语言中,条件语句和循环结构是非常重要的两个概念,通过掌握它们,我们可以实现程序的逻辑判断和重复执行,从而为我们的编程带来了更大的灵活性和功能性。

本文将详细介绍C语言中的条件语句和循环结构,帮助读者全面理解和掌握。

一、条件语句条件语句是根据特定条件的真假来决定程序的执行路径。

在C语言中,常见的条件语句有if语句、if-else语句和switch语句。

1. if语句:if语句是根据判断条件是否为真来进行分支选择的结构。

它的一般形式是:```cif(条件表达式){// 条件为真时执行的代码块}```if语句的执行过程是首先判断条件表达式是否为真,若为真则执行花括号内的代码块,否则跳过不执行。

举个例子:```c#include <stdio.h>int main(){int num = 10;if(num > 0){printf("num是正数\n");}return 0;}```上述代码中,我们使用if语句判断变量num是否为正数,如果是,则输出"num是正数"。

2. if-else语句:if-else语句是在if语句的基础上增加了一个可选执行路径。

其一般形式如下:```cif(条件表达式){// 条件为真时执行的代码块}else{// 条件为假时执行的代码块}```执行过程和if语句类似,当条件为真时执行if语句后的代码块,当条件为假时执行else语句后的代码块。

举个例子:```c#include <stdio.h>int main(){int num = 10;if(num % 2 == 0){printf("num是偶数\n");}else{printf("num是奇数\n");}return 0;}```上述代码中,我们使用if-else语句判断变量num是否为偶数,根据判断结果输出相应的信息。

教学内容if语句switch语句选择结构程序举例

教学内容if语句switch语句选择结构程序举例

case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf(“grade=E\n”); break;
default: printf(“The score is out of range!\n”);}
}
程序运行情况如下:
Input a score(0~100): 85↙
例 6.5 输入 + * - / , 输出对应的单词。 #include<stdio.h> main() { char ch ; ch=getchar(); if (ch=='+') printf("plus\n"); else if (ch=='-') printf("minus\n"); else if(ch=='*') printf("multiply\n"); else if (ch=='/') printf("divide\n"); else printf("error\n"); }
printf("input two numbers: "); scanf("%d%d",&a,&b); if(a>b) printf("max=%d\n",a); else printf("max=%d\n",b); }
例6.3从键盘输入两个数,按升序输出两个数 #include <stdio.h> main() {
教学内容if语句switch语句选择结构程序举例
在C语言中,当需要根据选择条件来确定所要做 (执行)哪一项数据处理的情况,这样的程序结构,被 称为选择(分支)结构。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

}
2012-5-31
switch语句的几种变化形式
main() main() main() main() {int gg;;; {int g g ; {int {float printf("Enter a mark:"); printf("Enter aamark:"); printf("Enter a mark:"); printf("Enter scanf("%d",&g); mark:"); scanf("%d",&g); scanf("%d",&g); scanf("%f",&g); printf("g=%d :",g); printf("g=%d :",g); printf("g=%d :",g); printf("g=%5.1f :",g); switch(g/10) switch(g/10) switch(g/10) switch(g/10) switch((int)(g/10)) {case 10: break ; {case 10: {case10: {case case 910:printf("A\n"); break ;; case : 9: : printf("A\n"); break ; case9 9 :printf("A\n"); break ; case printf("A\n"); break default : : printf("B\n"); break ; ; ; printf("E\n"); break case 88: : printf("B\n"); break ; case8 case printf("B\n"); break case 8 :printf("C\n"); break ; ;; printf("B\n"); break case : : printf("C\n"); break case7 77 : printf("C\n"); break ; case case 7 :printf("D\n"); break ; ;; case : 6: :printf("C\n"); break ; case6 6 printf("D\n"); break case printf("D\n"); case 6 :: printf("E\n"); break ; printf("D\n"); break default :: printf("E\n"); default printf("E\n"); } }}default }} } }}
2012-5-31
例4.8 求一元二次方程的解
分析:随着方程中的变量 a,b,c的变化,该方程有 以下几种可能性: 1. a=0:不是二次方程。 2. b*b-4*a*c=0, 有两个相等实根。 3. b*b-4*a*c > 0, 有两个不相等的实根。 4. b*b-4*a*c < 0, 有两个共轭复根。
2012-5-31
switch语句的几种变化形式
main() main() main() main() {int gg;;; {int g g ; {int {float printf("Enter a mark:"); printf("Enter aamark:"); printf("Enter a mark:"); printf("Enter scanf("%d",&g); mark:"); scanf("%d",&g); scanf("%d",&g); scanf("%f",&g); printf("g=%d :",g); printf("g=%d :",g); printf("g=%d :",g); printf("g=%5.1f :",g); switch(g/10) switch(g/10) switch(g/10) switch(g/10) switch((int)(g/10)) {case 10: break ; {case 10: {case10: {case case 910:printf("A\n"); break ;; case : 9: : printf("A\n"); break ; case9 9 :printf("A\n"); break ; case printf("A\n"); break default : : printf("B\n"); break ; ; ; printf("E\n"); break case 88: : printf("B\n"); break ; case8 case printf("B\n"); break case 8 :printf("C\n"); break ; ;; printf("B\n"); break case : : printf("C\n"); break case7 77 : printf("C\n"); break ; case case 7 :printf("D\n"); break ; ;; case : 6: :printf("C\n"); break ; case6 6 printf("D\n"); break case printf("D\n"); case 6 :: printf("E\n"); break ; printf("D\n"); break default :: printf("E\n"); default printf("E\n"); } }}default }} } }}
2012-5-31
先计算表达式的值, 表达式只能是 然后寻找与该值吻合 整型、字符型 case和常量表 的case标号,并执行 或枚举型 达式之间一定 该标号开始的所有语 要有空格 句,直到switch语句 多条语句可 以不必用{ } 体结束。如果没有与 括起来 该值相等的标号,则 default标号 从default标号后的语 也可以放在 句开始执行,直到 其它位置 switch语句体结束。
2012-5-31
选择结构程序举例
例4.7 写一程序,从键盘上输入一个年号year (4位十进制整数),判断该年是否闰年。
分析:判断某年是否为闰年的条件是: 1)年号能被4整除但不能被100整除; 2)年号能被400整除。
2012-5-31
main() {int year, leap; /*leap=0不是; leap=1是*/ printf("Please input the year:"); scanf("%d",&year); if (year % 4==0) if (year % 100 != 0) leap=1; else if (year%400==0) leap=1; else leap=0; else leap=0; if (leap==1) printf("%d is a leap year.\n", year); else printf("%d is not a leap year.\n", year); }
2012-5-31
例4.7 闰年程序
闰年优化程序1
main() {int year, leap; printf("Please input the year:"); scanf("%d",&year); leap=0; if (year%4==0 && year%100!=0) leap=1; leap= leap|| (year%400==0); if (year%400==0) leap=1; if (leap) printf("%d is a leap year.\n", year); else printf("%d is not a leap year.\n", year); }
main() break语句 {int g ; 的功能是强制 printf("Enter a mark:"); 跳出switch语 scanf("%d",&g); 句体。 printf("g=%d :",g); switch语句 switch(g/10) {case 10: 通常总是和 case 9 : printf("A\n"); break ; break语句联 case 8 : printf("B\n"); break ; 合使用,使得 case 7 : printf("C\n"); break ; switch语句真 case 6 : printf("D\n"); break ; 正起到多分支 default : printf("E\n"); } 结构的作用。
2012-5-31
#include "math.h" main() {float a,b,c,disc,x1,x2,realpart,imagpart; scanf("%f,%f,%f",&a,&b,&c); printf("The equation "); if (fabs(a) <= 1E-6) /*判断一个实数a是否为零*/ { printf("is not quadratic\n"); exit(0); } else disc = b*b - 4*a*c; if (fabs(disc) <= 1E-6) /* disc ==0 */ printf("has two equal root: %8.4f",-b/(2*a)); else
相关文档
最新文档