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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C语言-24 及答案解析(总分:76.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:48.00)1.下面程序段的运行结果是U /U。char*p=“abcdefgh“;p+ =3;printf(“%d/n“,stfien(strcpy(p,“ABCD“); A. 8 B. 12 C. 4 D. 7(分数:2.00)A.B.C.D.2.若函数中有定义语句:int a;,则U /U。 A. 系统将自动给 a赋初值 0 B. 这时 a中的值是和随机数 C. 系统将自动给 a赋初值-1 D. 这 a中无任何值(分数:1.00)A.B.C.D.3.用链表表示线性表的优点是 A.

2、 便于随机存取 B. 花费的存储空间较顺序存储少 C. 便于插入和删除操作 D. 数据元素的物理顺序与逻辑顺序相同(分数:1.00)A.B.C.D.4.以下程序的输出结果是 U /U#includestdiohmain() int i=0,a0;while(i20) for(;)if(i%10)=0)break;else i-;i+11;a+i;printf(“%d/n“,A) ; A. 21 B. 32 C. 33 D. 11(分数:1.00)A.B.C.D.5.下列程序执行后的输出结果是U /U。main() char x=0xFFFF;printf(“%d/n“,x-); A.-3276

3、7 B.FFFE C.-1 D.-32768(分数:1.00)A.B.C.D.6.有以下程序#include stdiohmain() int i,j,m=1;fori=i;i3;i+) for(j=3;j0;j-) if(i*j3)break;m*=i*j;printf(“m=%d/n“,m);程序运行后的输出结果是 A. m=6 B. m=2 C. m=4 D. m=5(分数:1.00)A.B.C.D.7.下面的程序执行后,文件 test.t中内容是_。#includestdio.hvoid fun(char *fname,char *st)FILE *myf; int i;myf=fop

4、en(fname,“w“);for(i=0;istrlen(st);i+)fputc(sti,myf);fclose(myf);main()fun(“test.t“,“new world“);fun(“test.t“,“hello,“); A. hello, B. new worldhello C. new world D. hello,rld(分数:1.00)A.B.C.D.8.下面程序的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,请选择填空。#includestdiohmain() int i=0,j,k;doi+;k=316-13*iwhile(_);j=k

5、/11; printf(“316=13*%d+11,%d”,i,j); A. k/11 B. k%11 C. k/11=0 D. k%11=0(分数:1.00)A.B.C.D.9.软件开发的结构化生命周期方法将软件生命周期划分成 U /U A. 定义、开发、运行维护 B. 设计阶段、编程阶段、测试阶段 C. 总体设计、详细设计、编程调试 D. 需求分析、功能定义、系统设计(分数:1.00)A.B.C.D.10.若已定义 x和 y为 double类型,则表达式 x=1, y=x+5/2的值是 A. 2 B. 3.0 C. 3 D. 3.5(分数:2.00)A.B.C.D.11.以下描述中正确的是

6、 A. 由于 do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B. do-while循环由 do开始,用 while结束,在 while(表达式)后面不能写分号 C. 在 do-while循环体中,是先执行一次循环,再进行判断 D. do-while循环中,根据情况可以省略 while(分数:2.00)A.B.C.D.12.有下列程序:#includestdio.hmain() int a=6,b=7,m=1;switch(a%2) case 0:m+;break;case 1:m+;switch(b%2) defaut:m+;case0:m+;break;

7、printf(“%d/n“,m);程序运行后的输出结果是U /U。 A. 1 B. 2 C. 3 D. 4(分数:1.00)A.B.C.D.13.在深度为 7的满二叉树中,叶子结点的个数为 A. 32 B. 31 C. 64 D. 63(分数:2.00)A.B.C.D.14.下列描述中正确的是 A. 程序就是软件 B. 软件开发不受计算机系统的限制 C. 软件既是逻辑实体,又是物理实体 D. 软件是程序、数据与相关文档的集合(分数:1.00)A.B.C.D.15.下列叙述中错误的是U /U。 A. 一种数据的逻辑结构可以有多种存储结构 B. 数据的存储结构与数据的处理效率无关 C. 数据的存储

8、结构与数据的处理效率密切相关 D. 数据的存储结构在计算机中所占的空间不一定是连续的(分数:2.00)A.B.C.D.16.有以下结构体说明、变量定义和赋值语句:struct STD char name10;int age;char sex;s5,*ps;ps=s0;则以下 scanf函数调用语句有错误的是_。 A.scanf(“%s“,s0.name); B.scallf(“%d“,s0.age); C.scanf(“%c“,(ps-sex); D.scanf(“%d“,ps-age);(分数:1.00)A.B.C.D.17.在以下选项中,操作不合法的一组是_。 A. int x6,*p;p

9、= B. int x6,*p;*p=x; C. int x6,*p;p=x; D. int x5,p;p=x0;(分数:1.00)A.B.C.D.18.已有定义:char c; ,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母的表达式是( )。 A. isupper(C) B. A=c=Z C. A=cc=Z D. c=(z-32) (a-32) =c(分数:1.00)A.B.C.D.19.设有定义:int n=0,*p= float y; char name50;scanf(“%2d%f%s“, j, y, name);当执行上述程序段,从键盘上输入 5

10、5566 777abc后,y 的值为_。 A. 55566.0 B. 566.0 C. 7777.0 D. 566777.0(分数:1.00)A.B.C.D.23.有下列程序:int fun1(double a)(return a*=a;)int fun2(double x,double y) double a=0,b=0;a=fun 1(x); b=fun 1(y);return(int)(a+b);main()double w;w=fun2(1.1,2.0),程序执行后变量 w中的值是U /U。 A.5.21 B.5 C.5.0 D.0.0(分数:1.00)A.B.C.D.24.以下程序段

11、中,能够通过调用函数 fun,使 main函数中的指针变量 p指向一个合法的整型单元的是 A. main() int*p; fun(p); int fun(int *p) int s;p= B. main() int*p; fun(*p= C. #includestdlibh main() int*p; fun( char b; double c; data; 以下叙述中错误的是( )。 A. data的每个成员起始地址都相同 B. 变量 data所占内存字节数与成员 c所占字节数相等 C. 程序段:data.a=5; printf(“%f/n“, data.c);输出结果为 5.000000

12、 D. data可以作为函数的实参(分数:1.00)A.B.C.D.29.在 Windows环境下,能实现窗口移动的操作是( ) A.用鼠标拖动窗口中的任何部位 B.用鼠标拖动窗口的边框 C.用鼠标拖动窗口的控制按钮 D.用鼠标拖动窗口的标题栏。 (分数:1.00)A.B.C.D.30.若有以下语句,则以下叙述中正确的是 typedef struct S int g; char h; T; A. 可用 S定义结构体变量 B. 可用 T定义结构体变量 C. S是 struct类型的变量 D. T是 struct S类型的变量(分数:2.00)A.B.C.D.31.若 x是整型变量,pb 是基类型

13、为整型的指针变量,则正确的赋值表达式是_。 A. pb= B.char str4; str4=“hello world“; C.char name10; name=“china“; D.char str15=“pass“, str26; str2=str1;(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:28.50)36.算法执行过程中,所需要的基本运算次数称为算法的 1。(分数:1.00)填空项 1:_37.以下程序的功能是:对输入的一行字符串的数字字符按它们的字面值累加,输出此累加和。例如,输入一行字符是:ab34dh8u,输出值应当是 15。请填空。 #inclu

14、de stdio.h #include ctype.h main() char ch; int a,s; _; while(ch=getchar()_) if( isdigit (ch) a=_;s+=a; printf(“s=%d/n/n“,s);(分数:1.00)填空项 1:_38.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_39.下列程序中函数 fun的功能是:统计 person所指结构体数组中所有性别(sex)为 M的记录的个数,存入变量 n中,并作为函数值返回。请填空。 #include

15、 stdio.h #define N 3 typedef struct int num; char nam10; char sex; SS; int fun(SS person) int i,n=0; for(i=0; iN; i+) if(U U /U /U=M) n+; return n; main() SS WN=1,“AA“,F,2,“BB“,M,3,“CC“,M; int n; n=fun(W); printf(“n=%d/n“, n); (分数:1.50)填空项 1:_40.有以下程序: main() int i,n=0; for(i=2;i5;i+) do if(i%3) con

16、tinue; n+; while(! i); n+; printf(“n=%d/n“,n); 程序执行后输出结果是U U /U /U。(分数:2.00)填空项 1:_41.数据库系统的三级模式分别为 1 模式、内模式与外模式。(分数:2.00)填空项 1:_42.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_43.下面程序输出的结果是_。 main() int i; int a33=1, 2, 3, 4, 5, 6, 7, 8, 9; for(i:0; i3; i+) printf(“%d“, a2-ii);(分数:2.00)填空项 1:_44.

17、在循环中,continue 语句与 break语句的区别是: 1 语句只是结束本次循环,然后进行循环的条件判定。(分数:2.00)填空项 1:_45.假定变量 x为 int类型,请以最简单的形式写出与逻辑表达式!x 等价的 C语言关系表达式U U /U /U。(分数:4.00)填空项 1:_46.以下程序的输出结果是_。 main() int s,i; for(s=0,i=1;i3;i+,s+=i); printf(“%d/n“s); (分数:3.00)填空项 1:_47.将经过确认测试的软件与外设、网络等连接在一次运行的测试叫U U /U/U(分数:1.00)填空项 1:_48.以下程序从终

18、端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。 main() int i, a20, sum, count; sum=count=0; for(i=0; i20; i+)scanf(“% d“, U U /U /U);for(i=0; i20; i+) if(ai0) count+; sum+=ai; printf(“sum=% d, count=% d/n“, sum, count); (分数:2.00)填空项 1:_49.下列程序执行后输出的结果是U U /U /U。 main() int arr10,i,k=0; for(i=0;i10;i+)arri=i; for(i

19、=1;i4;i+) k+=arri+i; printf(“%d/n“,k); (分数:1.00)填空项 1:_50.函数调用语句:“fsets(buf,n,fp);”从 fp指向的文件中读入 n个字符放到 buf字符数组中,函数返回值为 1。(分数:2.00)填空项 1:_二级 C语言-24 答案解析(总分:76.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:48.00)1.下面程序段的运行结果是U /U。char*p=“abcdefgh“;p+ =3;printf(“%d/n“,stfien(strcpy(p,“ABCD“); A. 8 B. 12 C. 4 D. 7(分

20、数:2.00)A.B.C. D.解析:解析 p+=3 使指针 p指向字符“d“,函数 strcpy的功能是把后面的字符串复制到 p指针指向的空间;strlen 函数的功能是求字符串的长度,并返回字符个数,不计最后的“/0“。本题结果为 4,即字符串“ABCD”的长度。2.若函数中有定义语句:int a;,则U /U。 A. 系统将自动给 a赋初值 0 B. 这时 a中的值是和随机数 C. 系统将自动给 a赋初值-1 D. 这 a中无任何值(分数:1.00)A.B. C.D.解析:解析 本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。3.用链表表示线性

21、表的优点是 A. 便于随机存取 B. 花费的存储空间较顺序存储少 C. 便于插入和删除操作 D. 数据元素的物理顺序与逻辑顺序相同(分数:1.00)A.B.C. D.解析:解析 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。4.以下程序的输出结果是 U /U#includestdiohmain() int i=0,a0;while(i20) for(;)if(i%10)=0)break;else i-;i+11;a+i;printf(“%d/n“,A) ; A. 2

22、1 B. 32 C. 33 D. 11(分数:1.00)A.B. C.D.解析:5.下列程序执行后的输出结果是U /U。main() char x=0xFFFF;printf(“%d/n“,x-); A.-32767 B.FFFE C.-1 D.-32768(分数:1.00)A.B.C. D.解析:解析 因为 x=0x FFFF=11111111,因此当以整型形式输出时对应的数为-1。6.有以下程序#include stdiohmain() int i,j,m=1;fori=i;i3;i+) for(j=3;j0;j-) if(i*j3)break;m*=i*j;printf(“m=%d/n“

23、,m);程序运行后的输出结果是 A. m=6 B. m=2 C. m=4 D. m=5(分数:1.00)A. B.C.D.解析:解析 第一次循环 i=1,j=3 和 j=2时都能执行 m*=i*j,此时得到 m的值为 6;然后进行第二次循环 i= 2,j=3 时会执行 break语句,内部循环直接结束,此时 i再加 1,也会导致退出外部循环,所以最终结果 m的值为 6。7.下面的程序执行后,文件 test.t中内容是_。#includestdio.hvoid fun(char *fname,char *st)FILE *myf; int i;myf=fopen(fname,“w“);for(i

24、=0;istrlen(st);i+)fputc(sti,myf);fclose(myf);main()fun(“test.t“,“new world“);fun(“test.t“,“hello,“); A. hello, B. new worldhello C. new world D. hello,rld(分数:1.00)A. B.C.D.解析:解析 C 语言中文件有文本文件与二进制文件,对文件的使用前必须先打开,打开方式有只读、写入、读写等方式。8.下面程序的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,请选择填空。#includestdiohmain() in

25、t i=0,j,k;doi+;k=316-13*iwhile(_);j=k/11; printf(“316=13*%d+11,%d”,i,j); A. k/11 B. k%11 C. k/11=0 D. k%11=0(分数:1.00)A.B. C.D.解析:解析 本题的关键是两个加数分别能被 13和 11整除。当 k%11的值为 0时,则退出循环,将执行j=k/11;语句,输出结果,所以该表达式合理的条件是 k%11。9.软件开发的结构化生命周期方法将软件生命周期划分成 U /U A. 定义、开发、运行维护 B. 设计阶段、编程阶段、测试阶段 C. 总体设计、详细设计、编程调试 D. 需求分析

26、、功能定义、系统设计(分数:1.00)A. B.C.D.解析:10.若已定义 x和 y为 double类型,则表达式 x=1, y=x+5/2的值是 A. 2 B. 3.0 C. 3 D. 3.5(分数:2.00)A.B. C.D.解析:解析 题目中定义变量 x和 y为双精度 double类型,根据给定算数表达式的优先级应先计算5/2,结果为 2,将值代入后,y 的值由 x和 y的数据类型得出结果为 3.0,整个逗号表达式的值为后y=x+5/2的值,即 3.0。11.以下描述中正确的是 A. 由于 do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B. do-

27、while循环由 do开始,用 while结束,在 while(表达式)后面不能写分号 C. 在 do-while循环体中,是先执行一次循环,再进行判断 D. do-while循环中,根据情况可以省略 while(分数:2.00)A.B.C. D.解析:解析 do while 语句的一般形式为:do 循环体语句 while(表达式);,其中循环体语句可以是复合型语句,但必须用花括号括起来。while 后必须要有分号作为语句的结束,在 do-while循环中,不可以省略 while。12.有下列程序:#includestdio.hmain() int a=6,b=7,m=1;switch(a%2

28、) case 0:m+;break;case 1:m+;switch(b%2) defaut:m+;case0:m+;break;printf(“%d/n“,m);程序运行后的输出结果是U /U。 A. 1 B. 2 C. 3 D. 4(分数:1.00)A.B. C.D.解析:解析 本题考查 switch语句。第一个 switch语句,因为 a=6,a%2=0,所以执行 case0将 m加1,遇到 break语句跳出 switch语句,结束循环。13.在深度为 7的满二叉树中,叶子结点的个数为 A. 32 B. 31 C. 64 D. 63(分数:2.00)A.B.C. D.解析:解析 在二叉

29、树的第 k层上,最多有 2k-1(k1)个结点。对于满二叉树来说,每一层上的结点数都达到最大值,即在满二叉树的第 k层上有 2k-1个结点。因此,在深度为 7的满二叉树中,所有叶子结点在第 7层上,即其结点数为 2k-1=27-1=64。14.下列描述中正确的是 A. 程序就是软件 B. 软件开发不受计算机系统的限制 C. 软件既是逻辑实体,又是物理实体 D. 软件是程序、数据与相关文档的集合(分数:1.00)A.B.C.D. 解析:解析 计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。选项 D的描述正确。15.下列叙述中错误的是U /U。 A. 一种数据

30、的逻辑结构可以有多种存储结构 B. 数据的存储结构与数据的处理效率无关 C. 数据的存储结构与数据的处理效率密切相关 D. 数据的存储结构在计算机中所占的空间不一定是连续的(分数:2.00)A.B. C.D.解析:解析 数据的存储结构分为顺序结构和链式结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关。16.有以下结构体说明、变量定义和赋值语句:struct STD char name10;int age;char sex;s5,*ps;ps=s0;则以下 scan

31、f函数调用语句有错误的是_。 A.scanf(“%s“,s0.name); B.scallf(“%d“,s0.age); C.scanf(“%c“,(ps-sex); D.scanf(“%d“,ps-age);(分数:1.00)A.B.C.D. 解析:解析 本题考查结构体的相关知识,题目中需要输入一个变量,scanf 要求参数为指针,而 D选项中 ps-age 为一个变量,不是指针,所以错误。17.在以下选项中,操作不合法的一组是_。 A. int x6,*p;p= B. int x6,*p;*p=x; C. int x6,*p;p=x; D. int x5,p;p=x0;(分数:1.00)A

32、.B. C.D.解析:解析 对于 A和 C都可使 p指向数组 x的首地址。D 是把数组元素 x0赋给 p。18.已有定义:char c; ,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母的表达式是( )。 A. isupper(C) B. A=c=Z C. A=cc=Z D. c=(z-32) (a-32) =c(分数:1.00)A.B. C.D.解析:解析 在本题中,选项 B)实际是先计算关系表达式“A=c”的值是 0还是 1,再比较该值与字符Z之间的大小关系,显然不能实现题目所要求的功能,而选项 A)、C)、D)都可以。19.设有定义:int n=0,

33、*p= float y; char name50;scanf(“%2d%f%s“, j, y, name);当执行上述程序段,从键盘上输入 55566 777abc后,y 的值为_。 A. 55566.0 B. 566.0 C. 7777.0 D. 566777.0(分数:1.00)A.B. C.D.解析:23.有下列程序:int fun1(double a)(return a*=a;)int fun2(double x,double y) double a=0,b=0;a=fun 1(x); b=fun 1(y);return(int)(a+b);main()double w;w=fun2(

34、1.1,2.0),程序执行后变量 w中的值是U /U。 A.5.21 B.5 C.5.0 D.0.0(分数:1.00)A.B.C. D.解析:解析 子函数 fun1(double a)的功能是返回 a的平方值的整数部分。子函数 fun2(double x,double y)的功能是返回 x的平方值的整数部分与 y的平方值的整数部分的和。又因为题中变量 w的定义为 double型,函数 fun2的定义为 int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量 w的值为 5.0。24.以下程序段中,能够通过调用函数 fun,使 main函数中的指针变量 p指向一个合法

35、的整型单元的是 A. main() int*p; fun(p); int fun(int *p) int s;p= B. main() int*p; fun(*p= C. #includestdlibh main() int*p; fun( char b; double c; data; 以下叙述中错误的是( )。 A. data的每个成员起始地址都相同 B. 变量 data所占内存字节数与成员 c所占字节数相等 C. 程序段:data.a=5; printf(“%f/n“, data.c);输出结果为 5.000000 D. data可以作为函数的实参(分数:1.00)A.B.C.D. 解析

36、:解析 选项 A),共用体的每个成员的起始地址都相同;选项 B),共用体变量所占的内存长度等于最长的成员的长度;选项 C),因为每个成员的起始地址相同,所以整型数 5以浮点型输出时为5.000000;选项 D),C 语言规定,不能把共用体变量作为函数的参数。29.在 Windows环境下,能实现窗口移动的操作是( ) A.用鼠标拖动窗口中的任何部位 B.用鼠标拖动窗口的边框 C.用鼠标拖动窗口的控制按钮 D.用鼠标拖动窗口的标题栏。 (分数:1.00)A.B.C.D. 解析:解析 鼠标拖动窗口的标题栏,能实现窗口的移动;拖边框,实现窗体的大小调整。30.若有以下语句,则以下叙述中正确的是 ty

37、pedef struct S int g; char h; T; A. 可用 S定义结构体变量 B. 可用 T定义结构体变量 C. S是 struct类型的变量 D. T是 struct S类型的变量(分数:2.00)A.B. C.D.解析:解析 typedef struct Sint g; char h; T;的功能是将“struct S“结构体类型用“T”来表示,所以可以用 T来定义结构体变量。31.若 x是整型变量,pb 是基类型为整型的指针变量,则正确的赋值表达式是_。 A. pb= B.char str4; str4=“hello world“; C.char name10; nam

38、e=“china“; D.char str15=“pass“, str26; str2=str1;(分数:2.00)A. B.C.D.解析:解析 选项 B不能把一个字符串赋值给一个字符变量,选项 C和 D犯了同样的错误是把字符串赋给了数组名。二、B填空题/B(总题数:15,分数:28.50)36.算法执行过程中,所需要的基本运算次数称为算法的 1。(分数:1.00)填空项 1:_ (正确答案:时间复杂度)解析:解析 算法在执行过程中所执行的基本运算的次数,也就是执行算法所需要的计算工作量,称为算法的时间复杂度。37.以下程序的功能是:对输入的一行字符串的数字字符按它们的字面值累加,输出此累加和

39、。例如,输入一行字符是:ab34dh8u,输出值应当是 15。请填空。 #include stdio.h #include ctype.h main() char ch; int a,s; _; while(ch=getchar()_) if( isdigit (ch) a=_;s+=a; printf(“s=%d/n/n“,s);(分数:1.00)填空项 1:_ (正确答案:s=0 !=/n ch-0)解析:解析 按照题目的要求,s 用于保存累加结果;while 语句用于得到一个字符串,并以/n结束;if语句用于判断一个字符是否为数值型,如果是就将其累加至 s中。38.一个项目具有一个项目主

40、管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_ (正确答案:1 对多(或 1:N))解析:39.下列程序中函数 fun的功能是:统计 person所指结构体数组中所有性别(sex)为 M的记录的个数,存入变量 n中,并作为函数值返回。请填空。 #include stdio.h #define N 3 typedef struct int num; char nam10; char sex; SS; int fun(SS person) int i,n=0; for(i=0; iN; i+) if(U U /U /U=M)

41、 n+; return n; main() SS WN=1,“AA“,F,2,“BB“,M,3,“CC“,M; int n; n=fun(W); printf(“n=%d/n“, n); (分数:1.50)填空项 1:_ (正确答案:personi.sex)解析:解析 本题考查的是对结构体成员的引用,对结构体数组成员的访问是以数组元素为结构体变量的,其形式为结构体数组元素咸员名,所以题目空白处应填 personi.sex。40.有以下程序: main() int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(! i); n+; pri

42、ntf(“n=%d/n“,n); 程序执行后输出结果是U U /U /U。(分数:2.00)填空项 1:_ (正确答案:n=4)解析:解析 continue 语句是结束本次循环。i=2 时因 i%3条件为真,故不执行 do-while语句中的n+,只执行一次 n+得 n=1;i=3 时,i%3 条件为假,执行两次 n+得 n=3;i=4 时,i%3 条件为真,执行一次 n+得 n=4。41.数据库系统的三级模式分别为 1 模式、内模式与外模式。(分数:2.00)填空项 1:_ (正确答案:概念)解析:解析 数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念模式、内模式和外模式。42.

43、在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_ (正确答案:类)解析:解析 在面向对象方法中,类描述的是具有相似属性与操作的一组对象。43.下面程序输出的结果是_。 main() int i; int a33=1, 2, 3, 4, 5, 6, 7, 8, 9; for(i:0; i3; i+) printf(“%d“, a2-ii);(分数:2.00)填空项 1:_ (正确答案:7,5,3)解析:解析 本题用循环的方法考查对数组概念的掌握。首先,当 i=0时,数组中的位置是 a20=7。本题执行第 2次循环时,i 的值为 1,则 printf函数中的数组指向为 a115,依次循环,可求出答案。44.在循环中,continue 语句与 break语句的区别是: 1 语句只是结束本次循环,然后进行循环的条件判定。(分数:2.00)填空项 1:_ (正确答案:continue)解析:解析 continue 语句只是结束本次循环,然后进行循环的条件判定。break 语句是终止整个循环的执行,不再进行条件判定。45.假定变量 x为 int类型,请以最简单的形式写出与逻辑表达式!x 等价的 C语言关系表达式U U /U /U。(分数:4.00)填空项

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