首页 > 全部 > 二级C语言 > 二级C语言选择题专项强化真题试卷30

二级C语言选择题专项强化真题试卷30

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

二级C语言选择题专项强化真题试卷30

选择题

1.设有宏定义;#define IsDIV(k,n)((k%n==1)?1:0),且变量m已正确定义并赋值。则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是( )。(D)

A. 判断m是否能被5或者7整除

B. 判断m是否能被5和7整除

C. 判断m被5或者7整除是否余1

D. 判断m被5和7整除是否都余1

解析:IsDIV(m,5)&&IsDIV(m,7)都为真,即表达式((m%5==1)?1:0)结果为1,且表达式((m%7==1)?1:0)结果也为1,因为m%5,m%7都等于1,所以题目表达的是,判断m被5和7整除是否都余1。

2.下列与队列结构有关联的是( )。(D)

A. 函数的递归调用

B. 数组元素的引用

C. 多重循环的执行

D. 先到先服务的作业调度

解析:队列的修改是依“先进先出”的原则进行的,故D选项正确。

3.如下所示的系统结构图的最大出扇数是( )。

(A)

A. n

B. 1

C. 3

D. 4

解析:系统结构图的扇出数指的是一个模块直接调用的其他模块数,图中的最大扇出数为n,答案选A。

4.有以下程序:

#include<stdio.h>

main()

{

int x,y,z;

x=y=1;

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

printf(\\(C)

A. 2 3 2

B. 2 3 3

C. 2 3 1

D. 2 2 1

解析:考查逗号表达式。逗号表达式的计算过程是分别计算所有表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。x=y=1;将x、y初始化为1,逗号表达式z=x++,y++,++y;中先计算z=x++,得到x=2,z=1,计算y++,得y=2,再计算++y,得y=3。所以最终结果为x=2,y=3,z=1,答案选C。

5.若有定义语句:

double x,y,*px,*py;

执行

px=dex;py=&y;

正确的输入语句是( )。(D)

A. seanf(\\

B. scanf(\\

C. scard\\

D. seanf(\\

解析:%1Jf,%le是针对double类型的数据,如果仅用%f,输入的数据可能不能被完全接收,数据的精度可能不足。%f主要针对float类型的变量输入,B选项错误。根据scanf(格式,变量地址),A,C选项错误。故答案为D选项。

6.有以下程序:

#include

int f(int k)

{ static int n=0;

int m=0;

n++;m++;k++;

return 11+m+k:

}

main()

{ int k;

for(k=0;k<2;k++)printf(\\(A)

A. 3,5,

B. 3,6,

C. 3,7,

D. 0,3,

解析:static静态变量只在声明时初始化一次。因此,第一次调用函数f(k=0),此时n=m=k=0,经过自增操作n=1,m=1,k=1,返回值为3。第二次调用函数f(k=1),此时n=1,k=1,m=0,经过自增操作,n=2,k=2,m=1,返回值为5。故最终结果为3,5。故答案为A选项。

7.有以下程序:

#include

main()

{FILE*fp;

int i,a[6]={1,2,3,4,5,6},k;

fp=fopen(\\(A)

A. 6

B. 21

C. 123456

D. 654321

解析:本题首先定义文件指针变量fp和一个数组a[],再打开一个文件“dat(a)dat”,随后先给文件写入数据a[0]。由于rewind函数是将文件指针从当前位置重新指向文件开始位置,所以for循环依次将数组a[]中的数据写入文件开始位置,退出循环后,文件中的数据顺序为:654321,重新使指针指向文件开始位置,将此时fp指向的数据(即文件中第一个数据为6)写入变量k中,关闭文件,输出k值,故答案为A选项。

8.有以下程序:

#include

main()

{ int a[4],p,x,i; ,

for(i=3;i>0;i一一)a[i一1]=i*2—1;

scanf(\\(C)

A. 1 2 3 4

B. 5 4 3 1

C. 1 2 3 5

D. 3 2 1 4

解析:第一个for循环初始化数组a,分别为1,3,5,随机数,形成了基本有序的序列,再将输入的数字插入到数组a,使它们形成有序序列。因此可以分析出,打印的结果为1,2,3,5。故答案为C选项。

9.在软件开发中,需求分析阶段可以使用的工具是( )。(B)

A. N-S图

B. DFD图

C. PAD图

D. 程序流程图

解析:在需求分析阶段可以使用的工具有数据流图(DFD)、数据字典(DD)、判定树与判定表,所以选择B)。

10.若有定义:char C;double d;程序运行时输入:1 2,能把字符1输入给变量c、数值2输入给变量d的输入语句是( )。(B)

A. scarff(\\

B. scanf(\\

C. scanf(\\

D. seanf(\\

解析:%If是针对double类型,如果仅用%f,输入的数据可能没有被完全接收,数据的精度可能不足,选项C、D错误。%f主要针对float类型的变量的输入,%d主要针对整型数据的输入,%c主要针对字符类型的数据的输入,选项A错误。故答案为B选项。

11.有以下程序:

#include

main()

{ int x,y,z;

x=y=1;

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

printf(\\(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。

12.对于以下函数声明

void fun(int array[4],int*ptr);

以下叙

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

剩余未完,查看全文
收藏
二级C语言选择题专项强化真题试卷30

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号