国家二级C语言机试(选择题)模拟试卷368
选择题
1.以下叙述中正确的是(D)
A. 程序的算法只能使用流程图来描述
B. N—S流程图只能描述简单的顺序结构的程序
C. 计算机可以直接处理C语言程序,不必进行任何转换
D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构
解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字捕述,流程图,盒图,伪代码等。N-S图为盒图,可以拙述比较复杂的程序结构,而计算机不能直接处理C程序,只能处理二进制代码。
2.下列关于栈的叙述中,正确的是(C)
A. 栈底元素一定是最后入栈的元素
B. 栈顶元素一定是最先入栈的元素
C. 栈操作遵循先进后出的原则
D. 以上三种说法都不对
解析:栈是限定只能在表的一端进行插入和删除操作的线性表,必须按“后进先出”的规则操作元素。
3.下面结构体的定义语句中,错误的是( )。
A
解析:分号代表该结构体定义语句的结束,选项A的结构体没有定义完全就用该结构体另外定义变量,用法有误,所以答案选A。
4.下面4个关于C语言的结论中错误的是( )。(D)
A. 可以用do…while语句实现的循环一定可以用while语句实现
B. 可以用for语句实现的循环一定可以用while语句实现
C. 可以用while语句实现的循环一定可以用for语句实现
D. do…while语句与while语句的区别仅是关键字“while”出现的位置不同
解析:本题考查几个循环语句的关系。①do…while语句、while语句、for语句所实现的循环可以相互替代;②do…while语句和while语句的区别是do…while语句至少执行一次,再判断循环条件,while语句是先判断条件再执行。
5.在C程序中,下列说法正确的是( )。(D)
A. 函数的定义和调用均不可以嵌套
B. 函数的定义和调用均可以嵌套
C. 函数的定义可以嵌套,但函数的调用不可以嵌套
D. 函数的定义不可以嵌套,但函数的调用可以嵌套
解析:本题考查C语言函数定义和调用的概念。按C语言规定,所有函数的定义都应是独立的,不允许在一个函数内再定义另一个函数。而函数的嵌套调用则是极正常的使用方法。
6.下列选项中属于面向对象设计方法主要特征的是( )。(A)
A. 继承
B. 自顶向下
C. 模块化
D. 逐步求精
解析:面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A。
7.下面不属于软件设计原则的是(C)
A. 抽象
B. 模块化
C. 自底向上
D. 信息隐藏
解析:软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。
8.阅读下面程序,程序执行后的结果为(
#include’’stdio.h’’
main()
{ char *str=-”abcdefghijklmnopq’’;
while(*str++!=’e’);
printf(’’%c\n’’*str);
}(A)
A. f
B. a
C. e
D. a
解析:本题考查的是取内容运算符“*”和自加运算符“++”的优先级问题。由于“++”的优先级高于“*”,所以题干中“*str++!=’e’”,即“*(str++)!=’e’”,当str指向字符“’e’”时,while循环的条件不成立,但“str”已经进行了自加指向了字符“’f’”,所以“*str”输出字符“’f’”。
9.以下程序:
#include<stdio.h>
struct student
{ int num;
charname[10];
int age;
};
void fun(stmct student*p)
{ printf(\\(B)
A. Zhang
B. Zhao
C. Wang
D. 18
解析:被调用函数fun()中的形式参数p是一个student型的结构指针。程序执行时,它接收main()函数传递过来的地址students+2,该地址是数组元素students[2]的首地址,因此程序输出是\\
10.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(B)
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。
11.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是( )。(A)
A. 一条C语句对应转换成一条机器指令
B. 一条C语句可能会被转换成多条机器指令
C. 一条C语句可能会被转换成零条机器指令
D. 某种类型和格式的C语句被转换成机器指令的条数是固定的
解析:每条可执行的C语句会依据其类型和格式转换成一条或者多条机器指令,非可执行语句:注释语句或者宏定义语句不会被转换成机器指令,而且相同类型和格式的C语句转换成机器指令的条数是相同的,所以答案选A。
12.C语言中最基本的数据类型包括( )。(C)
A. 整型、实型、逻辑型
B. 整型、字符型、数组
C. 整型、实型、字符型
D. 整型、实型、结构体
解析:C语言中最基本的数据类型包括整型、实型、字符型。
13.以下关于宏的叙述中错误的是( )。(A)
A. 宏名必须用大写字母构成
B. 宏替换不具有计算功能
C. 宏替换不具有计算功能
D. 宏替换不占用运行时间
解析:宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,故选A。
14.某系统结构图如下图所示,则该系统结构图的宽度是
(D)
A. 2
B. 3
C. 4
D. n
解析:宽度是指最大模块数的层的控制跨度。题目中系统第一层只有1个模块,第二层有n(n>3)个模块,第三层有4个模块,控制跨度为n,D选项正确。
15.设int fun(int *p){return *p;},则此函数返回值是( )。(B)
A. NULL
B. 一个整数
C. 形参p中存放的值
D. 形参p的地址值
解析:由题目中的定义可知,返回值为整型指针变量p所指向的数据。
16.定义部门关系模式:部门(部门号,部门名,部门成员,部门总经理),使它不满足第一范式的属性是(B)
A. 部门名
B. 部门成员
C. 部门总经理
<本文档预览:3600字符,共11441字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载