国家二级(C语言)机试模拟试卷409
选择题
1.设有定义:
char p[]={’1’,’2’,’3’},*q=p;
以下不能计算出一个char型数据所占字节数的表达式是( )。(C)
A. sizeof(*q)
B. sizeof(char)
C. sizeof(p)
D. sizeof(p[0])
解析:数组名表示该数组的首地址,是一个地址常量,所以sizeof(p)求得的是一个地址占用的字节数,即4个字节,答案选C。
2.已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是( )。(C)
A. ABCDE
B. ECABD
C. EACDB
D. CDEAB
解析:由于后序遍历的最后一个元素为E,所以E为根结点,所以它的前序遍历的首个元素为E,故排除A和D选项。由于中序遍历中,元素B在元素根结点E的后面,所以B为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为B,故选项C为正确选项,即该二叉树的前序遍历序列是EACDB。
3.关系数据库管理系统能实现的专门关系运算包括( )。(B)
A. 排序、索引、统计
B. 选择、投影、连接
C. 关联、更新、排序
D. 显示、打印、制表
解析:关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。
4.若有定义:char c;int d;,程序运行时输入:c=1d=2<回车>,能把字符1输入给变量c、把整数2输入给变量d的输入语句是( )。(A)
A. scanf(\\
B. scanf(\\
C. scanf(\\
D. scanf(\\
解析:在sanf()函数中格式字符串的形式必须与地址格式保持一致,所以B、D选项不正确。C选项中c=%d是以数值格式存入c变量。故只有A选项正确。
5.有以下程序:
#include
typedef struct{int b,P;}A;
void f(A C)/*注意:C是结构变量名*/
{int j;
c.b+=1;e.p+=2;
}
main()
{int i;
A a={1,2};
f(a);
printf(“%d,%d\n”,a.b,a.P);
}
程序运行后的输出结果是( )。(B)
A. 2,4
B. 1,2
C. 1,4
D. 2,3
解析:结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。所以选择B。
6.if语句的基本形式为:if(表达式)语句,其中“表达式”( )。(A)
A. 可以是任意合法的表达式
B. 必须是逻辑表达式
C. 必须是逻辑表达式或关系表达式
D. 必须是关系表达式
解析:本题考查if表达式。if(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(==)误写为赋值号(=)时不会报错的,但是其值恒为1。
7.以下标识符不是关键字的是( )。(C)
A. break
B. char
C. Switch
D. return
解析:此题考查标识符和关键字的概念。需要注意的是C语言是区分大小写的,“switch”是关键字,但“Switch”不是关键字。
8.设有条件表达式:(ExP)?i++;j–,则以下表达式中(EXP)完全等价的是( )。(B)
A. (EXP==0)
B. (EXP!=0)
C. (EXP==1)
D. (EXP!=1)
解析:条件表达式的形式为:“表达式17表达式2:表达式3”。其含义为:当“表达式1”的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件表达式的值;当“表达式1”的值为零时,求出“表达式3”的值,此时“表达式3”的值就是整个条件表达式的值。对于本题来说,当表达式.EXP为非0值时条件成立,即执行语句i++;当EXP等于0时,执行语句j–;这等同于条件表达式“(EXP!=0)?i++:j++;”。
9.以下选项中叙述正确的是( )。(A)
A. 函数体必须由{开始
B. C程序必须由main语句开始
C. C程序中的注释可以嵌套
D. C程序中的注释必须在一行完成
解析:函数体是函数首部下面的花括号内的部分,所以函数体必须由{开始,A项正确;C程序总是从main函数开始执行的,不是main语句,B项错误;函数可以嵌套,注释不能嵌套,C项错误;C程序中允许两种注释,以//开头的单行注释;以/*开始,以*/结束的块式注释,D项错误。
10.有以下程序段
char ch;int k;
ch=’a’;k=12;
pfintf(\\(D)
A. 因变量类型与格式描述符的类型不匹配输出无定值
B. 输出项与格式描述符个数不符,输出为零值或不定值
C. a,97,12k=12
D. a,97,k=12
解析:在用基本输出函数printf时,格式说明与输出项的个数应该相同。如果格式说明的个数少于输出项的个数,多余的输出项不予输出;如果格式说明个数多于输出项个数,则对于多余的格式项输出不定值或0。
11.若有“char s[3][3]={’’AAA’’,’’BBB’’,’’CCC’’};”说明语句,则与它等价的语句是( )。
D
解析:二维字符数组在定义时可省略第一维的维数,根据初始化有3个字符串,所以选项D中数组有3行,与已知说明语句等价。
12.函数rewind(fp)的作用是( )。(A)
A. 使fp指定的文件的位置指针重新定位到文件的开始位置
B. 将fp指定的文件的位置指针指向文件中所要求的特定位置
C. 使fp指定的文件的位置指针向文件的末尾
D. 使fp指定的文件的位置指针自动移至下一个字符位置
解析:位置指针重返文件头函数rewind()的调用形式为:rewind(fp)。其中,“fp”是指向文件的文件型指针。
rewind(fp)的功能是:使fp指定的文件的位置指针重新定位到文件的开始位置。
13.下列选项中,不属于数据管理员(DBA)职责的是( )。(D)
A. 数据库维护
B. 数据库设计
C. 改善系统性能,提高系统效率
D. 数据类型转换
解析:数据库管理员(DataBaseAdministrator,DBA是指对数据库的规划、设计、维护、监视等的人员,其主要工作如下:
数据库设计。DBA的主要任务之一是数据库设计,具体地说是进行数据模式的设计;
数据库维护。DBA必须对数据库中的数据安全性、完整性、并发控制及系统
本文档预览:3600字符,共15131字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载