ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:59.50KB ,
资源ID:1332431      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1332431.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】国家二级C语言(数组)机试模拟试卷3及答案解析.doc)为本站会员(unhappyhay135)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】国家二级C语言(数组)机试模拟试卷3及答案解析.doc

1、国家二级 C 语言(数组)机试模拟试卷 3 及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.若有定义:int x10,*pt=x;,则对 x 数组元素的正确引用是( )。(分数:2.00)A.pt+3B.&x10C.*(pt+10)D.*(x+3)2.有以下程序: #include main() int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;iA.20B.25C.45D.363.有以下程序: #include main() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(

2、i=0;iA.2 3 4 4B.4 3 3 2C.1 2 3 4D.1 1 2 34.下列定义数组的语句中正确的是( )。(分数:2.00)A.#define N 10 int xN;B.int N=10; int xN;C.int x010;D.int x;5.下列选项中能正确定义数组的语句是( )。(分数:2.00)A.int num02008; int numNB.int num; int numN;C.int N=2008;D.#define N 20086.若要求定义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是( )。(分数:2.00)A.#define n

3、 5 int a2,*n;B.int n=10,an; int aN;C.int a5+5;D.#define N 107.设有定义:double a10,*s=a;,以下能够代表数组元素 a3的是( )。(分数:2.00)A.(*s)3B.*(s+3)C.*s3D.*s+38.有以下程序: #include #define N 4 void fun(int aN,int b) int i; for(i=0;iA.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,9.有以下程序: #include main() int i,t3=9,8,7,6,5,4,3,2,1;

4、 for(i=0;iA.3 5 7B.7 5 3C.3 6 9D.7 5 l10.有以下程序: #include main() int a44=l,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t; for(i=0;iA.1,1,2,6,B.6,2,1,1,C.6,4,3,2,D.2,3,4,6,11.下列定义语句中错误的是( )。(分数:2.00)A.int x43=1,2,3,1,2,3,1,2,3,1,2,3;B.int x 4=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;12.下列定义数组

5、的语句中错误的是( )。(分数:2.00)A.int x23=1,2,3,4,5,6;B.int x3=0 t;C.int x3=1,2,3,4,5,6;D.int x23=1,2,3,4,5,6;13.下列定义数组的语句中错误的是( )。(分数:2.00)A.int Brim3=1,2,3,4,5,6;B.int num24=1,2,3,4,5,6;C.int RUm=1,2,3,4,5,6;D.int Bum4=1,2,3,4,5,6;14.有以下程序: #include main() int x32=0,i; for(i=0;i,则程序的运行结果为( )。(分数:2.00)A.2 0 4

6、B.2 0 0C.2 4 0D.2 4 615.若有定义语句:char s10=“123456700”;,则 strlen(s)的值是( )。(分数:2.00)A.7B.8C.9D.1016.有以下程序: #include #include main() char P20=a,b,c,d,q=“abc”,r=“abcde”; strcat(P,r); strcpy(P+strlen(q),q); prinff(“dn”,strlen(P); 程序的运行结果是( )。(分数:2.00)A.11B.9C.6D.717.有以下程序(streat 函数用于连接两个字符串): #include #inc

7、lude main() char a20=“ABCD0EFG0”,b=“LIK”; strcat(a,b); prinff(“sn”,a); 程序的运行结果是( )。(分数:2.00)A.IJKB.ABCDEOFGOUKC.ABCDIJKD.EFGIJK18.有以下程序: char name20; int Bum; scanf(“name=s Bum=d”,name,&num); 当执行上述程序,并从键盘输入:name=Lili num=1001 后,name 的值为( )。(分数:2.00)A.name=Lili Bum=1001B.name=LiliC.Lili Bum=D.Lili19.

8、有以下程序: #include main() char ch=“uvwxyz”,*pc;pc=ch; prinff(“cn”,*(pc+5); 程序的运行结果是( )。(分数:2.00)A.zB.0C.元素 ch5的地址D.字符 Y 的地址20.有以下程序: #include main() char s=“012xy“; int i,n=0; for(i=0;si!=0;i+) if(si=a&si=a&si=z)n+; printf(“dn”,n); 程序的运行结果是( )。(分数:2.00)A.0B.2 C.3D.5解析:解析:程序首先给字符数组 s赋值为“012xy”,for 循环语句的

9、功能是遍历字符串,通过 if 条件语句对字符串中的小写字母进行计数,字符串中小写字母为 2 个,即 n=2,因此 B 选项正确。21.若有以下定义和语句: #include char s110=“abcd!”,* s2=“n123“; prinff(“ddn”,strlen(s1),strlen(s2); 程序的运行结果是( )。(分数:2.00)A.10 7B.10 5C.5 5 D.5 8解析:解析:strlen 函数返回字符串的长度,求字符串长度时,遇到结束标志0为止,但是长度不包括结束标识。字符数组 s1 的后 5 个元素没有赋值,都为0,即”abed!”后为0,所以strlen(s1

10、)的值为 5。字符指针 s2 所指向的字符串中,n 为转义字符换行符,表示 1 个字符,也为转义字符,代表,也是 1 个字符其后为字符串结束标识0,所以 strlen(s2)的值也为 5,因此C 选项正确。22.设有如下程序: #include char s20=“Beijing”,*P; P=s: 则执行 P=s;语句后,以下叙述正确的是( )。(分数:2.00)A.s 和 P 都是指针变量B.s 数组中元素的个数和 P 所指字符串长度相等C.可以用*P 表示 s0 D.数组 s 中的内容和指针变量 P 中的内容相同解析:解析:程序定义了字符数组 s 和字符型指针变量 p,并且使得 p 指向

11、数组,执行 p=s;语句后,*p即表示 s0;s 数组中元素的个数和 p 所指字符串长度不相等,因为 s 数组中元素的个数包括字符串结束标志“0”,而 p 所指字符串长度不包括“0”;s 是字符型数组,p 是指针变量,数组 s 中的内容和指针变量 p 中的内容不相同,数组中存放的是字符串,而指针变量 p 存放的是数组的首地址,因此 C 选项正确。23.有以下程序: #include main() char s=“abode”; s+=2; prinff(“dn”,s0); 程序的运行结果是( )。(分数:2.00)A.输出字符 c 的 ASC码B.程序出错 C.输出字符 cD.输出字符 a 的

12、 ASC码解析:解析:本题重点考查数组名的概念。在 C 语言中,数组名类似于一个指向数组首地址的指针常量,一旦定义就不能修改其内容。所以本题中的“s+=2”;语句让数组名 s 的内容加 2 是错误的,编译无法通过,因此 B 选项正确。24.有以下程序: #include int fun(char P10) int n=0,i; for(i m=0;iA.1B.2 C.3D.0解析:解析:此程序是统计一周 7 天中英文名称首字母为“T”的个数。Pi0是字符串的首字符,一共有两个“T”,所以 n=2,因此 B 选项正确。25.有以下程序: #include void fun(char*t,char

13、*s) while(*t!=0)t+; while(* t+=*s+)!=0); main() char 8510=“acc”,aa10=“bbxxyy”; fun(ss,aa); prinff(“s,sn”,ss,aa); 程序的运行结果是( )。(分数:2.00)A.ace,bbxxyyB.accbbxxyy,bbxxyy C.accxxyy,bbxxyyD.accxyy,bbxxyy解析:解析:本题重点考查 while 循环语句的简单应用。在函数 fun()中,前一个 while 循环的作用是:如果形参指针 t 所指内容不为 0,则让 t 增 1,直到它指向 0。后一个 while 循环

14、的作用是:将 s 所指内容赋给 t 所指地址,然后两者同时增 1,直到赋给 t 的内容为 0。由此可见,函数 fun()的作用就是将形参 s 所指字符串连接到形参 t 所指字符串末尾,相当于库函数中的 streat()。主函数中使用 fun()将数组aa 中的字符串连接到了数组 ss 中原有字符串之后,所以执行完后,ss 中的字符串为“aeebbxxyy”。程序最后输出的结果是:accbbxxyy,bbxxyy,因此 B 选项正确。26.设有定义:char P=1,2,3,*q=p;,以下不能计算出一个 char 型数据所占字节数的表达式是( )。(分数:2.00)A.sizeof(P) B.

15、sizeof(char)C.sizeof(半 q)D.sizeof(P0)解析:解析:根据题目中的定义可知道 sizeof(p),计算的是数组 p 中所有元素所占用的字节数,而不是char 型数据所占的字节数。27.设有定义 char s=81,Int 1=0,以下不能将一行(不超过 80 个字符)带自空格的字符串正确读入的语句或语句组是( )。(分数:2.00)A.gets(s);B.while(si+=getchar()!=n);Si=0;C.scanf(“s”,s); D.doseanf(“c”,&si);while(si+!=n);si=0;解析:解析:字符串的输入不能使用 seanf

16、(“s”,s),而应该使用 gets(s)。28.若有定义语句:char*s1=“OK”,*s2=“ok”;,以下选项中,能够输出“OK”的语句是( )。(分数:2.00)A.if(stremp(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);解析:解析:strcmp(s1,s2)是字符串比较函数,比较规则是两个字符串自左向右逐个字符相比(按照ASC码值大小),以第一个不相同字符的大小作为比较结果。因为OKok,所以 st

17、rcmp(s1,s2)为负值,只有 B 选项正确。29.若要求从键盘读人含有空格字符的字符串,应使用函数( )。(分数:2.00)A.getchar()B.getc()C.gets() D.seanf()解析:解析:seanf()语句中用“空格”间隔不同的字符串,空格将被全部忽略掉,所以用 scanf()函数不能输入空格;getehar()函数用于输入字符,其调用格式为:ch=getchar(),getehar()函数从终端读入一个字符作为函数值,把读人的字符赋给变量 ch。在输入时,空格、回车符都将作为字符读入,而且只有在用户敲入回车键时,读人才开始执行。gets()函数的调用形式为:get

18、s(str_adr),其中 stLadr 是存放输入字符串的起始地址,可以是字符数组名、字符数组元素的地址或字符指针变量。gets 函数用来从终端键盘读入字符串(包括空格符),直到读人一个换行符为止。getc()函数的调用形式为:ch=getc(pf),其中 pf 是文件指针,函数的功能是从 pf 指定的文件中读人一个字符,并把它作为函数值返回。因此 C 选项正确。30.下列选项中,能够满足“只要字符串 s1 等于字符串 s2,则执行 ST”要求的是( )。(分数:2.00)A.if(s1 一 s2=0)ST;B.if(s1=s2)ST;C.if(strcpy(s1,s2)=1)ST;D.if(strcmp(s2,s1)=0)ST; 解析:解析:在 C 语言中,要对两个字符串的大小进行比较,就需要调用字符串比较函数 strcmp,如果这个函数的返回值等于 0,说明两个字符串相等,因此 D 选项正确。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1