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

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

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

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

选择题

1.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )。(B)

A. 并

B. 交

C. 投影

D. 除

解析:关系R与S经交运算后所得到的关系是由那些既在R内又在S内的有序组所组成,记为R∩S,交运算不改变关系表中的属性个数但能减少元组个数。

2.在结构化方法中,软件功能属于软件开发中的( )阶段。(C)

A. 详细设计

B. 需求分析

C. 总体设计

D. 编程调试

解析:总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。

3.有以下程序:

#include

main()

{ char ch=’Z’;

ch=(ch-’A’+1)%26+’A’;putchar(ch);

}

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

A. Z

B. Y

C. B

D. A

解析:Z的ASCII码是90,A的ASCII码是65,所以ch=(ch-’A’+1)%26+’A’=26%26+65=65,输出65对应的字符A。

4.有以下程序:

#include

main()

{ int a=0,b=0,c=0,d=0;

if(a=1)b=1;c=2;

else d=3:

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

}

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

A. 1,1,2,0

B. 0,0,0,3

C. 编译有错

D. 0,1,2,0

解析:本题中if(a=1)b=1;与else d=3;之间多了语句c=2;所以会出现else语句的位置错误的编译失败提示。

5.以下叙述错误的是( )。(D)

A. 变量的作用域取决于变量定义语句的位置

B. 全局变量可以在函数以外的任何部位进行定义

C. 局部变量的作用域可用于其他函数的调用

D. 一个变量说明为static存储类型是为了限制其他编译单元的引用

解析:本题考查函数调用的变量作用域。全局变量不在任何函数体内定义,作用域为整个文件;局部变量在函数体内定义,作用域仅为本次函数;static类型是静态变量,为了方便其他编译单元的引用,不能随意改变。

一个函数包含两部分:函数首和函数体,函数体包括花括号内的所有语句。

6.运行下面程序时,从键盘输入字母A,则输出结果是( )。

#include<stdio.h>

main()

{char ch;

ch=getchar();

switch(ch)

{ case’A’:printf(’’AAAA\n’’);

case’B’:printf(’’BBBBkn’’);

default:printf(’’CCCC\n’’);

}

}(C)

A. AAAA

B. AAAA

BBBB

C. AAAA

BBBB

CCCC

D. AAAA

CCCC

解析:本题考查“switch”语句。因为“ch=A”,所以第一个switch语句,执行“case’A’”后面的语句,输出AAAA,没有遇到break语句,所以接着再执行“case ’B’”和default,分别输出BBBB和CCCC。

7.下列数据结构中,能用二分法进行查找的是( )。(D)

A. 无序线性表

B. 线性链表

C. 二叉链表

D. 顺序存储的有序表

解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。

8.若函数中有定义语句:int a;,则( )。(B)

A. 系统将自动给a赋初值0

B. 这时a中的值是和随机数

C. 系统将自动给a赋初值-1

D. 这a中无任何值

解析:本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。

9.下列语句组中,不正确的是( )。

C

解析:S是一个字符指针变量,s代表其地址,C将字符串赋给地址,因此选项C错误。

10.有以下程序:

#include

main()

{ int x,y,z;

x=y=1;

z=x++,y++,++y;

printf(“%d,%d,%d\n”,x,y,z);

}

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

A. 2,3,3

B. 2,3,2

C. 2,3,1

D. 2,2,1

解析:z=x++,y++.++y;因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式表示成(z=x++),(y++),(++y)。然后从左向右先计算表达式z=x++,因为x++先使用后自增,所以z的值为1,x的值为2。再计算逗号表达式第二个表达式y++,此时y的值为2,最后计算第三个表达式++y,y的值为3。

11.软件测试的目的是( )。(D)

A. 评估软件可靠性

B. 发现并改正程序中的错误

C. 改正程序中的错误

D. 发现程序中的错误

解析:软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。

12.有以下程序:

#include

int fun(int x,int y)

{ if(x==y)retum(x);

else retum((x+y)/2);

}

main()

{ int a=1,b=2,c=3;

printf(\\(A )

A. 2

B. 3

C. 4

D. 5

解析:fun(b,c)即fun(2,3),2 1=3,所以返回(2+3)/2=2;fun(2*a,2)即fun(2,2),2==2,所以返回2。

13.有以下程序:

#include<stdio.h>

struet ord

{int x,y;}dt[2]={1,2,3,4};

main()

{

struct ord*p=dt;

printf(\\(C)

A. 3,4

B. 4,1<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号