【计算机类职业资格】国家二级C语言(数组)机试模拟试卷4及答案解析.doc
《【计算机类职业资格】国家二级C语言(数组)机试模拟试卷4及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言(数组)机试模拟试卷4及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C 语言(数组)机试模拟试卷 4 及答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.若有定义:int x10,*pt=x;,则对 x 数组元素的正确引用是( )。(分数:2.00)A.pt+3B.*&x10C.*(pt+10)D.*(x+3)2.有以下程序:#includestdiohmain()int i,s=0,t=1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(“dn“,s);程序的运行结果是( )。(分数:2.00)A.20B.25C.45D.363.有以下程序:#incl
2、udestdiohmain()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i12;i+)esi/+;for(i=1;i5;i+)printf(“d“,ci);printf(“n“);程序的运行结果是( )。(分数:2.00)A.2 3 4 4B.4 3 3 2C.1 2 3 4D.1 1 2 34.下列定义数组的语句中正确的是( )。(分数:2.00)A.#define N10 int xN;B.int N=10; int xN;C.int x010;D.int x;5.下列选项中能正确定义数组的语句是( )。(分数:2.00)A.int hu
3、m02008;B.int num;C.int N=2008; int numN;D.#define N2008 int numN;6.若要求定义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是( )。(分数:2.00)A.#define n5 int a2*n;B.int n=10,an;C.int a5+5;D.#define N10 int aN;7.设有定义:double a10,*s=a;,以下能够代表数组元素 a3的是( )。(分数:2.00)A.(*s)3B.*(s+3)C.*s3D.*s+38.有以下程序:#includestdiohmain()int i,
4、t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+)printf(“d“,t2-ii);程序的运行结果是( )。(分数:2.00)A.3 5 7B.7 5 3C.3 6 9D.7 5 19.下列定义语句中错误的是( )。(分数:2.00)A.int x43=1,2,3,1,2,3,1,2,3,1,2,3;B.int x4=1,2,3,1,2,3,1,2,3,1,2,3;C.int x3=0,1,1,2,3;D.int x3=1,2,3,4;10.下列定义数组的语句中错误的是( )。(分数:2.00)A.int x23=1,2,3,4,5,6;B.int x3=0;C.int
5、x3=1,2,3,4,5,6;D.int x23=1,2,3,4,5,6;11.下列定义数组的语句中错误的是( )。(分数:2.00)A.int num3=1,2,3,4,5,6;B.int num24=1,2,3,4,5,6;C.int num=1,2,3,4,5,6;D.int num4=1,2,3,4,5,6;12.若有定义语句:char s10=“123456700“;,则 strlen(s)的值是( )。(分数:2.00)A.7B.8C.9D.1013.有以下程序:#includestdioh#includestringhmain()char p20=a,b,c,d,q=“abc“,
6、r=“abcde“;strcat(p,r);strcpy(P+strlen(q),q);pfinff(“dn“,strlen(p);程序的运行结果是( )。(分数:2.00)A.11B.9C.6D.714.有以下程序(strcat 函数用于连接两个字符串):#includestdioh#includestringhmain()char a20=“ABCD0EFG0“,b=“IJK“;strcat(a,b);printf(“sn“,a);程序的运行结果是( )。(分数:2.00)A.IJKB.ABCDE0FG0IJKC.ABCDIJKD.EFGIJK15.有以下程序:char name20;in
7、t num;scanf(“name=s num=d“,name,&num);当执行上述程序,并从键盘输入:name=Lili hum=1001回车后,name 的值为( )。(分数:2.00)A.name=Lili Bum=1001B.name=LiliC.Lili hum=D.Lili16.有以下程序:#includestdiohmain()char ch=“uvwxyz“,*pc;pc=ch;printf(“cn“,*(pc+5);程序的运行结果是( )。(分数:2.00)A.zB.0C.元素 ch5的地址D.字符 y 的地址17.有以下程序:#includestdiohmain()cha
8、r s=“012xy“;int i,n=0;for(i=0;si!=0;i+)if(si=a&si=z)n+;pfinff(“dn“,n);程序的运行结果是( )。(分数:2.00)A.0B.2C.3D.518.若有以下定义和语句:#includestdiohchar s110=“abcd!“,*s2=“n123“;pfinff(“ddn“,strlen(s1),strlen(s2);程序的运行结果是( )。(分数:2.00)A.10 7B.10 5C.5 5D.5 819.有以下程序:#includestdiohmain()char s=“abcde“;s+=2:printf(“dn“,s0
9、);程序的运行结果是( )。(分数:2.00)A.输出字符 c 的 ASCII 码B.程序出错C.输出字符 cD.输出字符 a 的 ASCII 码20.有以下程序:#includestdiohvoid fun(char*t,char*s)while(*t!=0)t+;while(*t+=*s+)!=0);main()char ss10=“acc“,aa10=“bbxxyy“;fun(ss,aa);printf(“s,sn“,ss,aa);程序的运行结果是( )。(分数:2.00)A.acc,bbxxyyB.accbbxxyy,bbxxyyC.accxxyy,bbxxyyD.accxyy,bbx
10、xyy21.设有定义:char p=1,2,3,*q=p;,以下不能计算出一个 char 型数据所占字节数的表达式是( )。(分数:2.00)A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p0)22.设有定义:char s81;int i=0;,以下不能将一行(不超过 80 个字符)带有空格的字符串正确读入的语句或语句组是( )。(分数:2.00)A.gets(s);B.while(si+=getchar()!=n);si=0;C.scanf(“s“,s);D.doscanf(“c“,&si);while(si+!=n); si=0;23.若有定义
11、语句:char*s1=“OK“,*s2=“ok“;,以下选项中,能够输出“OK”的语句是( )。(分数:2.00)A.if(strcmp(s1,s2)!=0)puts(s2);B.if(strcmp(s1,s2)!=0)puts(s1);C.if(strcmp(s1,s2)=1)puts(s1);D.if(stremp(s1,s2)=0)puts(s1);24.若要求从键盘读入含有空格字符的字符串,应使用函数( )。(分数:2.00)A.getchar()B.getc()C.gets()D.seanf()25.下列选项中,能够满足“只要字符串 s1 等于字符串 s2,则执行 sT”要求的是(
12、)。(分数:2.00)A.if(s1-s2=0)ST;B.if(s1=s2)ST;C.if(strcpy(s1,s2)=1)ST;D.if(stremp(s2,s1)=0)ST;国家二级 C 语言(数组)机试模拟试卷 4 答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.若有定义:int x10,*pt=x;,则对 x 数组元素的正确引用是( )。(分数:2.00)A.pt+3B.*&x10C.*(pt+10)D.*(x+3) 解析:解析:没有 A 选项的引用形式。*与&放在一起作用抵消,但 x10下标 10 超出了数组下标范围,所以 B 选项错
13、误。最大只能引用到 x9,而*(pt+i)表示引用指针 pt 所指元素后的第 i 个元素,所以 C选项错误,最大只能为*(pt+9)。D 选项正确。2.有以下程序:#includestdiohmain()int i,s=0,t=1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(“dn“,s);程序的运行结果是( )。(分数:2.00)A.20B.25 C.45D.36解析:解析:统计 19 这 9 个数中的奇数和,此题考查指向数组的指针。C 语言规定数组名代表数组的首地址,也就是第一个元素的地址,因此*(t+i)代表数组的第 i+1 个元素。
14、程序的运行结果是1+3+5+7+9=25。3.有以下程序:#includestdiohmain()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i12;i+)esi/+;for(i=1;i5;i+)printf(“d“,ci);printf(“n“);程序的运行结果是( )。(分数:2.00)A.2 3 4 4B.4 3 3 2 C.1 2 3 4D.1 1 2 3解析:解析:在 for(i=0;i12;i+)csi/+中,数组元素 si的值作为数组 c 的下标,当退出循环时,数组 c 的 4 个元素的值分别为 4、3、3、2,因此 B 选项正确
15、。4.下列定义数组的语句中正确的是( )。(分数:2.00)A.#define N10 int xN; B.int N=10; int xN;C.int x010;D.int x;解析:解析:数组说明的一般形式为:类型说明符数组名常量表达式。B 选项中 N 是变量,不能用变量定义数组长度。C 选项中数组长度是一串非法的数字。定义数组时必须为其指明长度,D 选项中的数组长度为空,所以非法。5.下列选项中能正确定义数组的语句是( )。(分数:2.00)A.int hum02008;B.int num;C.int N=2008; int numN;D.#define N2008 int numN;
16、解析:解析:C 语言不允许定义动态数组,定义数组的大小必须为常量表达式。A 选项错误,C 语言中的数组没有此类型的定义方法;B 选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;C 选项错误,N 为变量,不能用来定义数组大小。D 选项正确。6.若要求定义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是( )。(分数:2.00)A.#define n5 int a2*n;B.int n=10,an; C.int a5+5;D.#define N10 int aN;解析:解析:一维数组的定义方式为:类型说明符数组名常量表达式;注意定义数组时,元素个数不
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 数组 模拟 试卷 答案 解析 DOC
