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语言选择结构题(含答案)
第9、10课时实验一:写出下列程序的运行结果。
1、以下程序的运行结果是:2,-1#include "stdio.h"main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}2、以下程序的运行结果是:0,6,0main(){ int a=5,b=6,w=1,x=2,y=3,z=4,c;c=(a=w>x)&&(b=y>z);printf("%d,%d,%d",a,b,c);}3、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是D。
A)’x’&&‘y’B)x<=yC)x||y+z&&y-zD)!((x<y)&&!z||1)4、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为B。
A)1 B)2 C)3 D)45、已知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=206、以下if语句语法正确的是B。
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);7、以下程序的运行结果是:***tttmain(){ int a=0,b=0,c=0;if(a==c+b) printf("***\n");if(a=c+b) printf("###\n");if(c>=a+b) printf("ttt\n");}8、以下程序,输入6时,输出5,输入7时,输出为7 main(){int x;scanf(“%d”,&x);if(x- ->6)printf(“x=%d”,++x);elseprintf(“x=%d”,x++);}9、请写出以下程序的输出结果__1_。
(完整版)C语言选择题(附答案)
第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。
A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。
A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。
A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。
A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。
A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。
C语言选择题(附答案)(最新整理)
B)int a,c, c=5;
C)a=5,b=5,c=5;
D)a=b=c=5;
41、C 语言中双精度浮点型变量 double 在内存中占(D )字节。
A)1
B)2
C)4
D)8
42、以下哪个数学函数的作用是求某数的平方根( A )。
A)sqrt()
B)fabs()
C)pow()
D)exp()
43、两次运行下面的程序,如果从键盘上分别输入 6 和 3,则输出结果是( C )。
A) ‘A’<=ch<=‘Z’
B) (ch>=‘A’)&(ch<=‘Z’)
C) (ch>=‘A’)&&(ch<=‘Z’)
D) (‘A’<= ch)AND(‘Z’>= ch)
7、判断整型变量 digit 是否为数字的正确表达式是( C )。
A) ‘0’<=ch<=‘9’
B) (ch>=‘0’)&(ch<=‘9’)
j /= i*j;
printf(“%d”,j);
A)0
B)1
C)2
D)3
28、不是 C 语言提供的合法关键字是( D )。
A)switch B)char
C)case
D)this
29、在 C 语言中,要求参加运算的数必须时整数的运算符是( C )。
A)/
B)*
C)%
D) =
30、若已定义 x 和 y 为 double 类型,且 x=1;则表达式 y=x+3/2 的值是( C )。
C)3,2,3
D)2,3,2
45、读出以下语句的输出结果是( D )。
国家二级C语言选择结构循环结构机试模拟试卷1_真题(含答案与解析)-交互
国家二级C语言(选择结构、循环结构)机试模拟试卷1(总分66, 做题时间90分钟)1. 选择题1.下列选项中,当x为大于1的奇数时,值为0的表达式是( )。
SSS_SINGLE_SELA x%2==0B x/2C x%2!=0D x%2==1分值: 2答案:A解析:算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。
B选项的值为不定值,但绝对不是O。
C选项的值为真,即1。
D选项的值为真,即1。
2.若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是( )。
SSS_SINGLE_SELA 1B 0C 2D 不知道a的值,不能确定分值: 2答案:A解析:逻辑或“‖”要求只要两边的运算对象有一个非零,结果就为真。
虽然不知道a的值,但是若a为l,则左边运算对象为1;若a的值不是l,则右边运算对象的值为1,所以总能保证一边非零。
3.当变量e的值不为2、4、6时,值为“真”的表达式是( )。
SSS_SINGLE_SELA (c>=2&&e<=6)&&(c%2 1=1)B (c==2)‖(c==4)‖(c==6)C (c>=2&&c<=6)&&!(c%2)D (c>=2&&c←6)‖(c!=3)lI(c!=5)分值: 2答案:D解析:逻辑或运算符中只要有一个运算量为真,结果就是真,当c>=2&&c<=6条件不成立时,c的值肯定不是2、3、4、5、6,所以c!:3与c!:5均成立,所以D选项的结果一定为真。
4.有以下程序: #include main() { int a=1,b=2,c=3,d=0;if(a==1&&b++==2) if(b!=2‖c一!=3) prinff(“%d,%d,%d\n”,a,b,c);else prinff(“%d,%d,%d\n”,a,b,c);else prinff(“%d,%d,%d\n”,a,b,c); } 程序的运行结果是( )。
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语言程序设计:选择结构程序设计单元测试与答案
一、单选题1、下列运算符优先级最高的是( )。
A.&&B.,C.+D.||正确答案:C2、若给定条件表达式(m)?(a++):(a--),则其中表达式m()。
A.和(m==1)等价B.和(m!=1)等价C.和(m==0)等价D.和(m!=0)等价正确答案:D3、C语言中,switch后的括号内表达式( )。
A.只能是整型和字符型B.只能为整型C.可以是任何类型D.只能为整型,字符型或枚举型正确答案:D4、执行下面程序段后,k的值是:( )。
int k=2;switch(k+1)case 3:k+=1;case 4:k--;break;case 5:k*=3;case 6:++k;}A.28B.10C.27D.2正确答案:D5、若在程序运行时,输入:4 3,则执行下面程序输出的结果是( )。
#include <stdio.h>int main(){int a,b,s;scanf("%d%d",&a,&b);s=a;if(a>b) s=b;s=s*s;printf("%d\n", s);return 0;A.15B.16C.9D.13正确答案:C6、下列表达式中,结果为1的表达式是()。
A. !3!=0B.!2>=3C.!6D. !0==1正确答案:D二、判断题1、所有逻辑运算符的优先级都高于关系运算符。
正确答案:×2、在switch语句中,switch与case后的表达式可以为任意类型。
正确答案:×3、在逻辑表达式的求解过程中,并非所有的逻辑运算符都被执行。
正确答案:√4、并非所有的if语句都有等价的switch语句,switch语句只能用来实现以相等关系作为选择条件的多分支结构。
正确答案:√三、填空题1、已知 a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为_____。
c语言选择题考试题库及答案
c语言选择题考试题库及答案1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. typedefD. enum答案:A2. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str[] = 'Hello';D. char str[] = {"Hello"};答案:A3. 下列哪个函数用于将字符串连接到另一个字符串的末尾?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:A4. C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr = {0, 1, 2, 3, 4};答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D6. C语言中,以下哪个选项用于声明一个指针变量?A. int *p;B. int p*;C. int *p = 0;D. int p = 0;答案:A7. 下列哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B8. C语言中,以下哪个选项是正确的枚举声明?A. enum Color {Red, Green, Blue};B. enum Color {1, 2, 3};C. enum Color {Red=1, Green=2, Blue=3};D. enum {Red, Green, Blue};答案:A9. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A10. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. macrodefD. #define答案:D。
二级C语言-基本语句选择结构_真题(含答案与解析)-交互
二级C语言-基本语句、选择结构(总分82.5, 做题时间90分钟)一、选择题1.若变量已正确定义,有以下程序段:int a=3, b=5, c=7;if(a>b)a=b; c=a;if(c!=a)c=b;printf("%d, %d, %d\n", a, b, c);其输出结果是:• A.程序段有语法错误•**,5,3•**,5,5**,5,7SSS_SIMPLE_SINA B C D分值: 1答案:B[解析] 此题是if语句的例子。
两个if语句的判断条件都不满足,程序只能执行c=a这条语句,所以变量c的值等于3,变量b的值没有变化。
程序输出的结果为3,5,3,所以正确答案为B。
[解析] 本题考查putchar函数的使用。
putchar函数的作用是向终端输出一个字符。
例如,putchar(ch);,它输出字符变量ch的值,ch可以是字符型变量,也可以是整型变量。
若ch是整型变量,则输出的是ASCII码值对应的字符。
2.若变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是______。
•**=0; while((ch=getchar())!=!'\n')n++;•**=0; while(getchar()!='\n')n++;•**(n=0; getchar()!='\n'; n++);**=0; for(ch=getchar(); ch!='\n'; n++);SSS_SIMPLE_SINA B C D分值: 1答案:D[解析] A项每进行一次循环判断一个字符是否回车,如果不是就进行下一次判断,因此可以统计出输入字符个数;B项与A项的判断相似,仅为是否将读入的数据赋值给一个变量,因此并不影响判断结果;C项用for循环来判断,与B的判断完全相同,可以统计出输入字符个数;D项中ch=getchar()是给变量ch 赋初值,如果输入回车,则程序只循环一次,如果输入一个非回车的字符,则程序进入死循环。
选择结构试题及答案
选择结构试题及答案
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语言的选择题和详细的解释共30题
C语言的选择题和详细的解释共30题1. C语言中,以下哪个关键字用于定义一个常量?a) varb) constc) letd) static解释:正确答案是b) const。
const关键字用于定义常量,表示其值在程序执行过程中不能被修改。
2. 在C语言中,以下哪个关键字用于声明一个函数?a) funcb) methodc) defined) int解释:正确答案是d) int。
在C语言中,函数声明通常以返回类型(如int)开头。
3. 下面的代码片段有什么问题?cint main() {printf("Hello, World!\n")return 0;}a) 缺少分号b) 函数名错误c) 缺少#include指令d) 无问题解释:正确答案是a) 缺少分号。
printf语句末尾缺少分号,应该写成printf("Hello, World!\n");。
4. C语言中,以下哪个关键字用于声明一个指针?a) pointerb) varc) intd) char *解释:正确答案是d) char *。
在C语言中,char *用于声明一个字符指针。
5. 以下哪个运算符用于在C语言中获取变量的地址?a) &b) *c) #d) ->解释:正确答案是a) &。
&运算符用于获取变量的地址。
6. 下面的哪个循环结构在C语言中是无限循环?a) forb) whilec) do-whiled) goto解释:正确答案是d) goto。
goto语句可以用于创建无限循环。
7. 在C语言中,下面的哪个类型用于表示整数值?a) floatb) charc) intd) double解释:正确答案是c) int。
int用于表示整数值。
8. 以下哪个函数用于从标准输入读取一个字符?a) getchar()b) scanf()c) gets()d) read()解释:正确答案是a) getchar()。
C语言顺序分支结构选择题及答案
C语言顺序分支结构选择题及答案1.设ch是char型变量,其值为a,且有下面的表达式:ch=(ch>='a'&&ch<='z')?(ch+32):ch上面表达式的值是a)ab)ac)zd)zb2.设a,b和c都就是int型变量,且a=3,b=4,c=5,则下面的表达式中,值0的表达式就是a)'a'&&'b'b)a<=bc)a||b+c&&b-cd)!((a3.为表示关系x≥y≥z,应使用c语言表达式a)(x>=y)&&(y>=z)b)(x>=y)and(y>=z)c)(x>=y>=z)d)(x>=y)||(y>=z)a4.继续执行下面程序段intx=35;charz='a';intb;b=((x=15)&&(za)0b)1c)2d)3b5.表达式:10!=9的值是a)trueb)非零值c)0d)1d6.能正确表示a≥10或a≤0的关系表达式是a)a>=10ora<=0b)a>=10|a<=0c)a>=10||a<=0d)a>=10||a<=0d7.若建议在if后一对圆括号中则表示a不等同于0的关系,则能够恰当则表示这一关系的表达式为a)a<>0b)!ac)a=0d)ad8.设a=5,b=6,c=5,d=8,m=2,n=2,继续执行(m=a>b)&&(n=c>d)后n的值a)1b)2c)3d)0b9.设a为整型变量,无法恰当抒发数学关系:10表达式是a)1010&&a<15d)!(a<=10)&&!(a>=15)a10.若有以下定义:floatx;inta,b;则正确的switch语句是a)switch(x)b)switch(x){case1.0:printf(\{case1,2:printf(\case2.0:printf(\case3: printf(\}}c)switch(a+b)d)switch(a-b);{case1:printf(\{case1:printf(\case1-2:printf(\case2:printf(\}}a11.设a=1,b=2,c=3,d=4,则表达式:a12.设x、y、z、t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;a)不定值b)4c)1d)0c13.语句:printf(\的输入结果就是a)并无输入b)结果不确认c)-1d)1d14.能够恰当则表示a和b同时为正或同时为负数的逻辑表达式就是a)(a>=0||b>=0)&&(a<0||b<0)b)(a>=0&&b>=0)&&(a<0&&b<0)c)(a+b>0&&a+b<=0)d)a*b>0d15.有如下程序段inta=14,b=15,x;charc='a';x=(a&&b)&&(cc)0d)1d16.为了防止嵌套的if-else语句的二义性,c语言规定else总是与()组成配对关系。
国二c语言题库选择题答案
国二c语言题库选择题答案第一部分C基础部分及顺序结构参考答案及解析1、【答案】A【解析】C语言被称为“高级语言”是因为它用接近英语国家的自然语言和数学语言作为表达形式,使人们学习和操作起来感到十分方便,相对于其他的高级语言来说,C语言有它自身的优缺点,但却是用的最广泛的语言。
由于它可以直接控制计算机硬件,因此其编写的程序运行效率较高。
用C语言编写的程序称作C语言源程序,C源程序不能直接执行。
C语言的每条可执行语句最终将被转换成只有0和1的二进制的机器指令。
2、【答案】A【解析】用C语言编写的程序称作C语言源程序,C源程序不能直接执行。
C语言的每条可执行语句必须通过相关编译、链接程序、编译并链接成可执行程序(只有0和1的二进制的机器指令),才能在计算机上执行。
故选A。
C语言有3种基本结构组成:顺序结构,选择结构,循环结构。
这3种结构可以完成任何符合结构化的任务,每个任务设计到1-3种结构不等。
C语言算法有5个基本特征之一:有穷性,指的是算法必须在执行有限个步骤之后终止,并未限制具体步数。
3、【答案】D【解析】k=m*n=1错误,m*n是表达式,=左边只能出现单个变量,不可以为常量或表达式。
k=int(m+n)错误,类型名int出现表达式中表示强制类型转换,须加括号,改为k=(int)(m+n)k=-m-n错误,C语言语句需以分号结尾。
k=(m==n)合法,先运算m==n关系运算,结果为0或1,再将结果赋值给k4、【答案】C【解析】(A)int i=1; do{ i+=2;} while(i!=10);为无限循环,i的初始值为1,累加2多次后i值均为奇数,控制表达式i!=10永远为真。
B,int i=5; do{ i+=1;} while(i>0);为无限循环,控制表达式i>0永远为真。
D,int i=6; do{ i-=2;} while(i!=1);为无限循环,i值累减之后为偶数,控制表达式i!=1永远为真。
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语言编程练习题与答案选择结构(一)
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语言的选择结构的试题及答案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块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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: 6B: 0C: 2D: 13. 阅读以下程序:main(){ int x;scanf(“%d”,&x);if(x--<5) printf(“%d”,x);else printf(“%d”,x++);}程序运行后,如果从键盘上输人5,则输出结果是()。
A: 3B: 4C: 5D: 64. 有如下程序main0{ 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: 35. 有以下程序#include <stdio.h>main()a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是( )。
A: 2,1B: 3,2C: 4,3D: 2,-16.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + >5) printf("%d",x);else printf("%d\n",x - -); }A: 7 和5B: 6 和3C: 7 和4D: 6 和47. 能表示x 为偶数的表达式是A: x%2==0B: x%2==1C: x%2D: x%2!=08. 下面的程序段中共出现了几处语法错误?int a,b;scanf("%d",a);b=2a;if(b>0) printf("%b",b);A: 1B: 2C: 3D: 49. C 语言中,逻辑“真”等价于A: 大于零的数B: 大于零的整数C: 非零的数D: 非零的整数10. C 语言的switch 语句中,case 后A: 只能为常量B: 只能为常量或常量表达式C: 可为常量及表达式或有确定值的变量及表达式D: 可为任何量或表达式11. 已知int i=10;表达式"20-0<=i<=9"的值是A: 0B: 1C: 19D: 2012. 设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为A: 1B: 2C: 3D: 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: 0B: 1C: 语法错误D: 假16. 执行下列语句后a 的值为int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);A: 5B: 0C: 217. 以下程序的输出结果是()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: 4B: 5C: 6D: 719. 若运行时给变量x 输入12,则以下程序的运行结果是()main(){ int x,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A: 0B: 22C: 12D: 1020. 若w=1,x=2,y=3,z=4,则表达式w<x?w:y<z?y:z 的值是A: 4B: 3C: 2D: 121. 设有int a=2,b;则执行b=a&&1;语句后,b 的结果是A: 0C: 2D: 322. 设有int m=1,n=2;则++m==n 的结果是A: 0B: 1C: 2D: 323. 设有int n=2;则++n+1==4 的结果是A: trueB: falseC: 1D: 024. 设有int n=2;则++n+1==4,n 的结果是A: 1B: 2C: 3D: 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: 2B: 1C: 0D: 527. 若执行以下程序时从键盘上输入9,_______则输出结果是main(){ int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}A: 11B: 10C: 928. 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,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<100B: !(a<0||a>100)C: 0<a<100D: !(a>0&&a<100)31. 为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与()组成配对关系。
A: 缩排位置相同的ifB: 在其之前未配对的ifC: 在其之前未配对的最近的ifD: 同一行上的if32. 已知:int x,a,b;下列选项中错误的if 语句是A: if(a=b) x++;B: if(a<=b) x++;C: if(a-b) x++;D: if(x) x++;33. 当把以下四个表达式用作if 语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是()。
A: k%2B: k%2==1D: !k%2==134. 设有定义:int a=2,b=3,c=4;,则以下选项中值为0 的表达式是()。
A: (!a==1)&&(!b==0)B: aC: a && bD: a||(b+b)&&(c-a)35. 以下程序段的输出结果是。
int a=10,b=50,c=30;if(a>b)a=b;b=c;c=a;printf("a=%d b=%d c=%d\n",a,b,c);A: a=10 b=50 c=10B: a=10 b=30 c=10C: a=50 b=30 c=10D: a=50 b=30 c=5036. 以下4 个选项中,不能看作一条语句的是A: {;}B: a=0,b=0,c=0;C: if(a>0);D: if(b==0) m=1;n=2;以下题目为二级题37. if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值38. 有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行39.有以下程序#include <stdio.h>main(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3B)2C)1D) 040.有以下程序#include <stdio.h>int fun (int x,int y){ if(x!=y) return ((x+y)/2);else return (x);}main(){ inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,C)));}程序运行后的输出结果是A)3B)6C)8D)1241. 有以下程序:#include <stdio.h>main(){int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf("%d,%d,%d,%d",a,b,c,d);}程序输出( ).A)1,1,2,0B)0,0,0,3C)编译有错D) 0,1,2,042. 有以下程序:#include <stdio.h>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;case 3: a++; b++;}printf("a=%d,b=%d\n",a,b);}A) a=2,b=2B) a=2,b=1C) a=1,b=1D) a=1,b=043. 若有定义int x, y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是()A) (x-y<0||x-y>0)B) (x-y<0)C) (x-y>0)D)(x-y==0)44 .有以下程序:#include <stdio.h>main(){int x=1,y=0;if ( !x ) y++;else if (x==0)if(x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是()A) 3B) 2C) 1D) 045. 若有定义: float x=1.5; int a =1,b=3,c=2;则正确的switch语句是()A)switch(a+b){case 1: printf("*\n");case 2+1 : printf("**\n");}B)switch( (int)x );{ case 1: printf("*\n");case 2 : printf("**\n");}C) switch( x );{ case 1.0: printf("*\n");case 2.0 : printf("**\n");}D) switch( a+b ){ case 1: printf("*\n");case c: printf("**\n");}46. 若变量已正确定义,在if ( W ) printf("%d\n",k); 中,以下不可替代W的是()。