第四章 选择结构课后编程题答案

合集下载

计算机二级c语言第四章选择结构习题与答案

计算机二级c语言第四章选择结构习题与答案

第四章选择结构一、选择题1、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==12、设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m3、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是A)(!a==1)&&(!b==0) B)(a < b)&& !c||1C)a && b D)a||(b+b)&&(c-a)4、有以下程序main(){ int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,05、有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k); }程序运行后的输出结果是A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 36、有以下程序main(){int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d++ +1);elseprintf("%d",++d +1);printf("%d\n",d); }程序运行后的输出结果是A) 2 B) 3 C) 43 D) 447、下列条件语句中,功能与其他语句不同的是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);8、以下4个选项中,不能看作一条语句的是A){;} B)a=0,b=0,c=0;C) if(a>0); D)if(b==0) m=1;n=2;9、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是A)if((a>b) &&(b>c) ) k=1; B)if((a>b) ||(b>c) ) k=1else k=0;C)if(a<=b) k=0; D) if(a>b) k=1;else if(b<=C) k=1; else if(b>c) k=1;else k=0;10、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a < b);printf("%d,%d\n",k,m); }程序运行后的输出结果是A)0,0 B)0,1 C)1,0 D)1,111、有定义语句: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;12、有以下程序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 13、有以下程序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);else printf("%d\n",d+2) }执行后输出结果是A)2 B)3 C) 4 D)编译时有错,无结果14、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A)6 B)0 C)2 D)115、以下程序的输出结果是main(){int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b)); }A)5 B) 4 C)6 D)不确定16、以下程序的输出结果是main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d); }A)1 B)0 C)非0的数 D)-117、设 a、b、 c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值为A) 0 B) 1 C)2 D) 318、阅读以下程序:main(){int x;scanf("%d",&x);if(x--<5) printf("%d",x);else printf("%d",x++);}程序运行后,如果从键盘上输入5,则输出结果是A)3 B) 4 C) 5 D) 619、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A)不定值 B)4 C)3 D)120、若执行以下程序时从键盘上输入9,则输出结果是A) 11 B) 10 C) 9 D) 8main(){int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}21、有如下程序main(){float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是A)0.000000 B)0.250000C)0.500000 D)1.00000022、有如下程序main(){int a=2,b=-1,c=2;if(a< b)if(b< 0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是A) 0 B)1 C) 2 D) 323、设 int x=1, y=1; 表达式(!x||y--)的值是A)0 B) 1 C) 2 D) -124、语句:printf("%d",(a=2)&&(b= -2));的输出结果是A)无输出 B)结果不确定 C)-1 D)125、有以下程序段int k=0,a=1,b=2,c=3; k=a< b ? b:a; k=k> c ? c:k;执行该程序段后,k的值是A)3 B)2 C)1 D)026、若整型变量a、b、c、d中的值依次为:1、4、3、2。

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第1章进入c语言程序世界二、1.i love china!printf(we are students.\n)2.6项目实训题参考答案1.编写一个c程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *i am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf(********************\n);printf( i am a student!\n);printf(********************\n);}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf(v=%d,v);}本程序运行结果为:v=3000第2章编制c程序的基础知识一选择题c b a b a c c二操作题,2,-8,23.000000,2.500000,-8.0000002. abc defghwhy is21+35equal 523.34214. aaa项目实训题1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。

#define m 5main(){ int n,c;n=2; c=m*n;printf(%d\n,c);}2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

实验四 答案 选择结构程序设计

实验四 答案  选择结构程序设计
②自变量w值从键盘输入,且输入前要有提示信息。
③数据的输出格式采用以下形式:w=输入值,x=计算值
④分别以行李重30公斤,80公斤为自变量,运行该程序。记录运行结果;
⑤源程序以ex4_8.c命名保存。
答案
/*文件名:ex4_8.C */
/*程序功能:计算行李托运费*/
#include <stdio.h>
printf("input x,y,z");
scanf("%d,%d,%d",&x,&y,&z);
if(x<y)
if(y<0)
z=0;
else
z++;
printf("z=%d\n",z);
}
具体要求:
①从键盘上给x、y、z分别输入2,-1,2,分析程序运行的结果。
②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。
程序运行结果:
a=2,b=1
在“case 3: a++; b++;”语句的下一行再加入default: a++; b++;语句,则运行结果不变。
(5)ex4_5.c
#include <stdio.h>
void main()
{
int a,b,n=0;
printf("input a,b:");
scanf("%d,%d",&a,&b);
if(x<0&& x!=-3)
y=x*x+x-6;
else if(x>=0 && x<10&& x!=2 && x!=3)

C程序设计(第五版)-第4章选择结构程序设计课后习题答案

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语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。

常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。

C语言第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下面程序段能正确表示以上关系的是()。

2020年《C语言程序设计》课后习题答案第四版谭浩强精编版

2020年《C语言程序设计》课后习题答案第四版谭浩强精编版
return 0;
}
第2章算法——程序的灵魂16
2.1什么是算法16
2.2简单的算法举例17
2.3算法的特性21
2.4怎样表示一个算法22
2.4.1用自然语言表示算法22
2.4.2用流程图表示算法22
2.4.3三种基本结构和改进的流程图26
2.4.4用N S流程图表示算法28
2.4.5用伪代码表示算法31
return 0;
}
3-7
#include <stdio.h>
int main ()
{float h,r,l,s,sq,vq,vz;
float pi=3.141526;
printf("请输入圆半径r,圆柱高h∶");
scanf("%f,%f",&r,&h); //要求输入圆半径r和圆柱高h
l=2*pi*r; //计算圆周长l
return 0;
}ቤተ መጻሕፍቲ ባይዱ
3-6
#include <stdio.h>
int main()
{char c1='C',c2='h',c3='i',c4='n',c5='a';
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5);
m=log10(p/(p-d*r))/log10(1+r);
printf("m=%6.2f\n",m);

《C语言程序设计》课后习题答案第四版谭浩强

《C语言程序设计》课后习题答案第四版谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

第四章选择结构程序设计习题解答

第四章选择结构程序设计习题解答

}
9、解:
#include "stdio.h" void main() {
float x, y; scanf("%f%f",&x,&y); if((x-2)*(x-2)+(y-2)*(y-2)>1) printf("点A在圆外\n"); else if((x-2)*(x-2)+(y-2)*(y-2)==1) printf("点A在圆上\n"); else printf("点A在圆内\n"); }
12、解:(2)嵌套的if语句 #include "stdio.h" void main() { float x; scanf("%f",&x); if(x>-5&&x<8) { if(x<0) printf("y=%f",x-1); else if(x==0) printf("y=%f",x); else printf("y=%f",x+1); } else printf("Data undefine! "); }
开始Βιβλιοθήκη 10 解:输入年、月 判断是否为闰年 用一整型变量标识,1表示是,0表示否
Month==1、 3、 5、 7、8、10、12?
N Month==2 N
N
Month== 4、6、9、11?
N
Month==其它值
Y
闰年 Y
Y
Y
输出31天
输出29天
输出28天
输出30天
输出数据错误
结束

C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)

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"); }

第4章 选择结构程序习题解答

第4章 选择结构程序习题解答

第4章选择结构程序设计习题解答1.设x、t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为 0 。

2.假定所有变量均已正确定义,则程序段:int a=0,y=10;if(a=0) //条件式为0y--;else if(a>0)y++;elsey+=y;运行后y的值是 20 。

3.能表述20<x<30或x<-100的C语言表达式是 x>20 && x<30 || x<-100 。

4.若有定义语句“int a=25,b=14,c=19;”,则以下语句执行结果是 ***a=25,b=14,c=19*** 。

if(a<=25 && b<=2 && c)printf("***a+b=%d,a-b=%d***\n",a+b,a-b);elseprintf("***a=%d,b=%d,c=%d***\n",a,b,c);5.假定i和j为int型变量,则执行以下语句后i的值是 37 。

#include<stdio.h>void main(){int i=1,j;switch(i){case 1:for(j=0;j<9;j++)i+=j;break;case 2:for(j=1;j<10;j++)i+=j;break;case 3:i++;}}6.以下两条if语句:可合并成一条if语句,即。

if(a<=b)x=1;y=2;if(a>b)printf("***y=%d\n",y);elseprintf("***x=%d\n",x);可合并成一条if语句,即:if(a<=b){x=1;printf("***x=%d\n",x);}else{y=2;printf("***y=%d\n",y);}7.输入两个字符,若这两个字符的序号(ASCII码)之差为偶数,则输出它们的后继字符,否则输出它们的前驱字符。

visual basic 程序设计课后习题参考答案

visual basic 程序设计课后习题参考答案

Visual basic 程序设计习题参考答案第一章Visual basic 程序设计一、选择题二、填空题三、简答题1、简述visual basic 的特点。

(1)具有可视化的设计平台(2)面向对象的设计方法(3)事件驱动的编程机制(4)结构化程序设计语言(5)开放的数据库功能与网络支持2、什么是对象、类、属性、事件和方法?在可视化编程语言中,对象是代码和数据的集合,它可以是窗体和控件,也可以是菜单和数据库等。

描述一个对象有三个基本要素:属性、方法和事件。

类是一组用来定义对象的相关过程和数据的集合,即同类对象的集合和抽象。

属性是描述对象的一组特性。

方法是对象能够执行的动作,它是对象本身内含的函数或过程,用于完成某种特定的功能。

事件是发生在对象上并且能够被对象识别的动作,即由系统预先设置好的、能被对象识别的动作,如Click(单击)、DblClick(双击)、Load(窗体的装载)、KeyPress(按键)、Change(改变)、MouseMove (鼠标的移动)等,每一种对象能识别的事件是不同的5、什么是事件驱动的编程机制?当某个事件(一般由用户操作来触发) 发生时,系统就会自动执行此事件的事件过程。

由事件控制整个程序的执行流程。

事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式。

第二章Visual basic 程序设计基础一、选择题二、填空题第三章数据输入输出一、选择题二、填空题3第四章选择结构和循环结构程序设计一、选择题二、填空题第五章数组一、选择题二、填空题第六章过程一、选择题二、填空题三、简答题1、简述事件过程和通用过程的含义和联系。

5VB应用程序是由过程组成的,过程是完成某种特殊功能的一组独立的程序代码。

VB中的过程有两大类:事件过程和通用过程事件过程是当发生某个事件时,对该事件作出响应的程序段。

事件过程由VB自行声明,用户不能增加或删除。

事件过程是VB 应用程序的主体。

第四章:选择结构

第四章:选择结构

1.从键盘输入两个变量的值,输出较大值。

(变成三个变量,输出较大值)2.两个变量按大小顺序输出。

(变成三个变量,四个变量按顺序输出)有四个数a,b,c,d,要求按从大到小的顺序输出。

请在【】内填入正确内容。

main(){int a,b,c,d;scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a<b) { t=a; a=b; b=t; }if(【1】) { t=c; c=d; d=t; }if(a<c) { t=a; a=c; c=t; }if(【2】) { 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);}3.写一程序求y值 (x值由键盘输入)。

4.输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。

5.有三个数a、b、c,由键盘输入,输出其中最大的数。

6.输入一个数,判断它能否被 3或者被 5整除, 如至少能被这两个数中的一个整除则将此数打印出来,否则不打印,编出程序。

7.读入1到7之间的某个数,输出表示一星期中相应的某一天的单词:Monday、 Tuesday 等等,用switch语句做。

8.给出一百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’,90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。

9.有一函数请编程序计算y的值(x的值由键盘输入)。

10.编写一个程序,功能是从键盘输入一个整数,判断它是否二位数,如果是,就打印它,然后结束程序,否则继续要求输入数。

11.编写一个程序,功能是从键盘输入三个整数,打印出其中最大的一个值。

第4章 选择结构课堂练习(有答案版)

第4章 选择结构课堂练习(有答案版)

C程序设计第4章选择结构习题一、单选题(每小题4分,共40分)1、以下程序输出结果是#include <stdio.h>int main ( ){ int m=5;if (m++ > 5) printf ("%d\n",m);else printf ("%d\n",m--);return 0;}A.7B.6C.5D.4参考答案: B (自加运算符的优先级高于关系运算符)2、以下程序的输出结果是#include <stdio.h>int main( ){ int a=-1, b=1;if((++a<0)&& !(b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A.-1 1B.0 1C. 1 0D.0 0参考答案: C(因为(++a<0)已经为假,!(b--<=0)不会被执行,所以b不会改变)3、下面的程序是______int main( ){ int x=3,y=0,z=0;if (x==y+z) printf("****");else printf("####");}A.有语法错误不能过通过编译B.输出****C.可能通过编译,但是不能通过连接,因而不能运行D.输出####参考答案: D4、执行下面语句后的输出为( )#include<stdio.h>int main( ){ int i=-1;if (i<=0) printf("****\n")else printf("%%%%\n")A.****B.%%%%C.%%%%CD.有语法错,不能执行参考答案: D (%是格式引导符,后面的会认为是格式字符)5、请读程序:#include<stdio.h>int main( ){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;}printf("a=%d,b=%d\n",a,b);}上面程序输出结果是A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=0参考答案: A (再次理解一旦从某个case分支进来,顺序执行的思想)6、有如下程序#include<stdio.h>int 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=1B.a=1,b=1C.a=1,b=0D.a=2,b=2参考答案: A (没有break语句就会顺序执行)7、有如下程序#include<stdio.h>int main( ){ int a=2, b=-1, c=2;if(a < b)if(b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是A.0B.1C.2D.3参考答案: C (else和内层if配对,a<b不成立,则直接跳到printf语句)8、阅读以下程序:#include<stdio.h>int main( ){ int x;scanf("%d",&x);if(x--<5) printf("%d"'x);else printf("%d",x++);}程序运行后,如果从键盘上输人5,则输出结果是A.3B.4C.5D.6参考答案: B9、执行完下面一段程序后x的值是#include<stdio.h>int main( ){ a=1,b=3,c=5,d=4;if(a < b)if(c < d) x=1;else if(a < c)if(b < d) x=2;else x=3;else x=6;else x=7;}A.1B.2C.3D.6参考答案: B10、下列程序段运行后x的值是( )。

c语言第4章 选择结构程序设计习题答案

c语言第4章 选择结构程序设计习题答案

c语言第4章选择结构程序设计习题答案-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN第4章选择结构程序设计习题(P111)C语言中如何表示“真”和“假”系统如何判断一个量的“真”和“假”答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。

写出下面各逻辑表达式的值。

设a=3,b=4,c=5。

(1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1(4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2解:该题在求解过程中注意:一、优先级。

逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;二、逻辑表达式的求值规则。

(P94)所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1有3个整数a、b、c,由键盘输入,输出其中最大的数。

分析:这是一个规模较小的求最值的算法,习题用函数的方法实现。

该题不用函数调用实果。

法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。

其中都要用到单分支或双分支选择结构语句。

参考程序如下:main(){ int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/printf("\ninput the value of a,b,c:"); /*提示输入*/scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/if(a>b) max=a;else max=b;if(max<c) max=c;printf("\nmax=%d\n",max);}法二:main(){ int a,b,c,max;printf("\ninput the value of a,b,c:");scanf("%d%d%d",&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf("\nmax=%d\n",max);}有一个函数:写一段程序,输入x,输出y的值。

第四章课后编程题答案

第四章课后编程题答案

第四章课后编程题答案//编写一个函数,计算直角坐标系中点a(x0,y0)到点b(x1,y1)的距离。

#include <iostream.h>#include <math.h>float length(float x0,float y0,float x1,float y1)//求两点距离的子函数{return sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));;}void main(){float x0,x1,y0,y1;cout<<"Input x and y of a point:";cin>>x0>>y0;cout<<"Input x and y of b point:";cin>>x1>>y1;cout<<"The length from a to b is "<<length(x0,y0,x1,y1)<<endl;}//求a!+b!+c!的值,其中求n!要用一个函数实现,通过主函数输入a、b和c的值,并在主函数中输出计算的结果。

#include <iostream.h>int factorial(int n)//求两点距离的子函数{int sum=1;for (int i=1;i<=n;i++)sum*=i;return sum;}void main(){int a,b,c;cout<<"Input a,b,c:";cin>>a>>b>>c;cout<<"a!+b!+c!="<<factorial(a)+factorial(b)+factorial(c)<<endl;}//编写一个函数。

C语言程序设计(第2版)-- 课后题答案.

C语言程序设计(第2版)-- 课后题答案.

《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。

#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

C程序设计第4章选择结构复习题及答案

C程序设计第4章选择结构复习题及答案
3.若x为int类型,请以最简单的形式写岀与!x等价的C语言表达式_x==0__.
6.以下程序的运行结果是__0_.
main()
{ int a=O,b=O,c;
if(a>b) c=1;
else if(a=b) c=0;
else c=-1;
printf( %d\n”,c);
}
8.若从键盘上输入3和4,执行以下程序后的输出结果是_36_.
{case 1: printf( @”);break;
case 0: printf( break;
}
case 0: switch(c==5)
{case 0: printf( *"); break;
case 1: printf( #"); break;
default: printf(%”;
} break;
6. 已有定义语句:int x=6,y=4,z=5;,执行以下语句后,能正确表示x,y,z值的选项是:(C)
z=x;x=y;y=z;
a)x=4,y=5,z=6
b)x=4,y=6,z=6
c)x=4,y=5,z=5
d)x=5,y=6,z=4
7.以下程序的运行结果是:(D)
main()
{ int i=0;
a)ab) !(++a) c) a=0 d) a==0
12.有以下程序:
main()
{ int a=2,b=1,c=2;
if(b<a)
if(b<0) c=0,
c++;b++;
printf( b=%d,c=%d\n”,b,c);
}
程序的输岀结果是:(C)

第4章 选择结构 习题答案

第4章 选择结构 习题答案

第四章选择结构习题答案一、选择题:4.1A运算符的优先级排列是这样的:!(逻辑非)、算术运算、关系运算、&&(逻辑与)、||(逻辑或)、条件运算、赋值运算4.2A同上4.3A逻辑与用&&表示。

4.4D括号内(a<b)的值为1,!c的值为0,二者逻辑与(&&)之后得0,然后与1逻辑或后得1,最后逻辑非得0.4.5C4.6A条件运算符是右结合的也就是先算出最右边的条件表达式的值:z<y的值为1,所以表达式的值为z,即1.再算整个条件表达式的值:w<x条件不成立,则表达式的值为右边的条件表达式的值。

4.7Ba<b条件成立,所以执行if子句s=b,s*=s即s=s*s得16.其他的肯定不对,怎么算也得不出来啊。

4.8C看外面的if语句,当x不等于0时,看内嵌的if语句,如果x>0则y=1,否则y=0。

那么当x=0时,y就等于-1了。

4.9D我看大家肯定都看出来了,if子句少了一个分号。

4.10C为什么?听我道来:A中的switch 后面的表达式不是整型表达式;B的switch (表达式)后多了一个分号;D则case10之间无空格。

只有C,呵呵二、填空题:4.11 1 04.12<、>、<=、>=、==、!= 好象空格不够填4.13! 、&&、||。

4.14!、<、>、<=、>=、==、!=、&&、||。

好象空格不够填4.15!单目运算符,很特别。

4.16A)a= =b||a<c B)x>4||x<-44.171执行else子句,a<=100的值为1.4.18A)x<=0 B)14.19a=3、b=2、c=2、注意if的子句只有一句b=a;因为没有花括号把三句全括起来,所以不能上当哦。

这个子句并没有执行。

4.20如果z=3后面有一个分号的话,那么这个语句段的输出结果是:*#三、编程题:4.21 switch语句如下:switch (a/10){ case 0 :case 1 :case 2 : m=1: break;case 3 : m=2; break;case 4 : m=3; break;case 5 : m=6; break;defaut : m=5;}4.22 我的理解"实足年龄"指的是周岁吧。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

石家庄市求实电脑职业培训学校全国计算机等级考试
二级C语言程序设计
统编教程课后编程题参考答案
第四章选择结构
全国统编教程第49页
石家庄市求实电脑职业培训学校
4.21 若a 的值小于100,请将以下选择结构改写成由switch 语句构成的
选择结构。

if(a<30) m=1;
else if(a<40) m=2;else if(a<50) m=3;else if(a<60) m=4;else m=5;
30
40
50
60
100
m=1m=2m=3m=4m=5
switch(a/10)
{ case 3:m=2;break;case 4:m=3;break;case 5;m=4;break;case 6:case 7:
case 8:case 9:m=5;break;default:m=1;}
此类试题需要绘制一个数轴,进行分析并写出程序。

石家庄市求实电脑职业培训学校
4.22 编写程序,输入一位学生的生日(年:y0、月:m0、日:d0),并
输入当前的日期(年:y1、月:m1、日:d1 ),输出该省的实际年龄。

# include <stdio.h>main()
{ int y0,m0,d0;int y1,m1,d1;int age;
printf(“请输入出生年月日:”);
scanf(“%d,%d,%d”,&y0,&m0,&d0);printf(“\n 请输入当前年月日:”);
scanf(“%d,%d,%d”,&y1,&m1,&d1);if(y1<y0) printf(“输入错误!\n”);else if(m0<m1) age=y1-y0;else if(m0>m1) age=y1-y0-1;else if(d0<=d1) age=y1-y0;else if(d0>d1) age=y1-y0-1;
printf(“\n 该生年龄为:%d \n”,age);}
石家庄市求实电脑职业培训学校
4.23 编写程序,输入一个整数,打印出它是奇数还是偶数。

# include <stdio.h>main(){ int num;
printf(“请输入一个整数:”);scanf(“%d”,&num);if(num%2)
printf(“%d是奇数\n”,num);else
printf(“%d是偶数\n”,num);}
石家庄市求实电脑职业培训学校
4.24 编写程序,输入a 、b 、c 三个数,打印出最大值。

# include <stdio.h>main()
{ int a,b,c;int max;
printf(“请输入三个整数:”);
scanf(“%d,%d,%d”,&a,&b,&c);
printf(“a=%d,b=%d,c=%d \n”,a,b,c);max=a;
if(b>max) max=b;if(c>max) max=c;
printf(“max=%d \n”,max);}
石家庄市求实电脑职业培训学校
4.25 对于以下函数:
y=
x (-5<x<0)x-1 (x=0)
x+1 (0<x<10)
编写程序,要求输入x 的值,输出y 的值。

分别用:(1)不嵌套的if 语句(2)嵌套的if 语句(3)if-else if 语句(4)switch 语句
石家庄市求实电脑职业培训学校
-5
10
(1)不嵌套的if 语句
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);if(x>-5 && x<0) y=x;if(x==0) y=x-1;
if(x>0 && x<10) y=x+1;printf(“y=%d \n”,y);}
石家庄市求实电脑职业培训学校
-5
10
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);if(x==0) y=x-1;if(x<0)
if(x>-5) y=x;else
if(x<10) y=x+1;printf(“y=%d \n”,y);}
石家庄市求实电脑职业培训学校
-5
10
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);if(x>-5 && x>0) y=x;else if(x==0) y=x-1;else if(x<10) y=x+1;printf(“y=%d \n”,y);}
石家庄市求实电脑职业培训学校
-5
10
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);switch(x)
{ case -4:case -3:case -2:case -1:y=x;break;case 0:y=x-1;break;
case 1:case 2:case 3:case 4:case 5:
case 6:case 7:case 8:case 9:y=x+1;break;}
printf(“y=%d \n”,y);}。

相关文档
最新文档