计算机二级《C语言》考前提分试题及答案2.docx

上传人:b****4 文档编号:5468836 上传时间:2022-12-16 格式:DOCX 页数:8 大小:18.08KB
下载 相关 举报
计算机二级《C语言》考前提分试题及答案2.docx_第1页
第1页 / 共8页
计算机二级《C语言》考前提分试题及答案2.docx_第2页
第2页 / 共8页
计算机二级《C语言》考前提分试题及答案2.docx_第3页
第3页 / 共8页
计算机二级《C语言》考前提分试题及答案2.docx_第4页
第4页 / 共8页
计算机二级《C语言》考前提分试题及答案2.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

计算机二级《C语言》考前提分试题及答案2.docx

《计算机二级《C语言》考前提分试题及答案2.docx》由会员分享,可在线阅读,更多相关《计算机二级《C语言》考前提分试题及答案2.docx(8页珍藏版)》请在冰豆网上搜索。

计算机二级《C语言》考前提分试题及答案2.docx

计算机二级《C语言》考前提分试题及答案2

2017年计算机二级《C语言》考前提分试题及答案2

”}i

 

B.char*s;8=”BOOK!

”;

 

C.charS[10];S=”BOOK!

”;

 

D.charS[];S=”BOOK!

”;(30)若有定义语句:

 

char}sl=‘’0K”,:

Its2=”ok”;

 

以下选项中,能够输出“OK”的语句是()。

 

A.if(strcmp(sl,s2)!

=0)puts(s2);

 

B.if(strcmp(sl,s2)!

=0)puts(s1);

 

C.if(strcmp(sl,s2)==1)puts(s1);

 

D.if(strcmp(sl,s2)==0)puts(s1);

 

(31)有以下程序:

 

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

 

A.Afternoon

 

B.ftemoon

 

C.Morning

 

D.oming

 

(32)有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母:

 

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

 

A.abcdEFg!

 

B.AbCdEFg!

 

C.abcdEFG!

 

D.aBcDEFG!

 

(33)有以下程序:

 

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

 

A.0

 

B.9

 

C.6

 

D.8

 

(34)有以下程序:

 

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

 

A.55.

 

B.50

 

C.45

 

D.60

 

(35)有以下结构体说明、变量定义和赋值语句:

 

则以下scanf函数调用语句有错误的是()。

 

scanf(”%s”,s[0].name);

 

B.scanf(”%d”,s[0].age);

 

C.scanf(”%c”,(ps一sex));

 

D.scanf(”%d”,ps一age):

 

(36)若有以下语句:

typedefstructS{int9;charh;}T;以下叙述中正确的是()。

 

A.可用s定义结构体变量

 

B.可用T定义结构体变量

 

C.S是struct类型的变量

 

D.T是structS类型的变量

 

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

 

A.1002,ZhangDa,1202.0

 

B.1002,ChangRon9。

1202.0

 

C.1001,ChangRon9,1098.0

 

D.1001,ZhangDa,1098.0

 

(38)设有宏定义:

 

#defineIsDIV(k,n)((k%1"1==1)?

1:

O)且变量m已正确定义并赋值,则宏调用:

 

IsDIV(m,5)&IsDIV(m,7)为真时所要表达的是()。

 

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

 

B.判断m被5和7整除是否都余l

 

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

 

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

 

(39)有以下程序:

 

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

 

A.3

 

B.1

 

C.2

 

D.0

 

(40)有以下程序:

 

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

 

A.12

 

B.14

 

C.1234

 

D.123456

 

(21)B【解析】第一次执行外循环,i的值为3,第一次执行内循环j的值为1,j=2条件成立,打印i+j的值,即4;第二次执行内循环J的值为2,j=2条件成立,打印i+j的值,即5;再判断条件不成立,打印回车换行符,跳出内循环。

第二次执行外循环,i的值为2,内循环的执行同第一次一样,所以打印3和4,打印回车换行,结束内循环。

第三次执行外循环i的值为1,同理内循环中打印2和3,打印回车换行符,结束内循环。

 

(22)C【解析】k的值为5,逐个对caBe语句进行匹配,均不匹配,执行defau1t下的语句n=0;k一一。

再执行case2:

ca804:

后面的语句n+=2;k一一;。

执行break语句跳出switch判断,打印n的值,即2。

经过第一次循环后,k的值为3,然后进行k0&&115条件判断为真。

第二次执行循环体,执行case3:

后面的语句n+=1;k一一;。

再执行break语句跳出循环,此时打印n的值3,此时k的值为2。

第三次执行循环体k的值为2,满足条件,执行case2:

case4:

后面的语句n+=2;k一一;。

执行break语句跳出循环体。

打印n的值5。

此时n不满足条件k0&&n5,所以结束循环。

整个程序的打印结果为235。

 

(23)B【解析】在函数中允许有多个Iett1r11语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值。

定义成void类型的函数,不允许从该函数取得返回值,也不允许使用return语句,c选项描述错误。

没有return语句的函数在执行到函数的最后一条语句后会自动返回到调用处,A、D选项描述错误。

因此B选项正确。

 

(24)A【解析】返回值为指针变量指向的数据,该数据已被定义为整型。

因此A选项正确。

 

(25)C【解析】A选项中错在没有对指针进行初始化,是无效指针,并且在scanf(”%d”,&p)中无需再进行取地址操作;B选项中没有对指针进行初始化,是无效指针;D选项中语句+P=&k;的左端tpt是指针所指内存空间的值,&k是地址,应为P=&k。

因此C选项正确。

 

(26)B【解析】语句·s=a;表示指针变量s指向一维数

 

组a的首地址。

a[3]表示引用数组a的第4个元素,+(s+i)表示引用指针8所指数组a的第i+1个元素,选项A、C、D的表示方法错误,只有B选项正确。

 

(27)A【解析】本题考查的是函数的地址调用,将数组名作为数组首地址进行传递,然后取首个数组元素值进行加1运算,循环5次。

因此A选项正确。

 

(28)C【解析】本题重点考察二维数组名作为实参进行参数传递,在主函数中调用了fun函数,实参为二维数组名a和两个整数4.0,这样对应定义fun函数首部有三种形式,这里采用了第一种形式——行指针,这样在fun函数对s[i][j]进行操作实际上就是对主函数中的a[i][j]进行操作,再分析fun函数的作用便可知,是求二维数组第0列中的那个元素。

因此C选项正确。

 

(29)B【解析】A选项去掉大括号就正确了;c选项和D选项应在定义时赋初值。

因此B选项正确。

 

(30)B【解析】strcmp(s1,s2)是字符串比较函数,比较规则是两个字符串自左向右逐个字符相比(按照ASCI1码值大小),-以第一个不相同的字符的大小作为比较结果。

因为。

O。

10.,所以strcmp(s1,s2)为负值,只有B选项正确。

 

(31)A【解析】本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。

和一般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针,所以数组名a可以用做函数fun()的实参。

在fun()函数中,++P操作使形参P往后移动一个字符指针的位置,即指针a[1]的位置。

故最后通过础nd()函数输出的字符串为“Afternoon”。

因此A选项正确。

 

(32)D【解析】调用缸函数后,实参数组名s1传给形参指针P,P也指向数组s1。

m函数的功能是遍历字符数组中的所有字符,如果某一个字符是空格并且前一个字符是小写字母的话,就把前一个字符转换为大写。

程序中语句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,意思是将P[i一1]中的字符转换为大写。

因此D选项正确。

 

(33)C【解析】主函数中调用f函数,同时将数值3传递给变量x,执行条件不满足条件if(x==0I1X==1);跳过re—turn(3);,直接执行语句Y=X}X—f(x一2);这里f(x一2)为函数的递归调用,再次诃用f函数,此时x=1,判断条件成立,返回3给f

(1),Y=3}3—3=6,最后将6返回主函数,并进行输出。

因此c选项正确。

 

(34)D【解析】内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。

m(a,5)的值是15,再次调用后Ⅲm=15,所以fun(b,4)=45,s=45+15=60。

因此D选项正确。

 

(35)D【解析】本题考查结构体的相关知识,题目中需要输入一个变量,scanf要求参数为指针,而D选项中ps一age为一个变量,不是指针,所以错误。

 

(36)B【解析】本题考查typ1edef重新声明一种结构体类型,那么T为结构体类型,而不是结构体变量,所以B选项正确。

 

(37)B【解析】本题考查结构体变量的引用以及作为函数参数,题目虽然看似复杂,其实比较容易,f函数的参数是结构体变量,然后对参数重新赋值并返回,所以该题目的答案为B选项。

 

(38)B【解析1本题考查逻辑运算符的相关概念,逻辑与若要为真,那么两边都要为真,即m都能被5和7整除都余1,所以选项B正确。

 

(39)A【解析】本愿考查位运算符以及相关运算,‘为按位或,&为按位与,部么a'b为3,再与c按位与仍然为3,所以答案为A选项。

 

(40)D【解析】fprintf()函数向文本文件输出数据,将输出的内容按格式输出翻硬盘的文本文件中。

执行两次fprintf后。

文件中的内容为。

123456”,所以D选项正确。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1