国家二级(C语言)机试模拟试卷522
选择题
1.下列叙述中正确的是( )。(D)
A. 一个逻辑数据结构只能有一种存储结构
B. 逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
解析:数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。
2.以下选项中,合法的一组C语言数值常量是( )。(A)
A. 12. 0Xa23 4.5e0
B. 028 .5e-3 -0xf
C. .177 4e1.5 0abc
D. 0x8A 10.000 3.e5
解析:C语言中八进制整型常量的开头是数字0,十六进制整型常量的数字开头是0x。C语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。B选项中028错误,八进制中没有数字8。C选项中4e1.5中e后面的指数不是整数。D选项中3.e5小数点后面缺少数字。
3.有以下程序:
#include<stdio.h>
main()
{
printf(\\(D)
A. 1
B. 变量无定义,输出不确定
C. -1
D. 0
解析:NULL为一个符号常量,对应的ASCII码值为0,答案选D。
4.若变量都已正确说明,则以下程序段( )。
#include
main()
{int a=8;
int b=6:
printf(a>b?\\(A)
A. 输出为:&&&a=8
B. 输出为:!!!b=8
C. 输出为:&&&a=8 !!!b=6
D. 全部错误
解析:本题考查printf的输出格式和条件表达式“?:”的使用。①printf函数输出时,“&&&%d\n”和“!!!%d\n”中的“&&&”和“!!!”都是直接输出。②条件表达式的基本格式为:a?b:c。其运算规则为:当a为非。时,整个表达式的值取b的值,当a为0时,整个表达式取c的值。printf函数中如果在格式说明符之前插入任何字符都将原样输出。本题中a>b为真,所以返回“&&&a=%d”。
5.以下对联合类型叙述正确的是( )。(B)
A. 可以对联合变量名直接赋值
B. 使用联合变量的目的是为了节省内存
C. 任何一个联合变量可以同时引用联合中的不同成员
D. 联合类型定义中不能同时出现结构类型的成员
解析:由于联合体是同一存储区域由不同类型的变量共享,所以不可以直接对联合体变量名进行赋值,且联合体中的空间在某一时刻只能保持某一成员的数据;另外台体中可以出现结构类型的成员。
6.在数据库管理技术的发展中,数据独立性最高的是( )。(C)
A. 人工管理
B. 文件系统
C. 数据库系统
D. 数据模型
解析:在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序;在文件系统阶段,数据共享性差;在数据库系统阶段,共享性好,独立性高。
7.下列程序的运行结果是( )。
#include<stdio.h>
void sub(int*s,int*y)
{ static int m=4;
*y=s[0];
m++:
}
void main()
{ int a[]={1,2,3,4,5},k;
int x;
printf(’’\n’’);
for(k=0;k<=4;k++)
{ sub(a,&x);
printf(’’%d,’’,x);
}
}(A)
A. 1,1,1,1,1,
B. 1,2,3,4,5,
C. 0,0,0,0,0,
D. 4,4,4,4,4,
解析:本题中sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组s的第一个元素赋给y。主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a,&x)函数,每一次调用都是将数组a的第一个元素1赋给x,并输出。
8.设x=06l,y=016,则z=x|y的值是( )。(C)
A. 00001111
B. 11111111
C. 00111111
D. 11000000
解析:本题主要考查按位或运算,x=061(二进制为00110001),y=016(二进制为00001110),进行或运算后结果为00111111。
9.有以下程序:
#include<stdio.h>
#include<stdlib.h>
main()
{int*a,*b,*c;
a=b=c=(int*)malloc(sizeof(int));
*a=1;*b:2,*c=3;
a=b:
printf(\\(D)
A. 1,1,3
B. 2,2,3
C. 1,2,3
D. 3,3,3
解析:malloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int*)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句*c=3的值保留在了该空间内,因为a、b、c三个指针堂量均指向该空间,所以打印该空间内的数值为3。
10.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。(B)
A. 提高耦合性降低内聚性有利于提高模块的独立性
B. 降低耦合性提高内聚性有利于提高模块的独立性
C. 耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D. 内聚性是指模块间互相连接的紧密程度
解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A)错误,B)正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C)与D)错误。
11.对建立良好的程序设计风格,下面描述正确的是( )。(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名只要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
解析:程序设计应该简单易懂,语句结构应该简单直接,不应该为提高效率而把语句复杂化。
12.有两个关
本文档预览:3600字符,共15012字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载