




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年内蒙古自治区通辽市全国计算机等级考试C语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间
B.任何一个关键活动提前完成,那么整个工程将会提前完成
C.所有的关键活动提前完成,那么整个工程将会提前完成
D.某些关键活动提前完成,那么整个工程将会提前完成
2.在一个无向图中,所有顶点的度数之和等于所有边数的()倍。
A.2B.3C.1D.1.5
3.一个算法的语句执行次数为(2n2+2nlog2n+4n-7),则其时间复杂度为()。
A.O(n2)B.O(nlog2n)C.O(n)D.O(2n2)
4.下列叙述中正确的是()。A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化
5.下列关于栈的叙述中,正确的是()。
A.栈底元素一定是最后入栈的元素B.栈操作遵循先进后出的原则C.栈顶元素一定是最先入栈的元素D.以上三种说法都不对
6.在一个带头结点的单链表HL中,若要在第一个元素之前插入一个由指针p指向的结点,应该使用的语句为()
A.HL=p;p->next=HL;
B.p->next=HL;HL=p;
C.p->next=HL->next;HL->next=p;
D.p->next=HL;p=HL;
7.在C++中,一个函数带有参数说明时,则参数的默认值应该在()中给出。A.函数定义B.函数声明C.函数定义或声明D.函数调用
8.
9.数据库系统的核心是()。
A.数据模型B.数据库管理系统C.数据库D.数据库管理员
10.若i、j已定义成mt型,则下列程序段中内循环体的总执行次数是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30
11.以下定义数组的语句错误的是()。
A.intnum[]={1,2,3,4,5,6};
B.intnum[][3]={{1,2},3,4,5,6};
C.intnum[2][4]={{1,2},{3,4},{5,6}};
D.intnum[][4]={1,2,3,4,5,6};
12.若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是______。
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
13.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间。
A.单链表B.给出表头指针的单循环链表C.双链表D.带头结点的双循环链表
14.下列正确的实型常量是()。
A.E3.4B.-12345C.2.2eO.8D.4
15.一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
A.0B.4C.8D.6
16.指针可以用来表示数组元素,若已知语句:inta[3][7];则下列表示中正确的是()。
A.*(a+1)[5]B.*(*a+3)C.*(*(a+1))D.*(&a[0][0]+2)
17.有以下程序:#include<stdio.h>voidf(intb[]){inti;for(i=2;i<6;i++)b[i]*=2;}main(){inta[10]={1,2,3,4,5,6,7,8,9,10},i;f(a);for(i=0;i<10;i++)printf(“%d,”,a[i]);}程序的运行结果是()。A.1,2,3,4,5,6,7,8,9,10,
B.1,2,6,8,10,12,7,8,9,10,
C.1,2,3,4,10,12,14,16,9,10,
D.1,2,6,8,10,12,14,16,9,10,
18.下而程序的输出结果是()。
A)32
B)26
C)24
D)4
19.有以下程序:#include<stdi0.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;)printf("%d,%d\n",a,b);}程序运行后的输出结果是()。A.9,18B.8,11C.7,11D.10,14
20.数字字符0的ASCII值为48,运行下列程序的输出结果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}
A.3,2B.50,2C.2,2D.2,50
二、2.填空题(20题)21.下列程序的输出结果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
22.符合结构化原则的三种基本控制结构是顺序结构、()和循环结构。
23.以下函数sstrcat的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:,所指字符串为abed,t所指字符串为efgh,调用函数sstrcat后s所指字符串为abcdefgh。请填空。
#inehde<stdio.h>
#include<string.h>
voidsstuat(char*9,char*t)
{intn;
n=strlen(s);
while(*(s+n)=【】){s++;t++;}
24.软件危机出现于60年代末,为了解决软件危机,人们提出了【】的原理来设计软件,这就是软件工程诞生的基础。
25.下面程序的运行结果是()。#include<stdio.h>#defineSIZE12main(){chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+32;sub(s,5,SIZE-1);for(i=0;i<SIZE;i++)printf("%c",s[i]);printf("\n");}sub(char*a,intt1,intt2){charch;while(t1<t2){ch=*(a+t1);*(a+t1)=*(a+t2);*(a+t2)=ch;t1++;t2--;}}
26.与表达式a+=b等价的另一书写形式是______。
27.以下程序运行后的输出结果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
28.软件生命周期包括8个阶段。为了使各时期的任务更明确,又可分为3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于【】期。
29.有以下程序段,且变量已正确定义和赋值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
请填空,使下面程序段的功能与之完全相同
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s=%f\n\n",s);
30.数据管理技术发展过程经过人工管理、文件系统和数据库系统这3个阶段,其中数据独立性最高的阶段是【】。
31.以下程序的输出结果是【】。
#include<stdio.h>
main()
{inti;
for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
32.以下程序的运行结果是【】。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%5ld\n",k);}
33.执行以下程序后的输出结果是【】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
34.已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有链结点数据域的和值,作为函数值返回。请在横线处填入正确内容。
structlink
{intdata;structlink*next;}
main()
{structlink*head;
......
sum(head);
......
}
sum(【】);
{structlink*p;ints=0;
p=head->next;
while(p){s+=p->data;p=p->next;}
return(s);}
35.在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的______。
36.当运行以下程序时,输入abcd,程序的输出结果是()。insert(charstr[]){inti;i=strlen(str);while(i>0){str[2*i]=str[i];str[2*i-1]='*';i--;}printf("%s\n",str);}main(){charstr[40];scanf("%s\n",str);insert(str);}
37.下列程序的循环次数是______。
x=2;
do
{x=x*x;}
while(!x);
38.在运算过程中,能够使空表与非空表的运算统一的结构是【】。
39.在循环中,continue语句与break语句的区别是:______语句只是结束本次循环,然后进行循环的条件判定。
40.在面向对象方法中,类的实例称为______。
三、1.选择题(20题)41.以下叙述错误的是()。
A.变量的作用域取决于变量定义语句的位置
B.全局变量可以在函数以外的任何部位进行定义
C.局部变量的作用域可用于其他函数的调用
D.一个变量说明为static存储类型是为了限制其他编译单元的引用
42.以下程序运行后,输出结果是
#definePT5.5
#defineS(x)PT*x*x
#include<stdio.h>
main()
{inta=1,b=2;
printf("%4.1f\n",S(a+b));}
A.49.5B.9.5C.22D.45
43.若程序执行时的输入数据是"2473",则下述程序的输出结果是#include<stdio.h>voidmain(){intcs;while((cs=getchar())!=,'\n'){switch(cs='2'){case0case1:putchar(cs+4);case2:putchar(cs+4);break;case3:putchar(cs+3);default:putchar(cs+2);}}}
A.668977B.668966C.6677877D.6688766
44.下面关于对象概念的描述中,错误的是
A.对象就是C语言中的结构体变量
B.对象代表着正在创建的系统中的一个实体
C.对象是一个状态和操作(或方法)的封装体
D.对象之间的信息传递是通过消息进行的
45.执行以下的程序段后,m的值是______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=p[4];
A.4B.5C.3D.不确定
46.若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+iB.i*m+jC.j*m+i+1D.i*m+j+1
47.有以下程序:#include<stdio.h>main(){intx=102,y=012;printf("%2d,%2d\n",x,y);}执行后的输出结果是()。
A.10,01B.02,12C.102,10D.02,10
48.在面向对象方法中,如果“鸡”是一类对象,“公鸡”、“母鸡”等都继承了“鸡”类的性质,因而是“鸡”的()。
A.子类B.实例C.对象D.父类
49.下列4项说法中,不正确的是______。
A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性
50.下列程序的输出结果是()。#include<stdio.h>#include<string.h>main(){chara[]="\n123\\";printf("%d,%d\n",strlen(a),sizeof(a));}
A.5,6B.5,5C.6,6D.6,5
51.若以下程序所生成的可执行文件名为file1.exe,main(intargc,char*argv[]){while(argc-->0){++argv;printf("%s",*argv);}}当键入以下命令执行该程序时:FILE1CHINABEUINGSHANGHAI程序的输出结果是()
A.CHINABEIJIANGSHANGHAI
B.FILE1CHINABEIJING
C.CBS
D.FCB
52.下列所述中,是软件调试技术的是()。
A.错误推断B.集成测试C.回溯法D.边界值分析
53.设有定义:10ngx=-123456L,则以下能够正确输出变量x值的语句是()。
A.printf("x=%d\n",x);
B.printf("x=%1d\n",x);
C.peintf("x=%8dL\n",x);
D.printf('x=%LD\n",x);
54.下面的程序执行后,文件test.t中内容是______。#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}
A.hello,B.newworldhelloC.newworldD.hello,rld
55.设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是()。
A.x&&y
B.x<=y
C.x‖y+z&&y-z
D.!((x<y)&&!z‖1)
56.已知i、j、k为血型变量,若要从键盘输入2、3、4<CR>,使i、j、k的值分别为2、3、4,下列正确的输入语句是()。
A.scanf(“%3d,%3d,%3d”,&i,&j,&k);
B.scanf(“%d,%d,%d”,&i,&J,&k);
C.scanf(“%d%d%d”,&i,&j,&k);
D.scanf(“i=%d,%d,k=%d”,&i,&j,&k);
57.两次运行下列的程序,如果从键盘上分别输入3和1,则输出结果是()。main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);elseprintf("%d\n",x--);}
A.4和2B.4和1C.4和0D.3和1
58.以下所列的各函数首部中,正确的是______。
A.voidplay(Var:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
59.若有以下的说明,对初值中整数2的正确引用方式是()。staticstruct{charch;inti;doublex;}a[2][3]={{{'a',1,3,45},{'b',2,7,98},{'c',31,93}}};
A.a[0][1].chB.a[0][1].iC.a[0][0].iD.a[0][2].i
60.下面程序段的运行结果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));
A.67B.0C.字符'C'的地址D.字符'C'
四、选择题(20题)61.
62.有以下程序:
#include<stdio.h>
main()
{inta;
scanf("%d",&a);
if(a++<9)printf("%d\n",a);
clscprintf("%d\n",a--);
}
程序运行时从键盘输入9<回车>,则输出结果是()。
A.10B.11C.9D.8
63.有以下程序:
#include<stdio.h>
main()
{inta=7;
while(a--);
print[("%d\n",a);
}
程序运行后的输出结果是()。
A.-l
B.0
C.1
D.7
64.
65.软件详细设计产生的图如图所示。该图是()。A.N—S图B.PAD图C.程序流程图D.E—R图
66.函数调用strcat(strcpy(str1,str2),str3)的功能是()。
A.将字符串str1复制到字符串str2中后再连接到字符串str3之后
B.将字符串str1连接到字符串str2之后再复制到字符串str3之后
C.将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后
D.将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中
67.
68.以下叙述中错误的是()。
A.一个C程序中可以包含多个不同名的函数
B.一个C程序只能有一个主函数
C.C程序在书写时,有严格的缩进要求,否则不能编译通过
D.C程序的主函数必须用main作为函数名
69.(42)希尔排序法属于哪一种类型的排序法()
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
70.(44)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为()
A.N+1
B.N
C.(N+1)/2
D.N/2
71.结构化程序设计的三种结构是()。
A.顺序结构、选择结构、转移结构
B.分支结构、等价结构、循环结构
C.多分支结构、赋值结构、等价结构
D.顺序结构、选择结构、循环结构
72.
73.
有以下程序
#include<stdi0.h>
voidfun(intn,int*p)
(intf1,f2;
if(n==1||n==2)*p=1;
else
{fun(n-1,&f1);fun(n-2,&f2);
*p=f1+f2;
}
}
main
{ints;
fun(3,&s);printf("%d",s);
}
程序的运行结果是()。
A.2B.3C.4D.5
74.(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是()
A.内模式
B.外模式
C.概念模式
D.逻辑模式
75.
76.
77.下列叙述中正确的是()。A.算法的效率只与问题的规模有关,而与数据的存储结构无关
B.算法的时间复杂度是指执行算法所需要的计算工作量
C.数据的逻辑结构与存储结构是一一对应的
D.算法的时间复杂度与空间复杂度一定相关
78.在数据库设计中,将E—R图转换为关系模式的过程属于()。
A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段
79.
80.若有说明“chars1[30]="abc",s2[]="defghi";",则在使用函数stoat(s1,s2)后,结果是()。A.A.s1的内容更新为abcdefghiB.s1的内容更新为defghi\0
C.s1的内容更新勾defghiabc\0
D.s1的内容更新为abcdefghi\0
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:计算n!。例如,若输人:6,则输出:6!=720.000000。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.请编写一个函数proc,它的功能是:求出1~m(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
例如,若传给m的值为70,则程序输出:
7111421222833354244495556636670
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#defineN100
voidproc(intm,int*a,int*n)
{}
voidmain
{
intarr[N],n,k;
system("CLS");
proc(70,arr,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)//每行输出20个数
{printf("%4d",arr[k]);
printf("\n");
}
else
printf("%4d",arr[k]);
printf("\n");
}
参考答案
1.B
2.A
3.A
4.C栈是先进后出的数据结构,在对栈操作的整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来完成,因此本题答案为c)。
5.B栈是先进后出,因此,栈底元素是先入栈的元素,栈顶元素是后入栈的元素。
6.C
7.CC程序中函数可以在说明或定义时给一个或多个参数指定默认值,但是不能在函数说明定义时同时指定默认参数,默认参数值应该在函数名第一次出现时指定。
8.D
9.B解析:数据库管理系统是数据库系统的核心,是负责数据库的建立、使用和维护的软件。数据库管理系统建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过数据库管理系统。另外,数据库管理系统还承担着数据库的安全保护工作,按照数据库管理员所规定的要求,保证数据库的完整性和安全性。
10.B本题考查for循环的使用。对于第1个for循环,任何一个i,内层j的循环都要使j~0到3,j=4时不符合,所以退出j循环;然后i减1,J仍然要从0~3,j=4时退出J循环直到i变成0,退出i循环。第一条for语句执行6次,第二条for语句执行4次,所以内循环体执行6*4=24次。
11.B二维数组的定义有3种形式,第一种是分行为两位数组赋值,即intnum[]={{12},{3,4},{5,6}},第二种是按照数组排列顺序进行赋值,即intnum[]={1,2,3,4,5,6},第三种为对部分元素赋初值,即intnum[]={{1,2}{},{3,4},{5,6}},所以错误的为B。
12.D解析:通常,引用一个数组元素可以用下标法,如a[P-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从0开始的。
13.D
14.B解析:实型常量有两种书写形式:①小数形式,它由符号、整数部分、小数点及小数部分组成;②指数形式,由十进制小数形式加上指数部分组成,其形式为十进制小数e指数或十进制小数E指数。注:e或E后面的指数必须是整数,并且在e或E的前面必须有数字。本题中,选项A)中E的前面没有数字,因此错误。选项C)中0.8不是整数,因此错误。选项D)中4是整型常量而不是实型常量。
15.A
16.D
17.B数组名相当于常量,表示的是数组首元素的地址。当执行函数f(a)的时候,因为传递的是首地址,相当于直接对数组a进行操作,所以从数组a的第3个元素a[2]到元素a[5],每个元素值扩大两倍。故本题答案为B选项。
18.C本题考查的是联合所占的存储空间。sizeof(t)=sizeof(douhle)*3=8*3=24。联合体所占的存储空间取决于所占空间最大的成员所占的空间。
19.D第一次执行循环前,a=1,满足a<8,执行循环后,b=3,a=3。执行完a++操作后,a=4。由于a<8,执行第二次循环后,b=7,a=6,执行完a++操作后,a=7。由于a<8,执行第三次循环后,b=14,a=9,执行完a++操作后a=10。此时不满足a<8,跳出循环。
20.C解析:自增运算符“++”,出现在变量之前,表示先使变量的值加1,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,冉使变量的值加1。例如题中的“b++”,题中第一条语句先输出字符b的值,此时变量b='2',因此输出值为2;再使b的值加1,b='3',因此第二条语句输出:b-a='3'-'1'=2。
21.5656解析:本题中a,b,c,d足实参,x,y,cp,dp是形参。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此,程序的输出结果是56。
22.选择结构选择结构解析:程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。
23.*t*t解析:程序中,(a+n)代表字符串s最后一个字符后的,'\\0',根据题意,'\\0'所在位置应该赋值为字符串t的第一个字符,字符中t的其他字符根据循环,依次赋值到,所指字符串的尾部,所以[14]应填:*t。
24.软件工程学软件工程学
25.abcdelkjihgfabcdelkjihgf解析:本题先给字符型数组s的12个元素赋值a到1的12个字母,函数sub(shar*a,intt1,intt2)的功能是将数组a的从第t1+1个元素到t2+1个元素进行逆置,在主函数中调用sub(s,5,SIZE-1)函数,是将数组s的第6个元素到第12个元素进行逆置,其他元素位置不变。
26.a=a+ba=a+b解析:a+=b与a=a+b等价,作用是把变量a的值加b后再赋给变量a。
27.8888解析:C语言规定,以0开头的整型常量为八进制。另外,在primf()函数中,%X表示以十六进制无符号形式输出一个整数,且十六进制中的ABCDEF为大写字母。本题的输出应该是八进制210的十六进制形式。将八进制转换为十六进制,可以先将其转换为二进制。因为1位八进制表示3位二进制,4位二进制表示1位十六进制。(210)8=(10001000)2=(88)16,故本题输出为880
28.软件开发软件开发解析:软件生命周期可以分为3个时期:软件定义期,包括问题定义、可行性研究和需求分析3个阶段;软件开发期,包括系统设计、详细设计、编码和测试4个阶段;软件维护期,即运行维护阶段。编码和测试属于软件开发阶段。
29.k<=nk++k<=n\r\nk++解析:本题要求将一个for循环改成while循环。首先要保证循环条件相同,在for循环中,每次执行循环之后,循环控制变量k都会加1,而while循环则没有,故需在循环体中增加改变k数值的语句“k++;”。
30.数据库系统数据库系统解析:在数据库系统管理阶段,通过系统提供的映像功能,数据具有两方面的独立性:一是物理独立性,二是逻辑独立性。数据独立性最高的阶段是数据库系统阶段;
31.ACEACE解析:在本题中,for循环体每执行完一次,变量i的值自加两次。i的初值为“a”,执行一次循环后变为“c”,之后再变成“e”,当其变为“g”时,循环条件若不满足,循环终止,故本题共输出3个字符。表达式“i-'a'+'A'”即表示输出i对应的大写字母,结果为ACE。
32.k=5k=5解析:本题主要考查了函数的递归调用方法。g=0或\ue008g=1\ue009或g=2是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。
33.a=14a=14解析:逗号表达式的值是以逗号分隔的最后一个表达式的值。所以题目中的语句a=(3*5,a+4);就等价于a=a+4;。故本题输出结果是a=14。
34.structlink*headstructlink*head解析:考查用指针引用结构体变量成员数据的方法。因为本题中是用结构体变量构成了链表,所以要从链表头节点,逐个节点的引用结构体的数据域,需要有指向结构体变量的指针,依次指向各个节点,即p=p->next,而用指针引用结构体成员数据的方法为:p->data。
35.封装性封装性解析:对象具有下列5个基本特点:①标识惟一性;②分类性:③多态性;④封装性;⑤模块独立性好。其中,封装性是指从外面看只能看到对象的外部特征,对象的内部特征即处理能力的实行和内部状态,对外是不可见的,对象的内部状态只能由其自身改变。
36.a*b*c*d*a*b*c*d*解析:本题考查的是函数与一个简单的算法结合在一起的应用。首先定义一个int型变量来存放字符串str的长度,执行while条件语句。通过分析可知,字符串2*i项的值可由第i项的值得到;第2*i-1项直接赋值为*,i递减,如此反复直到不满足i>0的条件时,输出运行后的字符串。
37.11解析:do…while语句的功能是:首先执行循环体语句,然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环;do…while语句的特点是先执行后判断,因此循环体至少执行1次.本程序中x=2不符合循环条件,所以只循环1次。
38.循环链表循环链表解析:在链表的运算过程中,采用链接方式即循环链表的结构把空表与非空表的运算统一起来。循环链表具有两个特点:①在循环链表中增加了一个表头结点,其数据域为任意或根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。②循环链表中最后一个结点的指针不是空,而是指向表头结点。
39.continuecontinue解析:continue语句只是结束本次循环,然后进行循环的条件判定。break语句是终止整个循环的执行,不再进行条件判定。
40.对象对象解析:类描述的是具有相似性质的一组对象。例如,每本具体的书是一个对象,而这些具体的书都有共同的性质,它们都属于更一般的概念“书”这一类对象。一个具体对象称为类的实例。
41.D解析:本题考查函数调用的变量作用域。全局变量不在任何函数体内定义,作用域为整个文件;局部变量在函数体内定义,作用域仅为本次函数;static类型是静态变量,为了方便其他编译单元的引用,不能随意改变。一个函数包含两部分:函数首和函数体,函数体包括花括号内的所有语句。
42.A解析:考查宏替换的使用。宏替换用'#define宏名宏体'的形式来定义。在进行编译预处理时,将把程序中宏定义之后的所有宏名用宏体替换。宏虽然可以带参数,但宏替换过程中不像函数那样要进行参数值的计算、传递及结果返回等操作;宏替换只是简单的字符替换,不进行计算,因而本题中的S(a+b)进行宏替换后为PT*1+2*1+2=5.5*1+2*1+2=9.5。
43.A解析:本题主要考查switch语句的使用方法。switch语句的执行过程为:进入switch结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配的case,以此作为入口,执行switch结构中后面的各语句,直到遇到break语句,则跳出switch语句,如果各case都不匹配时,则执行default后面的语句。
44.A解析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C++、Java等语言中,因此A)错误。
45.B解析:程序中定义了一个指向整型变量的指针变量,并对其赋值为二维整型数组a的首元素的地址。p[4]等阶于*(p-4),即二维数组a中第四个元素的值,而a是一个2*3的二维数组,其第四个元素为a[1][1],即5。
46.B解析:二维数组的元素可以看成是按矩阵形式存放的,总是先存放第一行的元素,再存放第二行的元素。数组第一维的下标是i,说明它前面还有i行,有i*m个元素,数组第二维的下标是j,说明它前面还有j列,有j个元素,所以共有i*m+j个元素。
47.C解析:y=012是将八进制数12赋给变量y。格式符%d,用于输出十进制整数;%md,m为指定的输出值的宽度,如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。本题是将八进制数12也按十进制数输出,八进制数12转换为十进制数为10,输出结果为102,10。
48.A解析:面向对象方法中,继承是表示类之间的相似性的机制。如果类X继承类Y,则X为Y的子类,Y为X的父类(超类)。如果“鸡”是一类对象,“公鸡”、“母鸡”等都继承了“鸡”类的性质,因而是“鸡”的子类。
49.C解析:数据库系统具有以下4个特点:数据的集成性、数据的高共享性与低冗余性、数据的独立性、数据统一管理与控制。
50.A解析:转义字符'\\n'表示换行,'\\\\'表示反斜杠,函数strlen()是计算字符串的长度,不包括文件结束标志('\\0'),函数sizeof()统计字符串所占的字节数。
51.A
52.C解析:软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。
53.B解析:x为一个长整型的变量,而且是一个十进制的数,它的输出控制符是%1d,所以排除选项A和选项C;由于C语言中是区分大小写的,1d中的d不能为大写,故排除选项D。4个选项中B正确。
54.A解析:C语言中文件有文本文件与二进制文件,对文件的使用前必须先打开,打开方式有只读、写入、读写等方式。
55.D解析:本题考查逻辑运算符的使用。当“&&”的两个运算对象都是逻辑1时,表达式才返回值是1;当“‖”的两个运算对象至少有一个是逻辑1时,表达式返回值是1。选项A)中,x和y都是逻辑1。所以返回值是1:选项B)中,x=4<=y=6为逻辑1,所以返回值是1;选项C)中,y+z的值等于14,非0,y-z的值为-2,非0,所以逻辑表达式4‖14&&-2的值不为0;选项D)中,x<y为1,!z为0,1&&0为1,0‖1为1,因此,!1为0。
56.B解析:函数scanf()的调用形式是:scanf(格式字符串,输入项地址表)。其中,“格式字符串”是要输入的变量的格式符;“输入项地址表”是要输入的变量的地址。
若在格式符中插入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符,其中的逗号也必须输入。
57.A解析:本题考查ifelse语句。首先scanf函数通过键盘读入x的值。当x=3时,第一个if语句,先判断条件,取x的值3和2比较,然后将x的值加1,发现条件成立,执行下列的printf语句,输出x的值4。当x=1时,第一个if语句,先判断条件,取x的值1和2比较,然后将x的值加1(x的值变为2),发现条件不成立,执行下列的else语句,先输出x的值2,再将x的值减1。
58.C解析:C语言中函数首部中的各参数必须分开单独定义,因此选项C才是正确的。而选项A和D是其他语言的函数定义方式。
59.B解析:结构体数组中对结构体成员的引用要先引用到数组元素,然后像对待普通的结构体变量一样来对待结构体数组元素就可以了。注意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术贸易壁垒及其应对考核试卷
- 图册制作合同范本
- 科技引领生态优先-打造现代化的科技小镇环境
- 托儿所服务的资源整合与社会资源优化考核试卷
- 知识产权管理实践案例分享
- 化学实验安全与操作规范考核试卷
- 电子竞技产业发展中的人文关怀与社会责任
- 泥工木工合同范本
- 油井维修合同范本
- 康复辅具适配服务培训考核试卷
- 基础护理学试题及答案(各章节)-基础护理学第四版试题及答案
- 色彩发展的历史课件
- 学生成长导师制工作手册
- (2023年最新版)医师执业、变更执业、多机构备案申请审核表
- 医疗器械临床试验质量管理规范培训课件
- 《纸马》教学设计公开课
- 建设工程工程量清单计价标准(2022)
- 小学道德与法治五年级下册全册优质教案(含课件和素材)
- 施耐德公司品牌战略
- 三方联测测量记录表
- 啦啦操社团教学计划(共3页)
评论
0/150
提交评论