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

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

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

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

选择题

1.表达式:(int)((double)9/2)—(9)%2的值是( )。(B)

A. 0

B. 3

C. 4

D. 5

解析:运算符“/”和“%”的优先级高于“—”,所以先进行除法和求余运算,再进行减法运算。强制类型转换表达式的形式:(类型名)(表达式)。“9/2”结果为4,转换成double类型再转换成int类型结果依然为4,(9)%2的结果为1,4—1的最后结果为3。

2.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(B)

A. 循环队列

B. 栈

C. 队列

D. 二叉树

解析:栈是按照“先进后出”原则在表特定的一端进行插入和删除运算操作的线性表。

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

A. 程序执行的效率与数据的存储结构密切相关

B. 程序执行的效率只取决于程序的控制结构

C. 程序执行的效率只取决于所处理的数据量

D. 以上说法均错误

解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。

4.下列叙述中正确的是( )。(D)

A. 所有数据结构必须有根结点

B. 所有数据结构必须有终端结点(即叶子结点)

C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构

D. 没有根结点或没有叶子结点的数据结构一定是非线性结构

解析:D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。所以没有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。

5.有下列程序,其中%u表示按无符号整数输出。

main()

{ unsigned int x=0xFFFF;

/*x的初值为十六进制数 */

printf(’’%u\n’’,x);

}

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

A. -1

B. 65535

C. 32767

D. 0xFFFF

解析:“%u”格式符表示以十进制形式输出无符号整形变量。本题中无符号整形变量x=0xFFFF表示的是十六进制无符号整型变量的最大值65535,所以最后输出的结果为65535。

6.下面程序运行后的输出结果是( )。

#include<stdio.h>

main()

{ int a[5]={1,0,4,2,0},b[5]={1,2,3,4,5),i,s=0;

for(i=0;i<5;i++)s=s+b[a[i]];

printf(\\(A)

A. 12

B. 15

C. 11

D. 8

解析:这道题目是计算机一维数组b中某些元素的和。这些元素的下标值是一维数组a中元素值。s=0+b[1]+b[0]+b[4]+b[2]+b[0]=2+1+5+3+1=12。

7.已知下列函数定义:

fun(int*b,int c,int n,int data)

{int k:

for(k=0;k<m*n;k++)

{*b=data;

b++;}

}

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

A. fun(*a,4,5,1);

B. fun(&a,4,5,1);

C. fun((int*)a,4,5,1);

D. fun(a,4,5,1);

解析:本题考查函数调用时的参数传递。fun函数的调用形式为fun(int *b,int m,int n,int data),而调用数组时,用数组名表示一个指向数组第一个元素的指针,因此调用时的形式为。fun(a,4,5,1)。

8.有以下程序:

#include<stdio.h>

#define PT 3.5;

#define S(x) PT*x*x;

main()

{int a=1,b:2;printf(\\(C)

A. 7.5

B. 31.5

C. 程序有错无输出结果

D. 14.0

解析:宏定义不是C语句,末尾不需要有分号。所以语句printf(\\

9.下列关于线性链表的叙述中,正确的是( )。(C)

A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

C. 进行插入与删除时,不需要移动表中的元素

D. 以上三种说法都不对

解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各节点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变节点的指针域即可。故C选项正确。

10.下列叙述中错误的是( )。(C)

A. C语句必须以分号结束

B. 复合语句在语法上被看作一条语句

C. 空语句出现在任何位置都不会影响程序运行

D. 赋值表达式末尾加分号就构成赋值语句

解析:C语言规定每条语句和数据定义的最后必须有一个分号,分号是C语句的必要组成部分。复合语句也称为“语句块”,其形式如下:{语句1;语句2;……语句n;},即用一对大括号把若干语句括起来构成一个语句组。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。一个赋值表达式的最后加一个分号就成为一条语句,即赋值语句。空语句是只有一个分号的语句,它什么也不做,程序设计中有时需要加一个空语句来表示存在一条语句,但随意加分号会导致逻辑上的错误,而且这种错误十分隐蔽,编辑器也不会提示逻辑错误,需要慎用。

11.有下列程序:

main()

{int m,n,p;

scanf(\\(A)

A. m=123n=456p=789

B. m=123 n=456 p=789

C. m=123,n=456,p=789

D. 123 456 789

解析:scanf()函数中格式控制字符串是为了输入数据用的,无论其中有什么字符,在输入数据时,按照一一对应的位置原样输入这些字符。

12.有以下程序:

#include <stdio.h>

int f( int x,int y)

{ return((y-x)*x); }

main()

{ int a=3,b=4,c=5,d;

d=f(f(a,b),f(a,c));

printf(\\(D)

A. 7

B. 10

C. 8

D. 9

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号