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<z 。
7、条件“2<x<3或x<-10”的C语言表达式是x<-10||x>2&&x<3。
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=7.5,B=2,C=3.6, 表达式A>B&&C>A||A<B&&!C>B的值是0 。
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 。
!(x>y)+(y!=z)||(x+y)&&(y-z)15.有int a=3,b=4,c=5,x,y;, 则以下表达式的值为0 。
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语言表达式是。
选择结构程序设计练习题
选择结构程序设计练习题1.逻辑运算符两侧运算对象的数据类型( )A.只能是0和1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据2.下列运算符中优先级最高的是( )A.<B.+C.&&D.!=3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( )A.(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)4.表示图中坐标轴上阴影部分的正确表达式是( )A.(x<=a)&&(x>=b)&&(x<=c)B.(x<=a)||(b<=x<=c)C.(x<=a)||(x>=b)&&(x<=c)D.(x<=a)&&(b<=x<=c5.判断char型量ch是否为大写字母的正确表达式是()A.‘A’<=ch<=‘Z’B.(ch>=‘A’)&(ch<=‘Z’)C.(ch>=‘A’)&&(ch<=‘Z’)D.(‘A’<=ch)AND(‘Z’>=ch)6.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()A.‘x’&&‘y’B.x<=yC.x||y+z&&!yD.!(x<y)&&!z||1)7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是()A.0B.语法错误C.1D.“假”8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()A.A%2==1B.!(A%2==0)C.!(A%2)D.A%29.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为()A.1B.2C.3D.410.下列运算符中优先级最低的是( )优先级最高的是( )A.?B.&&C.+D.!=11.以下程序的运行结果是( )#include<stdio.h>main(){int a,b,d=241;a=d/100%9; b=(-1)&&(-1);printf(“%d,%d”,a,b);}A.6,1B.2,1C.6,0D.2,012.执行以下语句后a的值为( )int a,b,c;a=b=c=1; ++a||++b&&++c;A.错误B.0C.2D.1A.1B.2C.错误D.013.执行以下语句后的值为(),b的值()int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);A.5B.0C.2D.1 A.6 B.0 C.1 D.414.以下不正确的if语句形式是()A.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++;}15.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )if(x>y) z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2016.以下语句语法正确的是:( )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=xy; pri ntf(“%f”,x);};else printf(“%f”,-x);D.if(x>0){x=x+y;printf(“%f”,x)}else printf(“%f”,-x);17.请阅读以下程序,该程序( )main(){int a=5,b=0,c=0;if(a+b+c) printf(“***\n”); else printf(“$$$\n”);}A.有语法错误不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$18.以下程序的运行结果是( )main(){int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);} A.4 B.5 C.6 D719.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x 的值是( )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.620.有一函数关系如下:x-1(x<0)y={ x(x=0)x+1 (x>0)则下面程序段中能正确表示上面关系的是( )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;21.以下程序的输出结果是( )main(){int a=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;else if(ok2) a=10;a=-1; printf(“%d\n”,a);}A.1B.0C.-1D.值不确定22.以下程序的输出结果是( )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.023.为了避免在嵌套的条件语句if--else中产生二义性,C语言规定:else子句总是与( )配对。
C语言练习题
0《C程序设计》单元练习(基本概念、顺序结构)一、选择题1、C语言程序的基本单位 3 。
(1)程序行(2)语句(3)函数(4)字符2、下列说法中正确的是 3 。
(1)C语言程序总是从第一个定义的函数开始执行。
(2)在C语言程序中要调用的函数必须在main()函数中定义(3)C语言程序总是从main()函数开始执行(4)C语言程序中的main()函数必须在程序的开始部分3、设有语句int a=3,则执行语句a+=a-=a*a以后变量a的值是 4 。
(1)3 (2)0 (3)9 (4)-124、在C语言中,要求运算数必须是整数的运算符是 1 。
(1)% (2)/ (3)< (4)15、C语言中最简单的数据类型包括 2 。
(1)整型、实型、逻辑型(2)整型、实型、字符型(3)整型、字符型、逻辑型(4)整型、实型、逻辑型、字符型6、C语言提供的合法的数据类型关键字是 124 。
(1)double (2)short (3)integer (4)char7、合法的C语言字符常量是 1 。
(1)‘t’(2)“A”(3)65 (4)A8、在C语言中,合法的字符常量是 2 。
(1)‘\084’(2)‘\X43’(3)‘ab’(4)“\0”9、设有语句char a=‘\72’,则变量a是 1 。
(1)包含1个字符(2)包含2个字符(3)包含3个字符(4)说明不合法10、以下程序的输出结果是 2main(){ int i=010 ,j=10;printf(“%d,%d\n”,++i,j--);}(1)11、10 (2)9、10 (3)010,9 (4)10,911、下面程序的输出是 3 。
main(){ unsigned a=32768;print(“a=%d\n”,a);}(1)a=32768 (2)32767 (3)a=-32768 (4)a=-112、设X,Y,Z和K是int型变量,则执行表达式:X=(Y=4,Z=16,K=32)后,X的值为 3 。
C语言选择结构程序设计练习题
C语⾔选择结构程序设计练习题第四章选择结构程序设计⼀、填空1.在C语⾔中,表⽰逻辑“真”值⽤_________。
2.得到整型变量a的⼗位数字的表达式为_________。
3.表达式:(6>5>4)+(float)(3/2)的值是_________。
4.表达式:a=3,a-1‖--a,2*a的值是_________。
(a是整型变量)5.表达式:(a=2.5-2.0)+(int)2.0/3的值是_________。
(a是整型变量)6.C语⾔编译系统在给出逻辑运算结果时,以数值_________代表“真”,以_________代表“假”;但在判断⼀个量是否为“真”时,以_________代表“假”,以_________代表真。
7.当m=2,n=1,a=1,b=2,c=3时,执⾏完d=(m=a!=b)&&(n=b>c)后,n的值为_________,m的值为_________。
8.若有int x,y,z;且x=3,y=-4,z=5,则表达式:!(x>y)+(y!=z)||(x+y)&&(y-z)的值为_________。
⼆、编程:1.企业发放的奖⾦根据利润提成。
利润(i)低于或等于10万元时,奖⾦可提10%;利润⾼于10万元,低于20万元时,低于10万元的部分按10%提成,⾼于10万元的部分,可提成7.5%;20万到40万之间时,⾼于20万元的部分,可提成5%;40万到60万之间时⾼于40万元的部分,可提成3%;60万到100万之间时,⾼于60万元的部分,可提成1.5%,⾼于100万元时,超过100万元的部分按1%提成,从键盘输⼊当⽉利润i,求应发放奖⾦总数?2.输⼊三个整数x,y,z,请把这三个数由⼩到⼤输出。
3.输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?4.本程序演⽰从键盘输⼊x的值,计算并打印下列分段函数的值。
y=0(x<60)y=1(60<=x<70)y=2(70<=x<80)y=3(80<=x<90)y=4(x>=90)5.在显⽰器上显⽰⼀个菜单程序的模型。
C语言习题四选择结构程序设计
习题四选择结构程序设计1. 设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是______。
A、if(x++);B、if(x>y && y!=0);C、if(x>0) x--D、if(y<0) {;}else y++; else x++;解析:本题考查的是if语句。
if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。
选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。
故本题答案选C。
2. 有以下程序main(){ int i;for(i=1;i<=40;i++){ if(i++%5==0)if(++i%8==0) printf ("%d",i);}printf("\n"); }执行后的输出结果是______。
A、5B、24C、32D、40解析:本题考查的是if语句的应用。
在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。
故本题答案选C。
3. 在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对解析:本题考查的是if语句的使用规则。
在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。
故本题答案为C。
4. 有以下程序main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k); }程序运行后的输出结果是______。
(完整版)c语言选择结构试题带答案
(完整版)c语言选择结构试题带答案一、选择题1. 以下非法的赋值语句是A: n=(i=2,++i); B: j++; C: ++(i+1); D: x=j>0;2. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2 的值是A: 6 B: 0 C: 2 D: 13. 阅读以下程序:main(){ int x;scanf(“%d”,&x);if(x--<5) printf(“%d”,x);else printf(“%d”,x++);}程序运行后,如果从键盘上输人5,则输出结果是()。
A: 3 B: 4 C: 5 D: 64. 有如下程序main0{ int a=2,b=-1,c=2;if(a<b)< bdsfid="79" p=""></b)<>if(b<0) c=0;else c++printf("%d\n",c);}该程序的输出结果是A: 0 B: 1 C: 2 D: 35. 有以下程序#includemain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是( )。
A: 2,1 B: 3,2 C: 4,3 D: 2,-16.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + >5) printf("%d",x);else printf("%d\n",x - -); }A: 7 和5 B: 6 和3 C: 7 和4 D: 6 和47. 能表示x 为偶数的表达式是A: x%2==0 B: x%2==1 C: x%2 D: x%2!=08. 下面的程序段中共出现了几处语法错误?int a,b;scanf("%d",a);b=2a;if(b>0) printf("%b",b);A: 1 B: 2 C: 3 D: 49. C 语言中,逻辑“真”等价于A: 大于零的数B: 大于零的整数C: 非零的数D: 非零的整数10. C 语言的switch 语句中,case 后A: 只能为常量B: 只能为常量或常量表达式C: 可为常量及表达式或有确定值的变量及表达式D: 可为任何量或表达式11. 已知int i=10;表达式"20-0<=i<=9"的值是A: 0 B: 1 C: 19 D: 2012. 设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为A: 1 B: 2 C: 3 D: 013. 逻辑运算符两侧运算对象的数据类型A: 只能是0 或1B: 只能是0 或非0 正数C: 只能是整型或字符型数据D: 可以是任何类型的数据14. 能正确表示“当x 的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A: (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)15. 已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值是()A: 0 B: 1 C: 语法错误D: 假16. 执行下列语句后a 的值为int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);A: 5 B: 0 C: 2 D: 117. 以下程序的输出结果是()main(){ int a=5,b=0,c=0;if(a=b+c) printf(“***\n”);else printf(“$$$\n”);}A: 有语法错误不能通过编译B: 可以通过编译但不能通过连接C: ***D: $$$18. 以下程序的输出结果是()main(){ int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);}A: 4 B: 5 C: 6 D: 719. 若运行时给变量x 输入12,则以下程序的运行结果是()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: 1020. 若w=1,x=2,y=3,z=4,则表达式w<x?w:y<="" 2="" 3="" 4="" b:="" bdsfid="163" c:="" d:="" p="" 的值是a:=""></x?w:y21. 设有int a=2,b;则执行b=a&&1;语句后,b 的结果是A: 0 B: 1 C: 2 D: 322. 设有int m=1,n=2;则++m==n 的结果是A: 0 B: 1 C: 2 D: 323. 设有int n=2;则++n+1==4 的结果是A: true B: false C: 1 D: 024. 设有int n=2;则++n+1==4,n 的结果是A: 1 B: 2 C: 3 D: 425. 以下使i 的运算结果为4 的表达式是A: int i=0,j=0; (i=3,(j++)+i);B: int i=1,j=0; j=i=((i=3)*2);C: int i=0,j=1; (j==1)?(i=1):(i=3);D: int i=1,j=1; i+=j+=2;26. 当a=5,b=2 时,表达式a= =b 的值为A: 2 B: 1 C: 0 D: 527. 若执行以下程序时从键盘上输入9,_______则输出结果是main(){ int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}A: 11 B: 10 C: 9 D: 828. 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,029. 若有int x=10,y=20,z=30;以下语句执行后x,y,z 的值是()if (x>y)z=x;x=y;y=z;A: x=10,y=20,z=30B: x=20,y=30,z=30C: x=20,y=30,z=10D: x=20,y=30,z=2030. 下列表达式中能表示a 在0 到100 之间的是A: a>0&a<100 B: !(a<0||a>100) C: 0<a0&&a<100)</a31. 为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与()组成配对关系。
c语言第4章 选择结构程序设计习题答案
第4章选择结构程序设计习题(P111)4。
2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。
4.3 写出下面各逻辑表达式的值。
设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)14。
4有3个整数a、b、c,由键盘输入,输出其中最大的数。
分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。
该题不用函数调用实现,但方法类似。
法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。
法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。
其中都要用到单分支或双分支选择结构语句。
参考程序如下:法一: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);}4.6有一个函数:写一段程序,输入x,输出y的值。
C语言程序设计第四次作业-选择结构(2)
C语⾔程序设计第四次作业-选择结构(2)(⼀)改错题输出三⾓形的⾯积和周长,输⼊三⾓形的三条边a、b、c,如果能构成⼀个三⾓形,输出⾯积area和周长perimeter(保留2位⼩数);否则,输出“These sides do not correspond to a valid triangle”。
输⼊输出样例1: Enter 3 sides of the triangle: 5 5 3 area = 7.15; perimeter = 13.00输⼊输出样例2: Enter 3 sides of the triangle: 1 4 1 These sides do not correspond to a valid triangle源程序(有错误的程序)#include <stdio.h>#include <math.h>int main(void){double a,b,c;double area,perimeter,s;printf("Enter 3 sides of the triangle: ");scanf( "%lf%lf%lf",&a,&b,&c );if( a + b > c || b + c > a || a + c > b)s = ( a + b + c ) / 2;area = sqrt( s * ( s - a ) * ( s - b ) * ( s - c );perimeter = a + b + c;printf("area = %.2f; perimeter = %.2f\n",area,perimeter);elseprintf("These sides do not correspond to a valid triangle\n");return 0;}错误信息1:错误原因:少⼀个右括号。
C语言程序设计实例教程第2版习题答案作者李红第4章选择结构程序设计
4.3 课后习题4.3.1 项目练习一.练习目的1.进一步巩固选择结构程序设计语句的使用2.进一步巩固break语句的使用方法3.提高编程和调试程序的能力二.练习内容1.接受用户输入的三种商品的价格。
如果购买的三种商品中至少有一种商品的价格大于50 或者三种商品的总额大于100,则折扣率为15%,否则折扣率为0,计算并显示用户应付的钱数。
#include "stdio.h"main(){float a,b,c,price;scanf("%f%f%f",&a,&b,&c);price=a+b+c;if((a>50)||(b>50)||(c>50)||(price>100))price=price*0.85;printf("%.2f",price);getch();}2.判断所输入的一个年份是否为闰年。
#include "stdio.h"main(){int year,flag=0;scanf("%d",&year);if((year%4==0)&&(year%100!=0)||(year%400==0))flag=1;if(flag==1)printf("%d年是闰年!",year);elseprintf("%d年不是闰年!",year);getch();}3.利用if结构编写程序,输入x值,求解以下分段函数的y值。
当x<1时,y=x+1;当1≤x<10,y=2x+5;当x≥10时,y=x2+8。
#include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1) y=x+1;else if(x>=10) y=x*x+8;else y=2*x+5;printf("%d",y);getch();}4.编写一个程序,根据用户输入的期末考试成绩,输出相应的成绩评定信息。
C语言程序设计各章练习题
C语言程序设计各章练习题《C 语言程序设计》各章练习题2016年12月汇编第1-3章 C 语言基础、编程规范、顺序结构程序设计编程题1:设a 和b 均为int 型变量,编写一个程序,通过键盘读入a,b 的值,然后交换a,b 的值。
要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b 的值,交换后a,b 的值。
附加要求:(1)允许定义第3个变量,实现交换;(2)不允许定义第3个变量,实现交换。
第4章选择结构程序设计编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎪⎩⎪⎪⎨⎧>=<+-=0020212x x x x x y编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎩⎪⎨⎧>≤≤--<=002222x x x x x y编程题3:求 ax 2+bx+c=0方程的解。
(只输出b 2-4ac>=0的求解结果,小于0,输出“不予求解!”)第5章 循环结构程序设计编程题4:编程计算∑=ni i 1。
要求提示键盘输入n ,如n 为负数,不予计算,直接返回。
编程题5:编程序计算n !,要求n 从键盘输入,如n 小于0,不予计算。
编程题6:从键盘输入一个数n ,判断n 是否是素数。
编程题6:编写程序输出1~100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。
编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。
编程题8:求满足下列条件的三位数n ,它除以11(整数相除)所得到的商等于n 的各位数字的平方和,且其中至少有二位数字相同的数。
编程题9:有一些十进制整数对ab 和cd 具有如下特性:ab×cd=ba×dc,其中a≠b 且c≠d。
如:12×42=21×24。
请编程找出30~50之间满数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示5个素数,左对齐。
C语言程序设计习题集及解答
目录第一章C语言基础知识 (1)第二章C语言程序设计的初步知识 (2)第二章答案 (25)第三章顺序结构程序设计 (3)第四章选择结构程序设计 (4)第五章循环结构程序设计 (6)第六章数组 (7)第六章答案 (26)第七章函数 (9)第七章答案 (27)第八章指针 (12)第八章答案 (28)第九章结构体与共用体 (14)第九章答案 (28)第十章文件 (16)第十章答案 (29)模拟试题 (17)模拟试题答案 (25)第一章C语言基础知识考点:1.C语言的特点。
2.C语言的基本结构、字符集、标识符、关键字。
3.算法的概念和描述方法。
一、选择题1. A 是C程序的基本构成单位。
A)函数B) 函数和过程C) 超文本过程D) 子程序2.下列说法正确的是 C 。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对3.下列说法正确的是C。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号4.下列标识符正确的是C。
A)x+y123 B)4_student C)a456 D)U.S5.以下说法正确的是C。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分6.B不是C语言提供的合法关键字。
A)char B)scanf C)case D)default7.C语言提供的合法关键字是C。
A)ELSE B)INT C)case D)printf8. 一个C语言程序是由B。
A)一个主程序和若干个子程序组成;B)函数组成, 并且每一个C程序必须且只能由一个主函数;C)若干过程组成;D)若干子程序组成.9. 以下叙述中错误的是(C )A.C语言是一种结构化程序设计语言。
C语言第四章选择结构程序设计作业-雨课堂
单选题 3分
18.若变量已正确定义并赋值,以 下符合C语言语法的表达式是( )
A a:=b+1 B a=b=c+2 C int 18.5%3 D a=a+7=c+b
单选题 3分 19.若有条件表达式 (exp) ?a++:b--,则以下表达式 中能完全等价于表达式(exp) 的是( )
A (exp==0)
单选题 3分
2.下列运算符中优先级最高 的是( )
A< B+
& C& D !=
单选题 3分
3.能正确表示“当x的取值在 [1,10]和[200,210]范围内为真, 否则为假"的表达式是( )
A
(x>=1)&&(x<=10)&&(x >=200)&&(x<=210)
B
(x>=1)||(x<=10)||(x>=2 00)||(x<=210)
单选题 3分
5.下列运算符中优先级最低 的是( )
A ?: &
B& C+ D !=
单选题 3分
6.以下程序的运行结果是( ) #include<stdio.h> main() {int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b);}
正常使用主观题需2.0以上版本雨课堂
主观题 10分 24.程序设计题 编一个程序,输入3个整数, 按从大到小的顺序输出。 要求拍照或截图提交(1)算 法(2)编写的程序(3)程序 运行结果答案
正常使用主观题需2.0以上版本雨课堂
C语言选择结构选择题
如果c为字符型变量,判断c是否为空格不能使用________。
A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')运行下面程序时,若从键盘输入"456<CR>",则程序的输出结果是( )。
#include <stdio.h>void main( ){ int magic=123;int guess;scanf("%d",&guess);if (guess==magic)printf("**Right**");else{printf("**Wrong**");if (guess>magic)printf("Too high**");elseprintf("Too low**");}}执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是( )。
#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是( )。
c语言选择结构练习题
C语言选择结构练习题一、单选题A. ifB. switchC. forD. while2. 当表达式 (a > b) 为真时,下列哪个表达式的值为假?A. !(a <= b)B. (a == b)C. (a >= b)D. (a != b)A. ifelseB. switchcaseC. whileD. dowhile4. 当if语句的条件为真时,下列哪个选项的语句不会执行?A. if语句内的语句B. else语句内的语句C. if语句和else语句内的语句D. 与if语句平级的下一个语句二、多选题A. ifB. else ifC. switchD. forA. if和else语句块只能包含一条语句B. if和else语句块可以包含多条语句,但需要用大括号括起来C. if语句块后面可以不跟else语句块D. else语句块后面可以继续跟if语句块A. 没有与case匹配的值B. case后面的值与switch表达式匹配C. switch表达式为空D. default分支位于所有case分支之前三、填空题1. 在C语言中,______ 关键字用于实现选择结构。
2. 当if语句的条件为真时,执行______ 语句块;当条件为假时,执行______ 语句块。
3. 在switch语句中,每个case分支后面需要使用______ 语句来跳出switch结构。
四、编程题1. 编写一个C程序,输入一个整数,判断它是正数、负数还是零,并输出相应的结果。
2. 编写一个C程序,输入三个整数,找出其中的最大值并输出。
3. 编写一个C程序,根据用户输入的成绩(0100),输出相应的等级(A、B、C、D、E)。
4. 编写一个C程序,输入一个年份,判断它是否为闰年,并输出结果。
5. 编写一个C程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。
用户输入两个整数和一个运算符,程序输出运算结果。
C语言 第四章 选择结构程序设计期末测试习题与答案
D.其之前最近的没有else配对的if
参考答案:D
12、在下面的条件语句中,只有一个在功能上与其它三个语句不等价,它是( )。
A.if (a)语句1 else语句2
B.if (a!=0)语句1 else语句2
C.if (a==0)语句2 else语句1
D.if (a==0)语句1 else语句2
printf(“a=%d,b=%d\n”,aa=2,b=2
C.a=1,b=0
D.a=1,b=1
参考答案:B
16、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
int a=1,b=5,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
D.if(a==0) printf("%d\n",x); else printf("%d\n",y);
参考答案:D
2、假定所有变量均已正确说明,下列程序段运行后x的值是( )。
a=b=c=0;x=12; if(!a)x--; else x=5; if(c) x=3; else x=4;
A.3
B.4
C.12
int a=1,b=3,c=5; if(c=a+b) printf("yes\n"); else printf("no\n");
A.3
B.5
C.1
D.2
参考答案:A
5、当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。
A.k%2==1
C语言程序设计习题与参考答案
习题与参考答案第1章 C语言程序设计基础思考与练习一、填空题1、C程序是由构成的,一个C程序中至少包含。
2、C程序的注释是由和所界定的文字信息组成的。
3、开发一个C程序要经过编辑、、和运行4个环节。
4、C语言中,头文件的扩展名是。
5、C语言源程序的扩展名;经过编译后,生成文件的后缀是;经过连接后,生成文件的扩展名是。
二、简答题1、简述C语言程序的运行步骤。
2、软件编程中的可读性原则一般包括那些内容?3、什么是算法?算法的特点有哪些?4、参照本章例题,编写一个C程序,输出以下内容。
**************************************************Hello,world!**************************************************5、写出算法。
已知圆的半径,求周长和面积。
第1章思考与练习参考答案一、填空题1、函数、一个主函数main()2、/*、*/3、编译、连接4、.h5、.c、.obj、.exe二、简答题1、简述C语言程序的运行步骤。
答:(1)编辑C程序源文件;(2)编译,将编辑好的源程序文件“*.c”,翻译成二进制目标代码文件“*.obj”;(3)连接,将编译生成的各个目标程序模块和系统或第三方提供的库函数“*.lib”连接在一起,生成可以脱离开发环境、直接在操作系统下运行的可执行文件“*.exe”;(4)运行程序。
如果运行出错,这说明程序处理的逻辑存在问题,需要再次回到编辑环境针对程序出现的逻辑错误进一步检查、修改源程序,重复编辑→编译→连接→运行的过程,直到取得预期结果为止。
2、软件编程中的可读性原则一般包括那些内容?答:1.编程规范概要(1)程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。
(2)打算干什么,要简单,直截了当,代码精简,避免垃圾程序。
(3)尽量使用标准库函数和公共函数。
(4)不要随意定义全局变量,尽量使用局部变量。
C语言编程练习题与答案选择结构(一)
C语言编程练习题与答案选择结构(一)C语言编程练习题与答案选择结构C语言是一门应用广泛的编程语言,初学者在学习时,无论是学习基础语法还是进行编程实践,都需要进行大量的练习。
为了帮助初学者巩固所学内容,以下列举了几个C语言编程练习题,并提供了选择结构的答案。
本文将针对此类练习题进行讲解。
1. 判断一个整数是否是偶数,是则输出“Yes”,否则输出“No”。
解析:根据题目要求,我们可以使用C语言中的取模(%)运算符。
如果整数a%2的结果等于0,则a是偶数;反之则不是。
具体的代码如下:```#include <stdio.h>int main(){int a;printf("请输入一个整数:");scanf("%d",&a);if(a%2==0)printf("Yes\n");elseprintf("No\n");return 0;}```2. 输入两个整数a和b,比较它们的大小,输出其中较大的数。
解析:根据题目要求,我们可以使用if-else选择结构。
首先判断a 是否大于b,如果是,则输出a;否则输出b。
具体的代码如下:```#include <stdio.h>int main(){int a,b,max;printf("请输入两个整数:");scanf("%d %d",&a,&b);if(a>b)max=a;elsemax=b;printf("较大的数是:%d",max);return 0;}```3. 对于任意一个三位数,求它的各个位上的数字之和。
解析:根据题目要求,我们可以使用取模运算符和整除运算符。
用a%10可以表示a的个位数字,用(a/10)%10可以表示a的十位数字,用a/100可以表示a的百位数字。
c语言选择法试题及答案
c语言选择法试题及答案C语言选择法试题及答案1. 以下哪个选项是C语言中选择结构的关键字?A. switchB. ifC. whileD. do答案:B2. 以下哪个语句用于执行条件判断?A. if (condition)B. switch (expression)C. for (initialization; condition; increment)D. while (condition)答案:A3. 假设有一个变量 `score` 表示一个学生的分数,以下哪个选择结构可以用来判断学生的成绩等级?A. if (score >= 90)B. switch (score)C. for (int i = 0; i < 100; i++)D. while (score != 100)答案:A4. 在C语言中,`switch` 语句中的 `case` 后面应该跟什么?A. 一个表达式B. 一个变量C. 一个常量表达式D. 一个函数答案:C5. 以下哪个选项是C语言中 `if` 语句的正确用法?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A6. 假设 `a` 和 `b` 是两个整数变量,以下哪个选择结构可以用来交换 `a` 和 `b` 的值?A. if (a > b) { int temp = a; a = b; b = temp; }B. switch (a > b) { case 1: int temp = a; a = b; b = temp; }C. for (int i = 0; i < 1; i++) { int temp = a; a = b; b = temp; }D. while (a != b) { int temp = a; a = b; b = temp; }答案:A7. 在C语言中,`else` 语句应该与哪个关键字配对使用?A. ifB. switchC. forD. while答案:A8. 以下哪个选项是 `switch` 语句的正确用法?A. switch (a) { case 1: ...; break; case 2: ...; break; }B. if (a) { case 1: ...; break; case 2: ...; break; }C. switch (a) { if 1: ...; break; if 2: ...; break; }D. switch (a) { case 1: ...; default: ...; }答案:A9. 在C语言中,`break` 语句的作用是什么?A. 退出当前循环B. 退出当前函数C. 退出当前选择结构D. 继续执行下一个循环答案:C10. 以下哪个选项是 `if-else` 语句的正确用法?A. if (condition) { ... } else { ... }B. if (condition) { ... } else { ... }C. if (condition) { ... } else if { ... }D. if (condition) { ... } else if { ... }答案:A。
C语言选择结构考试考试试题
C 语言选择结构考试试题一、选择题(每题2分,共30分)1. 有如下程序: 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=22. 有以下程序 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,33. 有如下程序 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.250000 C )0.500000 D )1.000000 4. 设int x=1,y=1;表达式(!x||y--)的值是 A )0 B )1 C )2D )-15. 若运行时给变量x 输入12,则以下程序的运行结果是 main () { int x,y;scanf ("%d",&x ); y=x>12?x+10:x-12;printf ("%d \n",y );} A )0 B )22 C )12D )106. 在C 程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。
在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章选择结构程序设计
一、填空
1.在C语言中,表示逻辑“真”值用_________。
2.得到整型变量a的十位数字的表达式为_________。
3.表达式:(6>5>4)+(float)(3/2)的值是_________。
4.表达式:a=3,a-1‖--a,2*a的值是_________。
(a是整型变量)
5.表达式:(a=2.5-2.0)+(int)2.0/3的值是_________。
(a是整型变量)6.C语言编译系统在给出逻辑运算结果时,以数值_________代表“真”,以
_________代表“假”;但在判断一个量是否为“真”时,以_________代表“假”,以_________代表真。
7.当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为_________,m的值为_________。
8.若有int x,y,z;且x=3,y=-4,z=5,则表达式:!(x>y)+(y!=z)||(x+y)&&(y-z)的值为_________。
二、编程:
1.企业发放的奖金根据利润提成。
利润(i)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?
2.输入三个整数x,y,z,请把这三个数由小到大输出。
3.输入某年某月某日,判断这一天是这一年的第几天?
4.本程序演示从键盘输入x的值,计算并打印下列分段函数的值。
y=0(x<60)
y=1(60<=x<70)
y=2(70<=x<80)
y=3(80<=x<90)
y=4(x>=90)
5.在显示器上显示一个菜单程序的模型。
6.输入一个字符,请判断是字母、数字还是特殊字符?。