1、计算机二级(C)2 及答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.数据的存储结构是指_。 (分数:1.50)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示2.有以下程序: main() int m,n,p; scanf(“m=%dn=%dp=%d“, printf(“%d%d%d/n“,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789, 则正确的输入是_。(分数:1.5
2、0)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 7893.有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( )。 (分数:1.50)A.a=a+b=b+B.w%(int)a+b)C.(c+w)%(int)aD.w=a=b;4.有以下程序 main( ) char str =“xyz“,*ps=str; while(*ps) ps+; for(ps-;ps-str=0;ps-) puts(ps); 执行后输出结果是( )。 (分数:1.50
3、)A.yz xyzB.z yzC.z yz xyzD.x xy xyz5.已定义 c 为字符型变量,则下列语句中正确的是( )。(分数:1.50)A.c=97;B.c=“97“;C.c=97;D.c=“a“;6.以下不合法的字符常量是_。 (分数:1.50)A./018B./“C./D./xcc7.设有定义 int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是_。 (分数:1.50)A.(!a=1)i-) sp; sum( printf(“%d/n”,aa0); 执行后的输出结果是( )。 (分数:1.50)A.4B.3C.2D.19.设有以下语句 int a=1,b=2,c;
4、c=a(b=0) printf(“%c“,sn-); 当编译连接通过后,运行程序 T18 时,输入 Thank!则输出结果是: 5。 (分数:40.00)填空项 1:_56.以下程序运行后的输出结果是 1。 #include void fun(char *s,int p,int k) int i; for(i=p;i2 char s=“abcdefg“; fun(s,3,strlen(s); puts(s); (分数:40.00)填空项 1:_57.以下程序段的输出结果是 1。 int i=9; printf(“%o/n“,i); (分数:40.00)填空项 1:_58.以下程序的功能是输出如
5、下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 请填空。 main1 int i,j,x; for(j=4;j 2 ;j-) for(i=1;i=1) return f(a,n-1)+an-1; else return 0; main2 int aa5=1,2,3,4,5,s; s=f(aa,5); printf(“%d/n“,s); (分数:40.00)填空项 1:_60.以下程序运行后的输出结果是 1 。 ; main2 struct NODE s3=1,/0,2,/0,3,/0,*p,*q,*r; int sum=0; s0.next=s+1
6、; s1.next=s+2; s2.next=s; p=s; q=p-next; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:40.00)填空项 1:_61.若有语句 int i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 1。 (分数:40.00)填空项 1:_62.以下 sum 函数的功能是计算下列级数之和。 (分数:40.00)填空项 1:_63.以下函数 sstrcat1 的功能是实现字符串的连接,即将 t 所指字符串复制到 s 所指 字符串的尾部。例如:
7、s 所指字符串为 abcd,t 所指字符串为 efgh,函数调用后 s 所指字符串为 abcdefgh。请填空。 #include void sstrcat(char *s,char *t) int n; n=strlen(s); while(*(s+n)= 2)s+; t+; (分数:40.00)填空项 1:_64. E-mail 地址由域名和用户名两部分组成,它们之间用分隔,其中在后面的部分是 1。(分数:40.00)填空项 1:_65.假设在当前盘的当前目录下有两个文件 A.TXT 和 B.TXT,现要将文件 B.TXT 合并连接到文件 A.TXT 的后面。若使用 TYPE 命令,则完整
8、的命令为 1。(分数:40.00)填空项 1:_66.Jackson 结构化程序设计方法是英国的 M.Jackson 提出的,它是一种面向 1 的设 计方法。 (分数:-1.00)填空项 1:_67.关系操作的特点是 1 操作。(分数:-1.00)填空项 1:_68.可以把具有相同属性的一些不同对象归类,称为 1。(分数:-1.00)填空项 1:_69.单元测试又称模块测试,一般采用 1 测试。(分数:-1.00)填空项 1:_70.对软件是否能达到用户所期望的要求的测试称为 1。(分数:-1.00)填空项 1:_计算机二级(C)2 答案解析(总分:645.00,做题时间:120 分钟)一、选
9、择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.数据的存储结构是指_。 (分数:1.50)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示 解析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。2.有以下程序: main() int m,n,p; scanf(“m=%dn=%dp=%d“, printf(“%d%d%d/n“,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789, 则正确的输入是_。
10、(分数:1.50)A.m=123n=456p=789 B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 789解析:根据本题的数据输入形式“scanf(“m=%dn=%dp=%d“,”说明在输入数据时,必须输入“m=”、“n=”、“p=”字符,且中间不能含有空格。3.有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( )。 (分数:1.50)A.a=a+b=b+B.w%(int)a+b)C.(c+w)%(int)a D.w=a=b;解析:4.有以下程序 main( ) char
11、str =“xyz“,*ps=str; while(*ps) ps+; for(ps-;ps-str=0;ps-) puts(ps); 执行后输出结果是( )。 (分数:1.50)A.yz xyzB.z yzC.z yz xyz D.x xy xyz解析:5.已定义 c 为字符型变量,则下列语句中正确的是( )。(分数:1.50)A.c=97;B.c=“97“;C.c=97; D.c=“a“;解析:6.以下不合法的字符常量是_。 (分数:1.50)A./018 B./“C./D./xcc解析:C 语言的字符常量是用单引号(即撇号)括起来的一个字符。如a,A,?,$等都是字符常量。注意:a和A是
12、不同的字符常量。除了以上形式的字符常量外,C 还允许用一个“/“开头的字符序列。如/ddd表示 1 到 3 位八进制数所代表的字符,而八进制是由 0 到 7 这几个数字组成的,所以选项 A 是不合法的字符常 量。7.设有定义 int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是_。 (分数:1.50)A.(!a=1)i-) sp; sum( printf(“%d/n”,aa0); 执行后的输出结果是( )。 (分数:1.50)A.4 B.3C.2D.1解析:9.设有以下语句 int a=1,b=2,c; c=a(b)按位与(,以下叙述中正确的是_。 (分数:1.50)A.数组 a
13、 和 b 的长度相同B.a 数组长度小于 b 数组长度C.a 数组长度大于 b 数组长度 D.上述说法都不对解析:C 语言规定/0为字符串结束标志。所以“char a=“xyz“”的数组长度为 4,而“b=x,y,z;”的 数组长度为 3,数组长度与 strlen 函数所求的长度不同,本题是指数组占内存空间的大小。18.有以下程序 #include main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“, c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c/n“,c5,c6
14、); 程序运行后,若从键盘输入(从第 1 列开始) 123 45678 则输出结果是_。 (分数:1.50)A.1267B.1256C.1278D.1245 解析:此题考核的是字符输入输出函数的应用,getchar()函数只能接收一个字符,即使输入多个字符后再按 回车还是只能将第一个字符读入。scanf()和 printf()是按格式输入输出的函数,当输入 123,scanf() 分别读入字符“1”、“2”、“3”、“”;接下来输入 45678,则 getchar()读入字符“4” 赋值给 c5,字符“5” 赋值给 c6,所以输出语句输出结果为 1245。19.有以下程序: struct ST
15、U char name10;v int num; int Score; ;main( ) struct STU s5= “YangSan”,20041,703,“LiSiGuo”,20042,580, “wangYin”,20043,680,“SunDan”,20044,550, “Penghua”,20045,537,*p5,*t; int i,j; for(i=0;i5;i+) pi= for(i=0;i4;i+) for(j=i+1;jpj-Score) t=pi;pi=pj;pj=t; printf(“5d %d/n”,s1.Score,p1-Score); 执行后输出结果是( )。
16、(分数:1.50)A.550 550B.680 680C.580 550 D.580 680解析:20.有以下程序: #includestdlib.h struct NODE int num;stmct NODE *next;main( ) struct NODE * p, * q,* r; p=(struct NODE * )malloc(sizeof(struct NODE) ); q=(struct NODE * )malloc(sizeof(struct NODE) ); r=(struct NODE * )malloc(sizeof(struct NODE) ); p-num=10;
17、 q-num=20; r-num=30; p-next=q; q-next=r; printf(“%d/n“,p-num+q-next-num); 程序运行后的输出结果是( )。 (分数:1.50)A.10B.20C.30D.40 解析:本题主要考查利用结构体变量构成链表,链表关系如下: 21.有以下程序: main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;i=0) printf(“%c“,sn-); 当编译连接通过后,运行程序 T18 时,输入 Thank!则输出结果是: 5。 (分数:40.00)填空项
18、 1:_ (正确答案:!knahT)解析:本题考核的知识点是“文件包含”处理功能,“文件包含”处理是指一个源文件可以将另外一个源 文件的全部内容包含进来,供源文件使用。此题中“myfun.c“就是被包含在 T18.c 下进行编译。myfun.c 文件 是用来实现字符串反序的功能,用 getchar-|_|-函数输入字符并赋给数组 s,每输入一个字符,数组下标 n 自行加 1,直到遇到回车键时输入结束。while(n=0)下的条件语句就是来实现字符串反续功能的。56.以下程序运行后的输出结果是 1。 #include void fun(char *s,int p,int k) int i; fo
19、r(i=p;i2 char s=“abcdefg“; fun(s,3,strlen(s); puts(s); (分数:40.00)填空项 1:_ (正确答案:abcfg)解析:函数 fun 的作用是将 s 所指的字符串中从第 p+3 到第 k+1 个字符向前移动两个位置。本题程序是将 数组 s 中从第 6 个元素开始的值分别向前移动两个位置。在执行 fun 函数时,p 的值是 3,k 的值是 7,所 以,具体执行“for(i=p;i57.以下程序段的输出结果是 1。 int i=9; printf(“%o/n“,i); (分数:40.00)填空项 1:_ (正确答案:11)解析:58.以下程序
20、的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 请填空。 main1 int i,j,x; for(j=4;j 2 ;j-) for(i=1;i=1 或 0 , i)解析:本程序有两重 for 循环,外层 for 循环控制输出数据的行数,故第 -|_|-空填“=1”或“0”,内层循环控制每行输出的个数。在内层 for 循环中,用语句“x=(j-1)*4+ -|_|-;”控制输出方阵中的具体数据, 由于这些数据与其所在的行、列(j,i)有关系x=(j-1)*4+i,故此空填 i。59.以下程序运行后的输出结果是 1。 int f(int
21、 a,int n) if(n=1) return f(a,n-1)+an-1; else return 0; main2 int aa5=1,2,3,4,5,s; s=f(aa,5); printf(“%d/n“,s); (分数:40.00)填空项 1:_ (正确答案:15)解析:本题通过递归调用实现了数组 aa 各元素之和,即 a4+a3+a2+a1+a0=15。60.以下程序运行后的输出结果是 1 。 ; main2 struct NODE s3=1,/0,2,/0,3,/0,*p,*q,*r; int sum=0; s0.next=s+1; s1.next=s+2; s2.next=s;
22、 p=s; q=p-next; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:40.00)填空项 1:_ (正确答案:5)解析:程序通过语句“s0.next=s+1; s1.next=s+2; s2.next=s;”将结构体变量 s 中各结点链接成了一个 循环链表,即最后一个结点的指针域指向了头结点(s2.next=s;),整个链表形成一个环,并通过语句“p=s; q=p-next; r=q-next;”将结构体指针变量 p、q、r 指向了各结点,故本题输出的 sum=3+2=5。61.若有语句
23、 int i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 1。 (分数:40.00)填空项 1:_ (正确答案:-3)解析:62.以下 sum 函数的功能是计算下列级数之和。 (分数:40.00)填空项 1:_ (正确答案:a=1;b=1;s=1)解析:63.以下函数 sstrcat1 的功能是实现字符串的连接,即将 t 所指字符串复制到 s 所指 字符串的尾部。例如:s 所指字符串为 abcd,t 所指字符串为 efgh,函数调用后 s 所指字符串为 abcdefgh。请填空。 #include void sstrcat(char *s,char *t) int
24、 n; n=strlen(s); while(*(s+n)= 2)s+; t+; (分数:40.00)填空项 1:_ (正确答案:*t)解析:本题解题的关键在理解“*(s+n)”,其中 s 代表字符串 s 的首地址,n 是字符串 s 的长度,*(s+n)代 表了字符串 s 最后一个字符的后一个字符,即“/0”,根据题意,“/0”所在位置应该赋值为字符串 t 的第 一个字符,字符串 t 的其他字符根据循环,依次赋值到 s 所指字符串的尾部,所以本题应填“*t”。64. E-mail 地址由域名和用户名两部分组成,它们之间用分隔,其中在后面的部分是 1。(分数:40.00)填空项 1:_ (正确答
25、案:域名)解析:65.假设在当前盘的当前目录下有两个文件 A.TXT 和 B.TXT,现要将文件 B.TXT 合并连接到文件 A.TXT 的后面。若使用 TYPE 命令,则完整的命令为 1。(分数:40.00)填空项 1:_ (正确答案:TYPE B.TXT A.TXT)解析:66.Jackson 结构化程序设计方法是英国的 M.Jackson 提出的,它是一种面向 1 的设 计方法。 (分数:-1.00)填空项 1:_ (正确答案:数据结构)解析:结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),面向数据结构的 Jackson 方法(JSD-
26、Jackson system development method)和面向数据结构的结构化数据系统开发方法(DSSD-Data structured system development method)。 67.关系操作的特点是 1 操作。(分数:-1.00)填空项 1:_ (正确答案:集合)解析:在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元素数相同的元组的集合。因此,关系操作的特点是集合操作。 68.可以把具有相同属性的一些不同对象归类,称为 1。(分数:-1.00)填空项 1:_ (正确答案:对象类)解析:类描述的是具有相似性质的一组对象;把具有相同属性的一些不同对象归为类,我们称之为对象类。69.单元测试又称模块测试,一般采用 1 测试。(分数:-1.00)填空项 1:_ (正确答案:白盒法)解析:软件测试过程一般按 4 个步骤进行,即单元测试、集成测试、验收测试和系统测试。单元测试的技术可以采用静态分析和动态测试。对动态测试多采用白盒动态测试为主,辅之以黑盒测试。 70.对软件是否能达到用户所期望的要求的测试称为 1。(分数:-1.00)填空项 1:_ (正确答案:有效性测试)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1