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

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

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

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

选择题

1.算法的有穷性是指( )。(A)

A. 算法程序的运行时间是有限的

B. 算法程序所处理的数据量是有限的

C. 算法程序的长度是有限的

D. 算法只能被有限的用户使用

解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

2.程序流程图中带有箭头的线段表示的是( )。(C)

A. 图元关系

B. 数据流

C. 控制流

D. 调用关系

解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C.

3.设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。如T=R×S,则T的元组的个数为( )。(C)

A. 6

B. 8

C. 9

D. 12

解析:R为n元关系,有p个元组S为m元关系,有q个元组。两个关系笛卡儿积是一个n+m元的关系,元组个数是q×p。所以T的元组的个数为9个。

4.下列不合法的用户标识符是( )。(C)

A. j2_KEY

B. Double

C. 4d

D. _8_

解析:在C语言程序中,合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须是字母或下划线。

5.以下关于C语言的叙述中正确的是( )。(A )

A. 预处理命令通常位于函数体外面,但也可以位于函数体中间

B. C语言中的变量定义须在其他语句之前

C. 在C语言程序的书写中,一个语句必须单占一行

D. 一个C语言源程序可以由一个或多个源文件组成,每个源文件可由自己的main函数

解析:源程序中可以有预处理命令(include命令仅为其中的一种)。C语言中的变量可以在使用之前的任何位置进行定义。C语言程序的书写中,多个语句可以位于一行,但为了增强可读性,一般每行只有一条语句。一个C语言源程序可以由一个或多个源文件组成,但仅可以有一个main函数。

6.关于“while(条件表达式)循环体”,以下叙述中正确的是( )。(B)

A. 循环体的执行次数总是比条件表达式的执行次数多一次

B. 条件表达式的执行次数总是比循环体的执行次数多一次

C. 条件表达式的执行次数与循环体的执行次数一样

D. 条件表达式的执行次数与循环体的执行次数无关

解析:考查while循环的执行过程。先计算括号内表达式的值,若不为0则执行循环体语句,若为0则跳出wlaile循环,所以条件表达式的执行次数总是比循环体的执行次数多一次.答案选B。

7.语句“printf(\\(C)

A. a\bhow\’are\’y\\bou

B. a\bhow\’are\’y\bou

C. how’are’you

D. ahow’are’y\bou

解析:“\b”格式符表示退格,功能是将它后面的字母把它前面的字母覆盖,导致“\b”格式符前面的字母不能输出;“\’”格式符表示输出单引号字符;“\\”格式符表示输出反斜线字符。

8.以下程序的输出结果是( )。

#include

main()

{ int a=8,b=6,m=1;

switch(a%4)

{ case 0:m++;

break;

case 1:m++;

switch(b%3)

{default:m++;

case 0:m++:break;

}

}

printf(”%d\\

”,m);}(B )

A. 1

B. 2

C. 3

D. 4

解析:本题考查switch语句。因为a=8,a%4=0,所以执行case 0后面的语句,将m加1,遇到break语句跳出switch。

9.有下列程序段:

typedef struct NODE

{int num;stmct NODE*next;

}OLD;

下列叙述中正确的是( )。(C)

A. 以上的说明形式非法

B. NODE是一个结构体类型

C. OLD是一个结构体类型

D. OLD是一个结构体变量

解析:C语言允许用typedef说明一种新类型名,其一般形式为:typedef类型名标识符。typedef语句的作用仅仅是使“标识符”来代表已存在的“类型名”,并未产生新的数据类型。原有类型名依然有效。此题中,用使typedef定义了新的类型OLD结构,所以OLD为结构体类型。

10.有以下程序:

#include<stdio.h>

int fun(int(*s)[4],int n,int k)

{int m,i;

m=s[0][k];

for(i=1;i<n;i++)

if(s[i][k]>m)

m=s[i][k];

return m;

}

main()

{int a[4][4]={{1,2,3,4},

{11,12,13,14},

{2l,22,23,24},

{3l,32,33,34}};

printf(\\(C)

A. 4

B. 34

C. 31

D. 32

解析:本题重点考察二维数组名作为实参进行参数传递,在主函数中调用了fun函数,实参为二维数组名a和两个整数4、0,这样对应定义fun函数首部有三种形式,这里采用了第一种形式——行指针,这样在fun函数对s[i][j]进行操作实际上就是对主函数中的a[i][j]进行操作,再分析fun函数的作用便可知,是求二维数组第0列中最大的那个元素。因此C选项正确。

11.某二叉树有5个度为2的节点,则该二叉树中的叶子节点数是( )。(C)

A. 10

B. 8

C. 6

D. 4

解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。

12.在C语言中,只有在使用时才占用内存单元的变量的是( )。(A)

A. auto和register

B. extern和register

C. auto和static

D. static和register

解析:C语言中,动态存储区域中存放的变量在使用时才分配内存空间。auto变量的存储单元是分配在内存的动态存储区中,每当进入函数体时自动分配存储单元。register变量也是自动类变量。static说明的变量为静态变量,静态变量在内存的静态存储中占据着永久的存储单元,直至程序运行结束。extern说明的变量为外部变量,属于全局变量,全局变量在整个程序运行期间都占用内存空间。

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

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

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

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号