|
一、单选题(共 20 道试题,共 40 分。) V 1. 一个C程序的执行是从
A. 本程序的main函数开始,到main函数结束
B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C. 本程序的main函数开始,到本程序文件的最后一个函数结束
D. 本程序文件的第一个函数开始,到本程序main函数结束
2. 在一个被调用函数中,关于return语句使用的描述,错误的是()。
A. 被调用函数中可以不用return语句
B. 被调用函数中可以使用多个return语句
C. 被调用函数中,如果有返回值,就一定要有return语句
D. 被调用函数中,一个return语句可以返回多个值给调用函数
3. 以下不能对二维数组a进行正确初始化的语句是
A. int a[2][3]={0};
B. int a[][3]={{1,2},{0}};
C. int a[2][3]={{1,2},{3,4},{5,6}};
D. int a[][3]={1,2,3,4,5,6};
4. 下面有关for循环的正确描述是
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判断表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
5. 在下列运算符中,( )优先级最低。
A. !
B. &&
C. !=
D. ?:
6. C语言中,长整型long数据在内存中的存储形式是( )。
A. ASCII
B. 原码
C. 反码
D. 补码
7. 在C语言中,引用数组元素时,其数组下标的数据类型允许是
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
8. 判断char型变量ch是否为大写字母的正确表达式是
A. ‘A’<=ch<=‘Z’
B. (ch>=‘A’)&(ch<=‘Z’)
C. (ch>=‘A’)&&(ch<=‘Z’)
D. (‘A’<=ch)AND(‘Z’>=ch)
9. 将两个字符串连接起来组成一个字符串时,选用( )函数。
A. strlen( )
B. strcpy( )
C. strcat( )
D. strcmp( )
10. 下面四个选项中,均是合法转义字符的选项是
A. ‘\’’ ‘\\’ ‘\n’
B. ‘\’ ‘\017’ ‘\”’
C. \018’ ‘\f’ ‘xab’
D. \\0’ ‘\101’ ‘x1f’
11. 若有说明:int a[3][4];则对a数组元素的正确引用是
A. a[2][4]
B. a[1,3]
C. a[1+1][0]
D. a(2)(1)
12. 对以下说明语句的正确理解是______。 int a[10]={6,7,8,9,10};
A. 将5个初值依次赋给a[1]至a[5]
B. 将5个初值依次赋给a[0]至a[4]
C. 将5个初值依次赋给a[6]至a[10]
D. 因为数组长度与初值的个数不相同,所以此语句不正确
13. 若有说明:int a[][4]={0,0};则下面不正确的叙述是
A. 数组a的每个元素都可得到初值0
B. 二维数组a的第一维大小为1
C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
14. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符
A. 必须为字母
B. 必须为下划线
C. 必须为字母或下划线
D. 可以是字母、数字和下划线中任一种字符
15. 逻辑运算符两侧运算对象的数据类型
A. 只能是0或1
B. 只能是0或非0正数
C. 只能是整型或字符型数据
D. 可以是任何类型的数据
16. 以下不正确的C语言标识符是( )。
A. AB1
B. _ab3
C. 4ab
D. a2_b
17. 若有说明:int a[3][4];则对a数组元素的非法引用是
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
18. 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为
A. char<int<long int<=float<double
B. char=int<long int<=float<double
C. char<int<long int=float=double
D. char=int=long int<=float<double
19. 对for(表达式1;;表达式3)可理解为
A. for(表达式1;0;表达式3)
B. for(表达式1;1;表达式3)
C. for(表达式1; 表达式1;表达式3)
D. for(表达式1; 表达式3;表达式3)
20. 在下列表达式选项中,( )是正确的。
A. a++++b
B. +a++
C. a++b
D. a+++b
二、多选题(共 15 道试题,共 30 分。) V 1. 表示一个算法的方式包括哪些?
A. 用自然语言表示
B. 用流程图表示
C. 用N-S流程图表示
D. 用伪代码表示
BCD
2. 关于switch语句叙述正确的是
A. 语句中,case的冒号后面允许没有语句。
B. switch语句中,每一个case的冒号后面都允许跟有多条语句。
C. 在与switch语句配套的case语句中所使用的表达式可以是变量或常量。
D. switch语句中,可以没有default语句。
BD
3. 若a为整型变量,则下列表达式的值为0的是
A. a%a
B. a!=a
C. 3/4
D. 3&&0
BCD
4. 下列描述正确的是:
A. getchar函数只能接收一个字符
B. getchar函数得到的字符可以赋给一个字符变量
C. getchar函数得到的字符可以赋给一个整型变量
D. getchar函数得到的字符可以作为表达式的一部分
BCD
5. 哪些运算符属于逻辑运算符?
A. &&
B. ||
C. !
D. ^
BC
6. 以下哪些函数可以实现字符的输出?
A. putchar函数
B. getchar函数
C. printf函数
D. scanf函数
C
7. 函数调用strcat(strcpy(str1,str2),str3)的功能,以下说法错误的有:
A. 将串str1复制到串str2中后在连接到串str3之后;
B. 将串str1连接到串str2之后再复制到串str3之后;
C. 将串str2复制到串str1中后再将串str3连接到串str1之后;
D. 将串str2连接到串str1中后再将串str1复制到串str3中
BD
8. 以下哪些属于C语言的运算符?
A. 算术运算符
B. 关系运算符
C. 逻辑运算符
D. 位运算符
BCD
9. 哪些运算符属于关系运算符?
A. <
B. <=
C. >=
D. %
BC
10. 下列函数中,能够输出字符数据的函数有
A. puts( )
B. printf( )
C. scanf( )
D. putchar( )
BD
11. 假设float x,y,z;,并通过scanf("%f%f%f ",&a,&b,&c);对a赋于10.0,b赋予22.0,c赋予33.0的值,下面正确的输入形式是(注:符号【代表空格):
A. 10<回车>22<回车> 33<回车>
B. 10.0<回车>22.0<回车>33.0<回车>
C. 10.0,22.0,33.0<回车>
D. 10.0【22.0【33.0<回车>
BD
12. 以下正确的说法有
A. C语言程序的基本组成单位是函数;
B. 函数必须要有返回值;
C. 一个函数的类型为void,在定义时,可以省略void;
D. 函数声明是一条C语句
D
13. 下面属于转义符的有:
A. ‘\t ’
B. ‘\n’
C. ‘%d’
D. ‘\376’
BD
14. 以下关于函数的叙述正确的有
A. 一个C语言程序有且仅有一个main函数;
B. C语言程序中,main函数是没有参数的;
C. 一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用;
D. main函数是由系统调用的
CD
15. 若有 char ch;,下面可以对变量c正确赋值的语句是:
A. ch =‘A’;
B. getchar(ch);
C. ch = getchar();
D. scanf(“%c”,&ch);
CD
三、判断题(共 15 道试题,共 30 分。) V 1. 若有定义:int a[5],*p;,则操作p=a;是合法的操作。
A. 错误
B. 正确
2. 在一个函数定义中,只能有一个return语句。
A. 错误
B. 正确
3. C语言中,任意两个函数间不能嵌套定义,但可以互相调用。
A. 错误
B. 正确
4. 若a=1,b=2,c=3,则执行表达式(a>b)&& (c++)后,c的值为4。
A. 错误
B. 正确
5. 如果指针占用的内存大小为2Byte,那么指向它的二重指针占用内存大小为4Byte。
A. 错误
B. 正确
6. 变量分为全局和局部两种,自动局部变量没有赋初值时,其值是不确定的。
A. 错误
B. 正确
7. 一个C程序无论有多少个源程序文件组成,在其中一个源程序文件中定义的全局变量的作用域默认为整个C程序。
A. 错误
B. 正确
8. C语言与其他高级语言一样,对于所有的同级运算符均遵循左结合原则。
A. 错误
B. 正确
9. 整型变量m的值为27,语句 printf("m=%x",m);的输出结果为m=1b。
A. 错误
B. 正确
10. 未初始化的int类型数组,其各元素的值全是0。
A. 错误
B. 正确
11. 实际上,可以用顺序、分支、循环三种结构构造任何算法。
A. 错误
B. 正确
12. 若有定义:int a[5][5], (*p)[5];,则操作p=*a;是合法操作。
A. 错误
B. 正确
13. 定义一个具有10个元素的整型数组,应当使用语句int a[10]; 。
A. 错误
B. 正确
14. 在C程序中,函数调用可以作为函数的形参。
A. 错误
B. 正确
15. 当主程序执行完毕时,亦即程序执行完毕。
A. 错误
B. 正确
|
|