c语言选择结构
C语言_选择结构
4
例 应避免对实数作相等或不等的判断 如 1.0/3.0*3.0==1.0 结果为 0 可改写为:fabs(1.0/3.0*3.0-1.0)<1e-6
C Programming Language
逻辑运算符和表达式
逻辑运算符
种类: ! && || 逻辑运算真值表(见教材) (逻辑运算--->产生真假值的运算)
关系运算符
3
种类:< <= = = >= > != 结合方向:自左向右 优先级7 (低) 优先级别: 关系表达式的值:是逻辑值“真”或“假”, 用1和0表示c>a+b 例 int a=3,b=2,c=1,d,f; 例 //c>(a+b) a>b!=c //(a>b)!=c a>b //表达式值1 a==b<c //a==(b<c) (a>b)==c //表达式值1 a=b>c //a=(b>c) b+c<a //表达式值0 d=a>b // d=1 C Programming Language f=a>b>c // f=0
11
C Programming Language
7. 已知int x=15,y=5; 执行语句 printf(“%d\n”,x%=(y%=2));后,输出结果为____。 8. int a=3,b=4,c=5;则值为0的表达式是() A) „a‟&&„b‟ B) a<=b C) a||b+c&&b-c D) !((a<b)&&!c||1) 9. “20<x<30或x<-100”的C语言表达式是____。 10. main( ) { int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); printf(“%d%d%d”,k,a,b); } 若改为++a<0呢?
C语言选择结构
选择结构(if & switch)If语句一、if的三种结构1、单分支结构(if结构)If(表达式)语句;2、双分支结构(if-else结构)If(表达式)语句1;else语句2;3、多分支结构(if-else-if结构)If(表达式1)语句1;else if(表达式2)语句2;……else(表达式n-1)语句n-1;else语句n;说明:(建议在分支语句上加大括号,以减少错误)○1语句中的表达式可以是任意表达式:if(x) y=1\x;else y=10000;○2一个if结构不可分割;○3一个分支中包含多个语句时,要用{};○4else和else-if不是独立的,其前方必须有与之配对的if语句;二、if语句的嵌套在if语句中,又包含一个或多个if语句:if(score>=80)if(score>=90) printf(“A”);else printf(“B”);elseif(score>=60) printf(“C”);else printf(“D”);注意else与if的匹配三、条件运算符如果两个分支的内容都是给同一个变量赋值,则可用简单的条件运算符处理:if(a>b) max=a;else max=b;可用: max=a>b ? a : b;赋值运算符右边为一条件表达式。
条件表达式的一般形式:表达式1 ?表达式2 :表达式3条件表达式的执行过程: a>b ? a : b优先级:低于关系运算符,高于赋值运算符。
结合性:右结合性。
Switch(多分支)1、适用于根据一个表达式的值就可确定走哪个分支的情况。
switch(表达式){常量表达式1:语句1常量表达式2:语句2┋常量表达式n:语句ndefault:语句n+1}注意:常量表达式不可以是字符串2、switch一般配合break使用:switch (控制表达式) {case 常量表达式:语句列表;break;case 常量表达式:语句列表;break;...default:语句列表}说明:1、break用来跳出switch语句块。
C语言选择结构
C语言选择结构选择结构是C语言中的一种流程控制结构,用于根据给定的条件选择不同的执行路径。
本文将详细介绍C语言中的选择结构以及其使用。
选择结构主要包括if语句、if-else语句、else if语句和switch 语句。
1. if语句if语句是最简单的选择结构,用于根据给定条件决定是否执行段代码。
其语法结构为:if (condition)//如果条件为真,执行这里的代码其中,condition是一个表达式,如果它的值为真,则执行if语句中的代码块。
if语句也可以与else语句结合使用,使得在条件为假时执行不同的代码块。
2.if-else语句if-else语句是在if语句的基础上增加了一个分支,用于在条件为假时执行另外一段代码。
其语法结构为:if (condition)//如果条件为真,执行这里的代码else//如果条件为假,执行这里的代码如果if语句的条件为真,则执行if语句中的代码块,否则执行else语句中的代码块。
3.else if语句else if语句用于在多个条件之间进行选择,并根据不同的条件执行相应的代码块。
其语法结构为:if (condition1)//如果条件1为真,执行这里的代码else if (condition2)//如果条件1为假,条件2为真,执行这里的代码else//如果条件1和条件2都为假,执行这里的代码在多个else if语句中,只有第一个满足条件的语句会被执行,其他的else if和else语句会被忽略。
4.switch语句switch语句是用来根据不同的取值来执行不同的代码块。
其语法结构为:switch (expression)case constant1:// 如果expression的值等于constant1,执行这里的代码break;case constant2:// 如果expression的值等于constant2,执行这里的代码break;...default:// 如果expression的值与之前的常量都不匹配,执行这里的代码expression 表达式的值会与每个 case 后面的常量进行比较,如果匹配则执行相应的代码块,可以使用 break 语句来跳出 switch 代码块。
选择结构c语言
选择结构c语言选择结构是C语言中的一种重要语句,它可以根据条件的真假来选择执行相应的语句块,从而实现程序的不同流程控制。
本篇文章将详细介绍C语言中选择结构的使用方法及注意事项。
一、if语句if语句是C语言中最基本的选择结构,其语法结构为:if(条件表达式){//当条件表达式为真时执行的语句块}其中,条件表达式一般是关系表达式或逻辑表达式,其返回值为真或假。
当条件表达式为真时,执行花括号中的语句块;当条件表达式为假时,跳过整个if语句块,继续执行下一条语句。
示例代码:#include<stdio.h>int main(){int age;printf("请输入您的年龄:");scanf("%d",&age);if(age>=18){printf("您已经成年!\n");}printf("程序结束!\n");return 0;}该程序根据输入的年龄判断是否成年,并输出相应的提示信息。
二、else语句如果if语句的条件表达式为假,程序会直接跳过整个if语句块。
如果需要在条件为假时执行一些操作,可以使用else语句。
else语句的语法结构为:if(条件表达式){//当条件表达式为真时执行的语句块}else{//当条件表达式为假时执行的语句块}示例代码:#include<stdio.h>int main(){int age;printf("请输入您的年龄:");scanf("%d",&age);if(age>=18){printf("您已经成年!\n");}else{printf("您还未成年!\n");}printf("程序结束!\n");return 0;}该程序根据输入的年龄判断是否成年,并输出相应的提示信息。
c语言(第五章选择结构) c语言 教学课件
• !((year%4==0 && year%100!=0)||year%400==0)或者:
• (year%4!=0 )||( year%100==0 && year%400!=0)
C语言程序设计
第五章 选择结构程序设计
5.3 if语句(条件选择语句)
• if语句的三种形式 ▪ 形式一: • 格式:
语句2
=0
表达式3 非0
语句3
=0 语句4
C语言程序设计
第五章 选择结构程序设计
• 例:
if (salary>1000) else if (salary>800) else if (salary>600) else if (salary>400) else index=0;
index=0.4; index=0.3; index=0.2; index=0.1;
if (x>0) printf(“%f”,x) ;
else printf(“%f”,-x);
(3)在if 和else 后面可以只含一个内嵌的语句,也可以有 多个操作语句,此时用花括号将几个语句括起来成为一 个复合语句。如:
if (x>y)
{ t=x ; x=y ; y=t ; }
C语言程序设计
第五章 选择结构程序设计
a=4;b=5;
!a
//值为0
a&&b //值为1
a||b
//值为1
!a||b
//值为1
4&&0||2 //值为1
5>3&&2||8<4-!0 //(5>3)&&2||(8<(4-(!0))) 值为1
列举几个C语言常用的选择结构语句
以下是几个常用的选择结构语句:1、if语句:if语句用于根据条件是否为真来执行不同的代码块。
它可以与可选的else或else if语句一起使用来实现多个条件的判断。
if (condition) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}switch语句:switch语句用于在多个可能的选项之间进行选择。
它根据表达式的值来匹配不同的case标签,执行相应的代码块。
2、switch (expression) {case value1:// 执行代码块1break;case value2:// 执行代码块2break;// 其他case标签default:// 如果没有匹配的值,执行这里的代码}3、三元运算符:三元运算符是一种紧凑的选择结构,它允许根据条件的真假选择不同的值。
result = (condition) ? value_if_true : value_if_false;这些是C语言中常用的选择结构语句。
它们允许程序根据条件来做出决策,并执行相应的代码块或选择不同的值。
这在编写控制流程和逻辑的程序时非常有用。
4、if-else if-else语句:if语句可以与多个else if子句一起使用,用于处理多个条件。
if (condition1) {// 如果条件1为真,执行这里的代码} else if (condition2) {// 如果条件2为真,执行这里的代码} else {// 如果以上条件都为假,执行这里的代码}5、嵌套if语句:你可以在一个if语句内部嵌套另一个if语句,以处理更复杂的条件。
if (condition1) {if (condition2) {// 如果条件1和条件2都为真,执行这里的代码}}6、条件运算符:条件运算符(也称为三元运算符)可以用来实现简单的条件选择。
result = (condition) ? value_if_true : value_if_false;7、逻辑操作符:逻辑操作符(如&&和||)允许你在条件语句中组合多个条件,以实现更复杂的选择。
C语言程序设计ppt课件-第3章-选择结构
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。
《c语言选择结构》课件
常见错误和调试技巧
1 常见的语法错误
列举一些学习者常犯的语法错误,并给出如何避免和纠正这些错误的技巧。
2 程序调试技巧
分享一些调试C语言程序的实用技巧,以帮助大家更快地找到和修复错误。
总结和练习答疑
总结本PPT课件的主要内容,并回答学习者对选择结构的问题。鼓励学习者进行练习,并提供支持和答疑。
3
应用场景三
通过一个编程实例,让大家进一步理解和应用选择结构。
优缺点与联系
if-else语句和switch语句的联系
展示if-else语句和switch语句之间的联系和相互转换的方法。
选择结构的优点
总结选择结构的优点,包括简化代码和提高程序可读性。
选择结构的缺点
讨论选择结构的一些潜在缺点,以及如何避免常见的问题。
深入理解
if语句的嵌套和if-else 语句的区别
解释嵌套if语句和if-else语句之 间的区别,并给出何时使用它 们的建议。
case标签的取值类型
展示case标签可以使用的取值 类型,并讨论它们的使用限制 和最佳实践。
关键字的使用注意事 项
提供一些关键字使用的注意事 项,以避免常见的语法错误。
流程图
使用流程图来可视化选择结构的 执行流程。
条件语句
if语句
if语句是最简单的条件语句,用于根据条件的真假执行相应的代码块。
if-else语句
if-else语句允许我们在条件为假时执行另一段代码块。
if-else if-else语句
if-else if-else语句允许我们在多个条件之间进行选择。
《c语言选择结构》PPT课 件
在这个PPT课件中,我们将深入探讨C语言的选择结构,包括条件语句、if语句、 switch语句等,帮助大家更好地理解和运用这些结构。
【c语言程序设计】选择结构程序设计
【c语言程序设计】选择结构程序设计C语言程序设计 - 选择结构程序设计C语言是一种通用的程序设计语言,广泛应用于计算机科学和软件开发领域。
选择结构是C语言中的一种重要控制结构,用于根据条件的真假来决定程序运行的路径。
本文将介绍选择结构在C语言程序设计中的应用以及相关的编程技巧。
一、IF语句IF语句是最简单的选择结构,用于根据一个条件的真假来决定程序的下一步动作。
它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码}例如,如果我们想判断一个数字是否为正数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num > 0) {printf("这是一个正数。
\n");}return 0;}```上述代码中,用户输入一个数字,程序会判断这个数字是否大于0,如果是,则输出"这是一个正数"。
二、IF-ELSE语句IF-ELSE语句是在条件为真或假的情况下,分别执行不同的代码块。
它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}例如,我们想判断一个数字是否为奇数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num % 2 == 0) {printf("这是一个偶数。
\n");} else {printf("这是一个奇数。
\n");}return 0;}```上述代码中,用户输入一个数字,程序会通过判断这个数字是否能被2整除来确定是奇数还是偶数,并输出相应的结果。
c语言 第四章 选择结构课件
if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
if ~ else 配对原则:缺省{ }时,else 总是和它上面离它最近的未配对的if配对
if(……) if(……) if(……) else…... else…...
else…...
例: if (a==b) if(b==c) printf("a==b==c");
else printf("a!=b");
if(x>y) printf("X>Y\n");
else printf("X<Y\n");
else printf("X==Y\n");
}
运行:Enter integer x,y:12,23 X<Y Enter integer x,y:12,6 X>Y Enter integer x,y:12,12 X==Y
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
main() { int x,y;
printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y)
C语言第四章选择结构ppt课件
/* 求 x 的绝对值并赋给 y */
/* 输入 x 的值 */
/* 输出 x 的绝对值 */
/* 编译预处理:包含头文件 */
二、if ... else 语句
对这一句话“如果x>=0则y=x,如果x<0则y=-x”,可以写出以下语句:
表达式1 ? 表达式2 :表达式3
表达式1为真,结果为表达式2的值 表达式为假,结果为表达式3的结果; 运算符 “ ?:”的优先级只在逗号和赋值运算 符之前;表达式2和表达式3只可能执行一个;这是C语言中的唯一一个三目运算符;条件运算符的结合方向为“自右自左”。
例:已知a=5,b=6,c=7,d=8,n=2 ; 执行以下语句后表达式的值为多少? n的值为多少? (a < b ) ? ( c + d ) : ( + + n )
if ( 表达式1 ) if ( 表达式2 ) 语句1; else 语句2;else if ( 表达式3 ) 语句3; else 语句4;
实现if ~ else 正确配对方法:加{ }
五、条件运算符
能否把两条语句合成一句,更好地体现这种逻辑关系呢?这就是 if ...... else 语句的功能。
简单的if 语句只能表达“如果 ,那么 ”的含义,而if ...... else 语句却能表达“如果 那么 否则 ”的含义。
If ( x>=0) y=x;if (x<0) y=-x;
a>b?a:c>d?c:d
a>b?a:(c>d?c:d)
表达式值为15,n=2
六、 switch 语句
switch 语句是多分支的选择语句又称开关语句。
C语言 选择结构
计算机系
西南交通大学
内容提要
1 2 3 4 5 6
结构化程序设计概述
关系运算符与关系表达式
逻辑运算符和逻辑表达式
条件运算符和条件表达式
if语句 语句
switch语句 语句
西南交通大学
3.1结构化程序设计概述 3.1
结构化程序设计是为使程序具有合理的结构, 结构化程序设计是为使程序具有合理的结构, 以保证程序正确性而规定的一套程序设计的方法, 以保证程序正确性而规定的一套程序设计的方法, 是人们多年来研究与实践的结晶。 是人们多年来研究与实践的结晶。 1. 结构化程序设计目的
西南交通大学
3.5 if语句
if语句也称为条件语句 是用来判定所给的条件是真还 if语句也称为条件语句,是用来判定所给的条件是真还 语句也称为条件语句, 是假,然后决定执行给出的两种操作之一。 是假,然后决定执行给出的两种操作之一。 C语言提供了三种基本形式的if语句: 语言提供了三种基本形式的if语句: 三种基本形式 语句 单分支、双分支、 多分支,这三种形式可单独使用; 单分支、双分支、和多分支,这三种形式可单独使用; 如果if语句(基本型)中又包含一个或多个if语句( if语句 if语句 如果if语句(基本型)中又包含一个或多个if语句(基 本型),则为if语句的嵌套。 ),则为if语句的嵌套 本型),则为if语句的嵌套。
通过设计结构良好的程序,以程序的静态良好结构保 通过设计结构良好的程序, 证程序动态执行的正确,使程序易理解、易调试、 证程序动态执行的正确,使程序易理解、易调试、易 维护,以提高软件开发的效率,减少出错率。 维护,以提高软件开发的效率,减少出错率。
2. 结构化程序设计的三个基本步骤
(1)分析问题 (2)画出程序的基本轮廓 (3)编写源码程序
C语言程序设计教程:选择结构程序设计
4.2 switch语句
(5) case后面的语句块可以是一条语句或多条语句,也可 是空语句,但不需要用大括号括起来。
(6) 当case后面常量表达式与switch后面的表达式均不匹 配时,则执行default后面的语句块,default可以放在程序的 任何位置,不一定要位于最后。
(7) 多个case可以共用一个语句块。 例如: switch(n)
注意:当多分支中有多个表达式同时满足时,只执行第一个与之匹配的语句块。 因此要注意对多分支中条件表达式的书写次序,防止某些值被过滤掉。
15
4.1.1 if语句的三种形式
思考:若将例4.4中程序改为以下两种写法,结果分别会如何?
程序段一如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=90)
4.1.1 if语句的三种形式
程序段二如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=60)
printf("及格!\n "); else if(score>=70)
9
4.1.1 if语句的三种形式
2. 双分支选择结构
双分支结构语法的一般格式为:
if(表达式)
{
语句块1;
}
c语言选择结构
多分支if语句
2. 说明
(1)执行过程
当条件1成立时,执行语句1;
当条件1不成立时判断条件2;
当条件2成立时,执行语句2;
当条件2不成立时判断条件3;
以此类推;如果一直到条件n都不成立就执行语句n+1。
注意
条件的判断有层级关系,是在前面条件不成立的情况下才会 判断后面的条件,比如当条件1成立后,执行语句1,然后就 直接跳出if语句,执行后面的其它程序语句了,条件2、3等 根本就不会被执行到。
14
四.if语句
if语句也称为条件语句,是用来判定所给的条件是真还是假, 然后决定执行给出的两种操作之一。
C语言提供了三种基本形式的if语句: 单分支、双分支、和多分支,这三种形式可单独使用; 如果if语句(基本型)中又包含一个或多个if语句(基本
型),则为if语句的嵌套。
15
单分支if语句
4.关系表达式的值 关系表达式的结果为逻辑值,即“真”或“假”。 在C中表示逻辑值,1代表“真”;0代表“假”。
5
举例
若 int a=3,b=2,c=1,f ;
表达式
结果
说明
a>b
真
a大于b,关系成立,即为真
a>b==c
真
先判断a>b,结果为真,即为1; 再判断1==c,关系成立,结果为真
f=a>b>c
先判断a>b,结果为真,即为1;
f=0
再判断1>c,关系不成立,结果为 假,即为0;
最后将0赋给f
printf(“%d”, 1<2); 输出结果为:0 1<2关系不成立,结果为假
6
三.逻辑运算符与逻辑表达式
C语言选择结构
C语言选择结构C语言选择结构选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。
以下是店铺分享给大家的C语言选择结构,帮助大家巩固C语言基础,欢迎阅读学习!1.1 用if语句实现选择结构1.在C语言中,if语句有两种形式:形式1:if(表达式)语句形式2:if(表达式)语句1else 语句22.if语句执行时,首先计算紧跟在if后面一对圆括号中的表达式的值,如果表达式的值为非零(″真″),则执行if后的″语句″,然后去执行if语句后的下一个语句。
如果表达式的值为零(″假″),直接执行if语句后的下一个语句。
3.if语句后面的表达式并不限于是关系表达式或逻辑表达式,而可以是任意表达式。
If语句中可以再嵌套if语句。
C语言规定,在嵌套的if语句中,else子句总是与前面最近的不带else的if相结合。
1.2 用switch语句实现多分支选择结构1.switch语句是用来处理多分支选择的一种语句。
它的一般形式如下:switch(表达式){ case 常量表达式1:语句1case 常量表达式2:语句2case 常量表达式n:语句ndefault :语句n+1}2.switch语句的`执行过程是:首先计算紧跟switch后面的一对圆括号中的表达式的值,当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句体并将流程转移到下一个case继续执行,直至switch语句的结束;若所有的case中的常量表达式的值都没有与表达式值匹配,又存在default,则执行default后面的语句,直至switch语句结束;如果不存在default,则跳过switch语句体,什么也不做。
1.3 选择结构的嵌套if语句和switch语句都可以嵌套使用,特别要注意,对于构成嵌套的if语句,else子句总是和离它最近的、不带else的if子句相匹配,不能弄混;在一个switch语句中的case后面又嵌套了一个switch语句,在执行内嵌的switch语句后还要执行一条break语句才跳出外层的switch语句。
C语言选择结构程序设计
C语言选择结构程序设计C语言是一种常用的编程语言,具有广泛的应用领域。
在C语言中,选择结构是一种重要的程序设计方法,可以根据条件判断来选择不同的执行路径。
本文将介绍C语言中选择结构的使用方法,并通过实例加深理解。
一、if语句if语句是最基本的选择结构,它可以根据条件的真假选择执行不同的代码块。
if语句的语法格式如下:if (条件){// 如果条件为真,执行这里的代码}else{// 如果条件为假,执行这里的代码}例如,我们可以编写一个程序来判断一个数是正数还是负数:```c#include <stdio.h>int main(){int num;printf("请输入一个整数:"); scanf("%d", &num);if (num > 0){printf("这是一个正数。
\n"); }else if (num < 0){printf("这是一个负数。
\n"); }else{printf("这是0。
\n");}return 0;}通过以上代码,我们可以根据用户输入的数判断它是正数、负数还是0,并进行相应的输出。
二、switch语句switch语句可以根据不同的条件值选择执行不同的代码块。
switch 语句的语法格式如下:```cswitch (表达式){case 值1:// 当表达式的值等于值1时执行这里的代码break;case 值2:// 当表达式的值等于值2时执行这里的代码break;// ...default:// 当表达式的值与所有case的值都不相等时执行这里的代码 break;```例如,我们可以编写一个程序来根据用户输入的星期几输出相应的中文名称:```c#include <stdio.h>int main(){int day;printf("请输入星期几的数字(1-7):");scanf("%d", &day);switch (day){case 1:printf("星期一。
C语言程序设计—选择结构
int main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
return 0;
}
条件表达式“(ch>='A'&&ch<='Z')?(ch+32):ch”的作用是:
else y=0;
if (0) 语句5
//表达式是整数0,条件判断结果为假,不执行语句5,接着执行下一语句
if(x+3.5) 语句6
//表达式是实数表达式,若x+3.5不等于0,则条件判断结果为真,执行语句6
小例子
判别用year表示的某一年是否
闰年,可以用一个逻辑表达式
来表示。闰年的条件是符合下
面二者之一: ①能被4整除,
scanf("%f,%f",&a,&b);
if(a>b)
{
//将a和b的值互换
t=a;
a=b;
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
return 0;
}
两个变量值的互换
a=b; //把变量b的值赋给变量a,a的值等于b的值
b=a; //再把变量a的值赋给变量b,变量b值没有改变
再执行关系运算“1>c”,得值0,赋给f,所以f的值为0
逻辑运算符和逻辑表达式
C语言程序设计 第3章 选择结构 -
如果条件满足了,就执行{}里的语句, 如果条件不满足,直接越过{}里的语句。
3.2 关系运算符与关系表达式
关系运算符
< (小于) <= (小于或等于) > (大于) >= (大于或等于) == (等于) != (不等于)
3.2 关系运算符与关系表达式
关系表达式: 用关系运算符将两个表达式连接起来的式子
case 常量表达式2:语句2; ... default:语句n+’键向上运动,‘s’键向下运动, ‘a’键向左运动,‘d’键向右运动。
char ch = getch(); // 获得按键按下的值
switch(ch){ case 'w' : row = row - 1; case 's': row = row + 1; case 'a' : col = col - 1;
a > 60 x == 1 关系表达式的值是一个逻辑值,即“真”或“假”。
3.2 关系运算符与关系表达式
C语言中, 1表示“真”,0 表示“假”
例: 5 > 3 为真,值为1。 2 == 3 为假,值为0。 (2 > 3) == (3 > 5) 为真,值为1,
3.2 关系运算符与关系表达式
例:当按下‘w’键,方块向上运动
3.3 逻辑运算符与表达式
逻辑运算符
&& (逻辑与) || (逻辑或) ! (逻辑非) 运算规则: a&&b 若a,b为真,则a&&b为真。 a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。
3.3 逻辑运算符与表达式
逻辑表达式: 用逻辑运算符将关系表达式连接起来的 式子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/2/21
16
5.3 if语句
例5.1 输入两个实数,按代数值由小到大的顺序输出这两
个数。
#include<stdio.h>
void main()
a>b
{float a,b,t; scanf(″%f,%f″,&a,&b); if(a>b)
y
T=a
n
{t=a;
A=b
a=b;
B=t
b=t;}
printf(″%5.2f,%5.2f\n″,a,b);}
2021/2/21
15
5.3 if语句
说明:
(1)3种形式的if语句中在if后面都有表达式, 一般为逻辑表达式或关系表达式。
(2)第二,第三种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。
(3)在if和else后面可以只含有一个内嵌的操 作语句,也可以由多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。
void main ( )
{ float a,b,c,t;
scanf(″%f,%f,%f″,&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
2021/2/21
17
5.3 if语句
例5.2 输入三个数a,b,c,要求按由小到大的顺序输出。
a>b
n
If a>b 将a和b对换 If a>c 将a和c对换 If b>c 将b和c对换
a>c n y
y a和b交换 a和c交换
b>c y c和b交换
2021/2/21
18
5.3 if语句
#include <stdio.h>
c语言选择结构
1
2021/2/21
第五章
2021/2/21
2
本章要点
关系表达式 逻辑表达式 选择结构程序设计
2021/2/21
3
主要内容
关系运算符和关系表达式 逻辑运算符和逻辑表达式 if语句 switch语句
2021/2/21
4
5.1 关系运算符和关系表达式
1.关系运算符及其优先次序
•!(非)->&&()->||() •逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算 术运算符
2021/2/21
7
5.2 逻辑运算符和逻辑表达式
2.逻辑表达式 •用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式。 •逻辑表达式的值应该是一个逻辑量“真”或“假”。
任何非零的数值被认作“真”
例:设a=4,b=5:
!a的值为0
a&&b的值为1
a||b的值为1
!a||b的值为1
4&&0||2的值为1
2021/2/21
8
5.2 逻辑运算符和逻辑表达式
例:5>3&&8<4-!0
自左向右运算
5>3逻辑值为1
!0逻辑值为1
4-1值为3
表达式值为0
2021/2/21
1&&0逻辑值为0 8<3逻辑值为0
答
(year%4==0&&year%100!=0)||year%400==0
案
值为真(1)是闰年,否则为非闰年。
2021/2/21
11
5.3 if语句
1.If语句的三种基本形式
(1)if (表达式) 语句
表达式
真(非0)
例:
语句
if(x>y) printf(“%d”,x);
假 (0)
2021/2/21
关系表达式,逻辑表达式,赋值表达式,字符表达式) 接起来的式子,称关系表达式 C语言中没有专用
的逻辑值,1代表
例:a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>真b),>(0b代<c表) 假
• 关系表达式的值是一个逻辑值,即“真”或“假”。
例:关系表达式”a>b”的值为“真”,表达式的值为1。
当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“a>b”的值 为0,因此m=0,而“n=c>d”不被执行,因此n的值不是0 仍保持原值1。
2021/2/21
10
5.2 逻辑运算符和逻辑表达式
用逻辑表达式来表示闰年的条件
•能被4整除,但不能被100整除。 •能被4整除,又能被400整除。
12
5.3 if语句
(2)if(表达式) 语句1
else
语句2
例: if (x>y) printf(“%d”,x); else printf(“%d”,y);
Y 条件 N
语句1
语句2
2021/2/21
13
5.3 if语句
(3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 …… else if(表达式m)语句m else 语句n
2021/2/21
14
5.3 if语句
例:
if (number>500)cost=0.15; else if(number>300)cost=0.10; else if(number>100)cost=0.075; else if(number>50)cost=0.05; else cost=0;
1. <
(小于)
2. <= (小于或等于)
3. > 4. >=
(大于) (大于或等于)
优先级相同(高)
5. == (等于)
6. !=
(不等于) 说明优:先级相同(低)
关系运算符的优先级低于算术运算符
关系运算符的优先级高于赋值运算符
5.1 关系运算符和关系表达式
2.关系表达式 • 用关系运算符将两个表达式(可以是算术表达式或
2021/2/21
6
5.2 逻辑运算符和逻辑表达式
1.逻辑运算符及其优先次序 (1)&& (逻辑与) 相当于其他语言中的AND (2)|| (逻辑或) 相当于其他语言中的OR (3)! (逻辑非) 相当于其他语言中的NOT 例:a&&b 若a,b为真,则a&&b为真。
a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。 优先次序:
}
2021/2/21
19
5.3 if语句
2.If语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。
形式:
If()
9
5.2 逻辑运算符和逻辑表达式
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时
才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才
判断b。a和b都为假才判断c
例:(m=a>b)&&(n=c>d)