首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷415

国家二级(C语言)机试模拟试卷415

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

国家二级(C语言)机试模拟试卷415

选择题

1.下列选项中不属于结构化程序设计原则的是( )。(A)

A. 可封装

B. 自顶向下

C. 模块化

D. 逐步求精

解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

2.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。(D)

A. 快速排序

B. 冒泡排序

C. 直接插入排序

D. 堆排序

解析:除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。

3.数据流图中带有箭头的线段表示的是( )。(D)

A. 控制流

B. 事件驱动

C. 模块调用

D. 数据流

解析:数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。

4.为了使模块尽可能独立,要求( )。(B)

A. 内聚程度要尽量高,耦合程度要尽量强

B. 内聚程度要尽量高,耦合程度要尽量弱

C. 内聚程度要尽量低,耦合程度要尽量弱

D. 内聚程度要尽量低,耦合程度要尽量强

解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的,在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

5.有以下程序:

#include<stdio.h>

main()

{ints;

scanf(\\(B)

A. 66656

B. 6566456

C. 66666

D. 6666656

解析:switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句。然后退出。所以输入1时打印65,输入2时打印6,输入3时打印64,输入4时打印5,输入5时打印6。

6.有两个关系R、S如下:

(B)

A. 选择

B. 投影

C. 插A

D. 连接

解析:投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的耶些域的列所组成的关系。所以选择B。

7.以下叙述中错误的是( )。(A)

A. 使用三种基本结构构成的程序只能解决简单问题

B. 结构化程序由顺序、分支、循环三种基本结构组成

C. C语言是一种结构化程序设计语言

D. 结构化程序设计提倡模块化的设计方法

解析:使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A错误。

8.若有定义“int x,y;”并已正确给变量赋值,则下列选项中与表达式“(x-y)?(x++):(y++)”中的条件表达式“(x-y)”等价的是( )。(C)

A. (x-y>0)

B. (x-y<0)

C. (x-y<0||x-y>0)

D. (x-y=0)

解析:条件表达式的形式如下:“表达式1?表达式2:表达式3”。其含义为当“表达式1”的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件表达式的值;当“表达式1”的值为零时,则求“表达式3”的值,这时“表达式3”的值就是整个表达式的值。本题条件表达式的执行顺序是先求解表达式“x-y”的值,若其值为非0(可以是正数,也可以是负数),则再求表达式“x++”的值,其值就是条件表达式的值;若表达式“x-y”的值为0,则再求表达式“y++”的值,其值就是条件表达式的值。因此,本题的答案为选项C。

9.以下程序段的输出结果为( )。

static char a[]=\\(B)

A. programme

B. porm

C. 有语法错误

D. prog

解析:本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址,第一次for循环,p=a,p指向数组的第一个元素,*p是取指针p所指地址的内容,输出p;第二:次for循环,p=p+2,则p指向数组的第三个元素,*p是取指针p所指地址的内容,输出o;第三次for。循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出r;第四次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出m;结束循环。

10.有以下程序:

#include<stdio.h>

main()

{int m=1,n=2,*p=&m,*q=&n,r;

r=p;p=q;q=r;

printf(\\(D)

A. 2,1,1,2

B. 1,2,1,2

C. 2,1,2,1

D. 1,2,2,1

解析:int m=1,n=2,*p=&m,*q=&n,*r;即指针变量p指向m,指针变量q指向n,r=p;p=q;q:r;即通过指针变量r,将指针p和指针q的指向交换。因此最后输出1,2,2,1。

11.有以下程序:

#include<stdio.h>

int add(int a,int b)

{

return(a+b);

}

main()

{

int k,(*f)(),a=5,b=10;

f=add;

}

则以下函数调用语句中错误的是( )。(A)

A. k=*f(a,b);

B. k=add(a,b);

C. k=(*f)(a,b);

D. k=f(a,b);

解析:int(*f)()为一个函数指针变量,返回值为整型,f为一个指针变量,指向一个已经定义的函数,在调用该函数的时候需要把参数写在相应的小括号内,即(*指针名)(参数或参数列表),所以选项A调用错误,答案选A。

12.以下说法正确的是( )。(B)

A. 宏定义是C语句,要在行末加分号

B. 可以使用#undefine提前结束宏名的使用

C. 在进行宏定义时,宏定义不能嵌套

D. 双引号中出现的宏名也要进行替换

解析:本题考查宏的使用规则:①字符替换格式:#define标识符字符串,行末不加分号;②双引号中出现的宏名不替换;③如果提前结束宏名的使用,程序中可以使用#undefine;④在进行宏定义时,宏定义能层层置换,能够嵌套。

13.有如下嵌套的if语句:

if(a<b)

if(a<c) k=a;

dse k=c;

else

if(b<c

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号