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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C语言笔试-357 及答案解析(总分:116.00,做题时间:90 分钟)一、选择题(总题数:50,分数:69.00)1.若有以下定义的语句:struct studentint age;int num;struct student stu3=1001,20,1002,19,1003,21;main()struct student *p;p=stu;则以下不正确的引用是( )。A) (p+)-num B) p+ C) (*p).num D) P=if(ij)t=ai;ai=aj;aj=t;f(a,i+1,j-1);main()int i,aa5=1,2,3,4,5;f(aa,0,4);fo

2、r(i=0;i5;i+) printf(“%d,“,aai);printf(“/n“);执行后的输出结果是( )。A) 5,4,3,2,1, B) 5,2,3,4,1, C) 1,2,3,4,5, D) 1,5,4,3,2,(分数:1.00)A.B.C.D.11.有以下程序#includestdiohmain()FILE *fP;int k,n,a6=1,2,3,4,5,6;fp=fopen(“d2.dat“,“w“);fprintf(fp,“%d%d%d/n“,a0,a1,a2);fprintf(fp,“%d%d%d/n“,a3,a4,a5);fclose(fp);fp=fopen(“d2d

3、at“,“r“);fscanf(fp,“%d%d“,if(ij)t=ai;ai=aj;aj=t;i+; j-;fun(a,i,j);main( )int x =2,6,1,8,i;fun(x,0,3);for(i=0;i4;i+) printf(“%2d“,xi);printf(“/n“);程序运行后的输出结果是A)1 2 6 8B) 8 6 2 1C) 8 1 6 2D)8 6 1 2(分数:1.00)A.B.C.D.13.下列叙述中正确的是( )。A) 在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B) 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C)

4、 在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D) 在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法(分数:2.00)A.B.C.D.14.以下选项中不能作为 C语言合法常量的是_。A) cd B) 0.1e+6 C) “/a“ D) /011(分数:1.00)A.B.C.D.15.在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码( )。A) 小 32 B) 小 64C) 大 32 D) 大 1(分数:2.00)A.B.C.D.16.可以在 C语言中用做用户标识符的是_。A) void defineWORDB) as_b3_123IfC

5、) for -abccasD) 2cDoSIG(分数:1.00)A.B.C.D.17.以下不能正确计算代数式 (分数:2.00)A.B.C.D.18.有以下函数定义:void fun(int n,double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun的正确调用语句是A) fun(int y,double m); B) k=fun(10,12.5);C) fun(x,n); D) void fun(n,x);(分数:1.00)A.B.C.D.19.下面程序的输出结果是( )。#includestdio.h#includestring.hmain()char p1=“WHO“,

6、p2=“who“,str50=“xyz“;strcpy(str+1,strcat(p1,p2);printf(“%s“,str);A) xyzWHOwho B) zWHOwho C) zWHOwho D) xWHOwho(分数:2.00)A.B.C.D.20.有定义语句:char s10;,若要从终端给 s输入 5个字符,错误的输入语句是A) gets(printf(“%-5.2f/n“,x);以上程序输出的结果是_。A) 123.4 B) 123.5 C) 123.45 D) 123.46(分数:1.00)A.B.C.D.24.有以下程序:#include stdio.h#define F(

7、x,y) (x)*(y)main()int a=3,b=4;printf(“%d/n“,F(a+,b+);程序运行后的输出结果是A) 12 B) 15 C) 16 D) 20(分数:1.00)A.B.C.D.25.以下程序的输出结果是_。long fun(int n)long s;if(n=1 | n=2)s=2;else s=n-fun(n-1);return s;main()printf(“% 1d/n“, fun(3); A) 1 B) 2 C) 3 D) 4(分数:2.00)A.B.C.D.26.下列选项可以正确表示字符型常量的是A) /r B) “a“ C) “/897“ D) 29

8、6(分数:1.00)A.B.C.D.27.下面能正确定义数组,并正确赋值的语句是_。A) int N=5,bNN B) int a12=1,3C) int c2=1,2,3,4 D) int d32=1,2,34(分数:1.00)A.B.C.D.28.对下列二叉树(分数:2.00)A.B.C.D.29.有以下说明和定义语句struct studentint age;char num8;struct student stu3=20,“200401“,21,“200402“,19,“200403“;struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是A) (p+

9、)-num B) p-num C) (*p)num D) stu3age(分数:1.00)A.B.C.D.30.下列程序的输出结果是( )。#includestdio.hmain()int a=0,i;for(i一 1;i5;i+)switch(i)case 0:case 3:a+=1;case 1:case 2:a+=2;default:a+=3;printf(“%d“,i);)A19 B1 C6 D8(分数:1.00)A.B.C.D.31.以下程序的输出结是_。#include stdio.hmain()int a=200;#define a 100printf(“%d“,a);#unde

10、faprintf(%d“,a);A) 200 100 B) 100 100 C) 100 200 D) 200 200(分数:2.00)A.B.C.D.32.有定义语句:char s10;。若要从终端给 s输入 5个字符,错误的输入语句是A) gets( struct node *next; *p, *q, *r; data next data next data next(分数:1.00)A.B.C.D.34.以下 4个程序中,完全正确的是A) #includestdio.hmain();/*programming*/printf(“programming!/n“);B) #includes

11、tdio.hmain()/*/programming/*/printf(“programming!/n“);C) #includestdio.hmain()/*/*programming*/*/printf(“programming!/n“)D)includestdio.hmain()/*programming*/printf(“programming!/n“);(分数:1.00)A.B.C.D.35.在对下列函数调用中,不正确的是 ( )A) max(a,b);B) max(3,a + b);C) max(3,5)D) int max(a,b);(分数:1.00)A.B.C.D.36.有以下

12、程序fun(char p10)int n=0,i;for(i=0;i7;i+)if(pi0=T)n+;return n;main()char str10=“Mon“, “Tue“, “Wed“, “Thu“, “Fri“, “Sat“, “Sun“;printf(“%d/n“,fun(str);程序执行后的输出结果是_。A) 1B) 2C) 3D) 0(分数:2.00)A.B.C.D.37.设有如下程序段:char s20=“Beijing“,*p;p=s;执行 P=S;语句后,以下叙述正确的是( )。A) 可以用*p 表示 s0B) S数组中元素的个数和 p所指字符串长度相等C) s和 p都

13、是指针变量D) 数组 s中的内容和指针变量 p中的内容相同(分数:2.00)A.B.C.D.38.下述程序向文件输出的结果是_。#includestdio.hvoid main()FILE*fp=fopen(“TEST“,“wb“);fprintf(fp,“%d%5.0f%c%d“,58,76273.0,2278);fclose(fp);A) 58 76273-2278 B) 5876273.000000-2278C) 5876273-2278 D) 因文件为二进制文件而不可读(分数:2.00)A.B.C.D.39.下面关于完全二叉树的叙述中,错误的是_。A) 除了最后层外,每层上的结点数均达

14、到最大值B) 可能缺少若干个左右叶子结点C) 完全二叉树般不是满二叉树D) 具有结点的完全二叉树的深度为log 2n+1(分数:2.00)A.B.C.D.40.有以下程序main ( ) char a,b,c,d;scanf (“%c, %c, %d, %d“ , printf(“%c,%c,%c,%c/n“,a,b,c,d.;若运行时从键盘上输入:6,5,65,66回车。则输出结果是A. 6,5,A,B B. 6,5,65,66 C. 6,5,6,5 D. 6,5,6,6(分数:1.00)A.B.C.D.41.下列程序的输出结果是( )。#includestdio.hmain()char c

15、h25=“1234“,“5678“,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2)s=pij-0;printf(“%d“,s);A) 6357 B) 6135 C) 1357 D) 691357(分数:2.00)A.B.C.D.42.以下数据库除 _外,均为严格意义上的 DBMS系统。A) Oracle B) AccessC) Sybase的 PowerBuilder D) SQL Server(分数:2.00)A.B.C.D.43.关系数据库的数据及更新操作必须遵循()等完整性规则。A) 实体完整性

16、和参照完整性B) 参照完整性和用户定义的完整性C) 实体完整性和用户定义的完整性D) 实体完整性、参照完整性和用户定义的完整性(分数:1.00)A.B.C.D.44.下列程序段中,不能正确赋值的是( )。A) char*p,ch; p scanf(“%c“, B) char*p;pchar*)malloc(1);scanf(“%c“,p);C) char*p; *pgetchar();D) char*p,ch;p*pgetchar();(分数:2.00)A.B.C.D.45.设有结构体类型定义:struct tryint one;float two;*str;若要动态开辟一个结构单元,使指针

17、str指向其首地址,正确的语句是_。A) str=(try*)malloc(sizeof(try);B) *str=(struct try*)malloc(sizeof(struct try);C) str=(strucy try*)malloc(sizeof(struct try);D) str=(struc try)malloc(sizeof(struct try);(分数:1.00)A.B.C.D.46.以下选项中属于 C语言数据类型的是( )。A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型(分数:1.00)A.B.C.D.47.若已定义的函数有返回值,则以下关于该函数调用的叙

18、述中错误的是( )。A) 函数调用可以作为独立的语句存在 B) 函数调用可以作为一个函数的实参C) 函数调用可以出现在表达式中 D) 函数调用可以作为一个函数的形参(分数:1.00)A.B.C.D.48.对下述程序的判断中,正确的是void main()char*p,s128;p=s;while(strcmp(s,“End“)printf(“Input a string:“);gets(s);while(*p)putchar(*p+);A) 此程序循环接收字符串并输出,直到接收字符串“End“为止B) 此程序循环接收字符串,接收到字符串“End“则输出,否则程序终止C) 此程序循环接收字符串并

19、输出,直到接收字符串“End“为止,但因为代码有错误,程序不能正常工作D) 此程序循环接收字符串并将其连接在一起,直到接收字符串“End“为止,输出连接在一起的字符串(分数:1.00)A.B.C.D.49.以下关于 C语言的叙述中正确的是( )。A) C语言中的注释不可以夹在变量名或关键字的中间B) C语言中的变量可以在使用之前的任何位置进行定义C) 在 C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D) C语言的数值常量中央带空格不影响常量值的正确表示(分数:1.00)A.B.C.D.50.运行以下程序后,如果从键盘上输入 65 14回车,则输出结果为_。main()int m,n

20、;printf(“Enter m,n:“);scanf(“%d%d“, (分数:2.00)填空项 1:_53.数据库系统的核心是 1。(分数:2.00)填空项 1:_54.若 a=10,b=20,则表达式!(ab) 的值是 1。(分数:1.00)填空项 1:_55.在面向对象方法中,信息隐蔽是通过对象的 1 性来实现的。(分数:1.00)填空项 1:_56.请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。#include stdio.h_(double,double);main()double x,y;scanf(“%If%If“,printf(“%If/n“,max(x,y);d

21、ouble max(double a,double b)return(ab ? a:b);(分数:2.00)填空项 1:_57.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_58.下面程序的功能是将字符串 a下标值为偶数的元素由小到大排序,其他元素不变,请填空。#includestdio.hmain()char a=“labchmfye“,t;int i,j;for(i=0;i7;i+=2)for(j=i+2;j9;_)if(_)t=ai; ai=aj; aj=t;j+;puts(a);printf(“/n“);(分数:1.00)填空项 1:_59.下列程序的输出结果是

22、_。#define P(A) printf(“%d,“,(int)(A) )#define PRINT(A) P(A) ;printf(“the end“)main()int i,a=0;for(i=1;i5i+)PRINT(a+i);printf(“/n“);(分数:2.00)填空项 1:_60.数据模型按不同的应用层次分为三种类型,它们是 1 数据模型、逻辑数据模型和物理数据模型。(分数:1.00)填空项 1:_61.执行下面程序段后,k 的值是_。r=1;n=203;k=1dok*=n%10*r;n/=10;r+;while(n);(分数:1.00)填空项 1:_下列给定程序中,函数 f

23、un的功能是:在形参 ss所指字符串数组中查找与形参 t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss 所指字符串数组中共有 N个内容不同的字符串,且串长小于 M。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include stdio.h#include string.h#define N 5#define M 8int fun(char (*ss)M, char *t)int i; /*found*/for(i=0; i_; i+)/*found*/i

24、f(strcmp(ssi, t)=0)return_; return(-1); main()char chNM(“if“, “while“, “switch“, “int“, “for“, tM; int n, i; printf(“/nThe original string/n/n“); for(i=0; iN; i+)puts(chi); printf(“/n“); printf(“/nEnter a string for search:“); gets(t); n=fun(ch, t); /*found*/if(n=_)printf(“/nDont found!/n“); elsepri

25、ntf(“/nThe position is %d./n“, n); (分数:18.00)填空项 1:_填空项 1:_填空项 1:_62.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三个条件:a+bc,a+cb,b+ca。请填空。main()float a,b,c;scanf(“%f%f%f“,a,b,c);if(_)printf(“YES/n“);/*a、b、c 能构成三角形*/else printf(“NO/n“);/*a、b、c 不能构成三角形*/(分数:2.00

26、)填空项 1:_63.使用结构体处理数据的场合是 1。(分数:2.00)填空项 1:_64.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_65.设有下列程序:#includestdio.h#includestring.hmain()int i;char s10,t10;gets(t);for(i=0;i2;i+)gets(s);if(strcmp(t,s)0)strcpy(t,s);print f(“%s/n“,t);程序运行后,从键盘上输入(CR代表回车符): DEFCRBADEFCRQTH

27、RGCR,则程序的输出结果是_。(分数:2.00)填空项 1:_66.软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修复性等特性,其中最重要的是 1。(分数:2.00)填空项 1:_67.以下程序中,fun 函数的功能是求 3行 4列二维数组每行元素中的最大值,请填空void fun(int,int,int(*)4,int *);main()int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(“%4d“,bi);printf(“/n“);void fun(int m,i

28、nt n,int ar4,int *bar)int i,j,x;for(i=0;iM;i+)x=ari0;for(j=0;jN;j+)NBSP;IF(X_=x;(分数:2.00)填空项 1:_二级 C语言笔试-357 答案解析(总分:116.00,做题时间:90 分钟)一、选择题(总题数:50,分数:69.00)1.若有以下定义的语句:struct studentint age;int num;struct student stu3=1001,20,1002,19,1003,21;main()struct student *p;p=stu;则以下不正确的引用是( )。A) (p+)-num B

29、) p+ C) (*p).num D) P=if(ij)t=ai;ai=aj;aj=t;f(a,i+1,j-1);main()int i,aa5=1,2,3,4,5;f(aa,0,4);for(i=0;i5;i+) printf(“%d,“,aai);printf(“/n“);执行后的输出结果是( )。A) 5,4,3,2,1, B) 5,2,3,4,1, C) 1,2,3,4,5, D) 1,5,4,3,2,(分数:1.00)A. B.C.D.解析:解析 f 函数的功能是通过递归调用实现数组中左右部分相应位置数据的交换,即数组中第一个元素与最后一个元素调换位置,第二个元素与倒数第二个元素调换

30、位置,以此类推。11.有以下程序#includestdiohmain()FILE *fP;int k,n,a6=1,2,3,4,5,6;fp=fopen(“d2.dat“,“w“);fprintf(fp,“%d%d%d/n“,a0,a1,a2);fprintf(fp,“%d%d%d/n“,a3,a4,a5);fclose(fp);fp=fopen(“d2dat“,“r“);fscanf(fp,“%d%d“,if(ij)t=ai;ai=aj;aj=t;i+; j-;fun(a,i,j);main( )int x =2,6,1,8,i;fun(x,0,3);for(i=0;i4;i+) print

31、f(“%2d“,xi);printf(“/n“);程序运行后的输出结果是A)1 2 6 8B) 8 6 2 1C) 8 1 6 2D)8 6 1 2(分数:1.00)A.B.C. D.解析:解析 程序运行结果是 8 1 6 2。13.下列叙述中正确的是( )。A) 在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B) 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C) 在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D) 在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法(分数:2.00)A.B.C. D.解析:解析 在模块化程序

32、设计中,模块之间的联系可以通过程序的控制结构来实现,在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。14.以下选项中不能作为 C语言合法常量的是_。A) cd B) 0.1e+6 C) “/a“ D) /011(分数:1.00)A. B.C.D.解析:解析 C 语言时常量分为整型常量、实型常量和字符型常量。用单引号(即撇号)括起来一个字符称为字符常量,由于字符常量只能包含一个字符,因此选项 A错误;转义字符常量是将反斜杠(/)后面的字符转成另外的意义,选项 D表示了个 ASCII码为 011的八

33、进制数;选项 B是用指数形式表示的实型常量。用“e”或“E”后的个整数表示以 10为底的幂数,以这种形式表示的实型常量需注意字母 e(或 E)之前必须有数字,且 e后面的指数必须为整数;用一对双引号括起来的字符序列称为字符串常量,选项 C就为个正确的字符串常量。15.在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码( )。A) 小 32 B) 小 64C) 大 32 D) 大 1(分数:2.00)A. B.C.D.解析:解析 本题考查大小写字母的 ASCII码值的关系。大写字母比它相应的小写字母的 ASCII码小32。16.可以在 C语言中用做用户标识符的是_。A) vo

34、id defineWORDB) as_b3_123IfC) for -abccasD) 2cDoSIG(分数:1.00)A.B. C.D.解析:解析 C 语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。另外还需要注意的是关键字不能作标识符。选项 A中 void,C 中 for都为关键字,D 中 2c以字母开头。17.以下不能正确计算代数式 (分数:2.00)A. B.C.D.解析:解析 选项 A中,sin(1/2)*sin(1/2)表达不正确,1/2 被认为是整数相除,得到的商为 0,因而不能正确计算题中代数式的值,其他三个选项都能正确计算该代数式的值。

35、18.有以下函数定义:void fun(int n,double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun的正确调用语句是A) fun(int y,double m); B) k=fun(10,12.5);C) fun(x,n); D) void fun(n,x);(分数:1.00)A.B.C. D.解析:解析 选项 A中应将 y和 m前面的函数的类型说明符去掉;选项 B中函数传了 2个参数,其中一个为整型一个为浮点型,而 fun()函数在定义时声明的 2个参数,一个为整型一个为双精度型,其参数类型不一致;选项 D在调用函数时,不应该再声明其返回类型。19.下面程序的输出结

36、果是( )。#includestdio.h#includestring.hmain()char p1=“WHO“,p2=“who“,str50=“xyz“;strcpy(str+1,strcat(p1,p2);printf(“%s“,str);A) xyzWHOwho B) zWHOwho C) zWHOwho D) xWHOwho(分数:2.00)A.B.C.D. 解析:解析 程序中,strcat(p1,p2)实现将以 p2为首地址的字符串连接到以 p1为首地址的字符串后面,并取消原来 p1字符串后面的串结束标志,得到 WHOwho:strcpy(str+1,streat(p1,p2)实现将

37、 WHOwho拷贝到以 shr+1开头的地址单元中,最后得到 xWHOwho。20.有定义语句:char s10;,若要从终端给 s输入 5个字符,错误的输入语句是A) gets(printf(“%-5.2f/n“,x);以上程序输出的结果是_。A) 123.4 B) 123.5 C) 123.45 D) 123.46(分数:1.00)A.B.C.D. 解析:解析 f 格式符,用来输出实数,以小数形式式输出。“%-m.nf”的含义是:输出数据共占 m列,其中 n位小数,如果输出位数小于 m,则右端补空恪。如果总长度大于列数,则按实际情况四舍五入输出。24.有以下程序:#include stdi

38、o.h#define F(x,y) (x)*(y)main()int a=3,b=4;printf(“%d/n“,F(a+,b+);程序运行后的输出结果是A) 12 B) 15 C) 16 D) 20(分数:1.00)A. B.C.D.解析:解析 本题的考查点是带参数的宏定义。本题的程序中就定义了一个带参数的宏,对 F(a+,b+)进行展开后,宏的返回值为 12,注意 a+,b+都是先使用变量值,再自增。25.以下程序的输出结果是_。long fun(int n)long s;if(n=1 | n=2)s=2;else s=n-fun(n-1);return s;main()printf(“%

39、 1d/n“, fun(3); A) 1 B) 2 C) 3 D) 4(分数:2.00)A. B.C.D.解析:解析 在主函数中调用 fun时,形参 n=3,所以 fun中变量 s=n-fun(n-1)=3-fun(2)=3-2=1,即fun(3)=1。26.下列选项可以正确表示字符型常量的是A) /r B) “a“ C) “/897“ D) 296(分数:1.00)A. B.C.D.解析:解析 C 语言中,一个字符常量代表 ASCII字符集中的一个字符,在程序中用单引号括起来作为字符常量,字符常量的的范围是 0127。由于字符常量用单引号括起来,所以选项 B),C)错误,选项 D)超过了字符

40、常量的表示范围。27.下面能正确定义数组,并正确赋值的语句是_。A) int N=5,bNN B) int a12=1,3C) int c2=1,2,3,4 D) int d32=1,2,34(分数:1.00)A.B.C.D. 解析:解析 可以用下面的方法对二维数组初始化:1、分行给二维数组赋初值。如 int a 34=1,2,3,4,5,6,7,8,9,10,11,12;。2、将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。如 int a34=1,2,3,4,5,6,7,8,9,10,11,12;。3、对部分元素赋初值。如 int a34=1,5,9;,它的作用是只对各行第一列的

41、元素赋初值,其余元素值自动为 0。4、如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一锥的长度可以不指定,但第二锥的长度不能省。如 int a34=1,2,3,4,5,6,7,8,9,10,11,12;与下面的定义等价:int a4=1,2,3,4,5,6,7,8,9,10,11,12;。28.对下列二叉树(分数:2.00)A.B.C. D.解析:29.有以下说明和定义语句struct studentint age;char num8;struct student stu3=20,“200401“,21,“200402“,19,“200403“;struct student *

42、p=stu;以下选项中引用结构体变量成员的表达式错误的是A) (p+)-num B) p-num C) (*p)num D) stu3age(分数:1.00)A.B.C.D. 解析:解析 结构体变量也有地址,因此可以把它的地址赋值给一个指针变量,然后通过该指针变量来引用结构体的成员,选项 A和选项 B就是通过指针变量来引用结构体的成员,也可以通过结构体数组元素的成员引用,而在选项 D中 stu3age 不正确,因为结构体数组 stu共有三个元素,其下标应该为0,1,2。30.下列程序的输出结果是( )。#includestdio.hmain()int a=0,i;for(i一 1;i5;i+)

43、switch(i)case 0:case 3:a+=1;case 1:case 2:a+=2;default:a+=3;printf(“%d“,i);)A19 B1 C6 D8(分数:1.00)A. B.C.D.解析:解析 本题考查 switch语句。当 i=1时,执行 case 1,因为没有遇到 break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当 i=2时,执行 case 2,因为没有遇到 break语句,所以依次往下执行,a=a+2=7,a=a+3=10;当 i=3时,执行 case 3,a=a+1=11,因为没有遇到 break语句,所以依次往下运行,a=a+2=13,

44、a=a+3=16,当 i=4时,执行 default,a=a+3=19,结束循环。31.以下程序的输出结是_。#include stdio.hmain()int a=200;#define a 100printf(“%d“,a);#undefaprintf(%d“,a);A) 200 100 B) 100 100 C) 100 200 D) 200 200(分数:2.00)A.B.C. D.解析:解析 #define 宏名的有效范围为定义命令之后到本源文件结束,可以在程序中使用#undef 命令终止宏定义的作用域。本题由于#undef 的作用,使 a的作用范围在#define a 100 到#undefa 之间,故答案为 C。32.有定义语句:char s10;。若要从终端给 s输入 5个字符,错误的输入语句是A) gets(

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