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

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

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

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

选择题

1.结构化程序设计的3种结构是( )。(B )

A. 顺序结构,分支结构,跳转结构

B. 顺序结构,选择结构,循环结构

C. 分支结构,选择结构,循环结构

D. 分支结构,跳转结构,循环结构

解析:程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。

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

A. 7

B. 8

C. 9

D. 10

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

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

A. j2_KEY

B. Double

C. 4d

D. _8_

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

4.有以下程序:

#include<stdio.h>

main()

{int x=1,y=0,a=0,b=0;

switch(x)

{ease1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

printf(\\(B)

A. a=2,b=2

B. a=2,b=1

C. a=1,b=1

D. a=1,b=0

解析:case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去。不在进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a的值为1。然后执行外层case2语句的a++;b++;a为2,b为1。所以结果为B。

5.语句“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”格式符前面的字母不能输出:“\”格式符表示输出单引号字符;“\\”格式符表示输出反斜线字符。

6.判断char型变量c1是否为小写字母的正确表达式为( )。(D)

A. ’a’<=c1<=’z’

B. (c1>=a)&&(c1<=z)

C. (’a’>=c1 || (’z’<=c1)

D. (c1>=’a’)&&(c1<=’z’)

解析:C语言规定,字符常量在程序中要用单引号括起来。首先判断c1是否为小写字母的主要条件“c1>=’ap’和“c1<=’z’”是逻辑与关系,其次选项A的这种形式C语言中没有,所以选项D正确。

7.有以下程序:

#include

#include

main()

{int*a,*b,*c;

a=b=c=(int*)malloc(sizeof(int));

*aa=1;*b=2,*c=3;

a=b;

prinff(“%d,%d,%d\n”,*a,*b,*c);

}

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

A. 1,1,3

B. 2,2,3

C. 1,2,3

D. 3,3,3

解析:malloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int:*c)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句*c=3的值保留在了该空间内,因为a、b、c三个指针变量均指向该空间,所以打印该空间内的数值为3。

8.有以下程序段:

#include <stdio.h>

int a, b, c;

a=10; b=50; c=30;

if (a>b) a=b, b=c; c=a;

printf(\\(B)

A. a=10 b=50 c=30

B. a=10 b=50 c=10

C. a=10 b=30 c=10

D. a=50 b=30 c=50

解析:本题中a>b的条件不满足,所以不执行逗号表达式a=b,b=c;的操作,而是执行c=a操作,即c的值为10。

9.有以下程序:

#include

main()

{int a[]={1,2,3,4},y,*P=&a[3];

–p;y=*p;printf(“y=%d\n”,y);

}

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

A. y=0

B. y=1

C. y=2

D. y=3

解析:程序首先定义了一个一维数组和指针,接着将数组第4个元素的地址赋给*p,进行一p使指针p指向了数组的第3个元素;通过y=*p,将数组第3个元素的值3赋给了y,所以选项D)正确。

10.在数据库系统的内部结构体系中,索引属于( )。(B )

A. 模式

B. 内模式

C. 外模式

D. 概念模式

解析:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设符级上(如磁盘及磁盘操作)。

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

A. 栈

B. 树

C. 队列

D. 二叉树

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

12.有以下程序:

#include<stdio.h>

main()

{

unsigned char a=8,c;

c=a>>3:

printf(\\(C)

A. 32

B. 16

C. 1

D. 0

解析:字符常量与其ASCII码值一一对应,在计算的时候,可以使用该字符的ASCII码参与运算,输出时会根据格式控制符输出对应的字符或者ASCII码。右移运算符“>>”的运算规则

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号