国家二级C语言机试(选择题)模拟试卷276
选择题
1.以下叙述中错误的是(C)
A. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
B. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
C. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
D. C语言源程序经编译后生成后缀为.obj的目标程序
解析:C语言中的非执行语句例如宏定义命令,存预编译之后替换到代码中,该命令本身也就不存在了,不会转换成二进制的机器指令。由高级语言编写的程序称为“源程序”,把由二进制代码表示的程序称为“目标程序”。C语言编写的源程序就是一ASCII的形式存放在文小文件中的。C源程序经过C编评程序编译之后生成一个后缀为.obj的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把此.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。
2.C语言主要是借助以下哪种手段来实现程序模块化(D)
A. 定义常量和外部变量
B. 使用丰富的数据类型
C. 使用三种基本结构语句
D. 定义函数
解析:C语言用函数实现软件的模块化设计。
3.下列关于栈的描述中正确的是(C)
A. 在栈中只能插入元素而不能删除元素
B. 在栈中只能删除元素而不能插入元素
C. 栈是特殊的线性表,只能在一端插入或删除元素
D. 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
解析:栈是限定在一端进行插入与删除的线性表,在栈中,允许插入与删除的一端称为栈项,不允许插入与删除的另一端称为栈底。
4.C语言中允许的基本数据类型包括_________。(B)
A. 整型、实型、逻辑型
B. 整型、实型、字符型
C. 整型、字符型、逻辑型
D. 整型、实型、逻辑型、字符型
解析:C语言中允许的基本数据类型有5种,即字符型char、整型int、浮点型float、双精度型double和无值类型void,而浮点型和双精度型是实型,特别注意的是C语言没有逻辑型。
5.在面向对象方法中,实现信息隐蔽是依靠(C)
A. 对象的继承
B. 对象的多态
C. 对象的封装
D. 对象的分类
解析:对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据的取值范围和可以对该数据施加的操作,而不需要知道数据的具体结构以及实现操作的算法。对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。
6.下列叙述中错误的是( )。(B)
A. C程序可以由多个程序文件组成
B. 一个C语言程序只能实现一种算法
C. C程序可以由一个或多个函数组成
D. 一个C函数可以单独作为一个C程序文件存在
解析:在一个C语言程序中可以进行多种算法的实现,对算法的个数没有规定,所以B选项错误。
7.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。(C)
A. 1:1
B. m:1
C. 1:m
D. m:n
解析:一个部门可以有多名员工,所以实体部门和职员间的联系是1:m联系。
8.在黑盒测试方法中,设计测试用例的主要根据是(B)
A. 程序内部逻辑
B. 程序外部功能
C. 程序数据结构
D. 程序流程图
解析:黑盒测试法指的是根据程序的外部功能,把程序本身看成一个黑盒子,设计测试用例来验证程序外部功能的正确性。
9.有以下程序:
#include<stdio.h>
#define N 8
void fun(int *x,int i)
{*x=*(x+i)+1;}
main()
{int a[N]={1,2,3,4,5,6,7,8},i;
fun(a,2);
for(i=0;i<N/2;i++)
{printf(’’%d’’,a[i]);}
printf(’’\n’’);
}
程序运行后的输出结果是( )。(C)
A. 1 3 1 3
B. 3 2 3 4
C. 4 2 3 4
D. 1 2 3 4
解析:函数“fun(int*x,int i)”的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4、2、3、4。
10.设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。
C
解析:使用scanf()输入字符串时,空格和回车符都作为输入数据的分隔符而不能被读入,而应该使用gets(s)。
11.以下叙述中正确的是(B)
A. 函数调用时,不必区分函数名称的大小写
B. 调用函数时,函数名必须与被调用的函数名完全一致
C. 函数名允许用数字开头
D. 在函数体中只能出现一次return语句
解析:在标准C中,函数的定义形式为:
函数返回值的类型名函数名(类型名形式参数1,类型名
形式参数2,…)
{说明部分
语句部分
}
需要说明的是函数名和形式参数都是由用户命名的标识符,在同一程序中,函数名必须惟一,形式参数名只要在同一函数中惟一即可,与其他函数中的变量可以同名。return语句的作用是返回函数的值,在函数中可以出现多个或者没有。
12.设有定义: int x[2][3];则以下关于二维数组X的叙述错误的是(B)
A. 数组x可以看作是由x[0]和x[1]两个元素组成的一维数组
B. 可以用x[0]=0;的形式为数组所有元素赋初值0
C. 元素x[0]可看作是由3个整型元素组成的一维数组
D. x[0]和x[1]是数组名,分别代表一个地址常量
解析:二维数组的元素在内存中占一系列连续的存储单元。数组元素在内存中的排列顺序是先存放第0行的元素,再存放第1行的元素……称这种存放顺序为按行存放。可以把一个二维数组看成是一个一维数组,每个数组元素又是包含有若干个元素的一维数组。另外在给二维数组赋初值时可以不用含花括号对。例如,inta[4][3]={1,2,4,5};在编译时,系统将按a数组元素在内存中排列的顺序,将花括号内的数据一一对应地赋给各个元素,若数据不足,系统将给后面的元素自动补初值0。以上将给a数组第一行的元素和第二行的第一个元素依次赋予1、2、4、5,其他元素的初值都为0。
13.下列叙述中正确的是( )。(A)
A. 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
B. 打开一个已存在的文件并进行写操作后,原有文件中的全部数据必定被覆盖
C. 在一个程序中对文件进行写操作后,必须先关闭该文件然后再打开才能读到第一个数据
本文档预览:3600字符,共8598字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载