河南理工大学C语言课后习题答案.ppt
,第四章 选择结构程序设计,1.选择题(1)以下关于运算符的优先级顺序的描述中正确的是关系运算符=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(x=210),c,c,第四章 选择结构程序设计,1.选择题(3)对于以下程序,输出结果为 A#include main()int a,b,c;a=b=c=0;printf(“%d,%d,%d,%d”,a,b,c,a+1,0,1,0B.1,1,1,0C.1,0,1,1D.1,1,1,1,第四章 选择结构程序设计,1.选择题(4)两次运算下面的程序,如果从键盘上分别输入6和4,则输出结果是#include main()int x;scanf(%d,7和5B.6和2C.7和4D.6和4,A,第四章 选择结构程序设计,1.选择题(5)对于以下程序,输出结果为#include main()int x=3,y=0,z=0;if(x=y+z)printf(“*”);else printf(“#”):有语法错误不能通过编译输出*可以通过编译,但不能通过连接,因而不能运行输出#,D,第四章 选择结构程序设计,1.选择题(6)下面的程序片段所表示的数学函数关系是 y=-1;if(x!=0)if(x0)y=1;else y=0,-1(x0),1(x0),0(x0),-1(x0),C,第四章 选择结构程序设计,1.选择题(7)对于以下程序,若从键盘输入2.0,则程序输出为#include main()float x,y;scanf(%f,C,第四章 选择结构程序设计,1.选择题(8)对于以下程序,输出结果为#include 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=%dn”,a,b);,a=2,b=1a=1,b=1a=1,b=0a=2,b=2,A,第四章 选择结构程序设计,1.选择题(9)执行以下程序段后,变量a,b,c的值分别是 int x=10,y=9;int a,b,c;a=(-x=y+)?-x:+y;b=x+;c=y;,a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=1,c=10,B,第四章 选择结构程序设计,1.选择题(10)若w=1,x=2,y=3,z=4,则表达式wx?w:yz?y:z 4B.3C.2D.1,D,第四章 选择结构程序设计,2.填空题(1)按下列要求写出C语言表达式:a,b,c三个变量中至少有两个大于0a小于b或小于ca的绝对值大于5a是非正整数a不能被b整除,a0&b0|a0&b0|b0&c0,ab|ac,a5|a-5,a0&(int)a!=a,a%b!=0,第四章 选择结构程序设计,2.填空题(2)写出与下列表达式等价的表达式:。x5(3)当a=1,b=2,c=3时,执行以下if语句后,a、b、c中的值分 别为、。if(ac)b=a;a=c;c=b;,!(x0),1,!(x=0)&x=5),3,1,1,第四章 选择结构程序设计,2.填空题(4)输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变,请在横线上填入正确内容.main()char ch;scanf(“%c”,ch=A&ch=Z),ch=ch-32,第四章 选择结构程序设计,2.填空题(5)下面程序根据以下函数关系,对输入的每个x值,计算y值。请在横线填上正确内容。,x(x+2)(2 x 10)y=2x(-1x 2)x-1(x-1),main()int x,y;if()y=x*(x+2);else if()y=2*x;else if(x=-1)y=x-1;else;if(y!=-1)printf(“%d”,y);else printf(“error”);,X2&x=10,x-1&x=2,y=-1,第四章 选择结构程序设计,2.填空题(6)以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请在横线上填入正确内容。,三角形三边关系定理:三角形两边之和大于第三边。推论:三角形两边之差小于第三边。判断三条已知线段a、b、c能否组成三角形。其常用方法是:当a+bc;b+ca;a+cb都成立时,能组成三角形。若a最长,只需满足b+ca即可组成一个三角形,#include main()float a,b,c;float s,area;scanf(“%f%f%f”,a+ba&b+ca&a+cb,a=b&b=c,a=b|a=c|b=c,第四章 选择结构程序设计,2.填空题(7)根据以下函数关系,对输入的每个x值,计算相应的y值。请在横线填上正确内容。,main()int x,c;float y;scanf(“%d”,x0,c=x/10,y!=-2,第四章 选择结构程序设计,3.编程题(1)编写程序,输入一个整数,打印出它是奇数还是偶数#include void main()int a;printf(input a number:);scanf(%d,第四章 选择结构程序设计,3.编程题(2)编写程序计算下面的函数,要求输入x的值,输出y的值,#include main()int x,y;printf(please input a number);scanf(%d,第四章 选择结构程序设计,3.编程题(2)编写程序计算下面的函数,要求输入x的值,输出y的值,#include void main()int x,y;scanf(“%d”,第四章 选择结构程序设计,3.编程题(3)当a为正数时,请将以下语句改写成switch语句if(a30)m=1;else if(a40)m=2;else if(a50)m=3;else if(a50)m=4;else m=5;,#include main()int a,m;printf(please input a number:);scanf(%d,第四章 选择结构程序设计,3.编程题(3)当a为正数时,请将以下语句改写成switch语句if(a30)m=1;else if(a40)m=2;else if(a50)m=3;else if(a50)m=4;else m=5;,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=4;break;default:m=5;,第四章 选择结构程序设计,3.编程题(4)对一批货物征收税金,价格在1万元以上的货物片收5%;价格在5000元以上、一万元以下的货物征税3%;价格在1000元以上、5000元以下的货物征税2%;货物在1000元以下的货物免税。编写程序,读入货物的价格计算并输出税金。,#include main()float price,tax;printf(please input the price of product:);scanf(%f,#include void main()float p,d,s;printf(“输入货物价格:”);scanf(“%f”,第四章 选择结构程序设计,3.编程题(5)编写一个程序,输入某个学生成绩,若成绩在85 分以上,则输出“VERY GOOD”;若成绩在60分到85分之间,则输出“Good”;若成绩低于60分,则输出“BAD”。#include void main()float score;printf(“please input the score of student:”);scanf(“%f”,第四章 选择结构程序设计,3.编程题(6)编写程序,输入两个两位数的正整数x,y,将这个两个数合并成一个整数放在z中。合并的方式是:将x数的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的百位和个位上。例如,当x=12,y=34时,z=1324.(对输入的数据进行判断,若是两位正整数,则进行处理,否则给出提示),#include main()int x,y,z;printf(input two number:);scanf(%d%d,第四章 选择结构程序设计,3.编程题(6)编写程序,输入两个两位数的正整数x,y,将这个两个数合并成一个整数放在z中。合并的方式是:将x数的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的百位和个位上。例如,当x=12,y=34时,z=1324.(对输入的数据进行判断,若是两位正整数,则进行处理,否则给出提示),#include void fun(int a,int b)int c,a1,a2,b1,b2;if(a99|b99)/必须加错误判断printf(请确保输入的a,b是一个两位的正整数n);return;a1=a/10;/求a的十位数a2=a%10;/求a的个位数b1=b/10;/求b的十位数b2=b%10;/求b的个位数c=b2*1000+b1*100+a2*10+a1;printf(%dn,c);void main()int a,b;printf(请输入a,bn);scanf(%d%d,