国家二级C语言机试(选择题)模拟试卷400
选择题
1.数据的存储结构是指(D)
A. 存储在外存中的数据
B. 数据所占的存储空间量
C. 数据在计算机中的顺序存储方式
D. 数据的逻辑结构在计算机中的表示
解析:在对数据进行处理时,各数据元素在计算机中的存储关系,即为数据的存储结构。
2.若有以下程序段
double x=5.16894;
printf(\\(B)
A. 5.175000
B. 5.169000
C. 5.170000
D. 5.168000
解析:(int)(x*1000+0.5)/(double)1000表达式功能,保存数据x的后三何小数,把第四四舍五入。
3.sizeof(double)是(B)
A. 一个双精度型表达式
B. 一个整型表达式
C. 一个不合法的表达式
D. 一种函数调用
解析:sizeof关键字为C语言的运算符,用于测试()内类型其变量所占内存,表达式结果返回卜进制整数,因此为整型表达式,表明变量所占的内存字节数。
4.对长度为n的线性表作快速排序,在最坏情况下,比较次数为(D)
A. n
B. n-1
C. n(n-1)
D. n(n-1)/2
解析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。快速排序法也是一种互换类的排序方法,但由于它比冒泡排序法的速度快,因此,称为快速排序法。
5.设二叉树的前序序列与中序序列均为ABCDEFGH,则该二叉树的后序序列为(A)
A. HGFEDCBA
B. ABCDEFGH
C. ABCDHGFE
D. DCBAHGFE
解析:前序遍历(DLR)是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根芹右;中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游,可记做左根右;后序遍历(LRD)是二叉树遍历的一种,也叫做后根遍历、后序周游,可记做左右根。根据题中前序和中序序列均为ABCDEFGH,可画出二义树,该二叉树是一个子结点全部在右侧二义树,然后根据后序遍历方法,可得出后序遍历为HGFEDCBA。
6.若有如下说明,且int类型占两个字节,则正确的叙述为( )。
struct st
f int a;
int b[2];
} a;(A)
A. 结构体变量a与结构体成员a同名,定义是合法的
B. 程序只在执行到该结构体时才为结构体st分配存储单元
C. 程序运行时为结构体st分配8字节存储单元
D. 类型名struct st可以通过extern关键字提前引用
解析:本题主要考查结构体的用法:①结构体变量a与结构体成员a同名,定义合法;②在程序编译的时候结构的定义并不会使系统为该结构分配内存空间,只有在说明结构变量时才分配内存空间;③int a占2个字节,int b[2]占4个字节,共6个:④类型名“struct st”不可以通过extern关键字提前引用。
7.在数据库管理系统提供的数据语言中,负责数据模式定义的是( )。(A)
A. 数据定义语言
B. 数据管理语言
C. 数据操纵语言
D. 数据控制语言
解析:在数据库管理系统提供的数据语言中,数据定义语言负责数据模式定义的功能,答案选A。
8.软件系统总体结构图的作用是(A)
A. 描述软件系统结构的图形工具
B. 描述软件系统的控制流
C. 描述软件系统的数据流
D. 描述软件系统的数据结构
解析:软件系统总体结构图的作用是描述软件系统结构的图形工具。
9.下列叙述中错误的是( )。(A)
A. 一个C语言程序只能实现一种算法
B. C程序可以由多个程序文件组成
C. C程序可以由一个或多个函数组成
D. 一个C函数可以单独作为一个C程序文件存在
解析:一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法。答案选A。
10.已定义以下函数int fun(int*P){return*P;}fun函数的返回值是( )。(A)
A. 一个整数
B. 不确定的值
C. 形参P中存放的值
D. 形参P的地址值
解析:返回值为指针变量指向的数据,该数据已被定义为整型,因此A选项正确。
11.以下选项中,能用作用户标识符的是( )。(A)
A. _0_
B. 8_8
C. void
D. unsigned
解析:考查用户标识符。C语言规定,标识符由字母(A~Z,a~z)、数字(0~9)或者下划线(_)组成,并且第一个字符必须为字母或者下划线。用户自定义的标识符不能与关键字相同,而且尽量避免与预定义标识符相同。选项B)不能以数字开始;选项C)、D)为C语言关键字,不能作为用户标识符。答案选A)。
12.以下选项中合法的标识符是(C)
A. 1-1
B. 1_1
C. _11
D. 1__
解析:本题考查标识符定义。合法标识符的要求是由下划线、英文大小写字母和数字组成的字符串,且第一个字符必须是字母或下划线。
13.以下叙述中正确的是(D)
A. 标识符的长度不能任意长,最多只能包含16个字符
B. 语言中的关键字不能作变量名,但可以作为函数名
C. 用户自定义的标识符必须“见名知义”,如果随意定义,则会出编译错误
D. 标识符总是由字母、数字和下划线组成,且第一个字符不得为数字
解析:标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。C语言合法标识符的命名规则是:
①标识符由字母、数字和下划线组成;
②第一个字符必须为字母或下划线;
⑨大写字母与小写字母被认为是两个不同的字符;
④C语言规定了一个标识符允许的字符个数,为32,超过的字符将不被识别。
C语言的标识符可分为以下3类:①关键字,不能用于为自定义标识符命名。②预定义标识符。③用户标识符。由用户根据需要定义的标识符称为用户标识符,又称自定义标识符,一般用来给变量、函数、数组等命名,一般做到见名知义,但是没有特殊规定。
14.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是(A)
A. c=(’A’+C)26-’a’
B. c=C+32
C. c=C-’A’+’a’
D. c=(C一’A’)%26+’a’
解析:由题意可知,小写字符a和大写字符A的ASCII代码相差为32,所以选项C能将大写字符C的ASCII代码转换为小写字符c的ASCII代码;选项D和C左侧的表达式都是大写字符C与大写字符A的差与’a’的ASCII代码的和就是小写字符c的ASCII代码。而选项A中应该是加上’a’,而不是减去’a’。
15.设文件指针fp已定义,执行语句fp=fopen(\\(A)
A. 只能写不能读
B. 写操作结
本文档预览:3600字符,共11610字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载