国家二级(C语言)机试模拟试卷506
选择题
1.算法的空间复杂度是指( )。(D)
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
解析:算法的空间复杂度是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
2.以下关于C语言的叙述中正确的是( )。(A )
A. 预处理命令通常位于函数体外面,但也可以位于函数体中间
B. C语言中的变量定义须在其他语句之前
C. 在C语言程序的书写中,一个语句必须单占一行
D. 一个C语言源程序可以由一个或多个源文件组成,每个源文件可由自己的main函数
解析:源程序中可以有预处理命令(include命令仅为其中的一种)。C语言中的变量可以在使用之前的任何位置进行定义。C语言程序的书写中,多个语句可以位于一行,但为了增强可读性,一般每行只有一条语句。一个C语言源程序可以由一个或多个源文件组成,但仅可以有一个main函数。
3.以下程序:
#include
main()
{ char str[10];
scanf(“%s”,&str);
printf(“%s\ntt str):
}
运行上面的程序,输入字符串how are you,则程序的执行结果是( )。(A)
A. how
B. how are you
C. h
D. howareyou
解析:当从键盘输入how are you时,由于scanf输入函数的特点是遇到空格时结束读入字符,因此,该程书只将how这3个字符送到了字符数组str中,并在其后自动加上结束符“\0”。
4.设有定义:char p[]={’1’, ’2’, ’3’},*q=p; ,以下不能计算出一个char型数据所占字节数的表达式是( )。(A)
A. sizeof(p)
B. sizeof(char)
C. sizeof(*q)
D. sizeof(p[0])
解析:根据题目中的定义可以知道sizeof(p),计算的是数组p中所有元素所占用的字节数,而不是char型数据所占字节数。
5.有以下程序:
# include <stdio.h>
typedef struct { int b, p; } A;
void f(A c) /* 注意:c是结构变量名 */
{ int j;
c.b += 1; c.p+=2;
}
main()
{ int i;
A a={1,2};
f(a);
printf(\\(B)
A. 2,4
B. 1,2
C. 1,4
D. 2,3
解析:结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。所以选择B。
6.数据结构主要研究的是数据的逻辑结构、数据的运算和( )。(B)
A. 数据的方法
B. 数据的存储结构
C. 数据的对象
D. 数据的逻辑存储
解析:数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
7.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次人栈,然后再依次出栈,则元素出栈的顺序是( )。(B)
A. 12345ABCDE
B. EDCBA54321
C. ABCDEl2345
D. 54321 EDCBA
解析:栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B。
8.如果进栈序列为A,B,C,D,则可能的出栈序列是 ( )。(B )
A. C,A,D,B
B. B,D,C,A
C. C,D,A,B
D. 任意顺序
解析:栈的操作原则为后进先出。选项B)中出栈顺序可按“A进,B进,B出,C进,D进,D出,C出,A出”实现。
9.在数据库管理技术的发展中,数据独立性最高的是( )。(C)
A. 人工管理
B. 文件系统
C. 数据库系统
D. 数据模型
解析:在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序;在文件系统阶段,数据共享性差;在数据库系统阶段,共享性好,独立性高。
10.下列叙述中错误的是( )。(D)
A. 计算机不能直接执行用C语言编写的源程序
B. C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C. 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D. 后缀为.obj和.exe的二进制文件都可以直接运行
解析:C源程序经过程序编译之后生成一个后缀为“.obi”的二进制文件(称为目标文件),然后由称为“连接程序”的软件包文件与C语言提供的各种库函数连接起来生成一个后缀为“.exe”的可运行文件。
11.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。(C)
A. scanf(\\
B. scanf(\\
C. scanfi[\\
D. scanf(\\
解析:程序语句“int a,b,c,*p=&c;”定义了3个整型变量a,b,c和一个整型指针变量p,并且把变量c的地址赋给p。scanf函数的一般形式为“scanf(\\
12.下列字符数组初始化语句中,不正确的是( )。
A
解析:本题考查两个概念。
①用单引号括起来的一个字符常量只能存放一个字符;
②C语言中没有字符串变量,只能用字符数组来存储字符串。选项A)中一个单引号内存放了若干个字符,是错误的;选项B)和选项D)中将一个字符串赋值给一个字符数组是允许的。
13.下列关于C语言数据文件的叙述中正确的是( )。(D)
A. 文件由ASCII码字符序列组成,C语言只能读写文本文件
B. 文件由二进制数据序列组成,C语言只能读写二进制文件
C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
解析:本题考查数据文件的基本概念。①文件山数据流形式组成,可以按数据的存放形式分为二进制文件和文本文件;②C语言既能读写文本文件,又可以读写二进制文件。
14.以下关
本文档预览:3600字符,共17302字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载