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

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

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

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

选择题

1.设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为( )。(B)

A. 7

B. 8

C. 9

D. 10

解析:在具有n个结点的满二叉树,其非叶子结点数为int(n/2),而叶子结点数等于总结点数减去非叶子结点数。本题n=15,故非叶子结点数等于int(15/2)=7,叶子结点数等于15-7=8。

2.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。(B)

A. C,A,D,B

B. B,D,C,A

C. C,D,A,B

D. 任意顺序

解析:栈的操作原则为后进先出。选项B中出栈顺序可按“A进,B进,B出,C进,D进,D出,C出,A出”实现。

3.以下选项中正确的语句组是( )。(D)

A. char s[];s=\\

B. char*s:s={\\

C. char s[10];s=\\

D. char*s:s=\\

解析:本题考查数组和字符串的赋值。选项A)中数组s没有明确其大小就赋值是错误的。选项B)中不能有大括号,选项C)中的写法应该为{’H’’E’’L’’L’’O’’!’}。

4.下面程序的输出结果是( )。

typedefunion{long x[1];

int y[4];

char z[10];

}M;

M t:

main()

{printf(\\(C)

A. 32

B. 26

C. 10

D. 4

解析:“联合体”所占用的内存空间为最长的成员所占用的空间。题中联合体的z[10]成员是联合体中占空间最长的成员。

5.设x=021,y=012,则z=xly的值是( )。(C)

A. 1

B. 0

C. 0001 101 1

D. 1 100001 0

解析:本题主要考查按位或运算。按位或是对两个运算对象相应的位进行逻辑或运算,其运算规则和逻辑或相同,两个运算对象只要有一个是1,则结果为1。

6.有以下程序

#include

typedef struct { int b, p; } A;

void f(A c) /* 注意:c是结构变量名 */

{ int j;

c.b += 1; c.p+=2;

}

main()

{ int i;

A a={1,2};

f(a);

printf(\\(A)

A. 1,2

B. 2,4

C. 1,4

D. 2,3

解析:考查结构体变量作为函数实参整体传递,也是一种值传参,形参的变化不能影响到实参,所以调用函数f(a)对a中的数据没有影响,输出结果为1,2,答案选A)。

7.有以下程序

#include<stdio.h>

void main()

{int n=2,k=1;

while(!(k>0||n++));

printf(’’%d%d\n’’,k,n);

}

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

A. 0 2

B. 1 3

C. 5 7

D. 1 2

解析:在程序中整型变量n的初始值等于2,整型变量k的初始值等于1,在执行while语句时,由于表达式k的值大于0为真,所以不再需要判断“n++’是否为真,“(k>0‖n++)”表达式的值为真。“!(k>0‖n++)”表达式的值为假,所以while语句中的条件不满足,循环语句不会执行,变量n的值也不会加1,所在输出变量k和n的值是1和2。

8.已知下列函数定义:

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)。

9.以下有关宏的描述不正确的是( )。(D)

A. 宏定义不做语法检查

B. 双引号中出现的宏名不进行替换

C. 宏名无类型

D. 宏名必须用大写字母表示

解析:本题考查宏的使用规则:①字符替换格式:#define标识符字符串,标识符称为宏名,无类型;②双引号中出现的宏名不替换;③宏名的定义通常用大写字母,但不是必须用大写;④宏定义不是赋值语句,不做语法检查。

10.以下非法的字符常量是( )。(A)

A. ’\\n’

B. ’\101’

C. ’\x21’

D. ’\0’

解析:C语言允许使用一些以特殊形式出现的字符常量,使用’\n’来表示换行,’\n’实际上是一个字符,它的ASCII码值为10,不存在’\\n’用法。

11.数据库管理系统是( )。(B)

A. 操作系统的一部分

B. 在操作系统支持下的系统软件

C. 一种编译系统

D. 一种操作系统

解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。

12.有以下程序:

#include

main()

{char c;

for(;(c=getchar())!=’#’;)putchar(++c);

}

执行时如输入为:abcdefg##,则输出结果是( )。(D)

A. abcdefg

B. bcdefgh$

C. bcdefgh$$

D. bcdefgh

解析:for循环每次将函数getchar()的输入值赋给变量c,如果不等于’#’,则执行putchar(++c),即将当前变量c的ASCII码加1后,再输出改变后的变量c的值。当变量c的值等于’#’,则终止循环,所以输出应该是bcdefgh。

13.工厂生产中所需的零件可以存放在多个仓库中,而每一仓库中可存放多种零件。则实体仓库和零件间的联系是( )。(A)

A. 多对多

B. 一对多

C. 多对一

D. 一对一

解析:零件可以存放在多个仓库中,而每一仓库中可存放多种零件,则实体仓库和零件间的联系是多对多。故本题答案为A选项。

14.若有以下程序段:

<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号