国家二级C语言机试(选择题)模拟试卷306
选择题
1.以下四个程序中,完全正确的是
B
解析:在选项A中,main()函数后而的分号是错误的,C语言在函数名后而不能有分号。在C语言中注释内容必须放住“/*和“*/”之间,“/*”和“*/”必须成对出现,按语法规定在注释之间不可以再嵌套“/*和“*/”。在选项C的程序段中注释语句之间有嵌套:所以选项C不正确。C语言用#include命令行米实现文件包含的功能。#include命令行的形式为:#include “文件名”,所以在选项D中include前面少了一个#符号,因而选项D不正确。
2.下列叙述中正确的是( )。(D)
A. 存储空间连续的数据结构一定是线性结构
B. 存储空间不连续的数据结构一定是非线性结构
C. 没有根结点的非空数据结构一定是线性结构
D. 具有两个根结点的数据结构一定是非线性结构
解析:判断一个非空的数据结构是否为线性结构必须满足以下两个条件:① 有且只有一个根结点;② 每一个结点最多有一个前件,也最多有一个后件。根据这两个条件,可知选项A)、B)和C)都不能判定是否是线性结构,选项D)正确,答案选D)。
3.以下程序段的输出结果是( )。
char*s=\\(B)
A. 8
B. 9
C. 10
D. 11
解析:本程序实际上是计算字符串\\141\141\abc\t的长度,里面包括三个转义字符:\\
4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(A)
A. 学生成绩管理系统
B. C语言编译程序
C. UNIX操作系统
D. 数据库管理系统
解析:学生成绩管理系统为应用软件。
5.软件生命周期中的活动不包括( )。(A)
A. 市场调研
B. 需求分析
C. 软件测试
D. 软件维护
解析:软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择A。
6.软件需求规格说明书的作用不包括(D)
A. 软件验收的依据
B. 用户与开发人员对软件要做什么的共同理解
C. 软件设计的依据
D. 软件可行性研究的依据
解析:软件规格说明书主要有三个作用:①用户和软件开发人员之间的合同;②开发人员进行设计和编程的依据;③软件工程项目验收的依据。
7.下面的程序在编译时产生错误,其出错原因是( )。
#include
main()
{int 1_case;float printF;
printf(\\(A)
A. 定义语句出错,1 case不能作为变量名
B. 定义语句出错,printF不能用作用户自定义标识符
C. 定义语句无错,scanf不能作为输入函数使用
D. 定义语句无错,printf不能输出1_case的值
解析:C语言变量名可由数字,字母,下划线构成,但首字符不能为数字。
8.有以下程序段:
#include
int j;
float y;char name[50];
seanf(”%2d%f%s”,&j,&y,name);
当执行上述程序段时,从键盘上输入55566 7777abc后,Y的值为( )。(A)
A. 566.0
B. 55566.0
C. 7777.0
D. 566777.0
解析:它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读人的最大字符数。所以j的值为55,y的值为566.0,字符数组name为7777abc。
9.以下程序段完全正确的是(A)
A. intk,*p=&k;scanf(’’%d’’,p);
B. int*p;scanf(’’%d’’,p);
C. int*p;scanf(’’%d’’,&p);
D. intk,*p;*p=&k;scanf(’’%d’’,p);
解析:选项B没有对指针进行初始化,无效指针。选项C错在没有对指针进行初始化,无效指针,并且在scanf(“%d”,&p)中无需再进行取地址操作。选项D,语句*p=&k;的左端*p是指针所指内存空间的值,&k是地址,应为p=&k。
10.把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是(D)
A. k%2
B. k%2==1
C. (k%2)!=0
D. !k%2==1
解析:本题考查if语句和if语句构成的选择。选项A表示k除以2的余数,如果余数为1则if成立,否则不能成立,即if判断k是否为奇数;选项B是判断k除以2的余数是否等于1,函数和选项A相同;选项C表示k除以2的余数不为0,和选项A一致;选项D中,!运算符优先级高于%预算符,先计算!k,然后再取余数,并判断余数是否等于1。
11.以下叙述中正确的是( )。(A)
A. C语言程序总是从main函数开始执行
B. C语言程序总是从最前面的函数开始执行
C. C语言程序中main函数必须放在程序的开始位置
D. C语言程序所调用的函数必须放在main函数的前面
解析:C语言中main函数的位置可以任意,而且不管main函数放在哪里,程序的执行总是从main函数开始,并在main函数结束,答案选A。
12.数据库管理系统是( )。(B)
A. 操作系统的一部分
B. 在操作系统支持下的系统软件
C. 一种编译系统
D. 一种操作系统
解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。
13.有以下程序
main()
{ int i=5;
do
{ if(i%3=1)
if(i%5==2){printf(\\(C)
A. *3*5
B. *5
C. *7
D. *2*6
解析:由于循环变量i的初值等于5,所以第一、二次进入do…while循环语句时,条件语句if(i%3==1),if(i%5==2){printf(“*%d”,i);break;}不执行,只执行i++语句。当i=7时,满足条件语句if(i%3==1),if(i%5==2){printf(\\
14.有以下程序
#include
double f (double x);
main()
{ double a=0;int i;
for ( i=0; i<30; i+=10 ) a += f( (double)i );
printf (\\(C)
A. 500
B. 401
C. 503
D. 1404
本文档预览:3600字符,共11502字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载