c语言多选题试卷
- 格式:docx
- 大小:10.72 KB
- 文档页数:6
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。
A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。
A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设a 、b 、c 、d 、m 、n 均为int 型变量,且a=5、b=6、c=7、d=8、m=2、n=2,那么逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的值为( C )。
A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。
A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。
C语言测试题(附有详细解析)一、选择题1. 以下哪个选项是C语言的关键字?A. ifB. sizeofC. structD. include解析:C语言中,关键字是指被C语言本身定义的具有特定意义的单词。
选项A的`if`是关键字,用于条件判断;选项C的`struct`是关键字,用于定义结构体;选项D的`include`实际上是预处理指令的一部分,不属于关键字。
选项B的`sizeof`是运算符,用于计算数据类型或变量的大小。
因此,正确答案是A、C。
2. 在C语言中,以下哪个选项表示整型变量?A. charB. intC. floatD. double解析:在C语言中,`int`类型用于存储整数。
选项A 的`char`用于存储字符;选项C的`float`和选项D的`double`用于存储浮点数。
因此,正确答案是B。
3. 以下哪个选项表示逻辑运算符?A. `++`B. `--`C. `&&`D. `%`解析:逻辑运算符用于连接多个条件表达式,包括与运算符`&&`、或运算符`||`和非运算符`!`。
选项C的`&&`是逻辑与运算符。
选项A的`++`和选项B的`--`是算术运算符,用于自增和自减;选项D的`%`是取模运算符。
因此,正确答案是C。
二、填空题1. 在C语言中,定义一个整型变量`a`并赋值为10的代码是______。
解析:定义整型变量`a`并赋值为10的代码如下:```cint a = 10;```2. 以下代码的输出结果是______。
```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++ + ++x);return 0;}```解析:在C语言中,`x++`是先使用x的值,然后x自增1;`++x`是先x自增1,然后使用x的值。
因此,`x++ + ++x`的执行过程如下:- `x++`,此时x的值为5,输出5;- `++x`,此时x的值为6,输出6;- 最终输出结果为11。
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
c语言考试题及答案分析一、选择题1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-2D. variable_2答案:D分析:在C语言中,变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。
2. C语言中,哪个关键字用于定义一个函数?A. defineB. functionC. defD. void答案:D分析:在C语言中,void关键字用于定义一个函数,如果函数没有返回值。
3. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. doubleD. string答案:D分析:C语言中的基本数据类型包括int、float、double等,而string不是基本数据类型,它是字符数组。
二、填空题1. 在C语言中,使用________关键字可以定义一个数组。
答案:int分析:在C语言中,数组通常使用int关键字定义,但也可以定义为其他数据类型。
2. C语言中,________运算符用于比较两个值是否相等。
答案:==分析:在C语言中,双等号==运算符用于比较两个值是否相等。
三、编程题1. 编写一个C语言程序,计算并输出1到100的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("The sum of numbers from 1 to 100 is: %d\n", sum);return 0;}```分析:该程序使用for循环遍历1到100的整数,并将每个整数累加到变量sum中,最后输出总和。
2. 编写一个C语言程序,实现输入两个整数,输出它们的差。
答案:```c#include <stdio.h>int main() {int num1, num2, difference;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);difference = num1 - num2;printf("The difference is: %d\n", difference);return 0;}```分析:该程序首先提示用户输入两个整数,然后使用scanf函数读取输入,计算它们的差,并使用printf函数输出结果。
c语言考试题及答案一、选择题1. C语言中用于表示整数常量的是()。
A. 3.14B. '65'C. 0x1AD. 2e5答案:C2. 若有定义:int a = 5; int b = 10; 则表达式 a * b / 3 的值是()。
A. 15B. 16C. 17D. 18答案:D3. 下列哪个选项是C语言中的关键字?()A. runB. switchC. goD. jump答案:B4. 在C语言中,用于动态分配内存空间的函数是()。
A. mallocB. freeC. strcpyD. strcmp答案:A5. 下列关于指针的说法正确的是()。
A. 指针可以存储任何类型的数据B. 指针是一种特殊类型的变量,其值为另一个变量的地址C. 指针可以被直接赋值,不需要使用地址运算符D. 所有指针都可以进行算术运算答案:B二、填空题1. 在C语言中,一个完整的程序从()函数开始执行。
答案:main2. 若有定义:int x = 10; 则表达式 ++x 的值是()。
答案:113. 在C语言中,字符串以()字符结尾。
答案:'\0'4. 为了在C语言中引入数学库函数,需要使用预处理指令()。
答案:#include <math.h>5. 一个变量可以在声明时直接初始化,例如:int y = 7; 这里的7是()类型的常量。
答案:整三、判断题1. C语言中的所有函数都必须有返回值。
()答案:错2. 在C语言中,if-else语句可以嵌套使用。
()答案:对3. 所有的局部变量都必须在声明时初始化。
()答案:错4. C语言中的数组下标是从1开始的。
()答案:错5. 指针变量可以被解引用来访问其指向的内存中存储的数据。
()答案:对四、编程题1. 编写一个C语言程序,输入一个整数,判断它是否为偶数。
如果是偶数,输出“Even”;如果不是,输出“Odd”。
```c#include <stdio.h>int main() {int num;printf("Enter an integer: ");scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```2. 编写一个C语言程序,计算并输出一个整数数组中所有元素的和。
一、多选共31题(共计31分)第1题(分)题号:336 难度:中第2章以下可以定义为用户标识符的有().A:scanfB:shortC:_3com_D:int答案:AC第2题(分)题号:341 难度:中第2章以下选项中不是C语言合法整数的是().(A:10110B:0386C:0XffaD:x2a2答案:BD》第3题(分)题号:349 难度:中第4章若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是(). A:a=b=c=d=100;B:d++;C:c+b;D:d=(c=22)-(b++);|答案:ABD第4题(分)题号:334 难度:中第2章以下合法的十六进制数是().A:oxffB:0Xabc)C:0x01D:0X9X答案:BC第5题(分)题号:346 难度:中第4章设有以下定义int a=0;\double b=;char c='A';#define d 2则下面语句中正确的是().A:a++;{B:b++;C:c++;D:d++;答案:ABC第6题(分)题号:333 难度:中第1章以下叙述中正确的是().、A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main()函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC·第7题(分)题号:350 难度:中第5章以下4个选项中,可以看作是一条语句的有().A:{;}B:a=0,b=0,c=0;C:if(a>0);D:if(b==0) m=1;n=2;@答案:ABC第8题(分)题号:359 难度:中第8章以下对C语言中的函数描述不正确的有().A:可以嵌套定义,不可以嵌套调用B:不可以嵌套定义,可以嵌套调用C:可以嵌套定义,也可以嵌套调用…D:嵌套定义和嵌套调用都不允许答案:ACD第9题(分)题号:337 难度:中第2章下列选项中是C语言合法标志符的有().A:good_morningB:main#C:D:8abc答案:AB第10题(分)题号:358 难度:中第7章在定义int a[2][3];之后,对a的引用正确的有().A:a[0][2](B:a[1,3]C:a[1>2][!1]D:a[2][0]答案:AC第11题(分)题号:356 难度:中第7章以下关于数组描述错误的是().—A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD!第12题(分)题号:353 难度:中第6章对do-while语句描述正确的是().A:do-while语句构成的循环可以使用break语句退出循环B:do-while语句构成的循环必须使用break语句退出循环C:do-while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD:第13题(分)题号:335 难度:中第2章以下用户标识符,其中合法的是().A:returnB:f2_G3C:A3-3D:abc~答案:BD第14题(分)题号:362 难度:中第9章以下关于typedef 的叙述正确的是().A:用typedef可以定义各种类型名,但不能用来定义变量B:用typedef可以增加新类型C:用typedef只是将已存在的类型用一个新的名字来代表…D:使用typedef便于程序的通用答案:ACD第15题(分)题号:345 难度:中第4章以下不合法的赋值语句是().A:x=y=100B:d--;—C:x+y;D:c=int(a+b);答案:ACD第16题(分)题号:339 难度:中第2章以下选项中不合法的字符常量是().A:"B"~B:'\010'C:68D:D答案:ACD第17题(分)题号:343 难度:中第2章有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);]语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中, 正确的有().A:11 12<回车>B:11,<空格>12<回车>C:11,12<回车>D:11,<回车> 12<回车>*答案:BCD第18题(分)题号:348 难度:中第4章已定义c为字符型变量,则下列语句中错误的是().A:c='97';B:c="97";C:c=97;~D:c="a";答案:ABD第19题(分)题号:344 难度:中第3章以下选项中合法的表达式是().A:0<=x<100B:i=j==0>C:(char)(65+3)D:x+1=x+1答案:ABC第20题(分)题号:352 难度:中第5章以下对switch语句和break语句中描述错误的有().A:在switch语句中必须使用break语句【B:break语句只能用于switch语句C:在switch语句中,可以根据需要使用或不使用break语句D:break语句是switch语句的一部分答案:ABD第21题(分)题号:360 难度:中第8章以下描述正确的是().'A:调用函数时,实参可以是表达式B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元D:调用函数时,实参与形参的类型必须一致答案:ACD,第22题(分)题号:357 难度:中第7章以下对二维数组a 进行正确初始话的是().A:static char word[]='Turbo\0';B:static char word[]={'T','u','r','b','o','\0'};C:static char word[]={"Turbo\0"};D:static char word[]="Turbo\0";;答案:BCD第23题(分)题号:342 难度:中第2章以下不符合C语言语法的实型常量是().A:答案:ABD第24题(分)题号:347 难度:中第4章若以下选项中的变量已正确定义,则不正确的赋值语句是().A:x1=%3B:x=3*x+xC:x3=0x12D:x4=1+2=3;答案:AD第25题(分)题号:351 难度:中第5章以下正确的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++;}答案:ABD~第26题(分)题号:361 难度:中第8章以下叙述正确的是().A:预处理命令行都必须以"#"开始B:在程序中凡是以"#"开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理、D:#define ABCD是正确的宏定义答案:ABD第27题(分)题号:354 难度:中第6章以下描述正确的是().A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B:while循环是先判断表达式,后执行循环语句C:do-while和for循环均是先执行循环语句,后判断表达式D:for,while和do-while循环中的循环体均可以由空语句构成答案:ABD第28题(分)题号:338 难度:中第2章下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是(). A:只能是0或1B:只能是0或非0正数C:可以是整型或字符型数据D:可以是任何类型的数据答案:ABD第29题(分)题号:340 难度:中第2章以下选项中,合法的字符常量是().A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD第30题(分)题号:332 难度:中第1章以下叙述正确的是().A:C语言严格区分大小写英文字母B:C语言用";"作为语句分隔符C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上. D:可以使用/*…*/对C程序中的任何部分作注释答案:ABCD第31题(分)题号:355 难度:中第6章以下描述错误的是().A:continue语句的作用是重新开始一次循环体的执行B:只能在循环体内和switch语句体内使用break语句C:在循环体内使用break语句和continue语句的作用相同D:从多重循环嵌套中退出是,只能使用goto语句答案:CD。
c语言程序设计(复习资料)总共50题共100分一、单选题(共20题,共40分)1. 假定一个二维数组的定义语句为“int a[3][4]={{3,4,{2,8,6;”,则元素a[2][1]的值为()。
(2分)A.0B.4C.6D.8★标准答案:A2. 以下说法中正确的是()。
(2分)A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中★标准答案:B3. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i; (2分)A.4B.5C.6D.7★标准答案:C4. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(2分)A.staticB.frendC.virtualD.public★标准答案:C5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
(2分)A.内联函数B.重载函数C.递归函数D.函数模板★标准答案:A6. 设x和y均为bool量,则x || y为假的条件是( )。
(2分)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假★标准答案:C7. 若数组名作实参而指针变量作形参,函数调用时实参传给形参的是(2分)A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址★标准答案:D8. 字符串”a+b=12\n”的长度为()。
(2分)A.6B.7C.8D.9★标准答案:C9. 程序中主函数的名字为()。
(2分)A.mainB.MAINC.MainD.任意标识符★标准答案:A10. 假定下列x和y均为int型变量,则不正确的赋值为()。
(2分)A.x+=y++B.x++=y++C.x=++yD.++x=++y★标准答案:B11. do语句能够改写为()语句。
第三章数据类型一、单选题1.下列选项中,合法的C语言关键字是()V AR char integer default2.下列语句中符合C语言语法的赋值语句是()a=7+b+c=a+7; a=7+b++=a+7; a=7+b,b++,a+7; a=5+b,c=a+5;3.下面程序的输出是main(){ int x=023;printf("%d\n",--x);}17 18 23 244.若int a=3;int b=4;int d;d=(a=(b,5),a+b),90;则d的值是( )90 3 7 95.一个字长的二进制位数是()8 16 32 随着计算机系统的不同而不同6.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是#include <stdio.h>main(){ char c1='A', c2='Y';printf("%d,%d\n",c1,c2);}因输出格式不合法,输出错误信息A,Y 65,Y 65,897.已知字母A的ASCII码为十进制的65,下面程序的输出是()main( ){ char ch1,ch2;ch1='A'+'5'-'2';ch2='A'+'6'-'2';printf("%d,%c\n",ch1,ch2);}" 68,E" " B,C" " C,D" 不确定的值8.以下程序的输出结果是#include <stdio.h>#include <math.h>main( ){ int a=1,b=4,c=2;float x=10.5 , y=4.0 , z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;pritnf("%.1f\n",z);}14.0 15.4 13.7 14.9以下程序的输出结果是#include <stdio.h>main( ){ int i=010 , j = 10;printf("%d,%d\n",++i , j--);}11,10 9,10 010,9 10,99.以下程序的输出结果是()main( ){int a=1;a+=(a=8);printf("%d\n",a);}16 1 8 910.以下程序的输出结果是( )f(int b[ ],int m,int n){int i,s=0;for(i=m;i<n;i=i+2) s=s+b[i];return s;}main( ){int x,a[ ]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);}10 18 8 1511.以下说法下确的是()C语言程序总是从第一个的函数开始执行在C语言程序中,要调用的函数必须在main( )函数中定义C语言程序总是从main( )函数开始执行C语言程序中的main( )函数必须放在程序的开始部分12.以下选项中属于C语言的数据类型的( )复数型逻辑型双精度型集合型13.在C语言中,不正确的INT类型的常数是()32768 0 37 0XAF14.在C语言中,要求运算数必须是整型的运算符是% / < !15.在C语言中,属于单目运算符的是()%/ < !16.执行下面程序中的输出语句,a的值是main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}65 20 15 1017.执行下面程序中的输出语句,a的值是()main( ){ int a;printf("%d\n",(a=3*8,a*4,a+6));}65 28 30 9618.有以下程序main( ){int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是"12 35 35 14 12 35 35 13 12 34 35 14 12 34 35 13 19.以下不能定义为用户标识符的是Main _0 _int sizeof20.有以下程序main( ){int a,b,d=25;a=d/10%9;b=a&&(-1);printf(""%d,%d\n"",a,b);}程序运行后的输出结果是"6,1" "2,1" "6,0" "2,0"21.main( ){ int m=0xa,n=2;m+=n;printf("%X\n",m);}程序的输出是C c 99 222.下面程序执行后的输出结果是main( ){char x=0xddff;printf("%d\n",x);}-35 -1 225 -870523.程序的基本单位是程序行语句函数字符24.若t为double类型,表达式t=1,t+5,t++的值是1 6.02 1.00000025.若执行下面的程序时从键盘上输入5,则输出是main( ){ int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--);}7 6 5 426.设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是1 0 4 327.已知字母A的ASCII码为十进制的65,下面程序的输出是main( ){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf(""%d,%c\n"",ch1,ch2);}" 67,D" " B,C" " C,D" 不确定的值28.以下程序的输出结果是# include <stdio.h>main(){ printf(""%d\n"",NULL); }" 不确定的0 -1 129.c语言是()语言高级语言中级语言机器语言汇编语言二、多选题30.下面表示正确的是()"c语言中的逗号是一种运算符在C语言中,一行可以有多个语句C中的变量不区分大小写c中的关键字可以做为变量名31.C语言中的标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母可以是下划线必须为字母或下划线可以是字母、数字和下划线中任一种字符32.结构化程序设计所规定的三种基本控制结构是( )顺序选择循环处理33.设x,y均为float型变量,则以下合法的赋值语句是"++x y=(x%2)/10 x*=y+8 x=y=034.下列为c语言的关键字是()if struct union typedef35.下列选项中,合法的C语言关键字是V ARcharintegerdefault36.下面那些为合法整型常量()160 0xe 0668 0x37.下面四个选项中合法的字符常量是()i++ (++i) i=i+1 i+=138.以下表达式中正确的是()c=c+1 a+=1 x>y ?x:y a-+=3三、判断题39.c语言是低级语言40.C语言中,整形常数表示的方法有3种41.表达式a=a+b可以写成a+=b42.关于float i;i=3.14159;是可以执行,没有错误43.在C语言中,变量不区分大小写44.在运算时,当出现溢出时,系统直接报错第四章顺序程序设计一、单选题1.若定义int m=7,n=12;则能得到值为3的表达式是( )n%=(m%=5) 'n%=(m-m%5) n%=m-m%5 (n%=m)-(m%=5)2.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是1 2 2.0 2.53.若有以下定义和语句char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+""A"");则输出结果是" 2,M" " 3,E" " 2,E" 输出项与对应的格式控制不一致,输出结果不确定4.若有以下定义和语句:int u=010,v=0x10,w=10;printf(""%d,%d,%d\n"",u,v,w);则输出结果是8,16,10 10,10,10 8,8,10 8,10,105.若执行下面的程序时从键盘上输入12,则输出是()main( ){ int x;scanf("%d",&x);if(x++>5) printf(""%d\n"",x);else printf(""%d\n"",x--);}"13 14 15 166.设int a=12,则执行完语句a+=a-=a*a后,a的值是552 264 144 –2647.以下选项中,与k=n++完全等价的表达式是"k=n,n=n+1" "n=n+1,k=n" k=++n k+=--n+18.设有语句char a='\72';则变量a包含1个字符包含2个字符包含3个字符说明不合法9.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是3 0 9 -1210.十进制数1385转换成十六进制数为()568 569 D85 D5511.下面程序的输出是main( ){ int a=-1, b=4,k;k=(a++<=0)&&(!(b--<=0));printf(""%d %d %d\n"",k,a,b);}0 0 3 0 1 2 1 0 3 1 1 212.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值()不定值 4 3 113.以下程序的输出结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%%d,c=%%d\n",a,c);}a=%2,b=%5 a=2,b=5 a=%%d,b=%%d a=%d,b=%d14.在C语言中,如果下面的变量都是int类型,则输出的结果是sum=pad=5; pad=sum++ ,pad++ , ++pad;printf("%d\n",pad);7 6 5 415.设int i=2,j=1,k=3,则表达式i&&(i+j)&k|i+j的值是"0 1 2 316.下面程序的输出是main( ){ int x=10,y=3;printf("%d\n",y=x/y);}0 1 3 不确定的值17.请选出合法的C语言赋值语句a=b=58i++;a=58,b=58k=int(a+b);18.若有定义:int a=16,b=10,c;,执行语句c=a/b+0.4后,c的值为()"1.4 1 2 0二、多选题19.putchar函数可以向终端输出一个整型变量表达式实型变量值字符字符型变量值20.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
试卷编号:23所属语言:C语言试卷总分:31分共有题型:1种一、多选共31题(共计31分)第1题(1.0分)题号:336 难度:中第2章以下可以定义为用户标识符的有().A:scanfB:shortC:_3com_D:int答案:AC第2题(1.0分)题号:341 难度:中第2章以下选项中不是C语言合法整数的是().A:10110B:0386C:0XffaD:x2a2答案:BD第3题(1.0分)题号:349 难度:中第4章若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是(). A:a=b=c=d=100;B:d++;C:c+b;D:d=(c=22)-(b++);答案:ABD第4题(1.0分)题号:334 难度:中第2章以下合法的十六进制数是().A:oxffB:0XabcC:0x01D:0X9X答案:BC第5题(1.0分)题号:346 难度:中第4章设有以下定义int a=0;double b=1.25;char c='A';#define d 2则下面语句中正确的是().A:a++;B:b++;C:c++;D:d++;答案:ABC第6题(1.0分)题号:333 难度:中第1章以下叙述中正确的是().A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main()函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC第7题(1.0分)题号:350 难度:中第5章以下4个选项中,可以看作是一条语句的有().A:{;}B:a=0,b=0,c=0;C:if(a>0);D:if(b==0) m=1;n=2;答案:ABC第8题(1.0分)题号:359 难度:中第8章以下对C语言中的函数描述不正确的有().A:可以嵌套定义,不可以嵌套调用B:不可以嵌套定义,可以嵌套调用C:可以嵌套定义,也可以嵌套调用D:嵌套定义和嵌套调用都不允许答案:ACD第9题(1.0分)题号:337 难度:中第2章下列选项中是C语言合法标志符的有().A:good_morningB:mainC:stdio.hD:8abc答案:AB第10题(1.0分)题号:358 难度:中第7章在定义int a[2][3];之后,对a的引用正确的有().A:a[0][2]B:a[1,3]C:a[1>2][!1]D:a[2][0]答案:AC第11题(1.0分)题号:356 难度:中第7章以下关于数组描述错误的是().A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD第12题(1.0分)题号:353 难度:中第6章对do-while语句描述正确的是().A:do-while语句构成的循环可以使用break语句退出循环B:do-while语句构成的循环必须使用break语句退出循环C:do-while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD第13题(1.0分)题号:335 难度:中第2章以下用户标识符,其中合法的是().A:returnB:f2_G3C:A3-3D:abc答案:BD第14题(1.0分)题号:362 难度:中第9章以下关于typedef的叙述正确的是().A:用typedef可以定义各种类型名,但不能用来定义变量B:用typedef可以增加新类型C:用typedef只是将已存在的类型用一个新的名字来代表D:使用typedef便于程序的通用答案:ACD第15题(1.0分)题号:345 难度:中第4章以下不合法的赋值语句是().A:x=y=100B:d--;C:x+y;D:c=int(a+b);答案:ACD第16题(1.0分)题号:339 难度:中第2章以下选项中不合法的字符常量是().A:"B"B:'\010'C:68D:D答案:ACD第17题(1.0分)题号:343 难度:中第2章有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中, 正确的有().A:11 12<回车>B:11,<空格>12<回车>C:11,12<回车>D:11,<回车> 12<回车>答案:BCD第18题(1.0分)题号:348 难度:中第4章已定义c为字符型变量,则下列语句中错误的是().A:c='97';B:c="97";C:c=97;D:c="a";答案:ABD第19题(1.0分)题号:344 难度:中第3章以下选项中合法的表达式是().A:0<=x<100B:i=j==0C:(char)(65+3)D:x+1=x+1答案:ABC第20题(1.0分)题号:352 难度:中第5章以下对switch语句和break语句中描述错误的有().A:在switch语句中必须使用break语句B:break语句只能用于switch语句C:在switch语句中,可以根据需要使用或不使用break语句D:break语句是switch语句的一部分答案:ABD第21题(1.0分)题号:360 难度:中第8章以下描述正确的是().A:调用函数时,实参可以是表达式B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元D:调用函数时,实参与形参的类型必须一致答案:ACD第22题(1.0分)题号:357 难度:中第7章以下对二维数组a进行正确初始话的是().A:static char word[]='Turbo\0';B:static char word[]={'T','u','r','b','o','\0'};C:static char word[]={"Turbo\0"};D:static char word[]="Turbo\0";答案:BCD第23题(1.0分)题号:342 难度:中第2章以下不符合C语言语法的实型常量是().A:1.2E0.5C:.5E-3D:E15答案:ABD第24题(1.0分)题号:347 难度:中第4章若以下选项中的变量已正确定义,则不正确的赋值语句是().A:x1=26.8%3B:x=3*x+xC:x3=0x12D:x4=1+2=3;答案:AD第25题(1.0分)题号:351 难度:中第5章以下正确的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++;}答案:ABD第26题(1.0分)题号:361 难度:中第8章以下叙述正确的是().A:预处理命令行都必须以"#"开始B:在程序中凡是以"#"开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理D:#define ABCD是正确的宏定义答案:ABD第27题(1.0分)题号:354 难度:中第6章以下描述正确的是().A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B:while循环是先判断表达式,后执行循环语句C:do-while和for循环均是先执行循环语句,后判断表达式D:for,while和do-while循环中的循环体均可以由空语句构成答案:ABD第28题(1.0分)题号:338 难度:中第2章下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是().A:只能是0或1B:只能是0或非0正数C:可以是整型或字符型数据D:可以是任何类型的数据答案:ABD第29题(1.0分)题号:340 难度:中第2章以下选项中,合法的字符常量是().A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD第30题(1.0分)题号:332 难度:中第1章以下叙述正确的是().A:C语言严格区分大小写英文字母B:C语言用";"作为语句分隔符C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上.D:可以使用/*…*/对C程序中的任何部分作注释答案:ABCD第31题(1.0分)题号:355 难度:中第6章以下描述错误的是().A:continue语句的作用是重新开始一次循环体的执行B:只能在循环体内和switch语句体内使用break语句C:在循环体内使用break语句和continue语句的作用相同D:从多重循环嵌套中退出是,只能使用goto语句答案:CD。