首页 > 全部 > 二级C语言 > 国家二级C语言机试(函数和数组)模拟试卷19

国家二级C语言机试(函数和数组)模拟试卷19

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

国家二级C语言机试(函数和数组)模拟试卷19

选择题

1.有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)

#include

#include

main()

{char a[10]=\\(B)

A. bc2yz

B. a2yz

C. a12xyz

D. 12yz

解析:程序执行“strcpy(a+1,b+2)”后,字符数组a的值为“a2”,再进行字符串的连接“strcatq(a,c+1)”,此时字符数组a的值为“a2yz”。

2.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是

A

解析:C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)。在选项A中,调用的子函数在调用后面定义,所以不正确。在选项B、C)中,被调用函数在主函数之前定义,再在主函数中调用,所以是正确的;在选项D中,在主函数中先对子函数float fun(int i,int j)进行了声明,然后进行调用。

3.以下叙述中正确的是(D)

A. 用户自己定义的函数只能调用库函数

B. 不同函数的形式参数不能使用相同名称的标识符

C. 在C语言的函数内部,可以定义局部嵌套函数

D. 实用的C语言源程序总是由一个或多个函数组成

解析:一个C语言源程序可以由一个或多个源文件组成,每个源文件可由一个或多个函数组成,这些函数可以是自定义函数,也可以是库函数,各个函数之间没有主从关系,不能嵌套定义函数。

4.若有定义语句: char s[10]=\\(B)

A. 8

B. 7

C. 9

D. 10

解析:字符串长度函数str1en(、s)表示计算出以s为起始地址的字符串的长度。并作为函数值返回。这个长度值不包括串尾的结束标志’\0’。

5.有以下程序

#include

main()

{char p[20]={’a’,’b’,’c’,’d’},q[]=\\(C)

A. 9

B. 11

C. 6

D. 7

解析:字符串连接函数strcat(p,r)的功能是把字符数组p[]和r[]连接起来,此时字符数组p[]的有效字符长度为9,再执行strcpy(p+str1en(q),q)字符串复制函数,把字符数组q[]复制到字符数组p[]从p[3]开始到p[5]数组位置中,由于字符数组q[]中的内容为字符串“abc”复制时把字符串结束标志’\null’也复制到字符数组p[]中,这时字符函数str1en(p)返回字符数组p[]的有效字符长度为6。

6.若有定义语句: char*s1=\\(A)

A. if(strcmp(s1,s2)!=0)puts(s1);

B. if(strcmp(s1,s2)!=0)puts(s2);

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

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

解析:字符串比较函数strcmp的功能是对s1和s2所指字符串进行比较。如果s1s2,返回正数,所以对于本题来说,能够输出“OK”的语句是选项A所指的语句。

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

#include

#include

void fun(char*p)

{int i=0;

while(p[i])

{if(p[i]==’’&&islower(p[i-1]))p[i一1]=p[i-1]-’a’+’A’;

i++;

}}

main()

{char s1[100]=\\(D)

A. Ab Cd EFg!

B. ab cd EFG!

C. ab cd EFg!

D. aB cD EFG!

解析:函数fun(char.p)的功能是如果p[i]指向的字符为空字符并且其前一个字符是小写字母,则把小与字母变成大字母,所以在主函数中,执行fun(s1)后,小写字母b,d都改成大字母。

8.若有以下定义和语句

char s1[10]=\\(C)

A. 10 5

B. 10 7

C. 5 5

D. 5 8

解析:本题要注意的是转义字符的问题,在字符串s2中,有两个转义字符,分别是回车换行符和反斜线。所以其字符串长度等于5。

9.有以下程序

#include

int fun(int a,int b) main()

{ if(b==0)return a; {printf(\\(B)

A. 1

B. 2

C. 3

D. 4

解析:由程序可知函数fun(int a,int b)是一个递归函数。所以当主函数中调用fun(4,2)时,其执行过程如下:fun(4,2)->fun(3,1)->fun(2,0),其返回值为2。

10.下列选项中,能够满足“只要字符串s1等于字符串s2,则执行ST”要求的是(C)

A. if(s1==s2)ST;

B. if(strcpy(s1,s2)==1)ST;

C. iffstrcmp(s2,s1)==0)ST;

D. if(s1-s2==0)ST;

解析:在C语言中要对两个字符串的大小进行比较,就需要调用字符串比较函数strcmp(),如果这个函数的返回值等于0,说明两个字符串相等。

11.若有以下说明和定义

union dt

{int a;char b;double c;} data;

以下叙述中错误的是(C)

A. data的每个成员起始地址都相同

B. 变量data所占内存字节数与成员C所占字节数相等

C. 程序段:data.a=5;printf(\\

D. data可以作为函数的实参

解析:本题主要考查联合的定义和使用。选项A联合中每个成员起始地址都是一样的,正确;选项B联合的长度等于长度最长成员的长度,在data中,成员c是double类型,长度为8个字节最长,因此data所占用字节数和成员c长度一致。选项C整型和double类型的存储格式不一致,整数5在内存中的存储格式和浮点数5存储格式不一样,因此data.c输出不会是5.000000;选项D联合和结构体都可以作为函数实参。

12.以下关于函数的叙述中正确的是(B)

A. 每个函数都可以被其他函数调用(包括main函数)

B. 每个函数都可以被单独编译

C. 每个函数都可以单独运行

D. 在一个函数内部可以定义另一个函数

解析:本题主要考查函数的定义和使用。选项A错误,main函数可以调用其他函数,但是其他函数不能调用main函数;选项B正确;选项C错误,只有main函数可以单独运行,其他函数只能被调用;选项D错误,C语言中不能在函数内部定义函数。

13.在C语言中,函数返回值的类型最终取决于(A)

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号