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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】二级C语言笔试-406及答案解析.doc

1、二级 C语言笔试-406 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.数据的存储结构是指_。A) 存储在外存中的数据 B) 数据所占的存储空间量C) 数据在计算机中的顺序存储方式 D) 数据的逻辑结构在计算机中的表示(分数:2.00)A.B.C.D.2.下列叙述中正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上 3种描述都不对(分数:2.00)A.B.C.D.3.下列叙述中正确的是( )。A软件测试应该由程序开

2、发者来完成 B程序经调试后一般不需要测试C软件维护只包括对程序代码的维护 D以上三种说法都不对(分数:1.00)A.B.C.D.4.下列对于软件测试的描述中正确的是( )。A) 软件测试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能多地发现程序中的错误D) 软件测试的目的是使程序符合结构化原则(分数:1.00)A.B.C.D.5.在 E-R图中,用来表示实休联系的图形是A) 椭圆形 B) 矩形C) 菱形 D) 三角形(分数:2.00)A.B.C.D.6.以下关于 C语言数据类型的叙述中正确的是( )。 A) C基本数据类型包括:分为整型、实型、浮点

3、型、字符型四种 B) 实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式 C) 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D) 若只处理“真”和“假”两种逻辑值,应使用逻辑类型(分数:1.00)A.B.C.D.7.以下选项中可作为 C语言合法常量的是_。A) -80 B) -080 C) -8e1.0 D) -80.0e(分数:2.00)A.B.C.D.8.一个 C语言程序是由( )。A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成(分数:1.00)A.B.C.D.9.执行语句 printf(“%

4、ukn”,+12345) 的输出结果是( )。A) 12345 B) 0 C) -1 D) 非定值(分数:2.00)A.B.C.D.10.下列变量声明合法的是( )。A) short a=1.4e-1;B) double b=1+3e2.8;C) long do=OxfdaL;D) float 2(分数:2.00)A.B.C.D.11.若有定义语句:int x=10;,则表达式 x-=x+x的值为( )。A-20 B-10C0 D10(分数:1.00)A.B.C.D.12.以下四个程序中,完全正确的是_。(A) #include main(); /*programming*/ printf(“

5、programming!/n“);(B) #include main() /*/ programming /*/ printf(“programming!/n“);(C) #include main() /*/*programming*/*/ printf(“programming!/n“);(D) include main() /*programming*/ printf(“programming!/n“);(分数:1.00)A.B.C.D.13.有以下程序段char ch; int k;ch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“

6、,k);已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) a,97,12k=12D) a,97,k=12(分数:1.00)A.B.C.D.14.有以下程序main()int i,s=1;for(i=1;i50;i+)if(!(i%5)printf(“%d/n“,s);程序的输出结果是A) 409 B) 277 C) 1 D) 91(分数:1.00)A.B.C.D.15.已定义以下函数:fun(int *p)return *p;该函数的返回值是( )。A) 不确定的值 B

7、) 形参 p中存放的值C) 形参 p所指存储单元中的值 D) 形参 p的地址值(分数:1.00)A.B.C.D.16.若变量 a,i 已正确定义,且 i已正确赋值,下面合法的语句是( )。A) a=1 B) +i; C) a=a+=5; D) a=int(i);(分数:1.00)A.B.C.D.17.已知字母 A的 ASCII码值为 65。以下程序运行后的输出结果是#includestdio.hmain()char *s=“ABC“;do printf(“%d“, *s%10); s+;while(*s);A) 5670 B) 656667 C) 567 D) ABC(分数:2.00)A.B.

8、C.D.18.有以下程序 #includestdio.h main() char S=“rstuv“; printf(“%c/n“,*s+2); 程序运行后的输出结果是( )。 A) tuv B) 字符 t的 ASCII码值 C) t D) 出错(分数:2.00)A.B.C.D.19.已知#int t=0;while(t=1)则以下叙述正确的是A) 循环控制表达式的值为 0 B) 循环控制表达式的值为 1C) 循环控制表达式不合法 D) 以上说法都不对(分数:2.00)A.B.C.D.20.若 i、j 已定义成 int型,则以下程序段中内循环体的总执行次数是( )。 for(i=6;i0;i-

9、) for(j=0;j4j+) A) 20 B) 24 C) 25 D) 30(分数:2.00)A.B.C.D.21.若指针 p已正确定义,要使 p指向两个连续的整型动态存储单元,不正确的语句是_。A) p=2*(int*)malloc(sizeof(int);B) p=(int*)mallet(2*sizeof(int);C) p=(int*)malloc(2*2);D) p=(int*)calloc(2, sizeof(int);(分数:2.00)A.B.C.D.22.以下数组定义中错误的是A) intx3=0;B) intx23=1,2,3,4,5,6;C) intx3=1,2,3,4,

10、5,6;D) intx23=1,2,3,4,5,6;(分数:2.00)A.B.C.D.23.在 Visual FoxPro中,用于设置表单标题的属性是_。A) Text B) Title C) Lable D) Caption(分数:2.00)A.B.C.D.24.字符(char)型数据在微机内存中的存储形式是_。A) 反码 B) 补码 C) EBCDIC 码 D) ASC码(分数:2.00)A.B.C.D.25.有以下程序#includestdio.hmain()FILE*fp;int i,a6=1,2,3,4,5,6;fp=fopen(“d3dat“,“w+b“);fwrite(a,siz

11、eof(int),6,fp);fseek(fp,sizeof(int),3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动 3个 int型数据*/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;6;+)printf(“%d,“,ai);程序运行后的输出结果是A) 4,5,6,4,5,6, B) 1,2,3,4,5,6,C) 4,5,6,1,2,3, D) 6,5,4,3,2,1,(分数:2.00)A.B.C.D.26.下面程序的输出是_。main()char*s=“12134211“;int v1=0,v2=0,v3=0,v4=0,k

12、;for(k=0;sk;k+)switch(sk)defaultv4+;case1:v1+;case3:v3+;case2:v2+;printf(“v1=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4);A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8(分数:2.00)A.B.C.D.27.下列能正确进行字符串赋值的是( )。A) char s5=“ABCDE“; B) char s5=A,B,C,D,E;C) char*s;s=“ABCD

13、E“; D) char*s; printf(“%s“,s);(分数:2.00)A.B.C.D.28.有下列程序:#include stdio.hvoid fun(char *a, char *B) while(*a=*)a+;while(*b=*A) b+;a+;main()char *s=“*a*b*“,t80;fun(s,t);puts(t);程序的运行结果是( )。A) *a*b B) a*b C) a*b* D) ab(分数:2.00)A.B.C.D.29.已有定义:int i,a10,*p;,则合法的赋值语句是 _。A) p=100; B) p=a5; C) p=a2+2; D) p

14、=a+2;(分数:2.00)A.B.C.D.30.有以下程序:void swapl(int c0, int c1)int t;t=coo; coo=o1o; c1o=t;void swap2(int * c0, int * c1)int t;t=*c0; *c0=*c1; *c1=t;main()int a2=3, 5, b2=A3, 5);swapl(a, a+1); swap2(printf(“%d%d%d%d/n“, a0, a1, b0,b1);程序运行后的输出结果是_。A) 3 5 5 3 B) 5 3 3 5 C) 3 5 3 5 D) 5 3 5 3(分数:2.00)A.B.C.

15、D.31.有以下程序:#includestdio.h#includestring.htypedef structchar name9;char sex;float score2;STU;STU f(STU a)STU b=“Zhao“,m,85.0,90.0;int i;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i,2;i+)a.scorei=b.scorei;return a;main()STU c=“Qian“,f,95.0,92.0,d;d=f(c);printf(“%s,%c,%2.0f%2.0f/n“,d.name,d.sex,d.score

16、0,d.score1);程序的运行结果是_。A) Qian,f,95,92 B) Qian,85,90C) Zhao,m,85,90 D) Zhao,f,95,92(分数:2.00)A.B.C.D.32.有以下程序:#includestdio.hstruct ttint x;struct tt*y;*p;struct tt a4=20,a+1,15,a+2,30,a+3,17,amain()int i;p=a;for(i=1;i=2;i+)printf(“%d“,p-x);p=P-y;程序的运行结果是_。A) 20,30, B) 30,17 C) 15,30 D) 20,15(分数:2.00)

17、A.B.C.D.33.已知有结构体:struct skint a;float b;data,*p;若有 p= C) p-data.a D) p.data.a(分数:2.00)A.B.C.D.34.若有以下程序段int r=8;printf(“%d/n“,r1);输出结果是A) 16 B) 8 C) 4 D) 2(分数:2.00)A.B.C.D.35.有以下程序:#includestdio.hmain()FILE *fp;int i,a6=1,2,3,4,5,6;fp=fopen(“d2.dat“,“w“);fprintf(fp,“%d%d%d/n“,a0,a1,a2);fprintf(fp,“

18、%d%d%d/n“,a3,a4,a5);fclose(fp);fp=fopen(“d2.dat“,“r“);fscanf(fp,“%d%d/n“,其中 buffer代表的是_。(A) 一个文件指针,指向待读取的文件(B) 一个整型变量,代表待读取的数据的字节数(C) 一个内存块的首地址,代表读入数据存放的地址(D) 一个内存块的字节数(分数:2.00)A.B.C.D.37.标准库函数 fgets(s,n,file)的功能是( )。A) 从文件 file中读取长度为 n的字符串存入字符数组 s中B) 从文件 file中读取长度不超过 n-1个字符的字符串放到字符数组 s中C) 从文件 file中

19、读取 n个字符串存入字符数组 s中D) 从文件 file中读取长度为 n-1个字符的字符串存入字符数组 s中(分数:2.00)A.B.C.D.38.函数 fseek()的正确调用形式是( )。A) fseek(位移量,起始点,文件类型指针); B) fseek(文件类型指针,位移量,起始点);C) fseek(文件类型指针,起始点,位移量); D) fseek(起始点,位移量,文件类型指针);(分数:1.00)A.B.C.D.39.以下对结构体类型变量 td的定义中,错误的是( )。A) typcdef struct aaint n;float m;AA;AA td;B) struct aai

20、nt n;float m;struct aa td;C) structint n;float m;aa;struct aa td;D) structint n;float m;td;(分数:1.00)A.B.C.D.40.函数 fseek(pf,0L,SEEK_END) 中的 SEEK_END代表的是( )。A) 文件开始 B) 文件末尾 C) 文件当前位置 D) 以上都不对(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:30.00)41.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_42.按照“先进先出”的原则组织数据的结构是 1。

21、(分数:2.00)填空项 1:_43.关系数据库管理系统能实现的专门关系运算包括选择、连接和U /U。(分数:2.00)填空项 1:_44.数据库系统的三级模式分别为U /U模式、内部级模式与外部级模式。(分数:2.00)填空项 1:_45.若 a是 int型变量,则表达式(a=2*3,a*2),a+6 的值为_。(分数:2.00)填空项 1:_46.设 y为 int型变量,请写出描述“y 是偶数”的表达式 1。(分数:2.00)填空项 1:_47.若 int x=1,y=2;则计算表达式 y+=y-=x*=y后的 y值是 1。(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#i

22、ncludestdio.hmain()int x=3,y=2,z=1;if(xy)if (y0) z=0;else z+=1;printf(“%d/n“,z);(分数:2.00)填空项 1:_49.下面程序的功能是:计算 120 之间的奇数之和与偶数之和,请填空使程序功能完整。#includestdio.hmain()int a=0,b=0,c=0,i;for(i=0;i=20;i+=2)a+=i;_;c+=b;printf(“偶数之和=%d/n“,a);printf(“奇数之和=%d/n“,c-21);(分数:2.00)填空项 1:_50.以下程序统计从终端输入的字符中大写字母的个数。用#号

23、作为输入结束标志,请填空。 #includestdio.h #includectype.h main() int num26,i;char c; for(i=0;i26;i+) numi=0; _; while(c!=# if(isupper(c) numc-65+=1; for(i=0;i26;i+) if(numi) printf(“%c,%d/n“,i+65,numi); (分数:2.00)填空项 1:_51.执行以下程序后,输出“#”的个数是U /U。#include stdio.hmain()int i,j;for(i=1;i5;i+)for(j=2;j=i;j+) putchar(

24、#);(分数:2.00)填空项 1:_52.以下程序运行时从键盘输入:How are you? 回车,则输出结果为_。#includestdio.hmain()char a20=“How are you?“,b20;scanf(“%s“, b); printf(“%s %s/n“, a, b);(分数:2.00)填空项 1:_53.以下程序通过函数 SunFun()调用 F(x),x 的值从 0到 10,这里 F(x)=x2+1,由 F函数实现,请填空。#include stdio. hint SunFun(int);int F(int);main ( )pfintf( “The sum =

25、% d /n“ ,SunFun(10) ); SunFun( int n)int x,s =0;for(x=0; x=n; x+) s+ =F(U /U);return s;F( int x)return (U /U);(分数:2.00)填空项 1:_54.下列程序的运行结果是_。#includestdio.hfunc(a,b)static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main()int k=5,m=3,p;p=func(k,m);printf(“%d“,p);p=func(k,m);printf(“%d/n“,p);(分数:2.00)填空项 1:

26、_55.以下程序运行后的输出结果是_。main()int a,b,c;a=10;b=20;c=(a%b1)|(a/b1);printf(“%d %d %d/n“,a,b,c);(分数:2.00)填空项 1:_二级 C语言笔试-406 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.数据的存储结构是指_。A) 存储在外存中的数据 B) 数据所占的存储空间量C) 数据在计算机中的顺序存储方式 D) 数据的逻辑结构在计算机中的表示(分数:2.00)A.B.C.D. 解析:解析 数据的逻辑结构是指反映数据元索之间逻辑关系的数据结构;数据的存储结构是指数

27、据的逻辑结构在计算机存储空间中的存放形式,常用的存储结构有顺序、链接、索引等。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。2.下列叙述中正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上 3种描述都不对(分数:2.00)A.B.C. D.解析:解析 算法的执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。3.下列叙述中正确的是( )。A软件测试应该由程序开发者来完成 B程序经调试后一般不

28、需要测试C软件维护只包括对程序代码的维护 D以上三种说法都不对(分数:1.00)A.B.C.D. 解析:解析 程序调试由程序开发者完成,是诊断和改正程序中的错误的过程。软件测试由专门的测试人员完成,是发现错误而执行程序的过程。软件维护是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程,是软件生存周期中非常重要的一个阶段。4.下列对于软件测试的描述中正确的是( )。A) 软件测试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能多地发现程序中的错误D) 软件测试的目的是使程序符合结构化原则(分数:1.00)A.B.C. D.解析:解析

29、软件测试是为了尽可能多地发现程序中的错误,尤其是发现至今尚未发现的错误。5.在 E-R图中,用来表示实休联系的图形是A) 椭圆形 B) 矩形C) 菱形 D) 三角形(分数:2.00)A.B.C. D.解析:解析 E-R 图中用矩形表示实体(等同于表),用椭圆形表示实体的属性(等同于表中字段),用菱形表示实体关系(等同于外键)。6.以下关于 C语言数据类型的叙述中正确的是( )。 A) C基本数据类型包括:分为整型、实型、浮点型、字符型四种 B) 实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式 C) 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体

30、类型 D) 若只处理“真”和“假”两种逻辑值,应使用逻辑类型(分数:1.00)A.B.C. D.解析:解析 C 基本数据类型包括:分为整型、实型、枚举型、字符型四种,实型就是浮点型,实型数据只有十进制,没有 2,8,16 进制表达,在 C语言中没有定义逻辑类型,而是一般用 0代表假,用非零代表真。7.以下选项中可作为 C语言合法常量的是_。A) -80 B) -080 C) -8e1.0 D) -80.0e(分数:2.00)A. B.C.D.解析:解析C 语言中实数常数的科学表示法规定格式为:“实数 e整数”或“实数 E整数”,其中幂是整数,不能写成实数。e(或 E)前后的实数和整数都不能省略

31、掉,因此选项 C和 D都是错误的。选项 B的一 080,由于 C语言规定。开头的是八进制数,0x(0x)开头的是十六进制数。而八进制数数字是 07,出现 8是错误的,因此选项 B也是错误的。只有选项 A是正确的。实数的小数点前后的数字都可以不写。8.一个 C语言程序是由( )。A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成(分数:1.00)A.B. C.D.解析:解析 一个 C源程序是由一个 main函数和若干个其他函数组成的。函数是 C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。9.执行语句 printf

32、(“%ukn”,+12345) 的输出结果是( )。A) 12345 B) 0 C) -1 D) 非定值(分数:2.00)A. B.C.D.解析:解析 “%u”表示输出无符号的整数(注意:如果输出值前有符号,将自动转化为相应的无符号数输出)。10.下列变量声明合法的是( )。A) short a=1.4e-1;B) double b=1+3e2.8;C) long do=OxfdaL;D) float 2(分数:2.00)A. B.C.D.解析:解析 解答本题需了解 3个知识点:标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线;do 是 C语言中的一个关键字,不能再用做

33、变量名和函数名;C 语言规定,指数形式的实型常量 e或 E后面的指数必须是整数。11.若有定义语句:int x=10;,则表达式 x-=x+x的值为( )。A-20 B-10C0 D10(分数:1.00)A.B. C.D.解析:解析 表达式 x-=x+x可以写成 x=x-(x+x),所以 x的值为-10。12.以下四个程序中,完全正确的是_。(A) #include main(); /*programming*/ printf(“programming!/n“);(B) #include main() /*/ programming /*/ printf(“programming!/n“);(

34、C) #include main() /*/*programming*/*/ printf(“programming!/n“);(D) include main() /*programming*/ printf(“programming!/n“);(分数:1.00)A.B. C.D.解析:13.有以下程序段char ch; int k;ch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符

35、,输出为零值或不定值C) a,97,12k=12D) a,97,k=12(分数:1.00)A.B.C.D. 解析:解析 输出格式控制符%c 表示将变量以字符的形式输出;输出格式控制符%d 表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为 a,97;第二个输出语句输出的结果为 k12。14.有以下程序main()int i,s=1;for(i=1;i50;i+)if(!(i%5)printf(“%d/n“,s);程序的输出结果是A) 409 B) 277 C) 1 D) 91(分数:1.00)A.B.C.D. 解析:解析 本题是计算 50之内的自然数相加之和,题中 if语句括

36、号中的条件表达式!(i%5)该函数的返回值是( )。A) 不确定的值 B) 形参 p中存放的值C) 形参 p所指存储单元中的值 D) 形参 p的地址值(分数:1.00)A.B.C. D.解析:解析 本题考查函数的返回值。函数形参*p 是一个指针变量,函数调用返回的是 p所指存储单元里的值。16.若变量 a,i 已正确定义,且 i已正确赋值,下面合法的语句是( )。A) a=1 B) +i; C) a=a+=5; D) a=int(i);(分数:1.00)A.B. C.D.解析:解析 选项 A) 缺少分号,是一个表达式,而不是语句;选项 C) 包含一个不合法的运算符“+=”;选项 D) 应改为

37、a=(int)i;。17.已知字母 A的 ASCII码值为 65。以下程序运行后的输出结果是#includestdio.hmain()char *s=“ABC“;do printf(“%d“, *s%10); s+;while(*s);A) 5670 B) 656667 C) 567 D) ABC(分数:2.00)A.B.C. D.解析:解析 每进行一次循环,将输出 s指向字母的 ASCII码值除以 10的余数。字符 A的 ASCII码值是65,第一次输出 65%10的余数 5,执行 s+后,指针指向字母 B;第二次输出 66%10的余数 6,执行 s+后,指针指向字母 c;第三次输出 67%

38、10的余数 7,执行 s+后,指针指向串结束标志“/0”。此时,*s 等于0,退出循环。因此,输出结果为 567。18.有以下程序 #includestdio.h main() char S=“rstuv“; printf(“%c/n“,*s+2); 程序运行后的输出结果是( )。 A) tuv B) 字符 t的 ASCII码值 C) t D) 出错(分数:2.00)A.B.C. D.解析:解析 本题考查字符变量,s 是字符指针,*s 为即 s0,*s+2 相当于将指针后移两位,然后取其值。s 后移 2位则指向字符 t,所以输出 t。19.已知#int t=0;while(t=1)则以下叙述正

39、确的是A) 循环控制表达式的值为 0 B) 循环控制表达式的值为 1C) 循环控制表达式不合法 D) 以上说法都不对(分数:2.00)A.B. C.D.解析:解析 t1 是将 t赋值为 1,所以循环控制表达式的值为 1。判断 t是否等于 1时,应用t1,注意“”与“”的用法。20.若 i、j 已定义成 int型,则以下程序段中内循环体的总执行次数是( )。 for(i=6;i0;i-) for(j=0;j4j+) A) 20 B) 24 C) 25 D) 30(分数:2.00)A.B. C.D.解析:解析 本题考查的是嵌套 for循环执行次数。对于外层 i的循环中任何一个 i,内层 j的循环中

40、的 j都要从 0变化到 3,j=4 时退出循环;然后外层 i循环的 i减少 1,内层循环的 i仍要从 0变化到3,j=4 时退出循环直到外层 i循环的 i变为 0,退出 i循环。所以执行多重循环时,对外层循环变量的每一个值,内层循环的循环变量都要从初始值变化到终值。对外层循环的每一次循环,内层循环要执行完整的循环语句。外层 for语句执行 6次,内层 for语句执行 4次,所以内循环体执行 6*4=24次。21.若指针 p已正确定义,要使 p指向两个连续的整型动态存储单元,不正确的语句是_。A) p=2*(int*)malloc(sizeof(int);B) p=(int*)mallet(2*

41、sizeof(int);C) p=(int*)malloc(2*2);D) p=(int*)calloc(2, sizeof(int);(分数:2.00)A. B.C.D.解析:解析 本题考查 malloc函数和 calloc函数的应用。C 语言中库函数 malloc和 calloc的功能都是向系统申请分配内存空间。其中函数 malloc的调用为:malloc(size),其中 size是一个无符号整数,表示向系统申请多大的存储空间;calloc(n,size)表示向系统申请 n个大小为 size的存储空间。新标准C提供的 malloc和 calloc函数的类型规定为 void*类型,使用时根

42、据需要进行强制类型转换。选项B、C、D 都能满足 p指向两个连续的整型存储单元的要求,其中(int*)表示强制类型转换。22.以下数组定义中错误的是A) intx3=0;B) intx23=1,2,3,4,5,6;C) intx3=1,2,3,4,5,6;D) intx23=1,2,3,4,5,6;(分数:2.00)A.B. C.D.解析:解析 二维数组的初始化有以下几种形式:分行进行初始化;不分行进行初始化;部分数组元素进行初始化;省略第一维的定义,不省略第二维的定义。选顷 B)等号右边分了 3行,大于等号左边数组的行数 2。23.在 Visual FoxPro中,用于设置表单标题的属性是_

43、。A) Text B) Title C) Lable D) Caption(分数:2.00)A.B.C.D. 解析:解析 本题考查的知识点是表单的属性。Caption 用于指明显示于表单标题栏上的文本。24.字符(char)型数据在微机内存中的存储形式是_。A) 反码 B) 补码 C) EBCDIC 码 D) ASC码(分数:2.00)A.B.C.D. 解析:评析 将个字符常量放到个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的 ASCII码值放到存储单元中。25.有以下程序#includestdio.hmain()FILE*fp;int i,a6=1,2,3,4,5,6

44、;fp=fopen(“d3dat“,“w+b“);fwrite(a,sizeof(int),6,fp);fseek(fp,sizeof(int),3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动 3个 int型数据*/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;6;+)printf(“%d,“,ai);程序运行后的输出结果是A) 4,5,6,4,5,6, B) 1,2,3,4,5,6,C) 4,5,6,1,2,3, D) 6,5,4,3,2,1,(分数:2.00)A. B.C.D.解析:解析 首先利用 fwrite函数将数组 a

45、中的数据写到文件中,接着 fseek函数的功能是读文件的位置,指针从文件头向后移动 3个 int型数据,这时文件位置指针指向的是文件中的第 4个 int数据“4”,然后 fread函数将文件 fp中的后 3 个数据 4,5,6 读到数组 a中,这样就覆盖了数组中原来的前 3 项数据。最后数组中的数据就成了4,5,6,4,5,6。26.下面程序的输出是_。main()char*s=“12134211“;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk)defaultv4+;case1:v1+;case3:v3+;case2:v2+;printf(

46、“v1=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4);A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8(分数:2.00)A.B.C. D.解析:评析 当 switch后面括弧内的表达式的值与某个 case后面的常量的表达式的值相等时,就执行此 case后面的语句,若所有的 case中的常量表达式的值都没有与表达式的值匹配的,就执行 default后面的语句。27.下列能正确进行字符串赋值的是( )。A) char s5=“ABCDE“;

47、 B) char s5=A,B,C,D,E;C) char*s;s=“ABCDE“; D) char*s; printf(“%s“,s);(分数:2.00)A.B.C. D.解析:解析 字符串存储要有结束符“/0”且要占用一个空间,选项 A)、B 的空间不够:printf 用来输出字符,不能输入字符串28.有下列程序:#include stdio.hvoid fun(char *a, char *B) while(*a=*)a+;while(*b=*A) b+;a+;main()char *s=“*a*b*“,t80;fun(s,t);puts(t);程序的运行结果是( )。A) *a*b B) a*b

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