第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 关系表达式 1.关系运算符 关系运算符是比较两个操作数大小的符号。

Slides:



Advertisements
Similar presentations

Advertisements

2 和 5 的倍数的特征 运动热身 怎样找一个数的倍数? 从小到大写出 2 的倍数( 10 个): 写出 5 的倍数( 6 个) 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 5 , 10 , 15 , 20 , 25 , 30.
第四单元 100 以内数的认识
人教新课标一年级数学下册. 教学目标 1. 初步掌握 100 以内数的顺序。 2. 初步会比较 100 以内数的大小。 3. 初步结合具体事物,使同学们 感 受 100 以内数的意义,会用 100 以 内的数表示日常生活中的事物, 并进行简单的估计和交流。
第四单元 100 以内数的认识
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
10.2.switch语句.
5 选择结构.
圆的一般方程 (x-a)2 +(y-b)2=r2 x2+y2+Dx+Ey+F=0 Ax2+Bxy+Cy2+Dx+Ey+ F=0.
第4章 选择结构程序设计 选择结构是计算机科学用来描述自然界和社会生活中分支现象的手段。其特点是:根据所给定选择条件为真(即分支条件成立)与否,而决定从各实际可能的不同操作分支中执行某一分支的相应操作,并且任何情况下恒有“无论分支多寡,必择其一;纵然分支众多,仅选其一”的特性。
紧扣课程标准 关注社会热点 —苏教版教材新增内容复习建议 南京市南湖第一中学 马 峰.
财经法规与会计职业道德 (3) 四川财经职业学院.
第3课时 逻辑连结词和四种命题 要点·疑点·考点 课 前 热 身   能力·思维·方法   延伸·拓展 误 解 分 析.
充分条件与必要条件习题课 1.
勾股定理 说课人:钱丹.
C语言实验 第一课 标题:学号+姓名.
第五章 选择结构程序设计 信息管理系.
第4章 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的 如果你在家,我去拜访你 如果考试不及格,要补考
第4章 选择结构程序设计 二分支选择结构 多分支选择结构 P A B 真 假 k A1 A2 Ai An k=k2 k=k1 k=kn
程序设计基础.
C语言程序设计 第五章 选择结构程序设计.
第三章 C语言基础 学习目标: 熟练掌握:C语言的基本数据类型、运算符及表达式 掌握:常见的输入、输出函数使用方法;
第4章 选择结构程序设计.
高级语言程序设计 主讲人:陈玉华.
C#程序设计基础 $5 流程控制.
第2章 分支结构 P if语句 2.2 switch语句 2.3 用条件运算符转换大小写字母 2.4 程序举例
C++Primer 3rd edition 中文版 Chap 5
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
C程序设计.
第五章 选择结构程序设计 一、关系运算符和表达式 1、关系运算符 在程序中经常需要比较两个量的大小关系, 以决定程序下一步
第3章 C语言的基本语句 和程序结构设计.
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
走进编程 程序的顺序结构(二).
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Chap 3 分支结构 3.1 统计输入的一批字符中各类字符的数量 3.2 查询自动售货机中商品的价格 3.3 分支结构程序设计.
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
第一章 函数 函数 — 研究对象—第一章 分析基础 极限 — 研究方法—第二章 连续 — 研究桥梁—第二章.
人教版数学四年级(下) 乘法分配律 单击页面即可演示.
第二章 Java语言基础.
第四章 选择结构程序设计 计算机科学学院.
第一章 函数与极限.
第4章 PHP流程控制语句.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
目录 4.1选择结构程序设计的概述 4.2关系运算符和表达式 4.3逻辑运算符和表达式 4.4用if语句实现选择结构程序设计
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
1.2 有理数 第1课时 有理数 伏家营中学 付宝华.
第一章 C语言概述 教师:周芸.
几种基本语句 条件语句 广州市63中 岑光.
第4章 Excel电子表格制作软件 4.4 函数(一).
九年级 上册 22.3 实际问题与二次函数 (第1课时).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
第4章 选择结构程序设计 要设计选择结构程序,要考虑两个方面的问题:一是在C语言中如何来表示条件,二是在C语言中实现选择结构用什么语句。
小数的大小比较 仙岩镇第二小学 陈曼丽.
第九节 赋值运算符和赋值表达式.
第4课时 绝对值.
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
第四章 选择结构程序设计 计算机科学学院.
学习目标 1、了解基本运算符 2、运算符优先级.
C程序设计 实验二 数据类型、运算符和表达式 第6讲
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
3.13 选择结构程序设计初步.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
鸡兔同笼(续) ——选择结构.
Java程序设计 第3章 控制语句.
1.2.2条件语句.
第9章 位 运 算.
Presentation transcript:

第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.1 关系表达式 1.关系运算符 关系运算符是比较两个操作数大小的符号。 第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.1 关系表达式 1.关系运算符 关系运算符是比较两个操作数大小的符号。 两个操作数一般为数值型数据。 Turbo C的关系运算符及其优先级、结合律如表所示: 运算符 功能 优先级 (值小的优先级高) 结合律 > >= < <= 大于 大于等于 小于 小于等于 6 从左向右 == != 等于 不等于 7

第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.1 关系表达式 1.关系运算符 2.关系表达式 第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.1 关系表达式 1.关系运算符 2.关系表达式 由关系运算符将两个表达式连接起来的有意义的式子称为关系表达式。 例如:x>=60 a+b<c a>b= =c b+4>c-6 关系表达式的值是一个逻辑值,即“真”或“假”。C语言中,用1表示“真”,用0表示“假”。

第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 逻辑运算符是确定两个操作数逻辑关系的符号。 第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 逻辑运算符是确定两个操作数逻辑关系的符号。 两个操作数一般为逻辑型数据。 Turbo C的逻辑运算符及其优先级、结合律如表所示: 运算符 功能 优先级 (值小的优先级高) 结合律 ! 逻辑非 2 从右向左 && 逻辑与 11 从左向右 || 逻辑或 12

第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 各逻辑运算符的运算规则如表所示: 数据a 第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 各逻辑运算符的运算规则如表所示: 数据a 数据b a&&b a||b !a !b 1

第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 2.逻辑表达式 第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 2.逻辑表达式 由逻辑运算符将两个表达式连接起来的有意义的式子称为逻辑表达式。 例如:!a+b&&c a||b= =c a>0||b<5 a++&&b-- 逻辑表达式的值也是一个逻辑值。如果逻辑运算的对象是一个数值型数据,则该数值型数据应被看作逻辑值,C语言中,非零值看作“真”,零值看作“假”。

第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 2.逻辑表达式 第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 2.逻辑表达式 注意:由逻辑运算符&&和||构成的逻辑表达式,在特殊情况下会产生“短路”现象。 (1)由逻辑运算符&&构成的逻辑表达式,在已经确定一个运算对象的值为0时,其逻辑表达式的值即为0,此时不再处理另一个运算对象。 例如:执行:a=-1; b=5; a++&&b--; 结果为:a =0 b=5

第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 2.逻辑表达式 第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 4.1.2 逻辑表达式 1.逻辑运算符 2.逻辑表达式 注意:由逻辑运算符&&和||构成的逻辑表达式,在特殊情况下会产生“短路”现象。 (2)同样,由逻辑运算符||构成的逻辑表达式,在已经确定一个运算对象的值为1时,其逻辑表达式的值即为1,此时不再处理另一个运算对象。 例如:执行:a=0; b=5; a++||b--; 结果为:a =1 b=5

第4章 选择结构程序设计 用流程图表示: 4.2 if语句 4.2.1 简单if语句 简单if语句的一般形式为: if(表达式) 语句1; 第4章 选择结构程序设计 用流程图表示: 真 表达式 假 语句2 语句1 4.2 if语句 4.2.1 简单if语句 简单if语句的一般形式为: if(表达式) 语句1; else 语句2; 功能:如果表达式的值为真,则执行语句1,执行完语句1后从语句2后开始继续向下执行;如果表达式的值为假,则跳过语句1而执行语句2。

第4章 选择结构程序设计 4.2 if语句 用流程图表示: 4.2.1 简单if语句 注意: 第4章 选择结构程序设计 4.2 if语句 真 假 语句1 表达式 用流程图表示: 4.2.1 简单if语句 注意: (1)表达式是判断的条件,一般是关系表达式或逻辑表达式,也可以是其他表达式。 (2)条件执行语句中“else 语句2;”部分是选择项,可以缺省,此时条件语句变成: if(表达式) 语句1; 其功能是:若表达式的值为真,则执行语句1,否则跳过语句1继续执行。

第4章 选择结构程序设计 4.2 if语句 4.2.1 简单if语句 注意: 第4章 选择结构程序设计 4.2 if语句 4.2.1 简单if语句 注意: (3)如果语句1或语句2有多于一条语句要执行时,必须使用“{“和”}”把这些语句包括在其中,构成一个复合语句,此时条件语句形式为: if(表达式) { 语句组1; } else { 语句组2; }

例4.1 输出两个数中的较大者。 程序2: main() { int a,b,max; scanf("%d%d",&a,&b); max=a; if(max<b) max=b; printf("max=%d\n",max); } 程序1: main() { int a,b,max; scanf("%d%d",&a,&b); if(a>b) max=a; else max=b; printf("max=%d\n",max); }

第4章 选择结构程序设计 4.2 if语句 4.2.2 嵌套if语句 在if 语句中又包含一个或多个if语句,称为嵌套if语句。 第4章 选择结构程序设计 4.2 if语句 4.2.2 嵌套if语句 在if 语句中又包含一个或多个if语句,称为嵌套if语句。 一般形式如下: if(表达式1) if(表达式2 ) 语句1 else 语句2 else if(表达式3) 语句3 else 语句4

第4章 选择结构程序设计 4.2 if语句 4.2.2 嵌套if语句 说明: 例如: 第4章 选择结构程序设计 4.2 if语句 4.2.2 嵌套if语句 说明: (1)if与else的配对关系从最内层开始,else总是与离它最近的未曾配对的if配对。 (2)if与else的个数最好相同,从内层到外层一一对应,以避免出错。 (3)如果if与else的个数不相同,可以用花括号来确定配对关系。 例如: if (表达式1 ) { if(表达式2 ) 语句1 } else 语句2 这时花括号限定了内嵌if 语句的范围,因此else与第一个if配对。

例4.2 对任意x,根据以下函数关系求对应y的值。 y= 0 (x=0) 1 (x >0) 程序: main( ) { int x,y; scanf("%d",&x); if(x<0) y=-1; else if(x==0) y=0; else y=1; printf("x=%d,y=%d\n",x,y); } 输入:-3 结果:x=-3,y=-1 输入:4 结果:x=4,y=1

第4章 选择结构程序设计 4.3 条件表达式 条件运算符“?”和“:”两个符号组成。 由条件运算符构成的条件表达式的一般形式是: 第4章 选择结构程序设计 4.3 条件表达式 条件运算符“?”和“:”两个符号组成。 由条件运算符构成的条件表达式的一般形式是: <表达式1>?<表达式2>:<表达式3>; 条件运算符的含义是:先求表达式1的值,如果为真,则求表达式2 的值并把它作为整个表达式的值;如果表达式1 的值为假,则求表达式3 的值并把它作为整个表达式的值。

第4章 选择结构程序设计 4.3 条件表达式 例4.3 用条件表达式改写例4.1(输出两个数中的较大者)。 程序: main() { 第4章 选择结构程序设计 4.3 条件表达式 例4.3 用条件表达式改写例4.1(输出两个数中的较大者)。 程序: main() { int a,b,max; scanf("%d%d",&a,&b); max=(a>b)?a:b; printf("max=%d\n",max); }

第4章 选择结构程序设计 4.4 复合语句与空语句 4.4.1 复合语句 第4章 选择结构程序设计 4.4 复合语句与空语句 4.4.1 复合语句 复合语句是由左右花括号括起来的多条语句,一个复合语句在语法上等同于一个语句。 复合语句的一般形式如下: { 说明部分; 语句部分 } 在程序中,凡是单个语句能够出现的地方,都可以出现复合语句。一个复合语句又可以出现在其他复合语句内部。

第4章 选择结构程序设计 4.4 复合语句与空语句 4.4.2 空语句 空语句是只有一个分号的语句,其一般形式为: ; 第4章 选择结构程序设计 4.4 复合语句与空语句 4.4.2 空语句 空语句是只有一个分号的语句,其一般形式为: ; 空语句在语法上占据一个语句的位置,但不做任何操作。

第4章 选择结构程序设计 开关语句的功能是:首先计算switch后面圆括号内表达式的值,若此值等于某个case后面的常量表达式的值,则转向该case后面的语句去执行;若表达式的值不等于任何case后面的常量表达式的值,则转向default后面的语句去执行,如果没有default部分,则将不执行switch语句中的任何语句,而直接转到switch语句后面的语句去执行。 4.5 开关语句 开关语句的一般形式如下: switch(表达式) { case 常量表达式1:语句1; case 常量表达式2:语句2; … case 常量表达式n:语句n; default:语句n+1; }

第4章 选择结构程序设计 4.5 开关语句 说明: (1)switch后面圆括号内的表达式的值和case后面的常量表达式的值都必须是整型或字符型,不允许是浮点型。 (2)同一个switch语句中的所有case后面的常量表达式的值都必须互不相同。 (3)switch语句中的case和default的出现次序是任意的,也就是说default也可以位于case的前面,且case的次序也不要求按常量表达式的大小顺序排列。 (4)每个case或default后的语句可以是多条语句,但不需要使用“{“和”}”括起来。

第4章 选择结构程序设计 4.5 开关语句 说明: (5)由于switch语句中的“case 常量表达式”部分只起标号的作用,而不进行条件判断,所以在执行完某个case后的语句后,将自动转到该语句后面的语句去执行,直到遇到switch语句的右花括号或break语句为止,而不再进行条件判断。如果在执行完一个case分支后,要跳出switch语句转到下一条语句执行,可在一个case结束后、下一个case开始前插入一个break语句。程序一且执行到braek语句,将立即跳出switch语句。

例如: switch(n) { case 1: x=1; case 2: x=2; } 当n=1时, 将连续执行下面两个语句: x=1; x=2; switch(n) { case 1:x=1; braek; case 2:x=2; braek; } 当n=1时, 将只执行一个语句: x=1;

第4章 选择结构程序设计 4.5 开关语句 说明: (6)多个case可以共用一组执行语句。例如: switch(n) { case 1: 第4章 选择结构程序设计 4.5 开关语句 说明: (6)多个case可以共用一组执行语句。例如: switch(n) { case 1: case 2: case 3: x=3; }

第4章 选择结构程序设计 4.5 开关语句 注意: (1)switch的表达式后不能有“;”。 第4章 选择结构程序设计 4.5 开关语句 注意: (1)switch的表达式后不能有“;”。 (2)case和default与其后面的常量表达式间至少有一个空格。 (3)switch语句可以嵌套,break语句只跳出它所在的switch语句。 (4)default语句可以省略。

例4.4 给变量a,b,c输入整数,根据a的值确定对b、c的运算: 其他值时:不做任何操作。 程序: main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); switch(a) { case 1:printf("%d+%d=%d\n",b,c,b+c); break; case 2:printf("%d-%d=%d\n",b,c,b-c); break; case 3:printf("%d*%d=%d\n",b,c,b*c); break; case 4:printf("%d+%d=%d\n",b,c,b/c); }

第4章 选择结构程序设计 4.6 应用举例 例4.5 输入三个数,按由小到大的顺序输出。 分析: 流程图: 第4章 选择结构程序设计 开始 结束 输入a,b,c 输出a,b,c a<b 交换a,b N Y a<c 交换a,c b<c 交换b,c 4.6 应用举例 例4.5 输入三个数,按由小到大的顺序输出。 分析: 已知:输入的三个数(分别用a,b,c来存放)。 求:由小到大的顺序输出的三个数。 处理:(1)a,b中的小者存入a,大者存入b。 (2)a,c中的小者存入a,大者存入c。 (3)b,c中的小者存入b,大者存入c。 流程图:

第4章 选择结构程序设计 4.6 应用举例 例4.5 输入三个数,按由小到大的顺序输出。 程序: #include "stdio.h" 第4章 选择结构程序设计 开始 结束 输入a,b,c 输出a,b,c a<b 交换a,b N Y a<c 交换a,c b<c 交换b,c 4.6 应用举例 例4.5 输入三个数,按由小到大的顺序输出。 程序: #include "stdio.h" main() { int a,b,c,t; printf("a,b,c=?"); scanf("%d,%d,%d",&a,&b.&c); if(a>c) {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("%d,%d,%d",a,b,c); }

第4章 选择结构程序设计 4.6 应用举例 例4.6 输入一个不多于4位的正整数,求出它是几位数,逆序打印出各位数字 分析: 第4章 选择结构程序设计 4.6 应用举例 例4.6 输入一个不多于4位的正整数,求出它是几位数,逆序打印出各位数字 分析: 已知:一个不多于4位的正整数(用x来存放)。 求:该正整数是几位数,该正整数的各位数字(分别用a、b、c、d来存放千位、百位、十位、个位上的数字,由a、b、c、d的值确定该正整数是几位数)。 处理:用算术运算/和%取出组成x的各位上的数字,再从高位到低位判断各位上的数字是否不为零,据此确定该正整数是几位数。

取组成x的各位上的数字(a、b、c、d) 流程图: 取组成x的各位上的数字(a、b、c、d) 开始 结束 输入x N Y 输出4位数及数字 输出3位数及数字 c!=0 输出2位数及数字 d!=0 输出1位数及数字 a!=0 b!=0

取组成x的各位上的数字(a、b、c、d) 开始 结束 输入x N Y 输出4位数及数字 输出3位数及数字 c!=0 输出2位数及数字 d!=0 输出1位数及数字 a!=0 b!=0 程序: #include<stdio.h> main() { int x,a,b,c,d; scanf("%d",&x); a=x/1000; b=x%1000/100; c=x%100/10; d=x%10; if(a!=0) printf("4:%d%d%d%d\n",d,c,b,a); else if(b!=0) printf("3:%d%d%d\n",d,c,b); else if(c!=0) printf("2:%d%d\n",d,c); else if(d!=0) printf("1:%d\n",d); }

第4章 选择结构程序设计 4.6 应用举例 例4.7 输入一个数字,输出对应的星期几的英文单词。 分析: 第4章 选择结构程序设计 4.6 应用举例 例4.7 输入一个数字,输出对应的星期几的英文单词。 分析: 已知:一个数字(1~7,用n来存放)。 求:对应的星期几的英文单词(直接输出)。 处理:由于一个星期有7天,对输入的数字进行判断,有8种情况(包括出错),用开关语句进行处理。

流程图: 开始 输出 Sun 输出 Mon 输出 Tues 输出 Wednes 输出 Thurs 输出 Fri 输出 Satur 输出 Error 结束 n =0 =1 =2 =3 =4 =5 =6 其他

程序: #include <stdio.h> main() { int n; scanf("%d",&n); switch(n) case 0: printf("Sunday\n"); break; case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; case 4: printf("Thursday\n"); break; case 5: printf("Friday\n"); break; case 6: printf("Saturday\n"); break; default: printf("Error"); }

第4章 选择结构程序设计 4.7 本章考点 关系运算符和关系表达式。 逻辑运算符和逻辑表达式。 条件运算符和条件表达式。 第4章 选择结构程序设计 4.7 本章考点 关系运算符和关系表达式。 逻辑运算符和逻辑表达式。 条件运算符和条件表达式。 简单if语句的格式与功能。 嵌套if语句的格式与功能。 switch语句的格式与功能。

第4章 选择结构程序设计 4.8 典型试题详解 1.以下程序运行后的输出结果是________。 main() { int p=30; 第4章 选择结构程序设计 4.8 典型试题详解 1.以下程序运行后的输出结果是________。 main() { int p=30; printf("%d\n",(p/3>0?p/10:p%3)); } 正确答案:3(知识点:条件运算符和条件表达式) 试题分析:表达式p/3的值为10,大于0,所以条件表达式(p/3>0?p/10:p%3)的值取p/10的值3。

第4章 选择结构程序设计 4.8 典型试题详解 2.有以下程序: main() { int i=1,j=1,k=2; 第4章 选择结构程序设计 4.8 典型试题详解 2.有以下程序: main() { int i=1,j=1,k=2; if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是________。 A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 正确答案:C(知识点:逻辑运算符和逻辑表达式) 试题分析:根据运算规则,对逻辑表达式(j++||k++)&&i++应先计算表达式j++的值,其结果是表达式j++的值为1,j的值为2,再将表达式j++的值1与k++进行||运算,由逻辑运算符||构成的逻辑表达式在已经确定一个运算对象的值为1时,其逻辑表达式的值即为1,此时不再处理其另一个运算对象,因此,不再计算k++,k的值仍为2。逻辑表达式(j++||k++)的值为1,再与i++进行&&运算,需要计算表达式i++的值,表达式i++为1,i的值为2,逻辑表达式(j++||k++)&&i++的值1,执行printf("%d,%d,%d\n",i,j,k);语句,其结果为2,2,2。

第4章 选择结构程序设计 4.8 典型试题详解 3.以下程序输出的结果是________。 main() 第4章 选择结构程序设计 4.8 典型试题详解 3.以下程序输出的结果是________。 main() { int a=5,b=4 c=3,d; d=(a>b>c); printf("%d\n",d); } 正确答案:0(知识点:关系运算符和关系表达式) 试题分析:根据运算规则,对表达式(a>b>c)应先计算表达式a>b的值,其结果为1,再计算1>c的值,其结果为0,故d的值为0。

第4章 选择结构程序设计 4.8 典型试题详解 4.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是________。 A)if(c<a)x=1; B)if(a<3)x=3; else if(b<a) x=2; else if (a<2) x=2; else x=3; else x=1; C)if(a<3) x=3; D)if (a<b) x=b; if(a<2) x=2; if(b<c) x=c; if(a<1) x=1; if(c<a) x=a; 正确答案:C(知识点:简单if语句和嵌套if语句的格式与功能) 试题分析:根据嵌套if语句的功能,对各程序段执行后,A)的结果是x=3,B)的结果是x=3,C)的结果是x=2,D)的结果是x=3。在这类题目中,一定要注意其逻辑关系。

第4章 选择结构程序设计 4.8 典型试题详解 5.以下程序运行后的结果是________。 main() 第4章 选择结构程序设计 4.8 典型试题详解 5.以下程序运行后的结果是________。 main() { int a=1,b=3,c=5; if(c=a+b) printf("yes\n"); else printf("no\n"); } 正确答案:yes(知识点:简单if语句的格式与功能、运算符=和==) 试题分析:if语句后判断的条件是c=a+b,即将a+b的值赋给c,再判断c的值是否为真,而不是判断c是否等于a+b。运算符=和==是不同的。

第4章 选择结构程序设计 4.8 典型试题详解 6.若有以下程序: main() { int a=4,b=3,c=5,t=0; 第4章 选择结构程序设计 4.8 典型试题详解 6.若有以下程序: main() { int a=4,b=3,c=5,t=0; if(a<b)t=a;a=b;b=t; if(a<c)t=a;a=c;c=t; printf("%d%d%d",a,b,c); } 执行后的输出结果为________。 正确答案:503(知识点:简单if语句的格式与功能\运算符=和==) 试题分析:根据a<b的值0,程序执行a=b;b=t;,则a=3,b=0,再根据a<c的值1,程序执行t=a;,再执行a=c;c=t;,则a=5,c=3。注意,第一个if语句在其后的t=a;后已经结束,其后的a=b;b=t;是第一个if语句语法上下面的语句。同样,第一个if语句也在其后的t=a;后结束。

第4章 选择结构程序设计 4.8 典型试题详解 7.若a,b,c1,c2,x,y均为整型变量,正确的switch语句是________。 第4章 选择结构程序设计 4.8 典型试题详解 7.若a,b,c1,c2,x,y均为整型变量,正确的switch语句是________。 A)switch(a+b); B)switch(a*a+b*b) { case 1:y=a+b;break; { case 3: case 0:y=a-b;break; case 1:y=a+b;break; } case 3:y=b-a;break;} C)switch a D)switch(a-b) { case c1:y=a-b;break; { default:y=a*b;break; case c2:x=a*d;break; case 3:case 4:x=a+b;break; } case 10:case 11:y=a-b;break; } 正确答案:D(知识点:switch语句的格式) 试题分析:switch语句格式规定:switch后的表达式后面不能有“;”;case后只能是整型或字符型常量;同一个switch语句中的所有case后面的常量表达式的值都必须互不相同。

第4章 选择结构程序设计 4.8 典型试题详解 8.有如下程序,该程序的输出结果是________。 main() 第4章 选择结构程序设计 4.8 典型试题详解 8.有如下程序,该程序的输出结果是________。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf(“a=%d,b=%d\n”,a,b); } A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2 正确答案:A(知识点:switch语句的功能) 试题分析:x=1,程序从case 1:后执行,case 1: 后没有break语句,顺序执行case 2:后的语句。