国家二级(C语言)机试模拟试卷406
选择题
1.在源程序的开始处加上“#include<stdio.h>”进行文件引用的原因,以下叙述正确的是( )。(A)
A. stdio.文件中包含标准输入输出函数的函数说明,通过引用此文件以便能正确使用printf、scanf等函数
B. 将stdio.h中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行
C. 将stdio.h中标准输入输出函数的源程序插入到引用处,以便进行编译链接
D. 将stdio.h中标准输入输出函数的二进制代码插入到引用处,以便进行编译链接
解析:“stdio.h”文件中包含标准输入输出函数的函数说明,预处理指令#include<stdio.h>是指程序可以在该文件中找到printf、scanf等函数。
2.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n一1)/2的排序方法是( )。(D)
A. 快速排序
B. 冒泡排序
C. 直接插入排序
D. 堆排序
解析:除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n—1)/2。
3.下列关于数据库设计的叙述中,正确的是( )。(A)
A. 在需求分析阶段建立数据字典
B. 在概念设计阶段建立数据字典
C. 在逻辑设计阶段建立数据字典
D. 在物理设计阶段建立数据字典
解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。
4.以下叙述中正确的是( )。(A )
A. C程序中注释部分可以出现在程序中任意合适的地方
B. C程序的书写格式是固定的,每行只能写一条语句
C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名
D. 在对C语言程序进行编译时,可以发现注释行中的拼写错误
解析:本题考查的是C语言程序设计的初步知识。选项A),程序中/*……*/表示注释部分,注释只是给人看的,对程序的编译和运行不起作用,可以在程序中的任何位置;选项B),C语言的书写格式自由,一行可以写多条语句,一条语句也可以写在不同行上;选项C),一个C程序中必须有且只能有一个由“main”命名的主函数,其他函数由用户白行命名;选项D),程序的注释仅仅是提供阅读之用,并不参与程序的编译,所以编译也就不会发现注释行中的错误。
5.以下选项中,合法的一组C语言数值常量是( )。(B)
A. 028
.5e-3
-0xf
B. 12
OXa23
4.5e0
C. .177
4c1.5
Oabc
D. 0x8A
10,000
3.E5
解析:八进制数开头必须是数字“0”,其数字包括0~7,而在选项A中,028是错误的。浮点数据的指数形式表示常量中,C语言规定字母e或E之前必须要有数字,且e或E之后的指数必须为整数,而选项C中4e1.5是错误的。在选项D中,整型数据10,000的表示形式是错误的。所以本题的答案为选项B。
6.下列方法中,属于白盒法设计测试用例的方法的是( )。(C)
A. 错误推测
B. 因果图
C. 基本路径测试
D. 边界值分析
解析:白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。
7.若要求从键盘读入含有空格字符的字符串,应使用函数( )。(B)
A. getc()
B. gets()
C. getchar()
D. scanf()
解析:scanf()语句中用“空格”间隔不同的字符串,空格将被全部忽略掉,所以用scanfi()函数小能输入空格: getchar()函数用于输入宁符,其调用形式为:ch=getchar(),getchar()函数从终端读入一个字符作为函数值,把读入的字符赋给变量ch。在输入时,空格、回车符都将作为字符读入,而且只有在用户敲入Enter键时,读入才开始执行。gets()函数的调用形式为:gets(str_adr),其中str_adr是存放输入字符串的起始地址,可以是字符数组名、字符数组元素的地址或字符指针变量。gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。getc()函数的调用形式为:ch=getc(pf)其中pf是文件指针。函数的功能是从pf指定的文件中读入一一个字符,并把它作为函数值返回。
8.若有定义语句:double a,*to P=&a;以下叙述中错误的是( ).(A)
A. 定义语句中的*号是一个间址运算符
B. 定义语句中的*号是一个说明符
C. 定义语句中的P只能存放double类型变量的地址
D. 定义语句中,*P=&a把变量a的地址作为初值赋给指针变量P
解析:存变龄定义double a,*p=&a;中,*号是一个指针运算符,而非问址运算符,所以A错误。
9.下面属于白盒测试方法的是( )。(B)
A. 边界值分析法
B. 基本路径测试
C. 等价类划分法
D. 错误推测法
解析:白盒测试根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。白盒测试的主要技术有逻辑覆盖测试、基本路径测试等。常用的黑盒测试方法和技术有:等价类划分法、边界值分析法、错误推测法和因果图等。
10.下面属于应用软件的是( )。(A)
A. 人事管理系统
B. Oracle数据库管理系统
C. C++编译系统
D. ios操作系统
解析:系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,包括各种系统开发、维护工具软件。应用软件是为了应用于特定的领域而开发的软件。人事管理系统属于应用软件。Oracle数据库管理系统、C++编译系统、ios操作系统是系统软件。故本题答案为A选项。
11.运行下面的程序,输入字符串“Microsoft Visual Studio”,则程序的执行结果是( )。
#include<stdio.h>
main()
{char Chr[20];
scanf(’’%s’’,&Chr);
printf(’’%s\n’’,Car);
}(C)
A. Microsoft Visual Studio
B. M
C. Microsoft
D. Microsoft Visual Studio
解析:当从键盘输入“Microsoft Visual Studio”时,由于“scanf”输入函数的特点是遇到空格时结束读入字符,因此,该程序只将“Microsoft”这9个字符送到了字符数组str中,并在其后自动加上结束符“\0”。
12.有以下程序:
#include<stdio.h>
main()
{
int a,b;
for(a=0;a<3;a++)
{
scanf(\\(A)
A. 2 3 3 4 5 6
B. 2 3 4
C. 2 2 3 4 4 4
D. 2 3
本文档预览:3600字符,共15165字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载