好好学习,天天向上,我爱自学网欢迎您!
当前位置:首页 >  考试 >  计算机类 > 内容页

2021年计算机二级考试《C语言》测试题与答案

2021-07-08 11:32:22计算机类访问手机版479

  2021年计算机二级考试《C语言测试题答案

  2021年3月计算机等级考试于3月25日-28日进行,考生可通过大量模拟试题的练习,加深对考点的理解和掌握,检验复习效果。以下是小编搜索整理的一份2021年计算机二级考试《C语言》测试题与答案,供参考练习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!

一、选择题

  1. 我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下 说法错误的是

  A.一条C语句可能会被转换成多条机器指令

  B.一条C语句对应转换成一条机器指令

  C.一条C语句可能会被转换成零条机器指令

  D.某种类型和格式的C语句被转换成机器指令的条数是固定的

  正确答案:B

  答案解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。

  2. 数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是 。

  A.外模式

  B.概念模式

  C.内模式

  D.存储模式

  正确答案:B

  答案解析:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户应用公共数据视图。它不涉及具体的硬件环境与平台,与具体的软件环境也无关。

  3. 以下叙述中正确的是

  A.程序的算法只能使用流程图来描述

  B.N-S流程图只能描述简单的顺序结构的程序

  C.计算机可以直接处理C语言程序,不必进行任何转换

  D.结构化程序的三种基本结构是循环结构、选择结构、顺序结构

  正确答案:D

  答案解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。N-S图为盒图,可以描述比较复杂的程序结构,而计算机不能直接处理C程序,只能处理二进制代码。

  4. 下列叙述中正确的是

  A.两个连续的单引号′′是合法的字符常量

  B.可以对字符串进行关系运算

  C.两个连续的双引号″″是合法的字符串常量

  D.空字符串不占用内存,其内存空间大小是0

  正确答案:C

  答案解析:两个连续的双引号:″″,是一个字符串常量,称为″空串″。

  5. 若变量均已正确定义并赋值,以下合法的C语言赋值语句是 。

  A.x=y==5;

  B.x=n%2.5;

  C.x+n=I;

  D.x=5=4+1;

  正确答案:A

  答案解析:选项A的含义是把关系表达式y==5的值赋给变量x。所以这是一条正确的赋值语句。因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,所以选项C和D是错误的。因为求余运算符″%″两侧的运算对象都应当是整型数据,所以选项B是错误的。

二、程序填空题

  给定程序中。函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

  例如,有9个正整数:1 5 7 23 87 5 8 21 45

  按升序排列时的中间数为:8  处理后主函数中输出的数列为:8 8 8 23 87 8 821 45

  请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

  注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的.结构!

  试题程序:

  2021年计算机二级考试《C语言》测试题与答案

三、程序修改题

  给定程序MODll.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。

  请改正函数flm中指定部位的错误,使它能得出正确的结果。

  注意:不要改动main函数,不得增行或删行.也不得更改程序的结构!

四、程序设计题

  请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。

>>>参考答案与解析<<<

二、程序填空题

  【参考答案】

  1b[k]24或N/23<

  【解题思路】

  数组中的9个数任意排列,要找到按升序排列时处于中间位置的数,应首先对数组进行升序排列。因为只需找到中间位置的数即可,故不必对整个数组进行排序,只需要排列出数组的前半部分。找到中间数后,遍历原数组,将小于中间数的元素进行替换。

  填空1:利用选择算法排序,先指定一个元素为最小,用这个数与其后的所有数进行比较,若找小于此数,则进行替换。此处考查替换操作。

  填空2:元素mid存放中间位置的数,数组长度为9,因此中间元素数为b[4]。

  填空3:遍历数组,当元素小于中间位置的数即mid时,进行替换。

三、程序修改题

  【解题思路】

  要删除数组b中小于10的数,应依次取出数组数组b中的元素与10进行比较,若不小于10,则将其存入数组t中,遍历完成后,数组t中的元素即为所求,再将数组t中的元素保存到数组b中即可。

  1元素hum存放不小于10的元素的个数,应将其初始化为0。

  2将数组b中不小于10的元素存人数组t中,同时使数组t的下标加1。

  3语法错误,没有nun这个变量,应该为num。

四、程序设计题

  

  【解题思路】

  要统计字符串中数字字符的个数,首先应定义变量n,并初始化为0,然后遍历字符串,逐个判断字符是否为数字字符,判断条件为该元素的ASCII码在字符0和9的ASCII码之间,若判断条件成立,则使n的值加1,否则,继续判断下一个字符,直到字符串结束。