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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C语言笔试-433 及答案解析(总分:92.00,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.算法的空间复杂度是指A) 算法程序的长度 B) 算法程序中的指令条数C) 算法程序所占的存储空间 D) 执行算法需要的内存空间(分数:2.00)A.B.C.D.2.软件生命周期中花费费用最多的阶段是A) 详细设计 B) 软件编码 C) 软件测试 D) 软件维护(分数:2.00)A.B.C.D.3.结构化程序设计主要强调的是( )。A程序的规模 B程序的效率C程序设计语言的先进性 D程序的易读性(分数:1.00)A.B.C.D.4.下列数据结构中,属于非线性的是( )。A

2、) 线性表 B) 队列 C) 树 D) 栈(分数:2.00)A.B.C.D.5.树是结点的集合,它的根结点的数目是( )。A) 有且只有 1个 B) 1 或多于 1C) 0或 1 D) 至少有 2个(分数:2.00)A.B.C.D.6.下列描述中正确的是( )。A) 程序就是软件 B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体 D) 软件是程序、数据和相关文档的集合(分数:2.00)A.B.C.D.7.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序的易读性(分数:2.00)A.B.C.D.8.软件按功能可以分为

3、:应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是( )。A编译程序 B操作系统C教务管理系统 D汇编程序(分数:1.00)A.B.C.D.9.下列叙述中正确的是_。(A) 软件交付使用后还需要进行维护(B) 软件一旦交付使用就不需要再进行维护(C) 软件交付使用后其生命周期就结束(D) 软件维护是指修复程序中被破坏的指令(分数:2.00)A.B.C.D.10.下列描述中正确的是_。A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题(分数:2

4、.00)A.B.C.D.11.用树形结构来表示实体之间联系的模型称为( )。A) 关系模型 B) 层次模型 C) 网状模型 D) 数据模型(分数:1.00)A.B.C.D.12.下列叙述中,不符合良好程序设计风格要求的是_。A) 程序的效率第一,清晰第二 B) 程序的可读性好C) 程序中要有必要的注释 D) 输入数据前要有提示信息(分数:2.00)A.B.C.D.13.数据库、数据库系统和数据库管理系统之间的关系是( )。A) 数据库包括数据库系统和数据库管理系统B) 数据库系统包括数据库和数据库管理系统C) 数据库管理系统包括数据库和数据库系统D) 三者没有明显的包含关系(分数:1.00)A

5、.B.C.D.14.关系模型允许定义三类数据约束,下列不属于数据约束的是( )。A) 实体完整性约束 B) 参照完整性约束C) 域完整性约束 D) 用户自定义的完整性约束(分数:1.00)A.B.C.D.15.下列叙述中正确的是( )。A) C程序由函数组成B) C程序由主函数构成C) C程序由函数和过程构成D) 在 C程序中无论是整数还是实数,都可以正确无误的表示出来(分数:1.00)A.B.C.D.16.C语言可执行程序的开始执行点是( )。A) 包含文件中的第一个函数 B) 程序中第一个函数C) 程序中的 main()函数 D) 程序中第一条语句(分数:1.00)A.B.C.D.17.若

6、有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。A) %、sizeof、= B) sizeof、%、=、C) sizeof、%、= D) sizeof、%、=(分数:1.00)A.B.C.D.18.以下定义语句中正确的是_。A) char a=Ab=B; B) flo at a=b=10.0; C) int a=10,*b= D) float *a,b=(分数:1.00)A.B.C.D.19.设有定义:int a=2, b=3, c=4;则以下选项中值为 0的表达式是_。A) (! a=1)while(abc)t=a; a=b; b=t; c+;printf

7、(“%d, %d, %d“, a, b, c);程序输出的结果是( )。A) 1, 5, 0 B) 1, 5, -2C) 5, 1, -1 D) 5, 1, -2(分数:1.00)A.B.C.D.23.若变量已正确定义,要求程序段完成 5!的计算,不能完成此操作的程序段是 _。A) for (i=1,p=1; i=5; i+ +)p* = i;B) for (i=1;i=5; i+ +) p=1;p*=i;C) i=1;p= 1;while( i=5) p* =i;i+ +; D) i=1;p=1;do p*=i;i+ +; while (i=5);(分数:2.00)A.B.C.D.24.有如

8、下程序:#include stdiohmain()int x=23;doPrintf(“%d“,x-);while(! x);该程序的执行结果是( )。A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环(分数:1.00)A.B.C.D.25.有以下程序main()int a=3,b=4,c=5,d=2;if(ab)if(bc)printf(“%d“, d+ + 1 );elseprintf(“%d“, +d + 1);printf(“%d/n“, d);程序运行后的输出结果是_。A) 2 B) 3 C) 43 D) 44(分数:1.00)A.B.C.D.26.设有程序段:int

9、k=12;while(k=1)k=k-1;则下列描述中正确的是( )。A) while循环执行 10次 B) 循环是无限循环C) 循环体语句一次也不执行 D) 循环体语句执行一次(分数:2.00)A.B.C.D.27.要求通过 while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )。A) while( ch = getchar( ) ! =N) printf(“ %c“,ch);B) while(ch = getehar() ! =N)printf(“%c“,ch);C) while (ch = getehar() = = N)printf( “%c“,

10、 ch);D) while (ch = getchar( ) = N)printf(“%c“, ch );(分数:1.00)A.B.C.D.28.下列程序的输出结果是( )。 #includestdio.h void main() int a=0,b=1,c=2; if(+a0|+b0) +C; printf(“%d,%d,%d“,a,b,c); A) 0,1,2 B) 1,2,3 C) 1,1,3 D) 1,2,2(分数:2.00)A.B.C.D.29.有以下程序main()int x=0,y=0,i;for(i=1;+i)if(i%2=0) x+;continue;if(i%5=0)y+;

11、break;printf(“%d,%d“,x,y);程序的输出结果是A) 2,1 B) 2,2 C) 2,5 D) 5,2(分数:2.00)A.B.C.D.30.有以下程序:main()int a=1, b;for(b=1; b=10; b+)if(a=8)break;if(a % 2=1)a+=5; continue;a-=3;printf(“% d/n“, B) ;程序运行后的输出结果是_。A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B.C.D.31.若有说明 int m34=3,9,7,8.5,(*q)4;和赋值语句 q=m;,则对数组元素 mij(其中0=i3,0=j4

12、)值的正确引用为( )。A) (q+i)j B) *qij C) *(*qi+j) D) *(*(q+i)+j)(分数:2.00)A.B.C.D.32.有以下程序:main()char s=“159“,*P;P=s;printf(“%c“,*P+);printf(“%c“,*P+);程序运行后的输出结果是_。A) 15 B) 16 C) 12 D) 59(分数:2.00)A.B.C.D.33.下列二维数组初始化语句中,不正确的是( )。A) int b2=1,2,3,4,5,6,7; B) int b35=0,0,0);C) int b4=1,2,3,4,5,6); D) int b32=(1

13、,2),(3,4),(5,6);(分数:2.00)A.B.C.D.34.设有定义:structchar mark12; int num1; double num2; t1, t2;,若变量均已正确赋初值,则以下语句中错误的是_。A) t1=t2; B) t2.num1=t1.num1;C) t2.mark=t1.mark; D) t2.num2=t1.num2;(分数:1.00)A.B.C.D.35.有以下程序#includestdio.h#includestring.htypedef structchar name9;char sex;float score2;)STU;void f(STU

14、 a)STU b=“Zhao“,m,85.0,90.0);int i;strcpy(a.name,b.name);a.sex=b.sex:for(i=0;i2;i+)ascorei=b.scorei;main()STU c=“Qian“,f,95.0,92.0;f(c):printf(“%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1);程序的运行结果是( )。AQian,f,95,92 BQian,m,85,90CZhao,f,95,92 DZhao,m,85,90(分数:1.00)A.B.C.D.36.若有下列说明和语句,则对结构体变量

15、 st中成员 i的引用方式不正确的是( )。Stmct stuint i;int name;st,*p;p=A) st.i B) *p.i C) (*p).i D) p-i(分数:1.00)A.B.C.D.37.变量 a中的数据用二进制进表示的形式是 01011101,变量 b中的数据用二进制表示的形式是 11110000,若要求将 a的高 4位取反,低 4位不变,所要执行的运算是( )。A) a*b B) ab C) afloat y;int a2;unsigned b3;char name 10;B) struct stuunsigned a3;unsigned b4;x;int *p=C

16、) stmct stuint a;float x4;y=1,1.0;float data=y.x;D) struct ndint a,b;unsigned c2=5;(分数:2.00)A.B.C.D.39.有以下定义和语句:struct workersint num; char name20; char c;struct int day; int month; int year; s;struct workers w, *pw;pw=能给 w中 year成员赋值 1980的语句是A) *pw.year=1980; B) w.year=1980;C) pw-year=1980; D) w.s.y

17、ear=1980;(分数:2.00)A.B.C.D.40.若有运算符,sizeof,for(;y0;y-)if(y%3=0)printf(“%d“,-y);continue;(分数:2.00)填空项 1:_46.下列程序的输出结果是_。main()int a=1,b=2,c=3,t=0;if(aB) t=a;a=b;b=t;if(aC) t=a;a=c;c=t;printf(“%d,%d,%d/n“,a,b,C) ;(分数:2.00)填空项 1:_47.有以下程序(说明:字符 0的 ASCII码值为 48) #includestdio.hmain()char C1, C2;scanf(“%d“

18、, c1);c2=c1+9;printf(“%c%c/n“, c1, c2);若程序运行时从键盘输入 48回车,则输出结果为_。(分数:2.00)填空项 1:_48.下列程序的运行结果是_。#includestdio.hmain()int a,b,c;a=3;b=4;c=5;if(ab)if(ac)printf(“%d“,a);else printf(“%d“,b);printf(“%d/n“,c);(分数:2.00)填空项 1:_49.下列程序的循环次数是_。x=2;dox=x*x;while(!x);(分数:2.00)填空项 1:_50.下列程序的运行结果是_。#define POWER(

19、x)(x)*(x) main()int i=1;printf(“%d,%d“,POWER(i+),i);(分数:2.00)填空项 1:_51.下列程序的输出结果是_。long fun5(int n)( long s;if(n=l)(n=2)s=2;elses=n+fun5(n-1);return(s);main()long x;x=fun5(4);printf(%1d/n“,x);(分数:2.00)填空项 1:_52.fseek函数的正确调用形式是U /U。(分数:2.00)填空项 1:_53.有以下程序#include stdio.hfun(int x)if(x/20) fun(x/2);p

20、rintf(“%d .“,x);main()fun(6),Printf(“/n“);程序运行后的输出结果是_。(分数:2.00)填空项 1:_54.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。#include stdio.hmain( )int t=0.s =0,i:for(i=1;i=5;i+) t=i+U /U;s=s+t;prinff(“s = % d/n“. s );(分数:2.00)填空项 1:_55.以下程序运行后的输出结果是_。struct NODEint k;struct NODE *link;main()struct NODE m5,*pm,*q

21、=m+4;int i=0;while(P!=q)p-k=+i;p+;q-k=i+;q-;q-k=i;for(i=0;i5;i+)printf(“%d“,mi.k);printf(“/n“);(分数:2.00)填空项 1:_二级 C语言笔试-433 答案解析(总分:92.00,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.算法的空间复杂度是指A) 算法程序的长度 B) 算法程序中的指令条数C) 算法程序所占的存储空间 D) 执行算法需要的内存空间(分数:2.00)A.B.C.D. 解析:解析 算法的复杂度主要包括算法的时间复杂度和空间复杂度。所谓算法的时间复杂度是指执行算

22、法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存空间。2.软件生命周期中花费费用最多的阶段是A) 详细设计 B) 软件编码 C) 软件测试 D) 软件维护(分数:2.00)A.B.C.D. 解析:解析 软件生命周期分为软件定义、软件开发及软件运行维护 3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。3.结构化程序设计主要强调的是( )。A程序的规模 B程序的效率C程序设计语言的先进性 D程序的易读性(分数:1.00)A.B.

23、C.D. 解析:解析 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。4.下列数据结构中,属于非线性的是( )。A) 线性表 B) 队列 C) 树 D) 栈(分数:2.00)A.B.C. D.解析:解析 线性结构,是指数据元素只有一个直接前件元素和直接后件元素。线性表是线性结构。栈和队列是指对插入和删除操作有特殊要求的线性表,树是非线性结构。5.树是结点的集合,它的根结点的数目是( )。A) 有且只有 1个 B) 1 或多于 1C) 0或 1 D) 至少有 2个(分数:2.00)A.B.C

24、. D.解析:解析 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。6.下列描述中正确的是( )。A) 程序就是软件 B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体 D) 软件是程序、数据和相关文档的集合(分数:2.00)A.B.C.D. 解析:解析 软件是运行在计算机硬件之上的逻辑实体,包括程序、数据和相关的文档。软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。7.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性

25、D) 程序的易读性(分数:2.00)A.B.C.D. 解析:解析 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。8.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是( )。A编译程序 B操作系统C教务管理系统 D汇编程序(分数:1.00)A.B.C. D.解析:解析 编译程序和汇编程序属于开发工具,操作系统属于系统软件,而教务管理系统属于应用软件。9.下列叙述中正确的是_。(A) 软件交付使用后还需要进行维护(B) 软件一旦交付使用就不需要再进行维护(

26、C) 软件交付使用后其生命周期就结束(D) 软件维护是指修复程序中被破坏的指令(分数:2.00)A. B.C.D.解析:10.下列描述中正确的是_。A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题(分数:2.00)A.B.C. D.解析:解析 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。软件工程的目的就是要建造一个优良的软件系统,它所包含的内容概括为以下两点:软件开发技术,主要有软件开发方法学、软件工具、软件工程环

27、境;软件工程管理,主要有软件管理、软件工程经济学。软件工程的主要思想是将工程化原则运用到软件开发过程,它包括 3个要素:方法、工具和过程。11.用树形结构来表示实体之间联系的模型称为( )。A) 关系模型 B) 层次模型 C) 网状模型 D) 数据模型(分数:1.00)A.B. C.D.解析:解析 层次模型的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织机构等,它们自顶向下、层次分明。12.下列叙述中,不符合良好程序设计风格要求的是_。A) 程序的效率第一,清晰第二 B) 程序的可读性好C) 程序中要有必要的注释 D) 输入数据前要有提示信息(分数:2.00)A. B

28、.C.D.解析:解析 程序设计的风格主要强调:清晰第一,效率第二。13.数据库、数据库系统和数据库管理系统之间的关系是( )。A) 数据库包括数据库系统和数据库管理系统B) 数据库系统包括数据库和数据库管理系统C) 数据库管理系统包括数据库和数据库系统D) 三者没有明显的包含关系(分数:1.00)A.B. C.D.解析:解析 数据库系统包括数据库和数据库管理系统。14.关系模型允许定义三类数据约束,下列不属于数据约束的是( )。A) 实体完整性约束 B) 参照完整性约束C) 域完整性约束 D) 用户自定义的完整性约束(分数:1.00)A.B.C. D.解析:解析 关系模型允许定义三类数据约束,

29、它们是实体完整性约束、参照完整性约束及用户自定义的完整性约束。前两种完整性约束由关系数据库系统支持,用户自定义的完整性约束则由关系数据库系统提供完整性约束语言,用户利用该语言给出约束条件,运行时由系统自动检查。15.下列叙述中正确的是( )。A) C程序由函数组成B) C程序由主函数构成C) C程序由函数和过程构成D) 在 C程序中无论是整数还是实数,都可以正确无误的表示出来(分数:1.00)A. B.C.D.解析:解析 本题涉及 C语言最基本的两个知识点:C 程序是由函数构成的,有且仅有一个主函数,也可以有其他的函数;整数在允许的范围内可以准确无误的表示出来,但计算机的存储能力有限,不能表示

30、无限精度的实数。16.C语言可执行程序的开始执行点是( )。A) 包含文件中的第一个函数 B) 程序中第一个函数C) 程序中的 main()函数 D) 程序中第一条语句(分数:1.00)A.B.C. D.解析:解析 每个 C程序有且只有一个主函数 main(),且程序必须从 main函数开始执行,并在 main()函数中结束。17.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。A) %、sizeof、= B) sizeof、%、=、C) sizeof、%、= D) sizeof、%、=(分数:1.00)A.B.C.D. 解析:解析 主要考查运算符的优先级

31、。sizeof 的优先级最高。后面的顺序是:%、,优先级最低的是“=”。18.以下定义语句中正确的是_。A) char a=Ab=B; B) flo at a=b=10.0; C) int a=10,*b= D) float *a,b=(分数:1.00)A.B.C. D.解析:解析 在 A选项中,定义了两个 char型的变量,但是在这两个变量之间应该加上逗号;在 B选项中,没有对 b进行定义,只是对 b进行了赋值,因此是错误的;在 D选项中,把一个指针赋值给了一个float型的变量,因此是错误的。19.设有定义:int a=2, b=3, c=4;则以下选项中值为 0的表达式是_。A) (!

32、a=1)while(abc)t=a; a=b; b=t; c+;printf(“%d, %d, %d“, a, b, c);程序输出的结果是( )。A) 1, 5, 0 B) 1, 5, -2C) 5, 1, -1 D) 5, 1, -2(分数:1.00)A. B.C.D.解析:解析 本题考查 while循环。先判断 while循环的控制表达式是否成亢,发现 abc 不成立,所以不执行循环。直接输出 a、b、c 的值。23.若变量已正确定义,要求程序段完成 5!的计算,不能完成此操作的程序段是 _。A) for (i=1,p=1; i=5; i+ +)p* = i;B) for (i=1;i=

33、5; i+ +) p=1;p*=i;C) i=1;p= 1;while( i=5) p* =i;i+ +; D) i=1;p=1;do p*=i;i+ +; while (i=5);(分数:2.00)A.B. C.D.解析:解析 选项 B中每次执行循环体都要执行 p=1,无法保存上次的运算结果,执行完 while循环后p=5。24.有如下程序:#include stdiohmain()int x=23;doPrintf(“%d“,x-);while(! x);该程序的执行结果是( )。A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环(分数:1.00)A.B. C.D.解析:解析

34、 do-while 语句的执行过程中要先执行一次循环体语句,本题中执行 x-后判断 while 中的表达式,表达式的值!x 为假,程序结束循环。25.有以下程序main()int a=3,b=4,c=5,d=2;if(ab)if(bc)printf(“%d“, d+ + 1 );elseprintf(“%d“, +d + 1);printf(“%d/n“, d);程序运行后的输出结果是_。A) 2 B) 3 C) 43 D) 44(分数:1.00)A. B.C.D.解析:解析 本题考查了 if.else语句的嵌套问题。很显然,else 应该与第二个 if语句进行组合。在这道题中,第一个 if语

35、句的条件不能成立,因此,就直接执行最后一个 printf语句。最终的执行结果是输出原来的 d值。26.设有程序段:int k=12;while(k=1)k=k-1;则下列描述中正确的是( )。A) while循环执行 10次 B) 循环是无限循环C) 循环体语句一次也不执行 D) 循环体语句执行一次(分数:2.00)A.B.C. D.解析:解析 本题考查 while循环。while 循环的控制表达式 k=1是个赋值表达式而不是逻辑表达式,所以循环体一次也不执行。27.要求通过 while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )。A) while( c

36、h = getchar( ) ! =N) printf(“ %c“,ch);B) while(ch = getehar() ! =N)printf(“%c“,ch);C) while (ch = getehar() = = N)printf( “%c“, ch);D) while (ch = getchar( ) = N)printf(“%c“, ch );(分数:1.00)A. B.C.D.解析:解析 此题中选项 B)与选项 C)首先在书写上就有错误;题目要求当读人的字母为非字母N时才执行 printf语句,依据选项 D)的要求,只有当读人的字母为N时才执行 printf句,故也错误。28.

37、下列程序的输出结果是( )。 #includestdio.h void main() int a=0,b=1,c=2; if(+a0|+b0) +C; printf(“%d,%d,%d“,a,b,c); A) 0,1,2 B) 1,2,3 C) 1,1,3 D) 1,2,2(分数:2.00)A.B.C. D.解析:解析 本题考查 if语句。先判断 if语句的条件是否成立,因为+a=10,所以条件成立,又因为是进行逻辑或运算,在已知其中一个运算对象为真的情况下,不必判断另外一个运算对象的真假,即不进行+b 操作,就可以直接得出整个表达式的值为逻辑 1,执行下面的+c。29.有以下程序main()

38、int x=0,y=0,i;for(i=1;+i)if(i%2=0) x+;continue;if(i%5=0)y+;break;printf(“%d,%d“,x,y);程序的输出结果是A) 2,1 B) 2,2 C) 2,5 D) 5,2(分数:2.00)A. B.C.D.解析:解析 本题考查了 continue和 break语句在循环语句中的作用。break 语句的作用是结束本层循环,而 continue语句的作用是结束本次循环直接进入到下次循环。30.有以下程序:main()int a=1, b;for(b=1; b=10; b+)if(a=8)break;if(a % 2=1)a+=5

39、; continue;a-=3;printf(“% d/n“, B) ;程序运行后的输出结果是_。A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B. C.D.解析:解析 第一次循环,a=1,b=1,第二个 if条件成立 a=6,跳出这次循环执行第二次循环,由于两个 if条件均不成立,a=a-3=3,b=2,第三次循环,第二个 if条件成立 a=3+5=8,b=3,跳 m这次循环执行第四次循环,a=8,b=4,第一个 if条件满足,退出整个循环,输出 b。31.若有说明 int m34=3,9,7,8.5,(*q)4;和赋值语句 q=m;,则对数组元素 mij(其中0=i3,0=j

40、4)值的正确引用为( )。A) (q+i)j B) *qij C) *(*qi+j) D) *(*(q+i)+j)(分数:2.00)A.B.C.D. 解析:解析 *(q+i)指向第 i行首地址,*(*(q+i)+j)代表第 i行第 j个元素。32.有以下程序:main()char s=“159“,*P;P=s;printf(“%c“,*P+);printf(“%c“,*P+);程序运行后的输出结果是_。A) 15 B) 16 C) 12 D) 59(分数:2.00)A. B.C.D.解析:解析 本题的考点是 C语言的数组和指针。数组 s中存放字符串“159“,p 指向 s的首地址。因此语句“p

41、rintf(“%c“,*p+);”输出的是字符 1,输出后 p加 1指向下一个字符 5,下一个“printf(“%c“,*p+);”输出的是字符 5。因此输出结果应该是 15。正确选项是 A。33.下列二维数组初始化语句中,不正确的是( )。A) int b2=1,2,3,4,5,6,7; B) int b35=0,0,0);C) int b4=1,2,3,4,5,6); D) int b32=(1,2),(3,4),(5,6);(分数:2.00)A.B.C.D. 解析:解析 在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取 0;C 语言规定,对于二维数组,只可以省略第

42、1个方括号中的常量表达式,而不能省略第 2个方括号中的常量表达式:赋的初值不能多于事先定义好的数组元素个数。在选项 D)赋值表达式中对每一维的元素赋初值应用,而不是()。34.设有定义:structchar mark12; int num1; double num2; t1, t2;,若变量均已正确赋初值,则以下语句中错误的是_。A) t1=t2; B) t2.num1=t1.num1;C) t2.mark=t1.mark; D) t2.num2=t1.num2;(分数:1.00)A.B.C. D.解析:解析 结构体中的字符串赋值不能通过指针来赋值。35.有以下程序#includestdio.

43、h#includestring.htypedef structchar name9;char sex;float score2;)STU;void 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;i2;i+)ascorei=b.scorei;main()STU c=“Qian“,f,95.0,92.0;f(c):printf(“%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1);程序的运行结果是( )。AQian,f,95,9

44、2 BQian,m,85,90CZhao,f,95,92 DZhao,m,85,90(分数:1.00)A. B.C.D.解析:解析 本题中 printf输出的还是 c中实参的值,故选项 A正确。36.若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。Stmct stuint i;int name;st,*p;p=A) st.i B) *p.i C) (*p).i D) p-i(分数:1.00)A.B. C.D.解析:解析 本题主要考查结构指针:p=float y;int a2;unsigned b3;char name 10;B) struct stuunsigne

45、d a3;unsigned b4;x;int *p=C) stmct stuint a;float x4;y=1,1.0;float data=y.x;D) struct ndint a,b;unsigned c2=5;(分数:2.00)A. B.C.D.解析:解析 本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式是:struct结构类型名称 数据类型 成员名 1;数据类型 成员名 2; 数据类型 成员名 n;struct为关键字,是结构的标识符:中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束

46、。结构类型名称是可以省略的,此时定义的结构称为无名结构。39.有以下定义和语句:struct workersint num; char name20; char c;struct int day; int month; int year; s;struct workers w, *pw;pw=能给 w中 year成员赋值 1980的语句是A) *pw.year=1980; B) w.year=1980;C) pw-year=1980; D) w.s.year=1980;(分数:2.00)A.B.C.D. 解析:解析 本题考查结构体成员的引用。通过 pw和 w都不能直接引用结构成员 day、month、year,必须通过成员变量 s才能引用。40.若有运算符,sizeof,for(;y0;y-)if(y%3=0)printf(“%d“,-y);continue;(分数:2.00)填空项 1:_ (正确答案:852)解析:解析 循环前,变量 y的值为 9,其中,循环语句在 y大于。情况下循环,每次循环后 y的值都减 1。循环体是当 y能被 3整除时输出表达式-y,输出的是减 1后的 y值。这样,第一次循环因 y为 9,能被 3整除,输出 8,y 也变成 8。又经两次循环,y 的值变为 6,又让 y减 1变成 5,并输出 5;又经两次循环,y 的值变成 3,让 y减 1变成 2,输

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