第五章选择结构程序设计练习含答案v1

合集下载

第五章 结构程序设计 练习与答案

第五章 结构程序设计  练习与答案

第五章选择结构程序设计[试题分类]:if语句1.{以下程序的输出结果是()main()\{int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);\}}A.2B.3C.4D.编译时有错,无结果试题编号:E57234答案:B题型:单选题2.为了避免嵌套的条件语句if-else的二义性,C语言规定:else与()相结合是正确的。

A.缩排位置相同的ifB.其前面最近的不带else的ifC.其后面的ifD.同一行上if试题编号:E57230答案:B题型:单选题3.{阅读以下程序:main()\{int x;scanf("%d",&x);if(x--<5)printf("%d\n",x);elseprintf("%d\n",x++);程序运行后,如果从键盘上输入5,则输出结果是()}A.3B.4C.5D.6试题编号:E57227答案:B题型:单选题4.以下正确的if语句是()A.{if(a>b);printf("%d",a);else printf(“%d”,b);}B.{if(a>b)temp=a;a=b;b=temp;else printf("%d",temp);}C.{if(a>b)\{temp=a;a=b;b=temp;\};else printf("%d",temp);}D.{if(a>b)\{temp=a;a=b;b=temp;\}else printf("%d",temp)}试题编号:E57229答案:D题型:单选题5.{以下程序的输出为()main()\{int x=0,y=-1;if(x!=0)if(x>0) y=1;else y=0;else y=5;printf("%d",y);}A.1B.-1C.0D.5试题编号:E57232答案:D题型:单选题6.{以下程序输出结果是( )main()\{ int m=5;if (m++>5) printf("%d\n",m);else printf("%d\n",m--);\}}A.7B.6C.5D.4试题编号:E57228答案:B题型:单选题7.下列条件语句中,功能与其他语句不同的是()A.if(a) printf("%d\n",x);else printf("%d\n",y);B.if(a==0) printf("%d\n",y);else printf("%d\n",x);C.if(a!=0) printf("%d\n",x);else printf("%d\n",y);D.if(a==0) printf("%d\n",x);else printf("%d\n",y); 试题编号:E57222答案:D题型:单选题8.{执行下面语句后的输出结果为()。

机器人程序设计(C语言)(第2版)章节练习题及参考答案

机器人程序设计(C语言)(第2版)章节练习题及参考答案

第一章一种新的C语言学习方式1.一台能够工作的计算机包括?CPU (Central Processing Unit,中央处理单元,进行运算和控制,包括运算器和控制器等)、存储器(如RAM、ROM等)、输入设备、输出设备(包括串行/并行接口、USB等)。

其中,RAM (RandomAccess Memory,随机存储器)主要用于存储数据,ROM (RcadOnlyMemory, 只读存储器)主要用于存储程序。

2.单片机工作时需要什么?需要稳定的电源、晶振、外部存储器和编程调试接口,就像计算机工作时需要电源、晶振、硬盘或其他大容量外部存储器和操作系统一样。

微控制器是将单片机独立工作所需的电源适配器、晶振、外部存储器和串口转换电路等封装到一个模块上,这样就能直接与计算机连接并进行编程开发,不需任何其他芯片和电路。

3. AT89S52是一种什么样的单片机?是一种高性能、低功耗的8位单片机,内含8 KBISPdn-System Programmable系统在线编程)可反复擦写IOOO次的Flash只读程存器,采用ATMEL公司的高密度非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。

在实际工程应用中,功能强大的AT89S52 已成为许多高性价比嵌入式控制应用系统的解决方案。

4. Progisp是一款什么样的软件?是一款免费下载的ISP软件,不需要专门的安装即可使用,非常方便。

使用该软件,读者可以将C语言程序生成的可执行文件下载到机器人单片机上。

使用时需要1根USBA转B 信号线。

5.简述串口调试工具的特点。

串口调试工具就是串行通信接口调试软件,集数据发送、数据接收、数据监控、数据分析等功能于一身,具有小巧精致、操作简捷、功能强大的特点,可以在串口通信监控、设备通信测试工作中有效提高效率。

6. pr i ntf ()函数称为?称为格式输出函数,其功能是按用户指定的格式,把指定的数据输出显示。

Print ()函数是C语言提供的标准输出函数,定义在C语言的标准函数库中,要使用它,必须包括定义标准函数库的头文件stdio. h o第二章最简单的C程序设计——机器人做算数1. C语言用什么整型变量?C语言用关键字imt定义整型变量。

选择结构程序设计练习答案

选择结构程序设计练习答案

Case 7 To 9 If n < 20 Then r = 5 Else r = 15 Case Else
r = 10
End Select
Label1.Caption = "所订机票的优惠率为:" & Str(r) & "%"
End Sub
习题四
4.1 写出下列各表达式的值。
(1) 2 * 3 >= 8 false (2) "BCD" < "BCE“ true (4) Not 2 * 5 <> 11 false
订票数超过20张,票价优惠15%,20张以下,优惠5%;在 旅游的淡季1~5月份、10月份、11月份,如果订票数超过 20张,票价优惠30%,20张以下,优惠20%;其他情况一 律优惠10%。
设计程序,根据月份和订票张数决定票价的优惠率。
设计步骤如下:
(1) 写程序代码。 根据流程图,可以写出命令按钮Command1的单击(Click) 事件代码为:
4.3 根据所给条件,列出布尔表达式。 (1) 闰年的条件是:年号(year)能被4整除,但是不能被100整除; 或者能被400整除。 y Mod 4 = 0 And y Mod 100 <> 0 Or y Mod 100 = 0 And y Mod 400 = 0 (2) 一元二次方程ax2 + bx + c = 0有实根的条件为:a≠ 0,并且b2 – 4ac ≥ 0。 a<>0 and b*b-4*a*c>=0 (3) 征兵的条件是:男性(sex)年龄(age)在18~20岁之间,身高(size) 在1.65m以上;或者女性(sex)年龄(age)在16~18岁之间,身高(size) 在1.60m以上。 Sex=“ 男 性 ” and (age>=18and age<=20) and size>=1.65 or Sex=“ 女 性”and (age>=16and age<=18) and size>=1.60 (4) 分房的条件为:已婚(marrigerat),年龄(age)在26岁以上, 工作年限(workingage)在5年以上。 Marrigerat=“已婚” and age>=26 and workingage>=5 4.4 “x是小于100的非负数”,用VB表达式表示正确的是

选择结构程序设计习题

选择结构程序设计习题

选择结构程序设计练习1.从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。

[提示]根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。

使用if…else…语句。

精选文档,供参考!2.编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。

[提示] 条件判断表达式x+y==z3.编写一个程序,其功能为:输入三个整数,输出最大数和最小数。

[提示] 设置最大值变量max和最小值变量min;首先比较a,b的大小,并把大数存入max,小数存入min;然后最大值变量max和最小值变量min 再与c比较,若c大于max,则max取值c,否则保持不变;如果c小于min,则min取值c,否则保持不变。

最后输出max和min的值。

使用if…else…语句、if语句以及复合语句。

精选文档,供参考!精选文档,供参考!4.某产品生产成本c=c1+mc2,其中c1为固定成本,c2为单位产品可变成本。

当生产数量m<10000时,c1=20000元,c2=10元;当生产数量m≥10000时,c1=40000元,c2=5元;编写一个程序,其功能为:分别计算出生产数量为6000以及25000时,总生产成本及单位生产成本。

精选文档,供参考!5.分段函数的计算。

编写一个程序,计算下列函数:y= x x<12x-1 1≤x<10 3x-11 x≥10[提示]根据输入的x值的取值,计算y的值并输出。

使用if…else if语句以及复合语句。

精选文档,供参考!6.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。

[提示]利用三角形两边之和大于第三边判断是否能够构成三角形,能够成三角形时再以等腰、等边、直角三角形的条件进行判断。

C语言习题集参考答案

C语言习题集参考答案

第一章C语言概述一.选择题1.一个C程序的执行是从。

A.程序的main函数开始,到main函数结束B.程序文件的第一个函数开始,对本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。

A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。

A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面二.填空题1.C源程序的基本单位是函数。

2.一个C源程序中至少应包括一个主函数或main函数。

3.在一个C源程序中,注释部分两侧的分界符分别为/*和*/ 。

第二章数据的存储与运算一.选择题1.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。

x=(i=4,j=16,k=32)A.4 B.16 C.32 D.482.下面正确的字符常量是。

A.”c” B.’\\’’C.’W’ D.’’3.下面不正确的字符串常量是。

A.’abc’ B.”12’12” C.”0” D.” “4.以下正确的叙述是。

A.在C程序中,每行中只能写一条语句B.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后c2中的值为。

A.D B.68 C.不确定的值 D.C6.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案Company number:【0089WT-8898YT-W8CCB-BUUT-202108】习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么它由哪几部分组成【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

[精品]C程序设计配套PPT及课后习题答案C5-选择结构程序设计PPT文档共28页

[精品]C程序设计配套PPT及课后习题答案C5-选择结构程序设计PPT文档共28页
5、教导儿童服从真理、服从集体,养 成儿童 自觉的 纪律性 ,这是 儿童道 德教育 最重要 的部分 。—— 陈鹤琴
6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
[精品]C程序设计配套PPT及课后习题 答案C5-选择结构程序设计
1、纪律是管理关系的形式。——阿法 纳西耶 夫 2、改革如果不讲纪律,就难以成功。
3、道德行为训练,不是通过语言影响 ,而是 让儿童 练习良 好道德 行为, 克服懒 惰、轻 率、不 守纪律 、颓废 等不良 行为。 4、学校没有纪律便如磨房里没有水。 ——夸 美纽斯
Thank you
ቤተ መጻሕፍቲ ባይዱ

第5章选择结构程序设计习题及答案

第5章选择结构程序设计习题及答案

第5章 选择结构程序设计5-1 比较单分支、双分支、多分支if 语句。

答:(1)多分支if 语句可用多条单分支、双分支if 语句等价实现。

(2)双分支if 语句形式上相当于单分支if 语句扩展else 分支而来。

(3)单分支if 语句可以认为是双分支if 语句缺省else 子句的特殊情况,一条双分支语句可用两条单分支语句实现。

思考:分支结构主要用在哪些情况下?它有哪几种形式?5-2, 下列描述哪些是正确的?(1) if (x<0)y=−1;else if(x==0) y=0;else y=1;(2)if(x>=0)if(x>0) y = 1 ;else y = 0 ;else y = -1 ;(3) y = -1 ;if(x!=0)if(x>0) y = 1 ;else y = 0 ;(4)y = 0 ;if (x>=0)if(x>0) y = 1 ;答:(1) 正确 ; (2) 正确 ;(3) 不正确 ;(4) 不正确 ; 思考 : 若将(3)改为: y = -1 ; (4) 改为:y = 0 ;if(x>=0) /*删除原if(x>=0)*/ if(x>0) y =1 ; if(x>0) y = 1 ;else y = 0 ; else y = -1 ;后是否正确 ?5-3 仔细阅读以下程序 , 指出程序的运行结果 .⎪⎪⎩⎪⎪⎨⎧>=<-=010001x x x y#include<stdio.h>main(){ int a , b ;a =b = 5 ;if(a==1)if(b==5){a+=b ;printf("a=%d\n ",a) ;}else{a-=b ;printf("a=%d\n",a) ;}printf("a+b=%d",a+b) ;}解: 结果为: a + b = 10思考:为何有三个printf 语句,却只有一行输出?如果将第5行去掉或改为if(a==5) , 结果是否一样?5-3仔细阅读以下程序,指出程序的运行结果。

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计5.1选择题【题 5.4 】能正确表示“当x 的取值在[ 1, 10]和[ 200, 210]范围内为真,否则为假”的表达式是。

CA) (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x>=1)||(x<=10)||(x>=200)||(x<=210)C) (x>=1)&&(x<=10)||(x>=200)&&(x<=210)D) (x>=1)||(x<=10)&&(x>=200)||(x<=210)【题 5.5 】表示图中坐标轴上阴影部分的正确表达式是。

C////////////////Xa b cA) (x<=a)&&(x>=b)&&(x<=c)B) (x<=a)||(b<=x<=c)C) (x<=a)||(x>=b)&&(x<=c)D) (x<=a)&&(b<=x<=c)【题 5.6 】判断 char 型变量 ch 是否为大写字母的正确表达式是。

CA)‘ A’ <=ch<=‘ Z’B) (ch>= ‘ A’ )&(ch<= ‘Z’ )C) (ch>= ‘ A’ )&&(ch<= ‘ Z’ )D) ( ‘A’ <=ch)AND(‘ Z’>=ch)【题 5.10 】设有: int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d) 后 n 的值为。

BA)1B)2C)3D)4【题 5.11 】判断 char 型变量 c1 是否为小写字母的正确表达式是。

选择结构习题一

选择结构习题一

第五章if语句练习题1..已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是____ ____ _if(x>y)z=x;x=y;y=z;2.以下if语句语法正确的是________A.if(x>0)printf(“%f”,x)else printf(“%f”,-x);B.if(x>0){x=x+y;printf(“%f’,x);}else printf(“%f”,-x);C.if(x>0){x=x+y;printf(“%f”,x);}else printf(“%f”,-x);D.if(x>0){x=x+y;printf(“%f,x);}else printf(“%f”,-x);3.请阅读以下程序:main( ){int a=5,b=0,c=0;if(a=b+c)printf(“* * *\n”);elseprintf(“$ $ $\n”);}以上程序______A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出* * *D.输出$ $ $4.以下程序的运行结果是______main( ){int m=5;if(m++>5)printf(“%d\n”,m);else printf(“%d\n”,m--);}A. 4B. 5C. 6D. 75.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是______if(a<b)if(c<d) x=1;elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A. 1B. 2C. 3D. 66.有一个函数关系见下表:下面程序段中能正确表示上面关系的是( )A. y=x+1;if(x>=0)if(x==0)y=x;else y=x-1;B. y=x-1;if(x!=0)if(x>0)y=x+1;else y=x;C. if(x<=0)if(x<0)y=x-1;else y=x;else y=x+1;D.y=x;if(x<=0)if(x<0)y=x-1;else y=x+1;7.以下程序的输出结果是______main( ){int a=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%d\n”,a);}A.1B.0C.-1D.值不确定8.以下程序输出结果是_______main( ){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z);A.3B.2C.1D.09.以下不正确的语句为______A.if(x>y);B.if(x=y)&&(x! =0) x+=y;C,if(x! =y)scanf(“%d”,&x);else scanf(“%d”,&y);D.if(x<y){x++;y++;}10.阅读以下程序#include<stdio.h>main( ){float a, b;scanf(“%f”,&a);if(a<0.0)b=0.0;else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);else if(a<10.0)b=1.0/a;else b=10.0;printf(“%f\n”,b);}若运行时输入 2.0<回车>,则上面程序的输出结果是_____A.0.000000B.0.500000C.1.000000D.0.25000011.若运行时输入:16<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){int year;printf(“Input you year:”);scanf(“%d”,&year);if(year>=18)printf(“you$4.5yuan/xiaoshi”);else printf(“your$3.0yuan/xiaoshi”);} 12.若运行时输入:2<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){char class;scanf(“%c”,&class);if(class==’1’)printf(“1st class postage is 19p”);elseprintf(“2nd class postage is 14p”);} 13.若运行时输入:4.4<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ) {float costprice,sellingprice;printf(“enter cost price $:”);scanf(“%f”,&costprice);if(costprice>=5){sellingprice=costprice+costprice*0.25;printf(“sellingprice(0.25)$%6.2f”,sellingprice);}else{sellingprice=costprice+costprice*0.30;printf(“sellingprice(0.30)$%6.2f”,sellingprice);}}14.以下程序的运行结果是( )main( ){ if(2*2= =5<2*2= =4) printf(“T”);else printf(“F”);}15.请阅读以下程序:main( ){int t,h,m;scanf(“%d”,&t);h=(t/100)%12;if(h= =0)h=12;printf(“%d:”,h);m=t%100;if(m<10)printf(“0”);printf(“%d”,m);if(t<1200||t= =2400)printf(“AM”);else printf(“PM”);}若运行时输入:1605<回车>时,程序的运行结果是( )16.以下程序实现:输入圆的半径r和运行标志m,按照运行标志进行指定计算.请在( )内填入正确的内容.标志运算a 面积c 周长b 二者均计算#define pi 3.14159main( ){char m;float r,c,a;printf(“input mark a c or b&&r\n”);scanf(“%c%f”,&m,&r);if( ){a=pi*r*r;printf(“area is %f”,a);}if( ){c=2*pi*r;printf(“circle is %f”,c);}if( ){a=pi*r*r;c=2*pi*r;printf(“area&&circleare%f%f”,a,c);}}17.若运行时输入:5999<回车>,则以下程序的运行结果(保留小数后一位)是( )main( ){int x;float y;scanf(“%d”,&x);if(x>=0&&x<=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=6000&&x<=10000)y=54+0.3*x;printf(“%6.1f”,y);}18.以下程序实现输出x,y,z三个数中的最大者.请在( )添入正确内容.main( ){int x=4,y=6,z=7;int ( )if( )u=x;else u=y;if( )v=u;else v=z;printf(“v=%d”,v);}19.以下程序实现:输入三个整数,按从大到小的顺序进行输出.请在( )内填入正确内容main( ){int x,y,z,c;scanf(“%d%d%d”,&x,&y,&z);if( ){c=y;y=z;z=c;}if( ){c=x;x=z;z=c;}if( ){c=x;x=y;y=c;}printf(“%d,%d,%d”,x,y,z);}20.以下程序对输入的两个整数,按从大到小顺序输出.请在( )内填正确内容.main ( ){int x,y,z;scanf(“%d,%d,”,&x,&y);if( ){z=x; }printf(“%d,%d”,x,y);}21.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’.请在( )填入正确内容#include “stdio.h”main( ){char c;c= ;if(c>=’a’&&c<=’u’)else if(c>=’v’&&c<=’z’) putchar(c);}22.输入一个字符,如果它是一个大写字母,则把它变成小写,如果是小写,则变成大写,其他字符不变,请在( )填正确内容main ( ){char ch;scanf(“%c”,&ch);if( )ch=ch+32;else if(ch>=’a’&&ch<=’z’)printf(“%c”,ch);}23.以下程序的运行结果是( )main( ){int a,b,c;int s,w,t;s=w=t=0;a=-1,b=3,c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}else if(c>0)w=a-b;else t=c;printf(“%d%d%d”,s,w,t);}24.以下程序的运行结果是( )main( ){int a,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;else if(! b)if(! c)x=15;else x=25;printf(“%d\n”,d);}25.以下程序的运行结果是( )#include<stdio.h>main( ){int x,y=1,z;if(y!=0)x=5;printf(“\t%d\n”,x);if(y= =0)x=4;else x=5;printf(“\t%d\n”,x);x=1;if(y<0)if(y>0)x=4;else x=5;printf(“\t%d\n”,x);}26.以下程序的运行结果是( )#include<stdio.h>main( ){int x,y=-2,z=0;if((z=y)<0)x=4;else if(y= =0)x=5;else x=6;printf(“\t%d\t%d\n”,x,z);if(z=(y= =0))x=5;x=4;printf(“\t%d\t%d\n”,x,z);if(x=z=y)x=4;printf(“\t%d\t%d\n”,x,z);}27.阅读下面程序:main ( ){int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;else if(a= =b)t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);}为使输出结果t=4,输入量a和b应满足的条件是( )28.请阅读下面程序:main( ){int s ,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t; else if(a= =b)t=5; else t=2*s;printf(“s=%d,t=%d ”,s,t);}为使输出结果s=1,t=5,输入量a 和b 应满足条件是( )29. 下面程序根据以下函数关系,对输入的每个x 值,计算出y 值,在( )填正确内容main( ) {int x,y; scanf(“%d,&x); if(1)y=x*(x+2); else if(2)y=2*x; else if(x<=-1)y=x-1; else ; if(y!=-1)printf(“%d ”,y); else printf(“error ”);}30. 下面程序根据以下函数关系,对输入的每个x 值,计算出相应的y 值.在( ) 填正确内容#include “math.h ” main( ) {int x,a; float y;scanf(“%d%d ”,&x,&a); if( )y=0; elseif( )y=sqrt(a*a-x*x); else y=x; printf(“%f ”,y);}31. 以下程序的功能是计算一元二次方程ax 2+bx+c=0的根,在( )填正确内容 #include “math.h ” main( ){float a,b,c,t,disc,twoa,term1,term2; printf(“enter a,b,c:”); scanf(“%f%f%f ”,&a,&b,&c); if( ) if( )printf(“no answer due to input error\n ”); elseprintf(“thesinglerootis%f\n ”,-c/b); else{disc=b*b-4*a*c; twoa=2*a;terml=-b/twoa; t=abs(disc); term2=sqrt(t)/twoa; if(3)printf(“complex root\n real part=%fimag part=%f\n ”, terml,term2); elseprintf(“realroots\nrootl=%froot2=%f\n ”,terml+term2,term1-te rm2);}}32. 以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在( )填正确内容. #include “math.h ” main( ) {float a,b,c; float s,area;scanf(“%f %f %f ”,&a,&b,&c); if( ) {s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“%f ”,area); if( ) printf(“等边三角形”); else if( ) printf(“等腰三角形”);else if((a*a+b*b= =c*c)| |(a*a+c*c= =b*b)||(b*b+c*c= =a*a) ) printf(“直角三角形”); else printf(“一般三角形”);} else printf(“不能组成三角形”);} 33. 某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei 计算的资料:重量(千克) 收费标准(元/公斤) wei<=10 0.80 10<wei<=20 0.75 20<wei<=30 0.70 请在程序的[ ]内填入正确的内容. main( ){float len,wei,hei,wid,mon,r;scanf(“%f %f %f %f ”,&len,&wid,&hei,&wei );if(len>1| |wid>1| |hei>1| |wei>30); else if(wei<10) r=0.8; else if(wei<=20) r=0.75; else if(wei<=30);if(r= =-1)printf(“error\n ”):else{ ;printf(“%f”,mon);} }34.以下程序的功能是判断输入的年份是否是闰年.请在[ ]内填入正确的内容.main( ){int y,f;scanf(“%d”,&y);if(y%400= =0) f=1;else if( ) f=1;else ;if(f)printf(“%d is”,y);else printf(“%d is not”,y);printf(“a leap year\n”);} 35.有四个数a, b, c, d,要求按从大到小的顺序输出.请在[ ]内填入正确内容main( ){int a,b,c,d,t;scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a<b){t=a;a=b;b=t;}if ( ){t=c;c=d;d=t;}if(a<c){t=a;a=c;c=t;}if( ){t=b;b=c;c=t;}if(b<d){t=b;b=d;d=t;}if(c<d){t=c;c=d;d=t;}printf(“%d %d %d %d\n”,a,b,c,d);} 36.以下程序的运行结果是__main( ){int a=2,b=3,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“%d\n”,c);}37.在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_______。

第五章基本结构程序参考答案

第五章基本结构程序参考答案

P102_5.6参考答案 参考答案1 参考答案
N Y
开始 BUF1偶数 偶数? 偶数 Y Y
BUF2偶数 偶数? 偶数 N
BUF1中数+1 中数+ 中数2偶数 偶数? 偶数 N
BUF1与BUF2交换 BUF1与BUF2交换
结束
DATA SEGMENT BUF1 DB 30H BUF2 DB 23H DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AL,BUF1 MOV BL,BUF2 TEST AL,01H JZ OS1 ;BUF1中为偶数 中为偶数 TEST BL,01H JZ EXIT ;BUF1中奇数 中奇数,BUF2为偶数 中奇数 为偶数 INC BUF1 ;均为奇数 均为奇数 INC BUF2 JMP EXIT
MOV AL,2 IMUL B CWD MOV BX,DX MOV CX,AX MOV AL,A IMUL C MOV DX,4 IMUL DX SUB CX,AX SBB BX,DX MOV RESULT,CX MOV RESULT+2,BX MOV AH,4CH INT 21H CODE ENDS END START
STRING NUM BCHAR LCHAR OTHER
LOP1: MOV AL,[SI] CMP AL,'#' JZ EXIT CMP AL,'0' JB OTHER1 CMP AL,'9' JBE NUM1 CMP AL,'A' JB OTHER1 CMP AL,'Z' JBE BCHAR1 CMP AL,'a' JB OTHER1 CMP AL,'z' JA OTHER1 LCHAR1: MOV BX,ADD1+2 MOV [BX],AL INC ADD1+2 JMP NEXT

C++语言程序设计(清华大学出版社)课后习题及答案 第 五 章 程序的结构

C++语言程序设计(清华大学出版社)课后习题及答案    第 五 章   程序的结构

void TelepathicFunction(); int main() { const int MaxCats = 5; Cat *CatHouse[MaxCats]; int i; for (i = 0; i<MaxCats; i++) { CatHouse[i] = new Cat(i); TelepathicFunction(); } for ( i = 0; i<MaxCats; i++) { delete CatHouse[i]; TelepathicFunction(); } return 0; } void TelepathicFunction() { cout << "There are " << Cat::GetHowMany() << " cats alive!\n"; } 程序运行输出: There are 1 cats alive! There are 2 cats alive! There are 3 cats alive! There are 4 cats alive! There are 5 cats alive! There are 4 cats alive! There are 3 cats alive! There are 2 cats alive! There are 1 cats alive! There are 0 cats alive!
5-8 什么叫做友元函数?什么叫做友元类?
解: 友元函数是使用 friend 关键字声明的函数,它可以访问相应类的保护成员和私有成员。友元 类是使用 friend 关键字声明的类,它的所有成员函数都是相应类的友元函数。
本页已使用福昕阅读器进行编辑。 福昕软件(C)2005-2009,版权所有, 仅供试用。

c语言第五章选择结构程序设计(习题册答案)

c语言第五章选择结构程序设计(习题册答案)

c语言第五章选择结构程序设计(习题册答案)第五章选择结构程序设计基础练习(A)一、填空题1、关系表达式的运算结果是逻辑值。

C语言没有逻辑型数据,以1代表“真”,以0代表“假”。

2、逻辑运算符!是单目运算符,其结合性是由右结合性。

3、C语言提供的三种逻辑运算符是&&、|| 、!。

其中优先级最高的为!,优先级最低的为| | 。

4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。

系统最终以0 和非0 来判定它们属于“真”或“假”。

5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。

6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x<z||y<="">7、条件“2<x<3或x<-10”的c语言表达式是x<-10||x>2&&x<3。

</x<3或x<-10”的c语言表达式是x<-10||x>8、判断char型变量ch是否为大写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。

9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。

11、已知A=,B=2,C=,表达式A>B&&C>A||A<b&&!c>B的值是0。

</b&&!c>12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。

13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。

14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。

C语言程序设计习题答案(1 5章)

C语言程序设计习题答案(1 5章)
4
case 6:m=2;break; case 7:m=3;break; case 8:m=4;break; default:m=5;break; } printf("m=%d\n",m); } Cprogram\xt4_4_1b.c #include "stdio.h" main() {int a,m; scanf("%d",&a); m=0; switch(a/10) {default:m++; case 8:m++; case 7:m++; case 6:m++; case 5:case 4:case 3:case 2: case 1:case 0:m++; } printf("m=%d\n",m); } 2. 编写程序,从键盘输入一个整数,打印出它是奇数还是偶数。 答:程序参见文件 Cprogram\xt4_4_2.c #include "stdio.h" main() {int a; scanf("%d",&a); if(a%2==1) printf("%d is a odd number !\n",a); else printf("%d is a even number !\n",a); } 3. 编写程序,从键盘输入一个字符,判别它是否是小写字母,如果是,将它转换为大写字母;如果不是, 不转换。然后输出最后得到的字符。 答:程序参见文件 Cprogram\xt4_4_3.c #include "stdio.h" main() {char ch; scanf("%c",&ch); if(ch>='a' && ch<='z') ch=ch-32; printf("%c\n",ch); } 4. 编写程序,从键盘输入一个不多于 4 位的正整数,打印出它是几位数。 答:程序参见文件 Cprogram\xt4_4_4.c #include "stdio.h" main()

CH05选择结构程序设计

CH05选择结构程序设计

C 语 言 程 序 设 计
void main(){ char c='k'; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf("%d,%d\n",'a'+5<c,-i-2*j>=k+1); printf("%d,%d\n",1<j<5,x-5.25<=x+y); printf("%d,%d\n",i+j+k==-2*j,k==j==i+5); }
第 五 章 选 择 结 构 程 序 设 计
wherex() wherey()
gotoxy(wherex()-1,wherey()) 一格*/ 一格
C 语 言 程 序 设 计
作业4 作业4
• C语言练习 语言练习CH5.doc 语言练习 • 上机实验:实验五 上机实验:
第 五 章 选 择 结 构 程 序 设 计
C 语 言 程 序 设 计
作业3 作业3
• 读取键盘,如果是a为左,w为上,z为 读取键盘,如果是 为左 为左, 为上 为 为上, 为右, 下,d为右,并做相应操作。注: 为右 并做相应操作。 #include <conio.h> gotoxy(x,y) /*将光标移动到 将光标移动到(x,y)处*/ 将光标移动到 处 /*当前光标 坐标 当前光标x坐标 当前光标 坐标*/ /*当前光标 坐标 当前光标y坐标 当前光标 坐标*/ /*向左移动 向左移动
作业2 作业2
第 五 章 选 择 结 ห้องสมุดไป่ตู้ 程 序 设 计
void main(){ char c='k'; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf("%d,%d\n",!x*!y,!!!x); printf("%d,%d\n",x||i&&j-3,i<j&&x<y); printf("%d,%d\n",i==5&&c&&(j=8),x+y||i+j+k); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章选择结构程序设计5.1 选择题【题5.4】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。

CA)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200)||(x<=210)C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)【题5.5C////////Xa b cA)(x<=a)&&(x>=b)&&(x<=c)B)(x<=a)||(b<=x<=c)C)(x<=a)||(x>=b)&&(x<=c)D)(x<=a)&&(b<=x<=c)【题5.6】判断char型变量ch是否为大写字母的正确表达式是。

CA)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch)【题5.10】设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。

BA)1 B)2 C)3 D)4【题5.11】判断char型变量c1是否为小写字母的正确表达式是。

DA)‘a’<=c1<=‘z’B)(c1>=a)&&(c1<=z)C)(‘a’>=c1)||(‘z’<=c1) D)(c1>=‘a’)&&(c1<=‘z’)【题5.12】以下程序的运行结果是。

B#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A)6,1 B)2,1 C)6,0 D)2,0【题5.13】执行以下语句后a的值为【1】,b的值为【2】。

CAint a,b,c;a=b=c=1;++a||++b&&++c;【1】A)错误B)0 C)2 D)1【2】A)1 B)2 C)错误D)0【题5.15】以下不正确的if语句形式是。

CA)if(x>y&&x!=y);B)if(x==y) x+=y;C)if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);D)if(x<y) {x++; y++;}【题5.17】已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

B if(x>y)z=x; x=y; y=z;A)x=10,y=20,z=30 B)x=20,y=30,z=30C)x=20,y=30,z=10 D)x=20,y=30,z=20【题5.18】以下if语句语法正确的是。

BA)if(x>0)printf(“%f”,x)else printf(“%f”,-x);B)if(x>0){ x=x+y; printf(“%f”,x);}else printf(“%f”,-x);C)if(x>0){ x=x+y; printf(“%f”,x);};else printf(“%f”,-x);D)if(x>0){ x=x+y; printf(“%f”,x) }else printf(“%f”,-x);【题5.19】请阅读以下程序:main(){int a=5,b=0,c=0;if(a=b+c) printf(“***\n”);else printf(“$$$\n”);}以下程序。

DA)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出*** D)输出$$$【题5.20】以下程序的运行结果是。

Cmain(){int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);}A)4 B)5 C)6 D)7【题5.21】当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是。

B if(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;A)1 B)2 C)3 D)6【题5.22下面程序段中能正确表示上面关系的是。

CA)y=x+1; B)y=x-1;if(x>=0) if(x!=0)if(x==0) y=x; if(x>0) y=x+1;else y=x-1; else y=x;C)if(x<=0) D)y=x;if(x<0) y=x-1; if(x<=0)else y=x; if(x<0) y=x-1;else y=x+1; else y=x+1;【题5.23】以下程序的输出结果是。

Cmain(){int a=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2) a=10;a=-1;printf(“%d\n”,a);}A)1 B)0 C)-1 D)值不确定【题5.24】以下程序的输出结果是。

Bmain(){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z);}A)3 B)2 C)1 D)0【题5.25】为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与配对。

BA)缩排位置相同的if B)其之前最近的ifC)其之后最近的if D)同一行上的if【题5.26】以下不正确的语句为。

BA)if(x>y);B)if(x=y)&&(x!=0) x+=y;C)if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y);D)if(x<y) { x++; y++; }【题5.27】请阅读以下程序:#include <stdio.h>main(){float a,b;scanf(“%f”,&a);if(a<0.0) b=0.0;else if((a<0.5)&&(a!=2.0)) b=1.0/(a+2.0);else if(a<10.0) b=1.0/x;else b=10.0;printf(“%f\n”,y);}若运行时输入2.0<回车>,则上面程序的输出结果是。

BA)0.000000 B)0.500000 C)1.000000 D)0.250000【题5.28】若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是。

BA)(exp==0) B)(exp!=0)C)(exp==1) D)(exp<>0)【题5.29】若运行时给变量x输入12,则以下程序的运行结果是。

A main(){int x,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A)0 B)22 C)12 D)10【题5.30】以下程序的运行结果是。

Dmain(){int k=4,a=3,b=2,c=1;printf(“\n%d\n”,k<a?k:c<b?c:a);}A)4 B)3 C)2 D)1【题5.31】执行以下程序段后,变量a,b,c的值分别是。

Bint x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A)a=9,b=9,c=9 B)a=8,b=8,c=10C)a=9,b=10,c=9 D)a=1,b=11,c=10【题5.32】若w、x、y、z、m均为int型变量,则执行下面语句后的m值是。

A w=1; x=2; y=3; z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A)1 B)2 C)3 D)4【题5.33】若w=1、x=2、y=3、z=4,则条件表达式w<x?w:y<z?y:z的值是。

D A)4 B)3 C)2 D)1【题5.34】执行以下程序段后的输出结果是。

Cint w=3,z=7,x=10;printf(“%d\n”,x>10?x+100:x-10);printf(“%d\n”,w++||z++);printf(“%d\n”,!w>z);printf(“%d\n”,w&&z);A)0 B)1 C)0 D)01 1 1 10 1 0 11 1 1 05.2 填空题【题5.35】当a=3,b=2,c=1时,表达式f=a>b>c的值是【】。

0【题5.36】当a=5,b=4,c=2时,表达式a>b!=c的值是【】。

1【题5.37】以下程序的运行结果是。

5 25 1#include <stdio.h>void main(void){int x=1,y,z;x*=3+2;printf(“%d\t”,x);x*=y=z=5;printf(“%d\t”,x);x=y==z;printf(“%d\n”,x);}【题5.38】在C语言中,表示逻辑“真”值用【】。

1【题5.39】设y为int型变量,请写出描述“y是奇数”的表达式【】。

y%2==1或 y%2!=0【题5.40】C语言提供的三种逻辑运算符是【1】、【2】、【3】。

&& || !【题5.41】设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式【】。

【题5.42】设x,y,z均为int型变量,请写出描述“x,y和z中有两个为负数”的表达式【】。

【题5.50】条件“2<x<3或x<-10”的C语言表达式是【】。

【题5.51】当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后;n的值是【0】,m的值是【1】。

相关文档
最新文档