国家二级(C语言)机试模拟试卷516
选择题
1.若有定义:int a,b,c;,则以下选项中的赋值语句正确的是( )。(C)
A. a=(b==c)=1;
B. (a=b)=c=1;
C. a=(b=c)+1;
D. a+b=c;
解析:赋值运算符的左侧必须为变量而不能是表达式,所以答案选C。
2.以下叙述中正确的是( )。(A)
A. 在C语言中,预处理命令行都以“#”开头
B. 预处理命令行必须位于C源程序的起始位置
C. #include<stdio.h>必须放在C程序的开头
D. C语言的预处理不能实现宏定义和条件编译的功能
解析:预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写。所以B、c错误。C语言的预处理能够实现宏定义和条件编译等功能,所以D错误。
3.下面关于算法的叙述中,正确的是( )。(B )
A. 算法的执行效率与数据的存储结构无关
B. 算法的有穷性是指算法必须能在执行有限个步骤之后终止
C. 算法的空间复杂度是指算法程序中指令(或语句)的条数
D. 以上三种描述都正确
解析:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤后结束。
4.软件生命周期是指( )。(A)
A. 软件产品从提出、实现、使用维护到停止使用退役的过程
B. 软件从需求分析、设计、实现到测试完成的过程
C. 软件的开发过程
D. 软件的运行维护过程
解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
5.若变量已正确定义并赋值,则错误的赋值语句是( )。(D)
A. a+=a+1;
B. a=sizeof(double);
C. a=d‖c;
D. a+1=a;
解析:赋值号“=”的左边必须是一个变量名。
6.在面向对象方法中,不属于\\(A)
A. 一致性
B. 分类性
C. 多态性
D. 标识唯一性
解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A)。
7.在E-R图中,用来表示实体间联系的图形是( )。(C)
A. 椭圆形
B. 矩形
C. 菱形
D. 三角形
解析:在E-R图中实体集用矩形,属性用椭圆,联系用菱形。
8.若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4的值是( )。(A)
A. 2.500000
B. 2.750000
C. 3.500000
D. 0.000000
解析:此题考查的是变量的类型转换。表达式中(int)(x+y)把x+y=(7.2)的值强制转化成整型即得到7,那么a%3*(int)(x+y)%2的值为整型常量1, 所以a%3*(int)(x+y)%2/4的值为0;因为变量x是浮点型变量,所以表达式x+a%3*(int)(x+y)%2/4的结果也是浮点型,得到2.500 000。
9.以下选项中,能用作数据常量的是( )。(D)
A. o18
B. o11
C. 0.8e2.5
D. 25L
解析:本题考查常量定义。数据常量可有10进制、8进制、16进制、指数法等,8进制数字为0-7,第一个字符为0,而不是0,因此选项A)和B)错误。为指数法时,指数部分须为整形,因此选项C)错误,选项D)中数字后加入L是说明此变量为长整型。
10.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(A)
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式
解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。外模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的一部分。内模式,或存储模式,或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。
11.数据库管理系统是( )。(B)
A. 操作系统的一部分
B. 在操作系统支持下的系统软件
C. 一种编译系统
D. 一种操作系统
解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。
12.软件生命周期是指( )。(A)
A. 软件产品从提出、实现、使用维护到停止使用退役的过程
B. 软件从需求分析、设计、实现到测试完成的过程
C. 软件的开发过程
D. 软件的运行维护过程
解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
13.若有说明int a[3][4];则a数组元素的非法引用是( )。(D)
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
解析:此题考查的是数组元素的引用。对于已定义的数组a[M][N],数组元素的正确引用必须满足行下标小于M,列下标小于N且为正整数。此题中,选项D中列下标值出现溢出。
14.设有定义:“long x=123450L;”,则以下能够正确输出变量x的是( )。(D)
A. printf(“x=%dha”,x);
B. printf(“x=%id\n”,x);
C. printf(“x=%dL\n”,x);
D. printf(“x=%ld\\
”,x);
解析:C语言规定,输出long型数值的格式符为0%ld。
15.有以下程序:
#include<stdio.h>
main()
{
int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf(\\(A)
A. 3 5 7
B. 7 5 3
C. 3》6 9
D. 7 5 1
解析:二维数组t[][3]实际上指t[3][3]={{9,8,7},{6,5,4},{3,2,1}},通过循环语句for语句可以得到i=0,t[2][0]=3、i=1,t[1][1]=5、i=2,t[0][2]=7、i=3时循环结束即t[2][0]=3、t[1][1]=5、t[0][2]=7。因此A选项正确。
16.有以下程序(strcat函数用以连接两个字符串):
#include
#include
main( )
{
本文档预览:3600字符,共14723字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载