C语言选择结构考试试题
- 格式:docx
- 大小:13.42 KB
- 文档页数:6
第五章选择结构程序设计基础练习(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语言循环结构前的练习一、选择题:(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 语言选择结构考试试题一、选择题(每题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语言考试题型及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 在C语言中,以下哪个选项表示逻辑与操作?A. &&B. ||C. !D. %5. 下列哪个选项是C语言中的正确整型常量?A. 012B. 0x1AC. 1.2e3D. 0b1010答案:B6. 在C语言中,哪个关键字用于声明一个函数?A. functionB. defC. declareD. int答案:D7. C语言中,哪个库函数用于输出格式化的字符串到控制台?A. printf()B. scanf()C. fgets()D. fputs()答案:A8. 下列哪个选项是C语言中的合法浮点型常量?A. 3.14B. .14C. 3e-10D. All of the above答案:D9. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?B. externC. registerD. auto答案:A10. C语言中,哪个运算符用于计算两个整数的差并取模?A. %B. /C. -D. ==答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个数组的关键字是________。
答案:array2. C语言中,用于声明一个指针变量的关键字是________。
答案:pointer3. C语言中,用于声明一个函数的返回类型是________。
答案:return type4. C语言中,用于声明一个变量为全局变量的关键字是________。
数据结构c语言版试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 若有一个结构体数组,下列哪个函数可以用来初始化数组中的每个元素?A. memsetB. memcpyC. strcpyD. bzero答案:A3. 在C语言中,以下哪个函数用于动态分配内存?A. mallocB. callocC. reallocD. all of the above答案:D4. 对于一个链表,以下哪个操作是正确的?A. 插入节点B. 删除节点C. 遍历链表D. all of the above答案:D5. 在C语言中,以下哪个函数用于释放动态分配的内存?A. freeB. mallocC. callocD. realloc答案:A二、填空题(每题3分,共15分)1. 结构体定义的关键字是______。
答案:struct2. 在C语言中,动态分配内存失败时,malloc函数返回______。
答案:NULL3. 单链表的头节点指针通常初始化为______。
答案:NULL4. 双向链表中,每个节点包含______个指针。
答案:两个5. 树的深度优先遍历包括______、中序遍历和后序遍历。
答案:前序遍历三、简答题(每题5分,共20分)1. 请简述C语言中结构体和联合体的区别。
答案:结构体(struct)可以包含不同类型的数据,并且可以有多个实例;联合体(union)可以包含不同类型的数据,但是只能有一个实例,即在任意时刻只能存储其中一个成员的值。
2. 动态内存分配的优点是什么?答案:动态内存分配允许程序在运行时根据需要分配内存,这样可以更有效地使用内存资源,并且可以创建大小不固定的数据结构。
3. 链表相比于数组有哪些优点?答案:链表的优点包括动态大小,可以灵活地插入和删除节点,不需要预先知道数据的大小。
数据结构试题及答案c语言版一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的链表定义?A. struct Node { int data; struct Node *next; };B. struct Node { int data; Node *next; };C. struct Node { int data; struct Node *next; } *Node;D. struct Node { int data; Node *next; };答案:A2. 下列关于栈的描述中,错误的是?A. 栈是一种后进先出(LIFO)的数据结构。
B. 栈的插入操作称为push。
C. 栈的删除操作称为pop。
D. 栈可以存储任意数量的数据。
答案:D3. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A4. 下列关于队列的描述中,正确的是?A. 队列是一种先进先出(FIFO)的数据结构。
B. 队列只能从队尾进行插入操作。
C. 队列的插入操作称为pop。
D. 队列的删除操作称为push。
答案:A5. 在C语言中,以下哪个函数用于创建一个动态数组?A. mallocB. callocC. reallocD. all of the above答案:D6. 下列关于二叉树的描述中,错误的是?A. 二叉树的每个节点最多有两个子节点。
B. 二叉树的子节点被称为左子树和右子树。
C. 二叉树的遍历方式包括前序、中序、后序。
D. 二叉树的每个节点只能有一个子节点。
答案:D7. 在C语言中,以下哪个函数用于释放动态分配的内存?A. freeB. mallocC. callocD. realloc答案:A8. 下列关于图的描述中,错误的是?A. 图是由顶点和边组成的数据结构。
B. 图的边可以是有向的,也可以是无向的。
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语言选择考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是:A. intB. floatC. doubleD. char答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B3. C语言中,用于计算两个数的和的运算符是:A. +B. -C. *D. /答案:A4. 在C语言中,以下哪个选项不是控制语句?A. ifB. switchC. forD. printf答案:D5. C语言中,用于定义字符型变量的关键字是:A. intB. charC. floatD. double答案:B6. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A7. C语言中,用于定义浮点型变量的关键字是:A. intB. charC. floatD. double答案:C8. 在C语言中,以下哪个选项是正确的数组声明?A. int numbers[];B. int numbers[10];C. int numbers[10] = {0};D. All of the above答案:D9. C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int a, b);D. int add(int a, int b) {}答案:A10. C语言中,以下哪个选项是正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D二、多项选择题(每题3分,共15分)11. C语言中,以下哪些选项是合法的变量名?A. _myVarB. 2myVarC. myVar2D. my-var答案:A, C12. C语言中,以下哪些选项是合法的常量?A. 123B. 3.14159C. 'A'D. "Hello"答案:A, B, C, D13. C语言中,以下哪些选项是合法的运算符?A. +=B. &&C. ||D. %答案:B, C, D14. C语言中,以下哪些选项是合法的控制语句?A. ifB. elseC. whileD. break答案:A, B, C, D15. C语言中,以下哪些选项是合法的函数参数传递方式?A. 值传递B. 地址传递C. 指针传递D. 引用传递答案:A, B, C三、填空题(每题4分,共20分)16. 在C语言中,声明一个整型变量并初始化为10,可以使用语句:________。
(完整版)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语言期末考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于创建链表节点?A. mallocB. callocC. reallocD. free答案:A3. 如果一个链表的头指针为NULL,这意味着什么?A. 链表为空A. 链表已满C. 链表正在使用中D. 链表已损坏答案:A4. 在C语言中,以下哪个数据结构允许快速随机访问?A. 链表B. 数组C. 栈D. 队列5. 在二叉树中,以下哪个术语描述了没有子节点的节点?A. 根节点B. 叶节点C. 内部节点D. 父节点答案:B6. 以下哪个算法用于在二叉搜索树中查找一个元素?A. 深度优先搜索B. 广度优先搜索C. 插入排序D. 二分查找答案:D7. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:A8. 以下哪个选项是正确的递归函数定义?A. int fact(int n) { if (n > 1) return n * fact(n-1); else return 1; }B. int fact(int n) { if (n > 1) return n * fact(n); else return 1; }C. int fact(int n) { if (n > 1) return n * fact(n+1); else return 1; }D. int fact(int n) { if (n > 1) return n; else return 1; }9. 在C语言中,以下哪个函数用于释放动态分配的内存?A. mallocB. callocC. reallocD. free答案:D10. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. &答案:C二、填空题(每题2分,共20分)1. 在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语言选择题考试题库及答案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。
选择结构试题及答案
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语言的选择结构的试题及答案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语言顺序分支结构选择题及答案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语言选择结构练习题一、单选题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语言选择题考试题库及答案一、单项选择题1. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. void答案:C2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. &答案:A4. C语言中,用于表示逻辑“或”操作的运算符是()。
A. &&B. ||C. !D. &答案:B5. C语言中,用于表示逻辑“非”操作的运算符是()。
A. &&C. !D. &答案:C6. C语言中,用于表示“等于”关系的运算符是()。
A. ==B. =C. !=D. <=答案:A7. C语言中,用于表示“不等于”关系的运算符是()。
A. ==B. =C. !=答案:C8. C语言中,用于表示“小于等于”关系的运算符是()。
A. ==B. =C. <=D. >=答案:C9. C语言中,用于表示“大于等于”关系的运算符是()。
A. ==B. =C. <=D. >=答案:D10. C语言中,用于表示“取模”操作的运算符是()。
A. %B. /C. *D. -答案:A11. C语言中,用于表示“整除”操作的运算符是()。
A. %B. /C. *D. -答案:B12. C语言中,用于表示“乘法”操作的运算符是()。
A. %C. *D. -答案:C13. C语言中,用于表示“加法”操作的运算符是()。
A. +B. -C. *D. /答案:A14. C语言中,用于表示“减法”操作的运算符是()。
A. +B. -C. *答案:B15. C语言中,用于表示“左移”操作的运算符是()。
A. <<B. >>C. <=D. >=答案:A16. C语言中,用于表示“右移”操作的运算符是()。
1、变量a所占的内存字节数是________。
struct stu{ char name[20];long int n;int score[4];} a ;A) 28 B) 30C) 32 D) 36C20+4+4*2=322、下列程序的输出结果是struct abc{int a,b,c;};main(){struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf("%d\n",t);}A)5 B)6 C)7 D)8B3、有如下定义struct person{ char name[9]; int age;};struct person calss[4]={ "Johu",17,"Paul",19,"Mary",18,"Adam",16,};根据以上定义,能输出字母M的语句是________。
A) printf("%c\n",class[3].name);B) printf("%c\n",class[3].name[1]);C) printf("%c\n",class[2].name[1]);D) printf("%c\n",class[2].name[0]);D4、以下程序的输出是________。
struct st{int x;int *y;} *p;int dt[4]={10,20,30,40};struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,dt[0],}; main(){ p=aa;printf("%d\n",++(p->x));}A) 10 B) 11C) 51 D) 60C5、设有以下定义和语句,则输出的结果是________(用small模式编译,指针变量占2个字节)。
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 语言选择结构考试试题
一、选择题(每题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=2
2. 有以下程序 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
3. 有如下程序 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 )2
D )-1
5. 若运行时给变量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 )10
6. 在C 程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表
示逻辑值“假”。
在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。
A )1 0
B )0 1
C )非0 非0
D )1 1
7. 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf ("***a=%d,b=%d,c=%d \n",a,b,c ):printf ("###a=%d,b=%d,c=%d \n",a,b,c );程序输出的结果是
A )***a=25,b=13,c=19
B )***a=26,b=14,c=19
C )### a=25,b=13,c=19
D )### a=25,b=14,c=19 8. 有如下程序 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
9. 以下4个选项中,不能看做一条语句的是
A );
B )a=5,b=2.5,c=3.6;
C )if (a<5);
D )if (b!=5)x=2;y=6; 10. 能正确表示逻辑关系:“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<=0 11. 有如下程序 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 )3
12. 设x ,y 和z 都是int 型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
A )x&&y
B )x<=y
C )x||++y&&y-z
D )!(x<y&&!z||1)
13. 若有条件表达式(exp )?a++:b--,则以下表达式中能完全等价于表达式(exp )
的是 A )(exp==0) B )(exp!=0) C )(exp==1)
D )(exp!=1)
14. 以下程序的输出结果是
main ()
{ int a=4,b=5,c=0,d; d=!a&&!b||!c;
利川职校201___级_____________班姓名___________ 考号____________________
…………………………装……………………………………………订…………………………………………线…………………………printf("%d\n",d);}
A)1 B)0 C)非0的数D)-1
15.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值是
A)1 B)2 C)3 D)4
16.设x,y,t均为int型变量,执行语句:
x=y=3;
t=++x||++y;
完成后,y的值为
A)不确定B)4 C)3 D)1
17.请阅读以下程序:
main()
{ int a=5,b=0,c=0;
if(a=b+c)printf("***\n");
else printf("$$$\n");} 以上程序
A)有语法错不能通过编译
B)可以通过编译但不能通过连接
C)输出***
D)输出$$$
18.当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的
是
A)m=k=n B)(m=k)&&(n=k)
C)(m=k)||(n=k)D)(k=m)&&(n=k)
19.下列程序的运行结果是
#include "stdio.h"
main()
{ int x=-9,y=5,z=8;
if(x<y)
if(y<0)z=0;
else z+=1;
printf("%d\n",z);}
A)6 B)7 C)8 D)9
20、若执行下面的程序时,从键盘上输入5和2,则输出结果是main()
{ int a,b,k;
scanf("%d,%d ",&a,&b);
k=a;
if(a<b)k=a%b;
else k=b%a;
printf("%d\n ",k);}
A)5 B)3 C)2 D)0
二、程序设计(每空20分,共40分)
1、输入三个数a,b,c,要求从小到大输出。
2、要求根据考试成绩的等级输出百分之分数段,A等为85分以上,B等为70~84分,C 等为60~69分,D等为60分一下。
成绩的等级由键盘输入。
答题卡
一、选择题(每题3分,共60分)
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20。