2022年计算机二级C语言真题
及参考答案
一、选择题 (请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计时。) |
1、以下叙述中正确的是( )。 |
A. C语言规定必须用main作为主函数名,程序将从此开始执行 |
B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 |
C. C语言程序将从源程序中第一个函数开始执行 |
D. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等 |
『正确答案』A |
『答案解析』 |
用户不能指定某函数为主函数,C语言规定,程序从main函数开始执行,从main函数退出,C语言函数名区别大小写。答案选择A选项。 |
2、下面描述不属于软件特点的是( )。 |
A. 软件是一种逻辑实体,具有抽象性 |
B. 软件在使用中不存在磨损、老化问题 |
C. 软件复杂性高 |
D. 软件使用不涉及知识产权 |
『正确答案』D |
『答案解析』 |
软件具有以下特点:①软件是一种逻辑实体,具有抽象性;②软件没有明显的制作过程;③软件在使用期间不存在磨损、老化问题;④软件对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素,如知识产权等。答案选择D选项。 |
3、标准库函数fgets(s,n,f)的功能是( )。 |
A. 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存 |
B. 从文件f中读取长度为n的字符串存入指针s所指的内存 |
计算机二级c语言选择题库
C. 从文件f中读取n个字符串存入指针s所指的内存 |
D. 从文件f中读取n-1个字符串存入指针s所指的内存 |
『正确答案』A |
『答案解析』 |
fgets函数功能是从f所指文件中读入n-1个字符放入s为起始地址的空间内,并在尾端自动加一个结束标志“\0”。同时将读/写位置指针向前移动字符串长度个字节。在读出n-1个字符之前,如遇到了换行符或EOF,则读出结束,A项正确。B项中“读取长度为n”错误。C项与D项中“读取n/n-1个字符串”错误,读取的是n-1个字符。答案选择A选项。 |
4、关系数据库管理系统所管理的关系是( )。 |
A. 若干个二维表 |
B. 一个DBF文件 |
C. 一个DBC文件 |
D. 若干个DBC文件 |
『正确答案』A |
『答案解析』 |
在关系数库中,一个表就是一个关系,关系数据库管理系统管理的关系就是多个二维表。答案选择A选项。 |
5、若要使用C数学库中的sin函数,需要在源程序的头部加上#include <math.h>关于引用数学库,以下叙述正确的是( )。 |
A. 将数学库中sin函数的源程序插入到引用处,以便进行编译链接 |
B. 将数学库中sin函数链接到编译生成的可执行文件中,以便能正确运行 |
C. 通过引用math.件,说明sin函数的参数个数和类型,以及函数返回值类型 |
D. 实际上,不引用math.件也能正确调用sin函数 |
『正确答案』C |
『答案解析』 |
考查文件包含处理。文件包含命令的功能是把指定的文件添加到预处理部分,从而把指定的文件和当前的源程序文件连接起来,该文件则包含了程序要调用的函数的声明。由此,选项A、B、D表述错误。答案选择C选项。 |
6、以下叙述中正确的是( )。 |
A. 函数调用时,不必区分函数名称的大小写 |
B. 调用函数时,函数名必须与被调用的函数名完全一致 |
C. 函数名允许用数字开头 |
D. 在函数体中只能出现一次return语句 |
『正确答案』B |
『答案解析』 |
调用函数的时候只有保证调用语句的函数名和被调函数的函数名、参数列表一致才能保证调用的正确性,B正确。C语言对大小写敏感,选项A错。用户自定义的函数名需要遵循用户标识符的命名规则,由字母、数字、下划线组成并且第一个字符不能为数字,选项C错。一个函数每次只能使用一个return语句,但是该函数体中可以有多个返回点,也就是有多条return语 句,每次只从其中一点返回,选项D错。答案选择B选项。 |
7、关于C语言标识符,以下叙述错误的是( )。 |
A. 标识符可全部由数字组成 |
B. 标识符可全部由下划线组成 |
C. 标识符可全部由小写字母组成 |
D. 标识符可全部由大写字母组成 |
『正确答案』A |
『答案解析』 |
C语言标识符只能由字母、数字、下划线构成,且只能以字母、下划线开头,故答案选择A选项。 |
8、下面结构体的定义语句中,错误的是( )。 |
A. struct ord {int x; int y; int z; } struct ord a; |
B. struct ord {int x; int y; int z; }; struct ord a; |
C. struct ord {int x; int y; int z; } a; |
D. struct {int x; int y; int z; } a; |
『正确答案』A |
『答案解析』 |
C语言中结构体变量的定义有三种方法:①定义结构体类型的同时定义结构体变量,如C项;②使用无名结构体类型定义结构体变量,如D项;③先定义结构体类型,后定义结构体变量,如B项,A项错在分别定义结构体类型与结构体变量时需要用“;”隔开。故答案选择A选项。 |
9、以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。( ) |
#include <stdio.h> |
main() |
{int a[10],i=0; |
while(i<10) scanf("%d", _________); |
…} |
A. &a[i+1] |
B. a+(i++) |
C. a+i |
D. &a(i++) |
『正确答案』 |
B |
『答案解析』 |
A项错误,进入死循环,i一直为0,一直对a[i+1]读入数据;B项正确,a为数组首地址,i++先取i值再加1,scanf读入的数据依次存放在数组a中;C项错误,控制变量i没有依次加1,无法结束循环,也无法对整个数组赋值;D项错误,数组元素引用为[],不是()。答案选择B选项。 |
10、有以下程序: |
#include <stdio.h> |
main( ) |
{ |
int i, array[6] = {1, 5, 0, 4}; |
for (i=0; i<5; i++) |
printf("%d,", array[i] & 4); |
printf("\n"); |
} |
程序运行后的输出结果是( )。 |
A. 0,4,0,4,0, |
B. 1,5,0,4,0, |
C. 1,5,5,4,0, |
D. 1,2,1,2,0 |
『正确答案』A |
『答案解析』 |
本函数的功能是将数组中所有元素与4进行与运算,首先将元素转换为二进制,然后和二进制数100(十进制4)进行与运算,第一个元素为001&100即为000,也就是0,同理可得答案分别为0、4、0、4、0,注意第五位按照0进行运算。答案选择A选项。 |
11、有以下程序 |
#include <stdio.h> |
main() |
{ |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论