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

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

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

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

选择题

1.将E-R图转换为关系模式时,实体和联系都可以表示为( )。(C)

A. 属性

B. 键

C. 关系

D. 域

解析:E-R图转换为关系模式时,实体和联系都可以表示为关系。

2.若有如下定义语句:

double x,y,*px,*py;

执行了px=&x;py=&y;之后,正确的输入语句是( )。(C)

A. scanf(\\

B. scanf(\\

C. scanf(\\

D. scanf(\\

解析:输入函数scanf的标准格式是:scanf(格式控制,地址列表),AD两项中地址列表格式不正确,应为&x,&y。格式控制和地址列表间应该用逗号隔开,B项也错误。

3.有以下程序:

#include<stdio.h>

main()

{

int a=1,b=2,c=3,d=0;

if(a=—1&&b++==2)

if(b!=2||c!=3)

printf(\\(C)

A. 1 2 3

B. 1 3 2

C. 1 3 3

D. 3 2 1

解析:首先a=1,b=2,c=3,d=0;因为a为1,b++本身为b加之前的值,即b++为2,所以第一个if语句的判断条件为真,进入if语句。b经过b++运算后值为3,所以第二个if语句为真(或运算时,一个为真,整体都为真,并且第一个为真时第二个不会被执行运算),这时后面的运算都忽略。

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.有以下程序:

#include<stdio.h>

main()

{

int y=9;

for(;y>0;y——)

if(y%3==0)

printf(\\(D)

A. 875421

B. 963

C. 741

D. 852

解析:该程序的运行过程是y从9开始自减,每次判定y是否能被3整除,若是,则输出——y后的值,能被3整除的y值分别为9、6、3,所以答案选D。

6.以下叙述中正确的是( )。(B)

A. 一条语句只能定义一个数组

B. 每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元

C. 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式

D. 在引用数组元素时,下标表达式可以使用浮点数

解析:A选项中,一条语句只能定义一个数组是不准确的,可以通过一条语句定义多个数组;C选项中,数组说明符的一对方括号中可以是整型常量,也可以是整型常量表达式;D选项中,在引用数组元素时,下标表达式必须是整型的。故B选项正确。

7.有以下程序:

#inelude<stdio.h>

void fun(char**p)

{

++p;

prinff(\\(A)

A. Afternoon

B. ftemoon

C. Noming

D. oming

解析:本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和一般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针,所以数组名a可以用做函数fun( )的实参。在fun( )函数中,++p操作使形参p往后移动一个字符指针的位置,即指针a[1]的位置。故最后通过printf( )函数输出的字符串为“Afternoon”。因此A选项正确。

8.若某二叉树中的所有节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,则该二叉树遍历序列中有序的是( )。(B)

A. 前序序列

B. 中序序列

C. 后序序列

D. 以上说法均可以

解析:二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。由于节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,那么只要遍历时访问根节点在访问左子树和右子树之间,遍历序列有序,即中序序列有序。故选B选项。

9.有以下程序:

#include

main()

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

switch(x)

{case 1:

switch(y)

{Case 0:a++;break;

Case 1:b++;break;

}

case 2:a++;b++;break;

case 3:a++;b++;

}

printf(\\(B)

A. a=2,b=2

B. a=2,b=1

C. a=1,b=1

D. a=1,b=0

解析:C语言还提供了一种用于多分支选择的switch语句,计算判断条件的表达式的值,并逐个与case后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行相应case后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

x=1;进入第一层switch,y=0;进入第二层switch,执行a++;break;后a=1;再进入case 2,(这里case 1:没有break,)执行了a++,b++,由于存在break,则跳出switch,得到a=2,b=1,因此答案为B选项。

10.设文件指针fp已定义,执行语句fp=fopen(\\(A)

A. 只能写不能读

B. 写操作结束后可以从头开始读

C. 可以在原有内容后追加写

D. 可以随意读和写

解析:考查文件操作函数fopen的基础知识,以”w”方式打开文件,只能写不能读。选项A正确。

11.有C语言表达式2*3+4+15%3,关于其执行顺序,以下叙述正确的是( )。(A)

A. 先执行2*3得6,再执行6+4得10,再执行15%3得0,最后执行10+0得10本文档预览:3600字符,共7650字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号