首页 > 全部 > 二级C语言 > 国家二级C语言机试(选择题)模拟试卷301

国家二级C语言机试(选择题)模拟试卷301

本单篇文档共11608字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 4484人下载
价格: 1.60 原价:¥8.80
收藏

国家二级C语言机试(选择题)模拟试卷301

选择题

1.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0的程序段是(D)

A. n=0;while((ch=getchar())!=’\n’)n++;

B. n=0;while(getchar() !=’\n’)n++;

C. for(n=0;getchar()!=’\n’;n++);

D. n=0;for(ch=getchar();ch!=’\n’;n++);

解析:本题主要考查循环的使用。选项A中,首先把输入的字符放到ch变量中,然后判断ch是否为回车符,如果不是则n增加,循环结束条件是输入的是回车符;选项B中,直接判断getchar。函数的返回值是否是回车符,如果不是则n增加,输入回车符循环结束;选项C使用for循环,n的初值为0,每次循环n增加1,循环的结束条件是输入回车符:选项D中for循环的初始条件ch值为输入的字符,只有一次输入,不能统计输入的字符数,如果第一次输入的不是回车符循环不能结束。

2.在长度为97的顺序有序表中作二分查找,最多需要的比较次数为(A)

A. 7

B. 96

C. 48

D. 6

解析:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。最多比较次数的计算方式:k=log2n。其中n代表长度,k为比较次数。本题中可以计算出k=7。

3.有以下程序:

#include<stdio.h>

int fun(char *s)

{

char *p=s;

while(*p!=0)P+ +;

return(p—s);

}

main( )

{

printf(″%d\n″,fun(″goodbye!″));

}

程序的输出结果是( )。(D)

A. 0

B. 6

C. 7

D. 8

解析:本题主要考查函数定义及调用,以及while循环语句。执行fun函数后,首先找到最后一个字符的地址,然后减去第一个地址得到的就是这个字符串的长度,因此本题答案为8。

4.学生和课程的关系模式定义为:

S(S#,Sn,Sd,Dc,sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);

C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课);

SC(S#,C#,G)(其属性分别学号、课程号和成绩)。

关系中包含对主属性传递依赖的是( )。(C)

A. S#→Sd

B. S#→Sd,(S#,C#)→G

C. S#→Sd,Sd→Dc

D. C#→P#,(S#,C#)→G

解析:关系SC的主属性为(S#、C#),但在SC中S#(学号)单独就可以决定Sd(所在系),Sd(所在系)可决定Dc(所在系的系主任),故对主属性传递依赖的是S#→Sd,Sd→Dc。

5.在面向对象方法中,不属于“对象”基本特点的是(A)

A. 一致性

B. 分类性

C. 多态性

D. 标识唯一性

解析:对象具有如下特征:标识惟一性、分类性、多态性、封装性、模块独立性。

6.下面不属于软件工程的3个要素是(D)

A. 工具

B. 过程

C. 方法

D. 环境

解析:软件工程的3个要素是工具、过程和方法。

7.支持子程序调用的数据结构是( )。(A)

A. 栈

B. 树

C. 队列

D. 二叉树

解析:栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表。在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,所以A选项正确。

8.运行下面的程序,输入字符串“Microsoft Visual Studio\\(C)

A. Microsoft Visual Studio

B. M

C. Microsoft

D. MicrosoftVisualStudio

解析:当从键盘输入“MicrosoftVisual Studio”时,由于“scanf”输入函数的特点是遇到空格时结束读入字符,因此,该程序只将“Microsoft”这9个字符送到了字符数组str中,并在其后自动加上结束符“\0”。

9.有以下程序,程序运行后的输出结果是

main(){int x=35,B;

char z=’B’:

B=((x)&&(z<’b’));

printf(\\(C)

A. 0

B. 35

C. 1

D. 66

解析:表达式((x)&&(z<’b’)),x为35非零,考虑表达式z<’b’,成立,则B的值为1。

10.以下叙述中正确的是( )。(A)

A. 在C语言中,预处理命令行都以#开头

B. 预处理命令行必须位于C源程序的起始位置

C. #include必须放在C程序的开头

D. C语言的预处理不能实现宏定义和条件编译的功能

解析:c语言中,凡是以“#”开头的都被称为编译预处理行,选项A正确;预处理行可以放在C源程序的任何位置,习惯放在起始位置,选项B错误;语句“#include”必须放在使用文件stdio.h中相关方法的语句之前,但是不一定非要放在C程序开头,选项C错误;预处理包括宏定义、文件包含和条件编译等,选项D错误。答案选A。

11.下列叙述中正确的是(A)

A. 软件过程是把输入转化为输出的一组彼此相关的资源和活动

B. 软件过程是软件开发过程

C. 软件过程是软件维护过程

D. 软件过程是软件开发过程和软件维护过程

解析:软件过程是指软件整个生命周期,从需求获取,需求分析,设计,实现,测试,发布和维护一个过程模型。一个软件过程定义了软件开发中采用的方法,但软件过程还包含该过程中应用的技术一一技术方法和自动化工具。过程定义一个框架,为有效交付软件工程技术,这个框架必须创建。软件过程构成了软件项目管理控制的基础,并且创建了一个环境以便于技术方法的采用、工作产品(模型、文档、报告、表格等)的产生、里程碑的创建、质量的保证、正常变更的正确管理。

12.已知下列函数定义:

fun(int *b,int c,int d)

{ int k;

for(k=0;k<c*d;k++)

{ *b=c+d;

b++;}}

则调用此函数的正确写法是(假设变量a的说明为int a[10])( )。(C)

A. fun(*a,6,14);

B. fun(&a,6,8);

C. fun(a,8,4);

D. fun((int)a,8,6);

解析:本题考查函数调用时的参数传递。fun函数的调用形式为fun(int*b,int c,int d)。调用数组时,用数组名表示一个指向数组的第一个元素的指针,因此,调用时的形式为“fun(a,8,4)”。

13.

本文档预览:3600字符,共11608字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(选择题)模拟试卷301

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号