国家二级C语言机试(选择题)模拟试卷336
选择题
1.下列叙述中正确的是( )。(D)
A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定
解析:环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)与C)错误。
2.在一个C源程序文件中所定义的全局变量,其作用域为( )。(D)
A. 所在文件的全部范围
B. 所在程序的全部范围
C. 所在函数的全部范围
D. 由具体定义位置和extern说明来决定范围
解析:全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。
3.设循环队列的存储空间为Q(1:35),初始状态为from=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(D)
A. 15
B. 16
C. 20
D. 0或35
解析:循环队列的队头指针和尾指针都等于15,此循环队列中元素的个数有两种情况,第一种情况是队头指针和尾指针都是第一次到达15,此时元素个数为0;第二种情况是队头指针第一次到达15,而尾指针第二次到达15,此时元素个数为35。
4.下列叙述中正确的是( )。(B)
A. 栈与队列都只能顺序存储
B. 循环队列是队列的顺序存储结构
C. 循环链表是循环队列的链式存储结构
D. 以上说法都不对
解析:栈和队列都可以采用链式存储结构,选项A)错误。队列的顺序存储结构一般采用循环队列的形式,所以循环队列是队列的顺序存储结构,选项B正确,选项C)错误。答案选B)。
5.结构化程序的三种基本控制结构是( )。(C)
A. 顺序、选择和调用
B. 过程、子程序和分程序
C. 顺序、选择和重复(循环)
D. 调用、返回和转移
解析:1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
6.以下叙述中错误的是(D)
A. 常量可以用一个符号名来代表
B. 数值型常量有正值和负值的区分
C. 常量是在程序运行过程中值不能被改变的量
D. 定义符号常量必须用类型名来设定常量的类型
解析:C语言中,常常用一个标识符来代表一个常量,称为符号常量。符号常量在使用之前要先定义,定义格式如下:
#define(常量)
其中,<符号常量名)用标识符,习惯上用人写字母,可以是数字常量,也可以是字符。
7.以下选项中不能作为C语言合法常量的是( )。(B)
A. 0.1e+6
B. ‘cd’
C. “\a”
D. ‘\01 1’
解析:要想表示字符串常量,应该用双引号表示,即”cd.,单引号用于表示字符常量,所以B选项中的表示方法错误。
8.下列叙述中正确的是(A)
A. 对数据进行压缩存储会降低算法的空间复杂度
B. 算法的优化主要通过程序的编制技巧来实现
C. 算法的复杂度与问题的规模无关
D. 数值型算法只需考虑计算结果的可靠性
解析:
9.设变量均已正确定义,若要通过scanf(’’%d%c%d%c’’,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:□代表空格字符)( )。(D)
A. 10□X□20□Y<CR>
B. 10□X20□Y<CR>
C. 10□X<CR>
20Y<CR>
D. 10X<CR>
20Y<CR>
解析:在使用scanf函数进行输入数据时,输入的数据之间可以用空格、回车符、制表符(Tab键)等间隔符隔开,但是输入值时也要输入相应的字符,格式符中没有这些字符,所以输入时也不能输入,否则会将这些字符作为对应的字符变量的值赋值给字符变量,如输入10赋值给a1,应直接输入X赋值给c1,否则输入空格后,将空格赋值给c1,同理输入a2,、c2。。
10.数据库系统的核心是(B)
A. 数据模型
B. 数据库管理系统
C. 数据库
D. 数据库管理员
解析:数据库管理系统(DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。所以,数据库管理系统是数据系统的核心。
11.下面属于白盒测试方法的是(B)
A. 等价类划分法
B. 逻辑覆盖
C. 边界值分析法
D. 错误推测法
解析:白盒测试的主要方法有逻辑覆盖、基本路径测试等。
12.若有定义:
char s[30]={0};
运行时输入:
This is a string.<回车>
则以下不能正确读入整个字符串This isa string.到字符数组s中的语句组是( )。(A)
A. scanf(″%s″,s);
B. gets(s);
C. for(i=0;(c=getchar())!=′\n′;i+ +)s[i]=c;
D. i=0;while((c=getchar())!=′\n′)s[i+ +]=c;
解析:考查基本的字符串输入控制语句
13.以下能正确定义且赋初值的语句是(B)
A. int n1=n2=10;
B. char c=32;
C. float f=f+1.1:
D. double x=12.3E2.5;
解析:本题主要考查变量的定义和赋值,C语言中变量的定义形式为:类型说明符变量名=初始值;
选项A中,n1和n2只能单独赋初值;选项B正确,定义了一个字符变量c,初值为32:选项C错误,初值设置自身不能参与运算;选项D中字母E后面的指数必须是整数。
14.下列条件语句中,输出结果与其他语句不同的是(A)
A. if(a==0)printf(\\
B. if(a==O)printf(\\
C. if(a!=0)printf(\\
D. if(a)printf(\\
解析:选项B)、C)、D)这三条语句都是在变量不等于0的情况下,输出x;等于0的情况下输出y,而选项A)则正好相反。
15.软件调试的目的是(B)
A. 发现错误
B. 改正错误
C. 改善软件的性能
D. 验证软件的正确性
解析:软件调试的任务是诊断和改正程序中的错误。程序调试活动由两部分组成,一是根据错误的迹象确定程序中的错误的确切性质、原因和位置。二是对程序进行修改,排除这个错误。
16.下面属于黑盒测试方法的是(C)
A. 判定覆盖
B. 条件覆盖
C. 错误推测法
本文档预览:3600字符,共10364字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载