【计算机类职业资格】二级C语言笔试-36及答案解析.doc
《【计算机类职业资格】二级C语言笔试-36及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-36及答案解析.doc(39页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-36 及答案解析(总分:107.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.以下程序的输出结果是int f()static int i=0;int s=1;s+=i; i+;return s;main ( )int i,a=0;for (i=0;i5; i+) a+=f();printf ( “%d/n“ ,(分数:1.00)A.;2.有以下程序#include string.hstruct STUint hum;float TotalScore;void f(struct STU p)struct STU s2=20044,550,2004
2、5,537;p.num=s 1.num;p.TotalScore-s1.TotalScore;main()struct STU s2-20041,703,20042,580;f(s0);printf(“%d %3.0f/n“,s0.num,s0.TotalScore);程序运行后的输出结果是(分数:1.00)A.20045 537B.20044550C.20042580D.20041 7033.若有以下说明和定义typede int *INTEGER;INTEGER p, *q;以下叙述正确的是(分数:1.00)A.p 是 int 型变量B.p 是基类型为 int 的指针变量C.q 是基类型为
3、 int 的指针变量D.程序中可用 INTEGER 代替 int 类型名4.下列关于栈的描述正确的是(分数:1.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素。C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素5.有以下程序:#define f(x) x*xmain ( )int i;i=f (4+4) /f (2+2);printf ( “%d/n“, i );执行后输出结果是(分数:1.00)A.28B.22C.16D.46.有以下程序int a=2;int f(int n)static int a=3
4、;int t=0;if(n%2) static int a=4; t+=a+;else static int a=5; t+=a+;return t+a+;main ( )int s=a, i;for (i=0;i3; i+) s+=f (i)print f (“%d/n“ , s );程序运行后的输出结果是(分数:1.00)A.26B.28C.29D.247.下列叙述中正确的足(分数:1.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令8.编制一个好的程序,首先要保证它的正确性和可靠性,还应强
5、调良好的编程风格,在书写功能性注释时应考虑(分数:1.00)A.仅为整个程序作注释B.仅为每个模块作注释C.为程序段作注释D.为每个语句作注释9.有以下程序main ( )int x=102, y=012;print f ( “%2d, %2d/n“ ,x,y);执行后输出结果是(分数:1.00)A.10,01B.02,12C.102,10D.02,1010.有以下程序main ( )int k=5,n=0;while (k0)switch (k)default : break;case 1 : n+=k;case 2 :case 3 : n+=k;k-;printf (“%d/n“,n);程
6、序运行后的输出结果是(分数:1.00)A.0B.4C.6D.711.有以下程序main ( )unsigned char a,b;a=4 | 3;b=4 printf (“%d %d/n“ ,a,b);执行后的输出结果是(分数:1.00)A.7 0B.0 7C.1 1D.43 012.有以下程序main ( )int i,s=0;for (i=1;i10; i+=2) s+=i+1;print f ( “%d/n“, s);程序执行后的输出结果是(分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和13.若变量 a 是
7、 int 类型,并执行了语句:a=A+1.6;,则正确的叙述是(分数:1.00)A.a 的值是字符 CB.a 的值是浮点型C.不允许字符型和浮点型相加D.a 的值是字符A的 ASCII 值加上 114.指出下面不正确的赋值语句(分数:1.00)A.a+;B.a=b;C.a+=b;D.a=1,b=1;15.设有以下说明语句typedef structint n;char ch8;PER;(分数:1.00)A.PER 是结构体变量名B.PER 是结构体类型名C.typedef struct 是结构体类型D.struct 是结构本类型名16.设有以下定义int a=0; double b=1.25;
8、 char c=A;#define d 2则下面语句中错误的是(分数:1.00)A.a+;B.b+;C.c+;D.d+;17.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是(分数:1.00)A.p=1;B.*q=2;C.q=p;D.*p=5;18.若程序中定义了以下函数:double myadd(double a,double b)return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(分数:1.00)A.double myadd(doublea,b);B.double myadd(double,double);C.doub
9、le myadd(doubleb,doublea);D.double myadd(doublex,double y);19.关系数据库的概念模型是_的集合。(分数:1.00)A.关系模型B.关系模式C.关系子模式D.存储模式20.以下能正确定义的数组并正确赋初值的语句是(分数:1.00)A.int N=5,bNN;B.int a12=1,3 ;C.int c2=1,2,3,4;D.int d32=1,2,3,4;21.有以下程序段int n, t=1,s=0;scanf ( “%d“ , do s=s+t; t=t-2; while (t ! =n);为使此程序段不陷入死循环,从键盘输入的数据
10、应该是(分数:1.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数22.有以下程序:fun (int a, int b)if (ab) return ((分数:1.00)A.;else return(B.;“ , 则以下选项中各程序段执行后,x 的值不为 3(分数:1.00)A.if(ca)x=1; else if(ba)x=2:else x=3;B.if(a3)x=3:else if(a2)x=2; else x=1;C.if(a3) x=3;if(a2) x=2;if(al)x=1;D.if(ab) x=b;if(bc) x=cif(ca) x=a;24.有以下程序main
11、( )char a = “abcdefg“, b 10 =“abcdefg“;printf (“%d %d/n“ ,sizeof ((分数:1.00)A.,sizeof (B.);25.若有定义“int*p3;“,则以下叙述中下确的是(分数:1.00)A.定义了一个基类型为 int 的指针变量 p,该变量具有三个指针B.定义了一个指针数组 p,该数组含有三个元素,每个元素都是基类犁为 int 的指针C.定义了一个名为*p 的整型数组,该数组含有三个 int 类型元素D.定义了一个可指向一维数组的指针变量 p,所指一维数组应具有三个 int 类型元素26.有以下程序#define P 3void
12、 F(int x) return(pxx);main()pritnf(“%d/n“,F(3+5); 程序运行后的输出结果是(分数:1.00)A.192B.29C.25D.编译出错27.有以下程序main()int i=10,j=1;printf(“%d,%/d/n“,i-,+j);执行后输出的结果是(分数:1.00)A.9,2B.10,2C.9,1D.10,128.有以下程序main()int s=0, a=1, n;scanf ( “%d“, dos+=l; a=a-2; while (a! =n);print f ( “%d/n“ , s );若要使程序的输出值为 2,则应该从键盘给 n
13、输入不敷出值是(分数:1.00)A.-1B.-3C.-5D.029.有以下程序#include stdio.hmain()FILE *fp;int i,k,n;fp=fopen(“data.dar“, “w+“);for(i=1;i6;i+)fprintf(fp,“%d “,1);if(i%3=0)fprintf(fp, “/n“);rewind(fp);fscanf(fp, “%d%d“, printf. (“%d %d/n“,k,n);fclose(fp);程序运行后的输出结果是(分数:1.00)A.0 0B.123 45C.1 4D.1 230.有以下程序int f(int b 4)in
14、t i,j,s=0;for(j=0; j4; j+)i=j;if (i2) i=3-j;s+=bi j;return s;main ( )int a4 4 =1,2,3,4, 0,2,4,6, 3,6,9,12), 3,2,1,0;print f ( “%d/n“ , f((分数:1.00)A.);puts (ps+4);* (ps+4)=0;puts (s);程序运行后的输出结果是(选项 D 中的第一行是空行)(分数:1.00)A.n/NoYes/NoB./NoYesC.n/NoYes/NoD./NoYes32.有以下程序int a=2;int f(int *(分数:1.00)A.scanf
15、 ( “m=%dn=%dp=%d“ , printf(“%d %d %d/n“, m, n, p);若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,(分数:1.00)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 78934.若要说明一个类型名 STP,使得定义语句 STP s;等价于 char *s;, 以下选项中正确的是(分数:1.00)A.typedef STP char *s;B.typedef *char STP;C.typedef STP *char;D
16、.typedef char* STP;35.下列选项中正确的语句是(分数:1.00)_36.下列对于软件测试的描述中正确的是(分数:1.00)A.软件测试的目的是证明程序是否正确B.软件测试的日的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则37.C 语占中,函数值类型的定义可以缺省,此时函数值的隐含类型是(分数:1.00)A.voidB.intC.floatD.double38.在数据库管理系统提供的数据语言中,负责数据的模式定义与数据的物理存取构建的是(分数:1.00)A.数据定义语言B.数据转换语言C.数据操纵语言D.数据控制语
17、言39.有以下程序:#include stdio.hmain()FILE *fp; int i, k=0, n=0;fp=fopen(“d1.dat“,“w“);for(i=l;i4;i+) fprintf(fp,“%d“,i);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,%d%d“, printf(“%d %d/n“, k, n);fclose(fp);执行后输出结果是(分数:1.00)A.1 2B.123 0C.1 23D.0 040.在深度为 5 的满二叉树中,结点的个数为(分数:1.00)A.32B.31C.16D.1541.以下程序段中,不
18、能正确赋字符串(编译时系统会提示错误)的是(分数:1.00)A.char s10=“abcdefg“;B.char t=“abcdefg“,*s=t;C.char s10; s=“abcdefg“;D.char s10;strcpy(s,“abcdefg“);42.有以下程序段int m=0,n=0; char c=a;scanf (“%d%c%d“, printf (“%d, %c, %d/n“, m, c, n);若从键盘上输入:10A10回车,则输出结果是(分数:1.00)A.10,A,10B.10,a,10C.1O,a,0D.10,A,043.在结构化方法中,软件功能分解属于下列软件开
19、发中的阶段是(分数:1.00)A.详细设计B.需求分析C.总体设计D.编程调试44.有以下程序main ( )int k=4, n=0;for ( ; nk;)n+;if (n%3 !=0) continue;k- ; print f ( “%d, %d/n“, k, n);程序运行后的输出结果是(分数:1.00)A.1, 1B.2, 2C.3, 3D.4, 445.有以下程序int f(int n)if (n=l) return 1;else return f(n-1)+1;main ()int i,j=0;for(i=i;i3;i+) j+=f(i);printf “%d/n“, j );
20、程序运行后的输出结果是(分数:1.00)A.4B.3C.2D.146.用树形结构来表示实体之间联系的模型称为(分数:1.00)A.关系模型B.层次模型C.网状模型D.数据模型47.数据的存储结构是指(分数:1.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示48.若有如下程序段,其中 s. a. b. c 均已定义为整型变量,且 a. c 均已赋值(c 大于 0)s=a;for (b=1;b =c;b+) s=s+1;则与上述程序段功能等价的赋值语句是(分数:1.00)A.s=a+b;B.s=a+c;C.s=s+c;D.s=
21、b+c;49.设有如下说明typedef struct STlong a; int b; char c2; NEW;则下面叙述中正确的是(分数:1.00)A.以上的说明形式非法B.ST 是一个结构体类型C.NEW 是一个结构体类型D.NEW 是一个结构体变量50.有以下程序void sum (int a)a0-a-1+a1; main ( )int a10=1,2,3,4,5,6,7,8,9,10;sum(printf (“%d/n“ ,a2 );程序运行后的输出结果是(分数:1.00)A.6B.7C.5D.8二、填空题(总题数:19,分数:57.00)51.算法执行过程中所需要的基本运算次数
22、称为算法的 1。(分数:3.00)填空项 1:_52.数据的 1 结构在计算机存储空问中的存放形式称为数据的存储结构或物理结构。(分数:3.00)填空项 1:_53.数据流图的类型有 1 和事务型。(分数:3.00)填空项 1:_54.在关系数据库中,将数据表示成二维表,每一个二维表称为 1。(分数:3.00)填空项 1:_55.在数据库理论中,数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,称为 1。(分数:3.00)填空项 1:_56.若从键盘输入 58,则以下程序输出的结果是_。main )int a;scanf (“%d“ ,if
23、(a50) print f (“%d“ ,a);if (a40) print f (“%d“ ,a);if (a30) printf (“%d“ ,a);(分数:3.00)填空项 1:_57.以下程序运行后的输出结果是_。main ( )char m;m = B + 32;printf (“%e/n“ ,m);(分数:3.00)填空项 1:_58.以下程序运行后的输出结果是_。maininn a=1. b=3. c=5:if (c=a+b)printf ( “yes/n);elseprintf (“no/n);(分数:3.00)填空项 1:_59.以下程序运行后的输出结果是_。main ()i
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 36 答案 解析 DOC
