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<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语言顺序结构和选择结构练习题

c语言顺序结构和选择结构练习题

C语言循环结构前的练习一、选择题:(2’*25=50)1、以下程序的输出结果为( C )# include “stdio.h”main(){ int i=4,a;a=i++;printf(“a=%d,i=%d”,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=52、以下叙述中正确的是( C )。

A)C语言程序总是从第一个定义的函数开始执行。

B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行。

D)C语言程序中的main()函数必须放在程序的开始部分。

3、下列选项中不正确的实型常量是( B )A)7.375E-1 B)0.3108e 2 C)-44.44 D)123e-24、在C程序中,可以作为用户标识符的一组标识符是( B )A)void define B)as_b3 _224 ElseC)Switch -wer case D)4b DO SIG5、 int类型变量所占字节数是( D )A)1 B)2 C)3 D)46、以下选项中合法的用户标识符是( B )。

A)long B) _2test C)3dmax D) a.dat7、以下有4组用户标识符,其中合法的一组是( C )。

A) for –sub case B) 4d do sizeC) f2_g3 If abc D) WORD void define8、经char w; int x; float y; double z;说明后表达式 w*x+z-y的类型是( D )。

A) float B) char C) int D) double9、下述程序的输出结果是( C )main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf(“%d,%d,%d”,k,a,b);}A)0,0,3 B)0,1,2 C)1,0,3 D)1,1,2 10、定义int n=5;下面语句的输出结果为( B )。

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)if(b<0) c=0;elsec++printf("%d\n",c);}该程序的输出结果是A: 0 B: 1 C: 2 D: 35. 有以下程序#include <stdio.h>main(){ inta,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);elseprintf("%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. 下面的程序段中共出现了几处语法错误?inta,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”);elseprintf(“$$$\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(){ intx,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<z?y:z 的值是A: 4 B: 3 C: 2 D: 121. 设有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);elseprintf("%d\n",n--);}A: 11 B: 10 C: 9 D: 828. main(){ inta,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<a<100 D: !(a>0&&a<100)31. 为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与()组成配对关系。

C语言-第4章 选择结构程序设计

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语言表达式是。

C语言选择结构考试考试试题

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”表示逻辑值“假”。

在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。

c语言第4章 选择结构练习题

c语言第4章 选择结构练习题

elsey=-1;
D.if(x>=0)
if(x>0)y=1;
elsey=0;
elsey=-1;
15.执行以下语句后,y的值为()。
intx,y,z;
x=y=z=0;
++x||++y&&++z;
A.0
B.1
C.2
16.已知 inta=1,b=2,c=3;以下语句执行后 a,b,c的值是()。
if(a>b)
A.’x’&&’y’
B.x<=y
C.x||y+z&&y-z
D.!((x<y)&&!z||1)
4.为了避免嵌套的 if-else语句的二义性,C语言规定 else总是与()组成配对关系。
A.缩排位置相同的 if
B.在其之前未配对的 if
C.在其之前未配对的最近的 if
D.同一行上的 if
5. 逻辑运算符两侧运算对象的数据类型()。
D.算术运算符<关系运算符<赋值运算符<逻辑与运算符
7. 下列运算符中优先级最高的是()。
A.<
B.&&
C.+
D.!=
8. 选择出合法的 if语句(设 intx,a,b,c;)()。
A.if(a=b)c++;
B.if(a=<b)c++;
C.if(a<>b)c++;
D.if(a=>b)c++;
9. 能正确表示“当 x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是()。

c语言 3选择结构

c语言 3选择结构

三、选择结构程序设计(一)选择题1.以下程序的运行结果是_________。

main(){int m=5;if(m++>5)printf(“%d\n”,m);else;printf(“%d\n”,m--);}A. 4B. 5C. 6D. 72.为了避免嵌套的条件语句if-else中产生二义性,c语言规定:else总是与_________配对。

A.缩排位置相同的if B.其之前最近的且未曾配对的if语句C.其之后最近的if D.同一行上的if3.逻辑运算符两侧运算对象的数据类型_________。

A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据4.请阅读以下程序:main( ){int a=0,b=0,c=0;if(a=b+c) printf("***\n");else printf("$$$\n");}以上程序_________A.有语法错误B.输出*** C.输出$$$ D.输出$$$\n5.以下程序的运行结果是________int x=1 ,y=0 ;switch (x){case 1:switch ( y ){case 0 : printf (“**1**\n” ) ; break ;case 1 : printf (“**2**\n” ) ; break ;}case 2 : printf (“**3**\n” ) ; }6.执行下列程序段后,变量i的值是_________。

int i=10;switch(i){case 9:i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;}A.13B.12C.11D.147.以下关于if语句的错误描述是_________。

A.条件表达式可以是任意的表达式B.条件表达式只能是关系表达式或逻辑表达式C.条件表达式的括号不可以省略D.与else配对的if语句是其之前最近的未配对的if语句8.设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为_________。

C语言选择结构程序设计练习题

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语言选择结构作业(含解答)

C语言选择结构作业(含解答)

选择结构作业解答(3)一、选择题:1.判断char型变量ch是否为数字的表达式的是:a)…0‟ < = ch <= ‟9‟ b) (ch > …0‟)&&( ch <‟9‟)c) (ch >= …0‟)&&( ch <= ‟9‟) d) (ch >= …0‟)||( ch <= ‟9‟)答案:c)2.能正确表示a和b不同时为0的逻辑表达式的是:a) a*b==0 b) (a==0)||( b==0)c) (a==0&&b!=0)&&( b==0&&a!=0) d)(a! = 0)||( b != 0)答案:d)3.能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是:a) a==-b && a%2==0 b) a!=b && a+b==0 && a%2c) !(a%2)&&a==-b d) a%2==0 a+b==0答案:b)4.有以下程序:#include<stdio.h>void main{ int x=2,y=3,z;char ch=‘a’;z=(x||!y)&&(ch>‟A‟);}程序运行后z的值是a)true b)false c)0 d)1答案:d)说明:C语言的逻辑运算的结果是0或1;5.关于if后面一对圆括号中的表达式,叙述正确的是a) 只能用关系表达式 b) 只能用逻辑表达式c) 只能用关系表达式或逻辑表达式 d) 可以使用任意合法的表达式答案:d)说明:if后面一对圆括号中的表达式用来决定执行哪个分支。

判断的根据是该表达式的值是否为非0。

所以任意合法的表达式都可以。

6.对switch后面一对圆括号中的表达式,叙述正确的是a) 只能用数字 b) 可以是浮点数c) 只能用整型数据或字符型数据 d)以上叙述都不对答案:c)说明:C语言中规定,switch后面一对圆括号中的表达式的值必须是确定的值,具体执行switch中的哪个分支,由该值决定。

C语言 选择结构程序设计参考答案

C语言 选择结构程序设计参考答案

第四章选择结构程序设计一.选择题1.逻辑运算符两侧运算对象的数据类型。

A)只能是0或1 B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据2.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。

A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2)3.以下程序片段。

int x=2,y=3;printf( );A)什么都不输出B)输出为:***x=2C)输出为:###y=2 D)输出为:###y=34.能正确表示“当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)5.C语言对嵌套if语句的规定是:else总是与。

A)其之前最近的if配对B)第一个if配对C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对6.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为0。

A)1 B)2 C)3 D)47.下面是错误的if语句(设int x,a,b;)A)if (a=b) x++; B)if (a=<b) x++;C)if (a-b) x++; D)if ( x ) x++;8.以下程序片段。

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

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

选择结构程序设计复习题一.选择题1.已有定义语句:int x=3,y=4,z=5;, 那么值为0 的表达式是:〔 A 〕a) x>y++b) x<=++y c) x !=y+z>y-z d) y%z>=y-z3.x 为奇数市价为“真〞, x 为偶数市价为“假〞的表达式是:〔 C 〕a) !(x%2==1)b) x%2==0c) x%2d)!(x%2)6.已有定义语句:int x=6,y=4,z=5;, 执行以下语句后,能正确表示x,y,z值的选项是:〔 C〕if(x<y) z=x;x=y;y=z;a)x=4,y=5,z=6b)x=4,y=6,z=6c)x=4,y=5,z=5d)x=5,y=6,z=47.以下程序的运行结果是:〔 D〕main(){ int i=0;if(i==0) printf(“**〞);else printf( “$〞); printf(“*\n 〞);}a) *8.假设变量a) 0b) $*c) **d)***a,b,c 都为整型,且a=1、 b=15、 c=0 ,那么表达式b) 非零c)“真〞d)1a==b>c的值是〔D〕9. a 为 0 时,值为“真〞的表达式是〔 D 〕a) a b) !(++a)c) a=0d) a==012.有以下程序: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〕a) b=1,c=2 c) b=2,c=2b) b=1,c=0 d) b=1,c=113.有以下程序:main(){ int n;scanf( “%d 〞,&n);if(n++<5) else printf(printf( “%X\n“%X\n 〞,n--);〞,n);}假设执行程序时从键盘上输入9,那么输出结果是:〔 B〕a) 11b) A c) 9d) 814.有以下程序:main(){ int m=5;if(++m>5)if(m++>5) printf(“%d\n〞,m+5);else printf( “%d\n 〞,m--);else printf( “%d\n 〞,--m);}程序的输出结果是:〔 D 〕a) 8b) 5c) 10d) 1217.当a=1、b=3、c=5、d=4 时,执行下面一段程序: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;以上程序段运行后,x 的值是:〔 B〕a) 1b) 2c) 3d)619.以下程序的输出结果是:〔 C〕main(){ int a=5,b=4,c=6,d;printf(“%d\n 〞,d=a>b ?(a>c ? a:c) : (b));}a) 5b)420.假设有定义语句:a) 0b)1c) 6int x=3,y=2,z=1;c) 4d)不确定那么以下表达式的值是:〔 Cd) 3〕z*=(x>y ? ++x :y++)21.有以下程序:main(){ int a=15,b=21,m=0;switch(a%3){ case 0: m++;break;case 1: m++;switch(b%2){ default: m++;case 0: m++;break;}}printf( “%d\n 〞,m);}程序的输出结果是:〔 A 〕a) 1b) 2c) 3d)4二.填空题1.设 y 是 int 型变量,请写出当y 是奇数市价为 1 的关系表达式 _ y%2 或 y%2==0或 y%2!=0_.2.表示“整数 x 的绝对值大于5〞市价为“真〞的 C 语言表达式是 __ x>5||x<-5__.3.假设 x 为 int 种类,请以最简单的形式写出与!x 等价的 C 语言表达式 ___ x==0__.6.以下程序的运行结果是 __0___.main(){ int a=0,b=0,c;if(a>b) c=1;else if(a=b)c=0;else c=-1;printf( “%d\n 〞,c);}8.假设从键盘上输入3和 4,执行以下程序后的输出结果是__36___.main(){ int a=0,b=0,s=0;scanf( “%d%d 〞,&a,&b);if(a<b) s=b*a,s*=a;printf( “%d\n 〞,s);}}9.以下程序的运行结果是 __!__.main(){ int a=0,b=4,c=5;switch(a==0){case 1: switch(b<0){case 1: printf( “@〞); break;case 0: printf(“!〞); break;}case0: switch(c==5){case 0: printf(case 1: printf(default: printf(} break; default: printf(“&〞);“* 〞); break;“#〞); break;“% 〞);} }。

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

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

6、设 x、y 和 z 是 int 型变量,且 x=3,y=4,z=5,则下面表达式中值为 0 的是( D
A)‘x’&&‘y’
B) x<=y C) x||y+z&&y-z
D) !((x<y)&&!z||1)
7、已知 x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是( C )。
达式是( C )。
A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)
D) (x>=1)||(x<=100)&&(x>=200)||(x<=300)
A)有语法错不能通过编译
B)可以通过编译但不能通过连接
C)输出***
D)输出$$$
三、写出下列程序的运行结果
1、若运行时输入:2<回车>,则以下程序的运行结果是 2nd class postage is 14p
#include <stdio.h>
void main(void) {
char Class; printf(“Enter 1 for 1st class post or 2 for 2nd post”); scanf(“%c”,&Class);

C语言-02选择结构问题习题

C语言-02选择结构问题习题

C语言-02选择结构问题习题答案:输入a、b值,如果a>b,那么交换a和b,使得a≤b#include<stdio.h>void main(){ int a,b,t;scanf("%d%d",&a,&b);if(a>b){ t=a; a=b; b=t;}printf("a=%d,b=%d\n",a,b);}输入变量a、b和c,将它们按照从小到大的顺序排序后输出#include<stdio.h>void main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);if(a>b){ 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("a=%d,b=%d,c=%d\n",a,b,c); }输入a、b值,输出其中较大的数#include<stdio.h>void main(){ int a,b,t;scanf("%d%d",&a,&b);if(a>b)printf("max=%d\n",a);elseprintf("max=%d\n",b);}输入x,求函数的值#include<stdio.h>void main(){ int x,y;scanf("%d",&x);if(x<1) y=x;if(x>=1 && x<10) y=2*x-1;if(x>=10) y=x*x+2*x+2;printf("y=%d\n",y);}输入学生课程成绩mark,按照方法给出评分等级#include<stdio.h>void main(){ int mark; char grade;scanf("%d",&mark);if(mark>=90) grade='A';if(mark>=80 && mark<90) grade='B';if(mark>=70 && mark<80) grade='C';if(mark>=60 && mark<70) grade='D';if(mark<60) grade='E';printf("grade=%c\n",grade);}给定整数,判定该数能否同时被6、9和14整除#include<stdio.h>void main(){ int a;scanf("%d",&a);if(a%6==9 && a%9==0 && a%14==0)printf("yes\n");elseprintf("no\n");}输入一个年号,判断该年号是否闰年。

选择结构试题及答案

选择结构试题及答案

选择结构试题及答案
1. 以下哪个选项是选择结构的典型代表?
A. 顺序结构
B. 选择结构
C. 循环结构
D. 模块结构
答案:B
2. 在编程语言中,用于实现选择结构的关键字是什么?
A. if
B. for
C. while
D. do
答案:A
3. 选择结构通常用于解决什么问题?
A. 循环问题
B. 条件判断问题
C. 数据存储问题
D. 数据输出问题
答案:B
4. 在C语言中,以下哪个语句不是用于选择结构的?
A. if
B. else
C. switch
D. continue
答案:D
5. 以下哪个选项不是选择结构的组成部分?
A. 条件判断
B. 循环体
C. 选择分支
D. 条件执行
答案:B
6. 在Python中,实现选择结构的关键字是?
A. if
B. elif
C. else
D. all of the above
答案:D
7. 选择结构可以嵌套使用吗?
A. 是
B. 否
答案:A
8. 在Java中,以下哪个关键字用于多条件分支选择?
A. if
B. else if
C. switch
D. case
答案:C
9. 以下哪个选项不是选择结构的优点?
A. 代码简洁
B. 逻辑清晰
C. 易于调试
D. 执行速度快
答案:D
10. 在选择结构中,条件不满足时执行的代码块称为?
A. 条件分支
B. 选择分支
C. 条件执行
D. else分支
答案:D。

c语言的选择结构的试题及答案

c语言的选择结构的试题及答案

c语言的选择结构的试题及答案1. 以下哪个关键字用于C语言的选择结构中?A. ifB. elseC. switchD. while答案:A2. 考虑以下代码段:```cint a = 10;if (a > 5)printf("a is greater than 5");```这段代码的输出是什么?A. a is greater than 5B. a is less than 5C. 没有输出D. 编译错误答案:A3. 下列哪个选项正确地描述了if-else语句的工作原理?A. 如果条件为真,则执行if块,否则执行else块。

B. 如果条件为假,则执行if块,否则执行else块。

C. 如果条件为真,则执行else块,否则执行if块。

D. 无论条件真假,都执行if块和else块。

答案:A4. 以下代码段的输出是什么?```cint x = 20;if (x > 10)if (x > 15)printf("x is greater than 15");elseprintf("x is less than or equal to 15");```A. x is greater than 15B. x is less than or equal to 15C. 没有输出D. 编译错误答案:A5. 以下哪个选项是switch语句的正确用法?A. switch (condition) { case 1: statement; break; }B. switch (condition) { case 1: statement; default: statement; }C. switch (condition) { default: statement; case 1: statement; }D. switch (condition) { case 1: statement; case 2: statement; }答案:D6. 考虑以下代码段:```cint score = 75;switch (score / 10) {case 10:case 9: printf("A"); break;case 8: printf("B"); break;case 7: printf("C"); break;case 6: printf("D"); break;default: printf("F");}```这段代码的输出是什么?A. AB. BC. CD. F答案:C7. 在C语言中,以下哪个关键字用于在if语句中创建条件?A. ifB. elseC. switchD. while答案:A8. 以下代码段的输出是什么?```cint a = 10;if (a > 5)if (a < 20)printf("a is between 5 and 20");```A. a is between 5 and 20B. 没有输出C. 编译错误D. a is less than 5答案:A9. 以下哪个选项正确地描述了switch语句的工作原理?A. 它检查一个变量的值,并执行与该值匹配的case块。

c语言选择结构练习题

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语言知识点2 顺序、选择结构

C语言知识点2 顺序、选择结构

1、结构化程序设计规定的三种基本结构是▁▁▁▁结构,选择结构和 ▁▁▁▁结构。 答案:顺序 循环 2、若有定义语句“int a = 25, b = 14, c = 19;”,以下语句的执行结果 ▁▁▁▁。 if(a++<=25 && b--<= 2 && c++) printf(“***a=%d,b=%d,c=%d\n”, a, b, c); else printf(“###a=%d,b=%d,c=%d\n”, a, b, c); 答案::###a=26,b=13,c=19 3、若a,b均为整型变量,则以下语句的功能是_______ a+=b; b=a-b; a-=b; 答案:交换a,b的值 4、当a=3,b=2,c=1时,表达式f=a>b>c的值是______ 答案:0 5、2.当a=5,b=2,c=2时,表达式a>b!=c的值是______ 答案:1 6、在C语言中,表示逻辑“真”值使用整型值______ 答案:1 7、5.设y为int型变量,请写出描述“y是奇数”的表达式______ 答案:y%2==1 8、C语言中的三种逻辑运算符号是______,______,______ 答案:! && || 9、设x,y,z均是int型变量,请写出描述“x或y中有一个小于z”的表达 式______ 答案:x<z || y<z 10、已知a=7.5,b=2,c=3.6,表达式a>b&&c>a||a<b&&!c>b的值是______ 答案:0
{char ch1 ,ch2 ,ch3; 输入语句 printf("%c%c%c",ch1,ch2,ch3);} 输入形式: A B C 输出形式: A B A) scanf("%c%c%c",&ch1,&ch2,&ch3); B) scanf("%c,%c,%c", &ch1,&ch2, &ch3); C) scanf("%c %c %c",&ch1,&ch2,&ch3); D) scanf("%c%c",&ch1,&ch2,&ch3); 16、D 有输入语句: scanf("a= %d,b= %d,c=%d",&a,&b,&c);为使变量a的值 为1,b为3,c为2,从键盘输入数据的正确形式应当是 A)132(回车) B)1,3,2(回车) C)a=1b=3c=2(回车) D)a=1,b =3,c =2(回车) 17.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这 一关系的表达式为 。 A)a <> 0 B) !a C) a=0 D) a 答案:D 18.以下错误的if语句是 。 A)if(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++;} 答案:C 19.C语言对嵌套if语句的规定是:else 总是与() 配对。 A)其之前最近的if B)第一个if C)缩进位置相同的if D)其之前最近的且尚未配对的if 答案:D 20.为了判断两个字符串s1和s2是否相等,应当使用 。 A)if(s1= =s2) B)if(s1=s2) C)if(strcpy(s1,s2)) D)if(strcmp(s1,s2)= =0) 答案:D 21.已知:int x,a,b; 下列选项中错误的if语句是 。 A)if(a=b) x++; B) if(a=<b) x++; C) if(a-b) x++; D) if(x) x++; 答案:A 22.以下错误的描述是 。

C语言编程练习题与答案选择结构(一)

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语言选择法试题及答案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。

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

C语言程序设计复习题_选择结构
一、选择
1、判断x ∉ [a, b] 的表达式为C。

A)x > a && x < b B)x < a && x > b C)x < a || x > b D)x < a, x > b
2、下面的程序段将输出A。

int a = 9, b = 7, c = 3, d = 5, x;
x = a > b ? c : d;
printf("%d\n", x);
A) 3 B) 5 C) 7 D) 9
3、判断x∈ (a, b) 的表达式为B。

A) a < x < b B) a < x && x < b C) a < x || x < b D) a < x, x < b
4、下列语句中,(C)中的if语法是错误的。

A) if(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、与y=(x>0?1:x<0?-1:0);的功能相同的if语句是(A )
A) if (x>0) y=1; else if(x<0) y=-1; else y=0;
B) if (x) if(x>0) y=1; else if(x<0) y=-1; else y=0;
C) y=-1; if(x>0) y=1; else y=-1;
D) y=0; if(x>=0) y=1; else if(x==0) y=0; else y=-1;
6、在下列条件语句中,只有一个在功能上与其它三个语句不等价(其中s1、s2表示某个C 语句),这个不等价的语句是(D)
A) if (a ) s1; else s2;
B) if (!a ) s2; else s1;
C) if (a!=0 ) s1; else s2;
D) if (a==0 ) s1; else s2;
7、已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是(D)。

A)6 B)0 C) 2 D)1
8、为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。

A)缩排位置相同的if
B)在其之前未配对的if
C)在其之前未配对的最近的if
D)同一行上的if
9、下列运算符中优先级最高的是(C)。

A)< B)&& C)+ D)!=
10、选择出合法的if语句(设int x,a,b,c;)(A)。

A)if(a=b) c++;
B)if(a=<b) c++;
C)if(a<>b) c++;
D)if(a=>b) c++;
11、判断char型变量s是否为小写字母的正确表达式是(C)。

A)‘a’<= s<=‘z’B) (s>=‘a’) & (s<=‘z’)
C) (s>=‘a’) && (s<=‘z’) D) (‘a’<=s) and (‘z’>=s)
二、填空
1、写出条件“-10≤x≤10”的C语言表达式(x>=-10)&&(x<=10)。

2、若a=1,b=2,c=3,d=4,m=1,n=1则执行(m=a>b)&&(n=c>d)后,m=0,n=1。

3、表达式:(6>5>4)+(float)(3/2) 的值是1.000000。

4、C 语言编译系统在给出逻辑运算结果时,以数值1代表“真”,以0代表“假”;但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。

5、当m=2, n=1, a=1, b=2, c=3 时,执行完d=(m=a!=b)&&(n=b>c)后,n 的值为0,m 的值为1。

6、若有int x,y,z ;且x=3,y=-4,z=5,则表达式:!(x>y)+(y!=z)||(x+y)&&(y-z) 的值为1。

7、设int x=9,y=8;表达式x==y+1的结果是1。

8、定义int x=10,y,z; 执行y=z=x; x=y==z;后,x的结果是____1____。

三、判断
1、else总是与离它最近且未配对的那个if配对。

T
2、C语言编译系统在判断一个量是否为“真”时,以“0”代表“假”,以“1”代表“真”。

F
四、写出以下程序的运行结果
运行结果为:x=14,y=4
2、
如果输入的x 的值为:11
则输出结果为:x=11, y=3*x-11=22 3、
输出结果为:100
五、程序填空
1、以下程序的功能是判断输入的年份是否是闰年。

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

#include ”stdio.h”
int main()
{
int year, flag;
printf(”please input the year:”);
scanf(”%d”,&year);
if (year%400==0) flag=1;
else if (【1】) flag=1;
else 【2】;
if (flag) printf(”%d is a leap year\n”,year);
else printf(”%d is not a leap year!\n”,year);
return 0;
}
解答:1、year%4==0&&year%100!=0
2、flag=0;
2、以下程序是对用户输入的字母进行大小写转换。

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

#include ”stdio.h”
int main()
{
char ch;
printf(”please input a letter:”);
scanf(”%c”,&ch);
if (【1】) ch=ch+32;
else if (ch>=’a’ && ch<=’z’)
【2】;
printf(” the converted letter is: %c\n”,ch);
return 0;
}
解答:1、ch>=’A’ && ch<=’Z’
2、ch=ch-32;。

相关文档
最新文档