第4章 选择结构
C语言程序设计第4章选择结构程序设计ppt课件
8
printf("grade is E" );
9 else if (score >=60 && score<70 )
10
printf( "grade is D");
11 else if (score >=70 && score<80 )
12
printf( "grade is C");
13 else if (score>=80 && score<90 )
printf("a,b="); scanf("%d,%d",&a,&b); if (a>b) max=a; else max=b; printf("max=%d\n",max); }
结束
8
3.if-else if-else语句
(1)语句格式:
if (表达式1) 语句1
else if (表达式2) 语句2
不再判断,顺序执 行下面的语句
21
4.2 switch语句
switch (表达式) {case 常量表达式1:语句1 case 常量表达式2:语句2 …… case 常量表达式n:语句n [default:语句n+1] }
注意:
1. <表达式>可以是整型或字 符型表达式; 2. case后面必须是常量表达 式,不能包含变量; 3. 每个常量表达式的值应互 不相同; 4. case语句先后顺序随意; 5.若从上至下没有找到与表 达式的值相匹配的case,含有 default子句时,执行语句n+1。
C语言-第4章 选择结构程序设计
第4章选择结构程序设计注:选择结构的考点,最重要的有两个,一个是逻辑表达式的值,另一个是分支界限。
弄明白这两个知识点,就能够以不变应万变了。
一、单项选择题1. 在C语言中,能代表逻辑值"真"的是。
A) true B)大于0的数C)非0整数D)非0的数2. 表示关系x<=y<=z的c语言表达式为。
A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z)3. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是。
A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=04、判断char型变量c1是否为大写字母的表达式为。
A)’A’<=c1<=’Z’ B)(c1>=’A’) & (c1<=’Z’)C)(’A’<=c1)AND (‘Z’>=c1) D)(c1>=’A’)&& (c1<=’’Z’)5. 有定义char c; c=getchar(); 判断字符变量c为大写字母的正确表达式为。
A) ‘A’=<c<=’Z’ B)c>=‘A’&& c<=’Z C)A=<c<=Z D) c>=A && c<=Z6. 设有语句“int a=4;b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是。
A)1B)0 C)-1 D)出错7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是。
第4章 选择结构程序设计《C语言程序设计(第三版)》-电子教案
【注意】
switch后跟的"表达式"允许为任何类型的表达式,其 后跟的"表达式"允许为任何类型的表达式, 后跟的 数据类型和case后面的常量表达式的数据类型一致. 后面的常量表达式的数据类型一致. 数据类型和 后面的常量表达式的数据类型一致 每一个case后的各常量表达式的值不允许重复,否则 后的各常量表达式的值不允许重复, 每一个 后的各常量表达式的值不允许重复 会报错. 会报错. 每一个case后允许有多条语句 可以不用花括号" 后允许有多条语句, 每一个case后允许有多条语句,可以不用花括号"{}" 括起来. 括起来. case和default子句出现的先后顺序可以变动,不会影 子句出现的先后顺序可以变动, 和 子句出现的先后顺序可以变动 响程序的执行结果. 子句也可以省略不用. 响程序的执行结果.default子句也可以省略不用. 子句也可以省略不用 多个case可以共用一组执行语句.例如: 可以共用一组执行语句. 多个 可以共用一组执行语句 例如: … case 'A': case 'B': case 'C':printf("Pass\n");break;
3<5 || ++b
【例4-2】测试短路现象 】
#include <stdio.h> void main() { int a,b; a=b=0; a || ++b; printf("%d,%d\n",a,b); a=b=1; a || ++b; printf("%d,%d\n",a,b); a=b=0; a && ++b; printf("%d,%d\n",a,b); a=b=1; a && ++b; printf("%d,%d\n",a,b); }
C语言 第4章 选择结构程序设计
#include <stdio.h> int main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) 如果 a>b,将a和b对换 , 和 对换 是 、 中的小者 { t=a; a=b; b=t; } a是a、b中的小者 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); return 0; }
if (disc<0) 8<0为假 为假 printf(“has not real roots\n”); else 的值变为-1 的值变为 { p=-b/(2.0*a); p的值变为 的值变为0.71 的值变为 q=sqrt(disc)/(2.0*a); q的值变为 x1=p+q; x1的值变为 的值变为-0.29 的值变为 x2=p-q; x2的值变为 的值变为-1.71 的值变为 printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; }
if (disc<0) printf(“has not real roots\n”); else { p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; 复合语句 }
C语言有两种选择语句: 语言有两种选择语句: 语言有两种选择语句 (1)if语句,实现两个分支的选择结构 语句, 语句 (2)switch语句,实现多分支的选择结构 语句, 语句
C程序设计(第五版)-第4章选择结构程序设计课后习题答案
C程序设计(第五版)-第4章选择结构程序设计课后习题答案1. 什么是算术运算?什么是关系运算?什么是逻辑运算?【答案解析】算熟运算:算术运算即“四则运算”,是加法、减法、乘法、除法、乘⽅、开⽅等⼏种运算的统称。
其中加减为⼀级运算,乘除为⼆级运算,乘⽅、开⽅为三级运算。
在⼀道算式中,如果有多级运算存在,则应先进⾏⾼级运算,再进⾏低⼀级的运算。
C语⾔中的算熟运算符包括:+、-、*、/、++、--、%等种类。
如果只存在同级运算;则从左⾄右的顺序进⾏;如果算式中有括号,则应先算括号⾥边,再按上述规则进⾏计算。
⽰例:$ (1 + 1)^{2} * 4+5 * 3$解析:1. 先进⾏括号内运算1+1,然后进⾏乘⽅运算得到结果4.2. 接下来与4相乘,得到结果163. 因为乘法优先级⼤于加法,因此先进⾏5*3,得到结果154. 最终相加得到结果31结果:31关系运算:关系的基本运算有两类:⼀类是传统的集合运算(并、差、交等),另⼀类是专门的关系运算(选择、投影、连接、除法、外连接等),⽽在C语⾔中,关系运算通常被认为是⽐较运算,将两个数值进⾏⽐较,判断⽐较结果是否符合给定的条件。
常见的关系运算符包括:<、<=、>、>=、==、!=等种类。
其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。
⽽前4种⾼于后2种。
例如, >优先于==。
⽽>与<优先级相同。
并且,关系运算符的优先级低于算术运算符,关系运算符的优先级⾼于赋值运算符(=)。
逻辑运算:在逻辑代数中,有与、或、⾮三种基本逻辑运算。
表⽰逻辑运算的⽅法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。
⽽在C语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。
常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。
第4章 选择结构
第4章选择结构1、以下选项中,当x为大于1的奇数时,值为0的表达式是A) x%2==0B) x/2C) x%2!=0D) x%2==1参考答案:A【解析】算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。D选项的值为真,即1。2、当变量c的值不为2、4、6时,值为"真"的表达式是A) (c>=2 && c<=6)&&(c%2!=1)B) (c==2)||(c==4)||(c==6)C) (c>=2 && c<=6)&& !(c%2)D) (c>=2 && c<=6) || (c!=3) || (c!=5)参考答案:D【解析】逻辑或表达式中有一个值不为0,结果即为真,逻辑与表达式中只有两个运算对象均非零,结果才为真。所以只有选项D满足要求。3、以下叙述中正确的是A) 在C语言中,逻辑真值和假值分别对应1和0B) 关系运算符两边的运算对象可以是C语言中任意合法的表达式C) 对于浮点变量x和y,表达式:x==y 是非法的,会出编译错误D) 分支结构是根据算术表达式的结果来判断流程走向的参考答案:B【解析】A选项中,在C语言中,逻辑真值对应非0; C选项中,表达式:x==y 是合法的;D选项中,分支结构的流程走向是根据表达式的值,并不仅仅是算数表达式的值。
因此B选项正确。
4、下列关系表达式中,结果为"假"的是A) 3 <= 4B) (3 < 4) == 1C) (3 + 4) > 6D) (3 != 4) > 2参考答案:D【解析】B选项中,关系表达式(3<4)==1即1==1,结果为真; C选项中,(3+4)>6即7>6,结果为真;A选项中,3<=4结果为真。
C语言第4章选择结构
第四章选择结构选择:1.以下关于运算符优先级的描述中,正确的是()。
A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)2.逻辑运算符的运算对象的数据类型()。
A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型D)任何类型的数据3.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)4.判断字符型变量ch为数字的表达式是( ) 。
A) 0<=ch<=9 B)(ch>=0)&&(ch<=9)C)'0'<=ch<='9' D)(ch>='0')&&(ch<='9')5.若有以下函数关系x<0 → y=2xx>0 → y=xx=0 → y=x+1下面程序段能正确表示以上关系的是()。
高树芳C语言程序设计--第四章
4.5 switch语句
案例4-10 计算成绩级别 案例4-11 根据月份求季度 案例4-12 输入算式做四则运算
38
4.5 switch语句
案例4-10 [案例任务]
计算成绩级别
输入百分制成绩,输出成绩级别A、B、C、D、E。 90~100分以上为A,80~89分为B,70~79为C, 60~69为D,0~59为E,其他成绩则显示“成绩 错误!”。
26
4.4
if语句
4.4.3多分支
案例4-7 用多分支求解分段函数
27
4.4
if语句
4.4.3多分支
案例4-7 用多分支求解分段函数
[案例任务]
对于如下函数: 用scanf函数输入x的值,输出y的值。 运行结果如下(输入的数据是9)
[解决方案]使用if „ else if„else语句。
28
4.4
分析下列程序的运行结果,掌握“与”、 “或”、“非”三个逻辑运算符及其优先级。
程序代码
11
4.3 逻辑运算符和逻辑表达式
相关知识: 1.逻辑运算符及其优先级 2. 逻辑表达式 3. 逻辑表达式的优先级与结合性
12
4.3 逻辑运算符和逻辑表达式
案例4-4 [案例任务]
逻辑运算中的“短路”现象
分析下列程序的运行结果,掌握多个运算对象 进行“与”、“或”情况下的“短路”现象。
22
4.4
if语句
4.4.2双分支
案例4-6 求两个数中的最大者
23
4.4
if语句
4.4.2双分支
案例4-6 求两个数中的最大者
[案例任务]
由键盘输入两个整数,输出它们中的最大 者。运行结果如下:
第4章(405)
/*语句3*/
若x为6则条件1不满足,执行语句3,输出“no”;若x为
5则条件1满足,条件2不满足,执行语句2,输出“no”;若x
为9则条件1、条件2均满足,执行语句1,输出“yes”。
22
2. 在else语句中嵌套分支结构
1) 语法形式
if(表达式1) 语句1
else if(表达式2) 语句2
else 语句3
为了控制计算机各操作的执行次序,程序设计语言中引 入了控制语句。选择结构是结构化程序设计的三种结构之一。 C语言提供了二分支和多分支选择结构,本章将进行详细介 绍。
2
4.1 语句与复合语句
1. 语句
C语言规定,在表达式的后面加上一个分号(;)即成为
语句。例如:
x=1; scanf("%d",&y); y++;
赋值语句 输入语句
自增运算语句
3
在C语言中除了结构控制行之外,其他的内容均由语句
组成,即所有的语句均由一个分号(;)结束。有时为了程序
的需要,我们会遇到只有一个分号而没有表达式的情形,这
在C语言中也是合法的,称为空语句,例如:
main()
{
;
/*空语句*/
}
在第1章的C语言特点中提到,C语言书写灵活,允许一
13
2) 执行过程 首先计算表达式的值,然后根据其真假来决定程序的走 向。若表达式为真(值为非零)则执行语句1,若为假(值为零) 则执行语句2。退出分支结构后程序继续执行if-else结构后 面的语句,如图4.2所示。
14
图4.2 if-else结构流程图
15
3) 举例
if(a>b) b++; else a++;
第4章 选择结构与循环结构
4.1 条件表达式
>>> if 666: print(9)
9 >>> a = [3, 2, 1] >>> if a:
print(a)
[3, 2, 1]
#使用整数作为条件表达式 #使用列表作为条件表达式
3
4.1 条件表达式
>>> a = [] >>> if a:
print(a) else:
print('empty')
#先把x转换成实数,然后追加到列表numbers尾部 numbers.append(float(x)) except: print('不是合法成绩') #下面的循环用来限制用户只能输入任意大小写的“yes”或者“no” while True: flag = input('继续输入吗?(yes/no)').lower() if flag not in ('yes', 'no'):
while 条件表达式: 循环体
[else: else子句代码块]
和
for 取值 in 序列或迭代对象: 循环体
[else: else子句代码块]
21
4.3.1 for循环与while循环
• 例4-5 编写程序,输出1~100之间能被7整除但不能同时被5整除的所有整数。
for i in range(1, 101): if i%7==0 and i%5!=0: print(i)
print('鸡:{0},兔:{1}'.format(int(jitu-tu), int(tu))) else:
print('数据不正确,无解')
C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)
2
a a
2 1
b 1
b
1
4.2 if语句和用if语句构成的选择结构
4.2.1 if语句
C语言的if语言有两种形式: if(表达式) 语句 关键字 不满足 单分支if语句 不含else子句 关键字 if(表达式) 语句1 else 语句2 不满足 双分支if语句 含else子句
表达式 满足 语句
表达式 满足 语句1
表达式2
表达式1
真
假
表达式3
真
假
表达式4
真
语句1 语句2 语句3
假
语句n
真
语句4
4.2 if语句和用if语句构成的选择结构
4.2.2 嵌套的if语句
例4.5 编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上 的等级为A,60分以下的等级为E,其余每10分为一个等级。 Enter g:72<CR> 成绩(g)大于等于90分以上(g>=90):A g=72:C 成绩(g)大于等于80分以上(g>=80):B 程序的意思为: 成绩(g)大于等于70分以上(g>=70):C Enter g:55<CR> 成绩(g)大于等于60分以上(g>=60):D g=55:E 成绩(g)不及格(g<60):E #include <stdio.h> 假 g>=90 main() {int g; 真 g>=80 假 printf("Enter g:");scanf("%d",&g) 真 printf("g=%d:",g); g>=70 假 if(g>=90) printf("A\n"); 真 假 g>=60 else if(g>=80) printf("B\n"); else if(g>=70) printf("C\n"); 真 else if(g>=60) printf("D\n"); 输出A 输出B 输出C 输出D 输出E else printf("E\n"); }
C语言知识点:第4章 选择结构
7. 分支结构程序设计
作用:根据条件控制程序流向。 条件的组成:各种类型的常量、变量、表达式(常用:关系/逻辑表达式)
8. 单分支 if 语句
1、如果令狐冲的 C 语言考试成绩大于 90 分,师父就奖励他一本武功秘笈 使用 if 条件结构可以解决 if 条件结构是根据条件判断之后再做处理 基本的 if 条件结构 if ( 条件 ) { //语句 ~2~
C 语言程序设计知识点
主讲教师:杨剑
第 4 章:选择结构
1. 本章目标
熟练使用多重 if 结构 熟练使用嵌套 if 结构 熟练使用 switch 结构 理解条件运算符的用法
2. 结构化程序设计的核心思想
采用顺序、选择和循环三种基本结构作为程序设计的基本单元 只有一个入口; 只有一个出口; 采用“自顶向下、逐步求精”和模块化的方法进行结构化程序设计
C 语言程序设计知识点
主讲教师:杨剑
case 3: printf ("出任峨嵋掌门"); default: printf ("被逐出师门"); } 如果需要每个 case 执行完后跳出, 在每个 case 后不要忘记写 break; int mingCi = 1; switch (mingCi){ case 1: printf ("出任武林盟主"); case 2: printf ("出任武当掌门"); case 2: printf ("出任峨嵋掌门"); default: printf ("被逐出师门"); } case 后面的常量必须各不相同
C 语言程序设计知识点
主讲教师:杨剑
D. y=sqrt(x>=0?x:-x); 答案:B
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)
第四章 选择(分支)结构程序设计
用一个逻辑表达式来表示一个复杂的条件。
例如:判断某一年是否闰年。 闰年:能被4整除,但不能被100整除;或能被 400整除。
(year%4==0&&year%100!=0)||year%400==0
表达式为“真”,闰年条件成立,是闰年,否则 非 闰年。
复合语句的形式:
{ 语句1; 语句2; 语句3; ……
}
4.3 if语句
4.3.1 if语句三种形式
复合语句在选择结构,循环结构中经常用到。 我们在逻辑上把复合语句看成是一条语句。
4.3 if语句
4.3.1 if语句三种形式
例:要求用户输入一个实数,然后求出这个实数 的绝对值。
4.3 if语句
逻辑运算的真值表:
a b a&&b
a||b
真真 真
真
真假 假
真
假真 假
真
假假 假
假
a
!a
真
假
假
真
4.2 逻辑运算符和逻辑表达式
4.2.1 逻辑运算符及其优先顺序
例:逻辑运算举例 a&&b 若a、b为真,则a&&b为真。 a||b 若a、b之一为真,则a||b为真。 !a 若a为真,则!a为假,反之若a为假,
4.3.1 if语句三种形式
▪ 在C语言中,表达式P的值是非0时,系统均按真 值处理。
例(1) if (‘a’) printf(“ok!”); (2) x=-5; if(x) printf(“ok!”); (3) y=0; if(y==0) printf(“ok!”); if(y) printf(“ok!”);
915145-C语言程序设计-第4章 选择结构程序设计
老年人
票价分类 两日联票
65周岁及以上
选择两日联票
• 常见错误
– 条件表示时,“==” 运算符误写作“=”运算符 – 数值0、1、…、9与数字字符’0’、’1’、…、’9’的混淆
4.2.2 逻辑运算
• • • 逻辑运算符
– 逻辑非(!)、逻辑与(&&)和逻辑或(||)
• 逻辑表达式求值方法
– 在逻辑表达式的求值过程中,按其操作数从左至右的 计算顺序,当某个操作数的值可以确定整个逻辑表达 式的值时,其余的操作数不再计算
4.2.3 短路求值
例如:假如有变量定义为 int x,y,z; 求下列表达式执行后,表达式的值和变量的值
序号
① ② ③ ④ ⑤ ⑥
变量初始值
x=y=z=1; x=2,y=0,z=1; x=y=z=1; x=0,y=1,z=2; x=0,y=1,z=2; x=0,y=1,z=2;
单分支 双分支 多分支 综合决策
– 选择控制结构
• 即根据条件进行判断选择执行相应操作的 问题,也称为分支控制结构 • 一般分为单分支、双分支和多分支三种结 构
• 实现的关键
– 判断条件的合法描述 – 选择操作流程的合理设计
4.1 门票价格问题
表4-1 上海迪士尼主题乐园的门票价格表
平日票
370
4.2 条件的表示
微视频:短路求值示例
4.3 单分支结构
• 问题
– 迪士尼门票规则
• 老年人:65周岁以上 平日票:280元,高峰日票:375元
分析 – 需要对条件(年龄大于等于65)进行判断
如果为真,则享受优惠票价 平日票:280元,高峰日票:375元
计算机二级C语言第4章 选择结构程序设计
①应当注意if与else的配对关系。原则是else总是与它上面最近的、未
配对的if配对。
②如果if与else的数目不一样,为了避免在if与else配对时出错,建议
读者使用“{}”来限定了内嵌if语句的范围。如下形式的嵌套语句:
if(表达式1)
{if(表达式2)语句1} /*内嵌if*/
这时形成了阶梯形的嵌套if语句,此形式的语句可以用以下语句形式
表示,看起来层次比较分明。
4.4.2 if语句的嵌套
if(表达式1)
…
语句1
…
else if(表达式2)
else if(表达式n-1)
语句2
语句n-1
else if(表达式3)
else
语句3
语句n
嵌套选择结构主要用于处理多条件的问题。设计嵌套选择结构时,应
②只在else子句中嵌套if语句,形式如下:
if(表达式1)
语句1
else
if(表达式2) 语句2
else 语句3
③不断在else子句中嵌套if语句就形成多层嵌套,形式如下:
if(表达式1) 语句3
语句1
…
else
if(表达式n)
if(表达式2) 语句n
语句2
else(表达式n)
else(表达式3) 语句n
case常量表达式2: 语句2
…
case常量表达式n: 语句n
default:
语句n+1
}
【说明】
①switch后面的表达式必须用圆括号括起来,其取值必须是整型或字
符型。switch语句后面用花括号“{}”括起来的部分称为switch语句体,
第4章 C语言选择结构程序设计
《 C语言程序设计》
流程图
真 (非0) 表达式
假(0)
语句1
语句2
《 C语言程序设计》
例4.1
【例4.1】试用if…else语句编写程序,判断学生成绩 是否合格。
判断方法: ①如果成绩大于等于60,输出及格 ②否则输出成绩不及格
《 C语言程序设计》
4.2 if语句 if语句
C语言中if条件语句有三种结构形式,分别是: if结构(单分支结构) if if-else if-else结构(双分支结构) if-else-if结构 (多分支结构) if-else-if
《 C语言程序设计》
例4.5 设计一个应用程序,判断某一年是否为闰年
判断方法: ①如果该年能被4整除而不能被100整除,则为闰年; ②或者能被400整除也是闰年。 如: 1996年、2000年是闰年 1996年 2000年是闰年
1998年 1900年不是闰年 1998年、1900年不是闰年
逻辑表达式为: year%4==0 && year%100!=0 || year%400==0
4.4 条件运算符和条件表达式
条件运算符: 1、条件运算符:?:是C语言中惟一的一个三 目运算符。 一般形式为: 2、一般形式为: 表达式1 ? 表达式2 : 表达式3 3、操作过程:如果表达式1成立,则表达式2的 操作过程: 值就是此条件表达式的值;否则,表达式3 的值是此条件表达式的值。
《 C语言程序设计》
《 C语言程序设计》
4.2.2 if-else结构 if-else结构
1、格式: if(条件表达式 语句1 条件表达式) if(条件表达式) 语句1; 真 (非0) else 语句2; 语句 ; 语句1 2、执行过程:
C语言程序设计:第4章 顺序结构与选择结构
printf("max: %d\n",b); return 0; }
#include <stdio.h> int main(void) {
int a ,b,max; printf("请输入a和b的值\n"); scanf("%d%d",&a,&b); max = a; if(max < b)
7
顺序结构:复合语句
复合语句:由大括号{}中的0个或多个声明和语句列表共同构成。
#include <stdio.h> int main(void) {
int a = 10; int b = 11;
注意: 1>复合语句不以分号;作为结束符, 即最后的}后面不加分号。 2>在复合语句中可以定义变量,但
if(score >= 60)
printf("及格\n");
else
printf("不及格\n");
return 0;
}
19
选择结构: if...else if语句
成绩等级划分: 输入自己的成绩,根据成绩的范围输出成绩等级。
成绩范围
等级
90--100
A
80--89
B
70--79
C
60--69
D
0--59
3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字 母,则把它变为大写字母;若是其他字符则不变
4.输入数字1-7,并输出显示对应的星期 (输入的数字 1 ,输出星期一,以此类推)
VB第4章 选择结构
教案讲稿第四章选择结构程序设计[旧课复习]:复习内容:1.已学过的几个常用的控件2.控件中输入输出语句的使用复习目的:让学生掌握基本控件的使用复习时长:大约10分钟[新课导入]:导入方式:以日常生活中的实例让学生理解什么是选择结构导入目的:增强学生的理解能力导入时长:大约5分钟[新课讲授]:重点:各种分支结构语句的使用难点:选择结构的嵌套方法:运用多媒体辅助教学,采用讲授法和案例教学法4.1算法介绍4.1.1算法介绍一、算法概述所谓算法,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每个指令表示一个或多个操作。
算法有以下特征:(1)有穷性(2)确定性(3)可行性(4)输入(5)输出4.1.2算法的表示常用的表示算法的方法有:自然语言、伪代码、流程图,本章重点介绍用流程图表示算法。
流程图用一些图框、流程线以及文字说明来表示算法。
用图来表示算法,直观、形象、容易理解。
包括:传统流程图、结构化流程图。
因传统流程图中流程线的使用无限制可能导致流程图毫无规律。
结构化流程图使用3中基本结构,即:顺序结构、选择结构和循环结构(如图4-1所示),从而大大提高流程图的规律性。
图4-1(a)顺序结构流程图图4-1(b)选择结构流程图图4-1(c)循环结构流程图4.2条件语句VB中选择结构通过条件语句来完成,包括:单分支、双分支和多分支等。
4.2.1单分支结构语句单分支结构语句包括单行结构和块结构。
1.“单行结构”格式为:If <条件表达式> Then <语句序列>2. “块结构”格式为:If <条件表达式> Then<语句序列>说明:(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。
如果是数值表达式,则非0值为真,0为假。
(2)当条件表达式的值为真时执行语句序列。
【例4-1】已知两个数x和y,比较它们的大小,使得x>y。
分析:对任意的两个数x、y,其中x若为大的数,直接输出即可,若 y为大的数,则交换两数即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教学目标
• 掌握IF…THEN…Else语句 • 熟悉组合框、列表框、检查列表框 (CheckedListBox) • 掌握Select Case语句
4.1 If语句
4.1.1 If…Then语句 If-Then语句用来当条件满足时执行某些语 句,反之则不执行。If-Then语句的格式如下: If <条件表达式> Then 语句块 End If IfBoolean型,用<>将条件表达式括 起来表示它在IF语句中是必须具有的一项,即 IF语句中的条件表达式不可缺少。
例如,对输入的数值进行判断。输入 大于25的数值时,在MessageBox内显示 “大于25”。否则将不显示任何信息。 If intNumber > 25 Then MessageBox.Show( "大于25") End If
4.1.2 If…Then…Else语句
当条件表达式的值为True时,程序执行一些语句, 其值为False时,程序执行另一些语句,此时可以使 用If-Then-Else语句。If-Then-Else语句的格式如下: If <条件表达式> Then <语句块1> Else <语句块2> End If 该语句的作用是当条件表达式的值为True时,程 序执行语句块1,当条件表达式的值为False时,程序 将执行语句块2。
例如在下面一段代码中根据Caller的值不同而执行不同的语句。 If Caller = "Joe" Then MessageBox.Show( "Yes!") ElseIf Caller = "Matt" Then MessageBox.Show("Okay, but if you buy.") ElseIf Caller = "Jeff" Then MessageBox.Show("I‟m washing my hair tonight.") ElseIf Caller = "Robby" Then MessageBox.Show( "This is a recording.") End If 注意: 1.的是不管程序有几个分支,在执行了一个分支后,其余 分支不再执行。 2.ElseIf不要写成Else If。
例如对intSex变量进行判断,为0时是男性; 否则是女性: If intSex=0 Then MessageBox.Show(“You are a man!”) Else MessageBox.Show(“You are a woman!”) End If
创建一新的项目,对输入的数值进行判断。在其中的一 个TextBox中输入数值,如果输入的数据为7的整倍数,在另一 个TextBox文本框内显示“是7的倍数”,反之则显示“不能被 7整除”。在窗体上放置2个TextBox控件,分别用来接受输入 和显示结果,Name属性分别为TxtInput和TxtResult。再添加一 个按钮,并为这个按钮的Click事件编写如下代码: Private Sub BtnGo_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BtnGo.Click Dim lngIn As Long lngIn = Convert.ToInt64(TxtInput.Text) If lngIn Mod 7 = 0 Then TxtResult.Text = "是7的倍数" Else TxtResult.Text = "不能被7整除" End If End Sub 程序中使用了显示的转换Convert.ToInt64,当然也可以直接赋 值,由Visual Basic作隐式转换。
4.1.4嵌套If…Then语句
If语句可以嵌套,既可在If语句当中可以包含另外一个If语句。 If语句的嵌套语句格式如下: If <条件表达式1> Then If <条件表达式2> Then … End If … End If 例如只有当n=3并且x=6时显示“n=3 & x=6”。 If n = 3 Then MessageBox.Show("n=3") If x = 6 Then MessageBox.Show("x=6 & n=3") End If End If If语句对于嵌套的多少是没有限制的。但是嵌套的层数越多,代码执 行起来就会越困难,越容易出错。所以,应尽量把嵌套层数减少。
4.1.3 If…Then…ElseIf语句
分支超过2个的情况,此时可以在If…Then…End If结构中 使用ElseIf 语句,格式如下: If <条件表达式1> Then <语句块1> ElseIf <条件表达式2> Then <语句块2> … [Else [语句块n+1] End If 该语句的作用是根据不同的条件表达式的值确定执行哪个语 句块,Visual Basic测试条件的顺序为条件表达式1、条件表达 式2、……,每当遇到某个条件表达式值为True时,就执行该 条件下的语句块。
例:在两个文本框中任意输入两个数字,按下Max按钮后将较大的一个显示在第 三个文本框中。创建新的工程起名为Biger,在窗体上放置3个TextBox控件 和一个按钮,清除3个TextBox控件的Text属性,将3个TextBox控件的name属 性分别设置为TxtOp1,TxtOp2,TxtBiger;将TxtBiger的ReadOnly属性设置 为True;按钮的name属性为BtnBiger,Text的name属性为Max。采用快速添 加事件代码的方法,双击按钮添加代码如下: Private Sub BtnBiger_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BtnBiger.Click Dim dblOp1 As Double Dim dblOp2 As Double dblOp1 = TxtOp1.Text dblOp2 = TxtOp2.Text If dblOp1 >= dblOp2 Then TxtBiger.Text = dblOp1 Else TxtBiger.Text = dblOp2 End If End Sub