2023年全国计算机等级考试二级C语言真题库之选择题16.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 全国 计算机等级考试 二级 语言 题库 选择题 16
- 资源描述:
-
全国计算机等级考试等级考试真题库之选择题(16) 1.下列叙述中对的的是 A) 程序执行的效率与数据的存储结构密切相关 B) 程序执行的效率只取决于程序的控制结构 C) 程序执行的效率只取决于所解决的数据量 D) 以上说法均错误 参考答案:A 【解析】程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所解决的数据量等有关。 2.下列与队列结构有关联的是 A) 函数的递归调用 B) 数组元素的引用 C) 多重循环的执行 D) 先到先服务的作业调度 参考答案:D 【解析】队列的修改是依先进先出的原则进行的,D对的。 3. A) DYBEAFCZX B) YDEBFZXCA C) ABDYECFXZ D) ABCDEFXYZ 参考答案:C 【解析】前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,一方面访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:①访问根结点;②前序遍历左子树;③前序遍历右子树,C对的。 4.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是 A) 1,2,3,A,B,C B) C,B,A,1,2,3 C) C,B,A,3,2,1 D) 1,2,3,C,B,A 参考答案:C 【解析】栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选C。 5.下面属于白盒测试方法的是 A) 等价类划分法 B) 逻辑覆盖 C) 边界值分析法 D) 错误推测法 参考答案:B 【解析】白盒测试法重要有逻辑覆盖、基本途径测试等。逻辑覆盖测试涉及语句覆盖、途径覆盖、鉴定覆盖、条件覆盖、判断-条件覆盖,选择B。其余为黑盒测试法。 6.下面对对象概念描述对的的是 A) 对象间的通信靠消息传递 B) 对象是名字和方法的封装体 C) 任何对象必须有继承性 D) 对象的多态性是指一个对象有多个操作 参考答案:A 【解析】对象之间进行通信的构造叫做消息,A对的。多态性是指同一个操作可以是不同对象的行为,D错误。对象不一定必须有继承性,C错误。封装性是指从外面看只能看到对象的外部特性,而不知道也无须知道数据的具体结构以及实现操作,B错误。 7.软件设计中模块划分应遵循的准则是 A) 低内聚低耦合 B) 高耦合高内聚 C) 高内聚低耦合 D) 以上说法均错误 参考答案:C 【解析】根据软件设计原理提出如下优化准则:① 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。② 一个模块的作用范围应在其控制范围之内,且鉴定所在的模块应与受其影响的模块在层次上尽量靠近。③ 软件结构的深度、宽度、扇入、扇出应适当。④ 模块的大小要适中。C对的。 8.下面描述中不属于数据库系统特点的是 A) 数据共享 B) 数据完整性 C) 数据冗余度高 D) 数据独立性高 参考答案:C 【解析】数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C错误。 9.数据库设计过程不涉及 A) 概念设计 B) 逻辑设计 C) 物理设计 D) 算法设计 参考答案:D 【解析】数据库设计过程重要涉及需求分析、、概念结构设计、逻辑结构分析、数据库物理设计、数据库实行、数据库运营和维护阶段。答案为D选项。 10. A) 自然连接 B) 交 C) 投影 D) 并 参考答案:A 【解析】关系R和关系S有公共域,关系T是通过公共域的等值进行连接的结果,符合自然连接,选A。 11.以下叙述中对的的是 A) 程序必须包含所有三种基本结构才干成为一种算法 B) 我们所写的每条C语句,通过编译最终都将转换成二进制的机器指令 C) 假如算法非常复杂,则需要使用三种基本结构之外的语句结构,才干准确表达 D) 只有简朴算法才干在有限的操作环节之后结束 参考答案:B 【解析】C语言程序可以不包含三种基本结构,也可以包含其中的一种或多种,所以A错误。三种基本结构可以表达任何复杂的算法,所以C错误。对的的算法,不管是简朴算法还是复杂算法都可以在有限的操作环节之后结束,这是算法的有穷性,所以D错误。 12.以下叙述中对的的是 A) 在算法设计时,可以把复杂任务分解成一些简朴的子任务 B) 在C语言程序设计中,所有函数必须保存在一个源文献中 C) 只要包含了三种基本结构的算法就是结构化程序 D) 结构化程序必须包含所有的三种基本结构,缺一不可 参考答案:A 【解析】C语言的程序中,函数不一定都放在同一个源文献中,可以分别放在不同源文献中,通过#include命令来引用,所以B错误。结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。 13.以下叙述中对的的是 A) 只能在函数体内定义变量,其他地方不允许定义变量 B) 常量的类型不能从字面形式上区分,需要根据类型名来决定 C) 预定义的标记符是C语言关键字的一种,不能另作它用 D) 整型常量和实型常量都是数值型常量 参考答案:D 【解析】变量可以定义在函数体外也可以定义在函数体内,所以A错误。常量的类型可以从字面形式上区分,比如1为整型常量,1.0为实型常量,a为字符型常量,所以B错误。预定义的标记符不是C语言的关键字,所以C错误。 14.以下叙述中对的的是 A) 在C程序中的八进制和十六进制,可以是浮点数 B) 整型变量可以分为int型、short型、long型和unsigned型四种 C) 八进制数的开头要使用英文字母o,否则不能与十进制区分开 D) 英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符 参考答案:B 【解析】C程序中的实型常量只有十进制一种数制,所以A错误。八进制数以0打头,所以C错误。C语言中整数只有十进制、八进制、十六进制三种没有二进制数制,所以D错误。 15.以下叙述中对的的是 A) 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上 B) 在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔 C) 在printf函数中,各个输出项只能是变量 D) 使用printf函数无法输出百分号% 参考答案:A 【解析】scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,所以A对的。scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配就可以,所以B错误。Printf函数可以输出常量也可以输出变量,所以C错误。Prinf函数可以用"\%"来输出百分号%,所以D错误。 16.以下叙述中对的的是 A) 在scanf函数的格式串中,必须有与输入项一一相应的格式转换说明符 B) 只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度 C) scanf函数中的字符串,是提醒程序员的,输入数据时不必管它 D) 复合语句也被称为语句块,它至少要包含两条语句 参考答案:A 【解析】在printf和scanf函数中都可以指定数据的宽度,所以B错误。scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配,所以C错误。复合语句可以由任意多条语句构成,可以使一条也可以没有,所以D错误。 17.以下叙述中对的的是 A) 逻辑"或"(即运算符||)的运算级别比算术运算要高 B) C语言的关系表达式:0<x<10完全等价于: (0<x) && (x<10) C) 逻辑"非"(即运算符!)的运算级别是最低的 D) 由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象 参考答案:D 【解析】B选项中,(x>0)&&(x<10)的值是1或0,条件是x>0 并且x <10。但是 0<x<10这种写法的结果任何时候都是1; C选项中,逻辑"非"(即运算符!)的运算级别是最高的;A选项中,算术运算符优先级较高,关系和逻辑运算符优先级较低。因此D选项对的。 18.以下叙述中对的的是 A) if语句只能嵌套一层 B) if子句和else子句中可以是任意的合法的C语句 C) 不能在else子句中再嵌套if语句 D) 改变if-else语句的缩进格式,会改变程序的执行流程 参考答案:B 【解析】A选项中,if语句的嵌套没有规定层数; C选项中,可以在else子句中再嵌套if语句;D选项中,改变if-else语句的缩进格式,不会改变程序的执行流程,需要注意if和else的配对问题。因此B选项对的。 19.以下叙述中对的的是 A) 只要适本地修改代码,就可以将do-while与while互相转换 B) 对于"for(表达式1;表达式2;表达式3) 循环体"一方面要计算表达式2的值,以便决定是否开始循环 C) 对于"for(表达式1;表达式2;表达式3) 循环体",只在个别情况下才干转换成while语句 D) 假如根据算法需要使用无限循环(即通常所称的"死循环") ,则只能使用while语句 参考答案:A 【解析】B选项中,for语句中需要先求解先求解表达式1; C选项中,for语句使用最为灵活,它完全可以取代 while 语句;D选项中,对于死循环,也可以使用for语句。因此A选项对的。 20.以下叙述中对的的是 A) 只能在循环体内和switch语句体内使用break语句 B) 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行 C) continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环 D) 在while语句和do-while语句中无法使用continue语句 参考答案:A 【解析】break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,即满足条件时便跳出循环。continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。B、C和D三个选项中均有错误。因此A选项对的。 21.以下叙述中对的的是 A) '\0'表达字符0 B) "a"表达一个字符常量 C) 表达式:'a' > 'b'的结果是"假" D) '\"'是非法的 参考答案:C 【解析】A选项中,'\0'表达结束;B选项中,字符常量是用单引号括起来的一个字符; D选项中,'\"'是双引号符。因此C选项对的。 22.以下叙述中对的的是 A) 字符变量在定义时不能赋初值 B) 字符常量可以参与任何整数运算 C) 同一英文字母的大写和小写形式代表的是同一个字符常量 D) 转义字符用@符号开头 参考答案:B 【解析】A选项中,字符变量在定义时可以赋初值; C选项中,同一英文字母的大写和小写形式代表的是不同的字符常量;D选项中,转义字符以反斜线"\"开头的。因此B选项对的。 23.以下叙述中对的的是 A) 函数名允许用数字开头 B) 函数调用时,不必区分函数名称的大小写 C) 调用函数时,函数名必须与被调用的函数名完全一致 D) 在函数体中只能出现一次return语句 参考答案:C 【解析】B选项中,函数调用时,函数名称是需要区分大小写的;A选项中,函数名不允许以数字开头;D选项中,在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行。因此C选项对的。 24.以下叙述中对的的是 A) 假如p是指针变量,则&p是不合法的表达式 B) 假如p是指针变量,则*p表达变量p的地址值 C) 在对指针进行加、减算术运算时,数字1表达1个存储单元的长度 D) 假如p是指针变量,则*p+1和*(p+1)的效果是同样的 参考答案:C 【解析】B选项中,假如p是指针变量,则*p表达变量p所指向的地址的值;A选项中,假如p是指针变量,则&p表达变量p的地址;D选项中,假如p是指针变量,*p+1表达将p所指的值加上1,而*(p+1)表达的是先将指针右移一位再取所指向变量的值。因此C选项对的。 25.以下叙述中对的的是 A) 基类型不同的指针变量可以互相混用 B) 函数的类型不能是指针类型 C) 函数的形参类型不能是指针类型 D) 设有指针变量为 double *p,则 p+1 将指针p移动8个字节 参考答案:D 【解析】B选项中,所谓函数类型是指函数返回值的类型。在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数;C选项中,函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型;A选项中,虽然不同基类型的指针变量占用字节数是相同的,但是不能混用。因此D选项对的。 26.假如定义 float a[10], x; 则以下叙述中对的的是 A) 语句 a = &x; 是非法的 B) 表达式 a+1 是非法的 C) 三个表达式 a[1]、*(a+1)、*&a[1]表达的意思完全不同 D) 表达式*&a[1]是非法的,应当写成 *(&(a[1])) 参考答案:A 【解析】B选项中,表达式a+1不是非法的;C选项中, *(a+1)即指a[1];D选项中,*&a[1]不是非法的。因此A选项对的。 27.有以下程序 #include <stdio.h> main() { int a[ ] = { 2,4,6,8 }, *p=a, i; for( i=0; i<4; i++ ) a[i]=*p++; printf( "%d\n" ,a[2] ); } 程序的输出结果是 A) 2 B) 8 C) 4 D) 6 参考答案:D 【解析】本题通过语句"*p=a"将一维数组a 的首地址的值赋值给变量p,即p的值为2。执行for循环,a[i]=*p++,指将p的值赋给a[i]后,再进行++操作,因此4次循环后a[2]的值为6。因此D选项对的。 28.以下叙述中对的的是 A) 语句 int a[4][3] = {{1,2}, {4,5}}; 是错误的初始化形式 B) 语句 int a[4][3] = {1,2,4,5}; 是错误的初始化形式 C) 语句 int a[][3] = {1,2,4,5}; 是错误的初始化形式 D) 在逻辑上,可以把二维数组当作是一个具有行和列的表格或矩阵 参考答案:D 【解析】二维数组在初始化时,可以省略第1维,但是不可以省略第2维。可认为部分数组元素初始化。B选项、C选项和A选项内的初始化都没有错误。因此D选项对的。 29.以下叙述中对的的是 A) 字符串常量"Hello"会被隐含解决成一个无名字符型数组,它有5个元素 B) 不能用字符串常量对字符数组名进行整体赋值操作 C) char str[7] = "string!"; 在语法上是合法的,运营也是安全的 D) char *str; str = "Hello";与char str[]; str = "Hello";效果是同样的 参考答案:B 【解析】字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符' \0'自动附加到字符串的尾部作为字符串的结束标志。故字符个数为n的字符串在内存中应占(n+1)个字节。选项A中有6个元素,其中包含结尾字符,C选项中字符串常量包含8个字符,所以不能赋值在str[7]中,D选项后者赋值错误。 30.以下叙述中对的的是 A) 在语句char str[] = "string!";中,数组str的大小等于字符串的长度 B) 语句 char str[10] = "string!"; 和 char str[10] = {"string!"}; 并不等价 C) 对于一维字符数组,不能使用字符串常量来赋初值 D) 对于字符串常量 "string!",系统已自动在最后加入了'\0'字符,表达串结尾 参考答案:D 【解析】字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符' \0'自动附加到字符串的尾部作为字符串的结束标志。故字符个数为n的字符串在内存中应占(n+1)个字节。B选项中两者等价,C选项中可以使用字符串常量来给一维字符数组赋值,就像B选项中同样,A选项中数组长度比字符串长度小一个字节,字符串中包含隐含的结尾符。 31.设有定义 char str[] = "Hello"; 则语句 printf("%d %d", sizeof(str), strlen(str)); 的输出结果是 A) 5 5 B) 6 6 C) 6 5 D) 5 6 参考答案:C 【解析】本题考察sizeof和strlen对字符串的解决不同之处,sizeof求出字符串的字符个数,涉及结尾符。Strlen求出字符串的实际字符,不涉及结尾符。所以答案为6,5,C选项对的。 32.在32位编译器上,设有定义 char *str1 = "Hello", str2[] = "Hello"; , 则以下语句 printf("%d %d", sizeof(str1), sizeof(str2)); 的输出结果是 A) 5 6 B) 5 5 C) 6 6 D) 4 6 参考答案:D 【解析】本题重要考察了指向字符串的指针和字符数组,str1为一个字符指针,所以sizeof为4,str2为字符数组,其中包含6个字符,所以答案为4 6 33.以下叙述中对的的是 A) 任何情况下都不能用函数名作为实参 B) 函数既可以直接调用自己,也可以间接调用自己 C) 函数的递归调用不需要额外开销,所以效率很高 D) 简朴递归不需要明确的结束递归的条件 参考答案:B 【解析】在某些情况下,函数名可以作为实参传递,所以A选项错误。函数递归调用使用栈区来递归,需要额外开销,并且效率不高,C选项错误。递归调用需要明确指出递归结束条件,否则就陷入死循环了。 34.以下叙述中对的的是 A) 函数的形式参数不属于局部变量 B) 对于变量而言,"定义"和"说明"这两个词事实上是同一个意思 C) 在复合语句中不能定义变量 D) 全局变量的存储类别可以是静态类 参考答案:D 【解析】声明变量不分派空间,定义变量要分派空间,所以B选项错误。符合语句中可以定义变量,所以C选项错误。函数的形参属于局部变量,所以A选项错误、 35.以下叙述中对的的是 A) 在一个程序中,允许使用任意数量的#include命令行 B) 在包含文献中,不得再包含其他文献 C) #include命令行不能出现在程序文献的中间 D) 虽然包含文献被修改了,包含该文献的源程序也可以不重新进行编译和连接 参考答案:A 【解析】本题考察预解决中文献包含的概念,包含文献中可以包含其他文献,B选项错误,#include可以出现在程序文献的中间,C选项错误,包含文献被修改了,包含该文献的源程序必须重新进行编译和连接。 36.以下叙述中对的的是 A) 函数的返回值不能是结构体类型 B) 在调用函数时,可以将结构体变量作为实参传给函数 C) 函数的返回值不能是结构体指针类型 D) 结构体数组不能作为参数传给函数 参考答案:B 【解析】本题考察结构体变量作为函数参数,函数返回可以是结构体类型,也可以是结构体类型的指针,结构体数组可以作为参数传给函数。 37.以下叙述中对的的是 A) 结构体数组名不能作为实参传给函数 B) 结构体变量的地址不能作为实参传给函数 C) 结构体中可以具有指向本结构体的指针成员 D) 即使是同类型的结构体变量,也不能进行整体赋值 参考答案:C 【解析】本题考察结构体变量作为函数参数,结构体变量的地址可以作为参数传给函数,结构体数组名就是一个地址,可以传给函数,假如是同类型的结构体变量,可以整体赋值。 38.设有如下的说明和定义 struct { int a; char *s; } x, *p = &x; x.a = 4; x.s = "hello"; 则以下叙述中对的的是 A) (p++)->a与p++->a都是合语法的表达式,但两者不等价 B) 语句 ++p->a; 的效果是使p增1 C) 语句 ++p->a; 的效果是使成员a增1 D) 语句 *p->s++; 等价于 (*p)->s++; 参考答案:C 【解析】本题考察结构体变量的引用,++p->a的效果是使成员a增1,p++->a不合法, *p->s++为字符e,与(*p)->s++不等价。 39.下面关于位运算符的叙述,对的的是 A) ||表达"按位或"的运算 B) #表达"按位异或"的运算 C) &表达"按位与"的运算 D) ~表达"按位异或"的运算 参考答案:C 【解析】本题考察位运算。^为按位异或,|为按位或,~表达按位取反。所以C选项对的。 40.下面关于"EOF"的叙述,对的的是 A) EOF的值等于0 B) EOF是在库函数文献中定义的符号常量 C) 文本文献和二进制文献都可以用EOF作为文献结束标志 D) 对于文本文献,fgetc函数读入最后一个字符时,返回值是EOF 参考答案:B 【解析】在C语言中,或更精确地说成C标准函数库中表达文献结束符(end of file)。在while循环中以EOF作为文献结束标志,这种以EOF作为文献结束标志的文献,必须是文本文献。在文本文献中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不也许出现-1,因此可以用EOF作为文献结束标志。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




2023年全国计算机等级考试二级C语言真题库之选择题16.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4514733.html