版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年江西省萍乡市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若要说明一个类型名STP,使得定义语句STPs;等价于Char*s;,以下选项中正确的是()。
A.typedefChar*s;
B.typedefChar*STP;
C.typedefSTP*Char;
D.typedef*CharSTP;
2.有以下程序:程序运行后的输出结果是()。A.20B.13C.10D.31
3.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序运行后的输出结果是()A.xyzB.wxyzC.xzyD.zvx
4.有以下程序:#include<stdio.h>main{inta=1,b=2;while(a<6){b+=a;a4+=2;b%=10;)printf("%d,%d\n",a,b);}程序运行后的输出结果是()。A.5,11B.7,1C.7,11D.6,1
5.有以下程序:
main
{chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++):
)
程序运行后的输出结果是()。A.A.b,bB.b,cC.a,bD.a,c
6.
7.当n=5时,函数输出为()A.5B.11C.29D.10
8.下列4个关于C语言的结论中错误的是()。
A.可以用do…while语句实现的循环一定可以用while语句实现
B.可以用for语句实现的循环一定可以用while语句实现
C.可以用while语句实现的循环一定可以用for语句实现
D.do…while语句与while语句的区别仅是关键字“while”出现的位置不同
9.有以下程序
A.741B.963C.852D.87542l
10.结构化程序设计的3种结构是()。
A.顺序结构、选择结构、转移结构
B.分支结构、等价结构、循环结构
C.多分支结构、赋值结构、等价结构
D.顺序结构、选择结构、循环结构
11.设有定义:intx[2][3];,则以下关于二维数组X的叙述错误的是()。
A.x[0]可看做是由3个整型元素组成的一维数组
B.x[0]和x[l]是数组名,分别代表不同的地址常量
C.数组X包含6个元素
D.可以用语句x[o]=0;为数组所有元素赋初值0
12.
13.链表不具有的特点是A.A.不必事先估计存储空间
B.可随机访问任一元素
C.插入和删除不需要移动元素
D.所需空间与线性表长度成正比
14.下列描述中正确的是()。
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D.软件工程只是解决软件开发过程中的技术问题
15.以下是正确的C语言实型常量的是()。
A..8e+8.B.e+8C.+8e.8D.+8.8e+8
16.
17.有以下程序:
程序运行后的输出结果是()。
A.02B.13C.57D.12
18.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.7B.5C.8D.6
19.求2n个数中的最大值和最小值,最少的比较次数是()
A.4n/3B.2n-2C.3n-2D.3n/2
20.数据库设计包括两个方面的设计内容,它们是()。
A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
二、2.填空题(20题)21.以下程序运行后的输出结果是【】。
main()
{
inta[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
inti=0,j=0,s=0;
while(i++<4)
{
if(i==2||==4)continue;
j=0;
do
{
s+=a[i][j];
j++;
}while(j<4);
}
Printf("%d\n",s);
}
22.下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\",p+9);
}
23.算法的复杂度主要包括时间复杂度和______复杂度。
24.下面程序把从终端读入的10个整数以二进制方式写入一个名为bi.dat的新文件中。
#include<stdio.h>
FILE*fp;
main()
{inti,j;
if(fp=fopen(【】)==NULL)exit(0);
for(i=0;i<10;i++)
{scanf("%d",&j);
fwrite(&j,sizeof(int),1,【】;
}
fclose(fp);
}
25.若要使指针p指向一个double类型的动态存储单元,请填空。
p=【】malloc(sizeof(double));
26.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
27.以下程序的功能是:从键盘输入一字符串,要求将每个单词中的第一个字母改成小写(如果原来已是小写字母,则不变),然后输出转换结果,补足所缺语句。
main()
{charstr[200];inti=0;
while((______=getchar())!='\n');
str[i-1)='\0';
for(i=0;str[i]!='\0';i++)
if((str[i-1]==''‖i==0)&&str[i]>='A'&&str[i]<='Z')
str[i]+=______;
printf("%s\n",str);
}
28.以下程序的输出结果是【】。
#include<stdio.h>
main()
{intn=12345,d;
while(n!=0){d=n%10;printf("%d",D);n/=10;}
}
29.在面向对象方法中,信息隐蔽是通过对象的______性来实现的。
30.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于______。
31.以下程序运行后的输出结果是【】。
#include<string.h>
cbar*ss(char*s)
{char*p,t;
p=s+1;t=*s;
while(-p){*(p-1)=*p;p++;}
*(p-1)=t;
returns;
}
main()
{char*p,str[10]="abcdefgh";
p=ss(str);
printf("%s\n",p);
}
32.下面rotate函数的功能是:将n行n列的矩阵A转置为A',例如:
#defineN4
voidrotate(inta()[N])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];
【】;
a[j][i]=t;
}
}
33.下列程序的运行结果为【】。
enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};
main()
{enumweekdayworkday,weekend;
inti,a[8];
workday=tue;
weekend=sun;
printf("\ntueday=%dsunday=%d;",workday,week_end);
workday=sun+tue;
week_end=(enumweekday)3;
printf("tueday=%dsunday=%d;",workday,weekend);
a[sun]=sun;
a[mon]=mon;
a[tue]=rue;
a[wed]=wed;
a[thu]=thu;
a[fri]=fri;
a[sat]=sat;
for(i=l;i<=7;i++)printf("%d",a[i]);
}
34.关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。
35.以下程序运行后输入3,abcde<回车>,则输出结果是【】。
#include<string.h>
move(char*str,intn)
{chartemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1];
str[0]=temp;
}
main()
{chars[50];intn,i,z;
scanf("%d,%s",&n,s);
z=strlen(S);
for(i=1;i<=n;i++)move(s,z);
printf("%s\n",s);
}
36.已知字符'A'的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【】。
#include<stdio.h>
main()
{chara,b;
a=getchar();seanf("%d",&b);
a=a-'A'+'0';b=b*2;
prinff("%c%c\n",a,b);
}
37.以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。
structnode
{intinfo;
【】link;};
38.以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(键表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));
p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{p=(structlist*)malloc(sizeof(structlist));
【】=a;q->next=p;【】=p;scanf("%d",&a);}
p->next='\0';return(ph);}
main()
{structlist*head;head=creatlist();}
39.若有如下程序:
main()
{intx=4,y=3,x=2,t;
t=x<y<z;
printf("%d\n",t);}
则程序运行后的输出结果是【】。
40.在数据库理论中,数据物理结构的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不引起应用程序的变化,称为______。
三、1.选择题(20题)41.下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式
42.以下描述中,不是线性表顺序存储结构特征的是()。
A.可随机访问B.需要连续的存储空间C.不便于插入和删除D.逻辑相邻的数据物理位置上不相邻
43.以下选项中非法的字符串常量是()
B.\X0\011
C.\\\t"
D.\n\007\n
44.在下列关于二叉树的叙述中,正确的一项是
A.在二叉树中,任何一个结点的度都是2
B.二叉树的度为2
C.在二叉树中至少有一个结点的度是2
D.一棵二叉树的度可以小于2
45.若x为int型变量,则执行以下语句后,x的值为()x=6;x+=x-=x*x;A.36B.-60C.60D.-24
46.有以下程序:fun(intx){intp;if(x=0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}执行后的输出结果是()。
A.7B.3C.2D.0
47.有以下程序:#include<stdio,h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[1];a[i]=a[j];a[j]=t;}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa+2,5);for(i=0;i<10;i++)prinff("%d,",aa[i]);prinff("\n");程序运行后的输出结果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
48.可在C程序中用作用户标识符的一组标识符是
A.andB.DateC.HiD.case_2007y-m-dDr.TomBigl
49.有以下程序:
#include<stdlib.h>
structNODE
{intnum;structNODE*next;};
main()
{structNODE*p,*q,*r;
p=(structNODE*)malloc(sizeof(structNODE));
q=(structNODE*)mallloc(sizeof(structNODE));
r=(structNODE*)malloc(sizeof(structNODE));
p->num=10;q->num=20;r->num=30;
p->next=q;q->next=r;
printf("%d\n",p->num+q->next->num);
}
程序运行后的输出结果是()。
A.10B.20C.30D.40
50.若有如下程序段:intn=1O;while(1)n--;printf("%d";n);则while循环执行的次数是()。
A.0B.1C.10D.无数
51.以下程序的输出结果是()main(){inta[10]={1,2,3,4,5,6,7,8,9,10,},*p=a;printf("%d\n",*(p+2));}
A.3B.4C.1D.2
52.下面程序的输出结果是______。main(){unsigneda=32768;printf("a=%d\n",a);}
A.a=32768B.a=32767C.a=-32767D.a=-1
53.有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
54.设函数fun的定义形式为:voldfun(charch,floatx){……}则以下对函数fun的调用语句中,正确的是()。
A.fun("abc",3.0);
B.t=fun('D',16.5);
C.fun('65',2.8);
D.fun(32,32);
55.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m==a>b)&&(n=c>d)运算后,n的值为______。
A.0B.1C.2D.3
56.算法一般都可以用______控制结构组合而成。
A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环
57.下列数据模型中,具有坚实理论基础的是()。
A.关系模型B.网状模型C.层次模型D.以上三个都是
58.若有如下程序:main(){inta=6;charch=c;printf("%d\n",(a&2)&&(ch<'m'));}则程序运行后的输出结果是()
A.0B.1C.2D.3
59.设x和y均为int型变量,则以下语句:“x+=y;y=x-y;x-=y;”的功能是______。
A.把x和y按从大到小排列B.把x和y按从小到大排列C.无确定结果D.交换x和y中的值
60.可以在C语言中用做用户标识符的是______。
A.voiddefineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG
四、选择题(20题)61.
62.关系数据库管理系统能实现的专门关系运算包括()。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
63.以下符合C语言语法的实型常量是
A.1.2E0.7B.3.33.145EC.E23D..4E-2
64.
65.若i、j已定义成mt型,则下列程序段中内循环体的总执行次数是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30
66.有以下定义语句,编译时会出现编译错误的是()。
A)
B)
A.
B.
67.有以下程序:
#include<stdio.h>
#include<string.h>
main()
{charstr[][20][{"One*World","One*Dream!"},*p=str[1];
prinft("%d,",strlen(p));printf("%s\n",p);
}
程序运行后的输出结果是()。
A.9,0ne*World
B.9,0ne*Dream!
C.10,One*Dream!
D.10,Ome*World
68.下列判断正确的是()。
A.chara="ABCD":等价于char*a;*a="ABCD":
B.charstr[10]={"ABCD"}:等价于charstr[10];str[]={"ABCD"};
C.char*s="ABCD":等价于chars;*s="ABCD";
D.charc[5]="ABCD",d[5]="ABCD":等价于charc[5]-d[5]="ABCD";
69.有以下程序运行时,‘若输入l23450<回车>,则输出结果是()。
A.6566456B.66656C.66666D.6666656
70.利用E-R模型进行数据库的概念设计,可以分成3步:首先设计局部E-R模型,然后把各个局部E-R模型综合成一个全局的模型,最后对全局E-R模型进行(),得到最终的E-R模型。
A.简化B.结构化C.最小化D.优化
71.设有程序段:intk=12:while(k=1)k=k一1;则下列描述中正确的是()。A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次
72.
73.
设有以下定义和语句:
charstr[2O]="Program",*P:
p=str:
则以下叙述中正确的是()。
A.*p与stf[0]的值相等
B.str与P的类型完全相同
C.str数组长度和P所指向的字符串长度相等
D.数组str中存放的内容和指针变量P中存放的内容相同
74.若有说明“chars1[30]="abc",s2[]="defghi";",则在使用函数stoat(s1,s2)后,结果是()。A.A.s1的内容更新为abcdefghiB.s1的内容更新为defghi\0
C.s1的内容更新勾defghiabc\0
D.s1的内容更新为abcdefghi\0
75.
76.有以下程序:
以上程序执行后abc.dat文件的内容是()。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
77.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序运行的结果是()。A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
78.有以下程序
79.算法的有穷性是指A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用
80.
五、程序改错题(1题)81.下列给定程序中,函数fun()的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构!试题程序:
六、程序设计题(1题)82.编写函数fun(),其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:“FirstString——”“SecondString”程序输出:“FirstString——SecondString”注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:
参考答案
1.B用关键字typedef声明一种新的类型的形式为typedef类型名标识符。本题中的类型为char*。
2.D程序首先定义整型变量s和i,s的初值为0。for循环中i的取值为1,2,3,4,另外在switch语句中,执行各个分支后,若没有break语句,会继续执行后续分支。当i=1时,switch语句执行case1、case2和default,将s自增3后再自增5,此时s的值为8;当i=2时,switch语句执行case2、default,将s自增3后再自增5,此时s的值为16;当i=3时,switch语句执行case3、case1、case2、default,将s逐步自增2,自增3,自增5,此时s的值为26;当i=4时,switch语句执行default语句,将s自增5,此时s的值为31。本题答案为D选项。
3.A本题考查简单的递归函数,当c>X则会产生递归,依次类推,答案选择A.
4.B“b+=a;”等价于“b=b+a;”,“a+=2;”等价于“a=a±2;”,“bA=10;”等价于“b=b%=10;”。循环体执行3次,最终结果为7,1。
5.A++a与a++的区别是前者先自加再运算,后者是先运算后自加。
6.B
7.C
8.D解析:本题考查几个循环语句的关系。①do…while语句、while语句、for语句所实现的循环可以相互替代;②do…while语句和while语句的区别是do…while语句至少执行一次。
9.C在for循环中,当y的值为9、6或3时,执行输出语句,输出表达式“——y”的值。y先自减1,然后再输出y的值。
10.D结构化程序设计的基本要点:①采用自顶向下、逐步求精的程序设计方法;②任何程序都可由顺序、选择和循环3种基本控制结构构造。
11.Dx[0]是不能赋值的。
12.D
13.B链表是一种特殊的线性表,链表的存储结构与顺序存储结构不同,它的存储区域可以是任意的存储单元,对存储系统中零碎的存储部分具有更好的应用,在给其分配存储单元时,不必事先估计整个存储单元的空间大小;由于链表的元素是通过指针域的指针相连的,用链表存储数据时,对其进行插入和删除操作时,不需要移动其他元素,只需改变其直接前驱指针域,使其指向该结点,并将该结点的指针域修改为指向其直接后继结点即可。当然,不管是链表还是顺序存储,所需空间与线性表长度都成正比。在链式存储的链表结构中,由于后一结点数据被存储在哪里,只有通过前一结点的指针域才知道,因此,访问时只能是逐个访问,而不能实现随机访问。
14.CC。【解析】软件工程是指将工程化的思想应用于软件的开发、应用和维护的过程,包括软件开发技术和软件工程管理。
15.DC语言中,实型常量有两种表示形式:小数形式和指数形式。其中指数形式的一般形式为:尾数E(或e)整型指数。C语言规定,字母E或e之前必须要有数字,且E或e后面的指数必须是整数,所以选项A、B、C错误,选项D正确。故本题答案为D选项。
16.C
17.D本题考查逻辑运算符的”短路”现象,由于k的值为0,表达式首先去求k++的值,因为表达式k++的值为0,系统完全可以确定逻辑表达式的运算结果总是为0,因此将跳过n++>2,不再对它进行求值,即k的值加1,n的值不变。
18.B
19.A
20.A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。
21.9292解析:主函数中首先定义了一个4行4列的二维数组,然后执行一个while循环,该循环中又嵌套了一个do-while循环。现看while循环,该循环通过i++的值来判断是否结束循环当i++的值为4的时候结束循环,当i=0时,执行while的循环体,显然if语句条件不满足不执行,接着让i=0,然后执行do-while循环体,我们不难看出do-whilo循环的功能是将第i+1行的所有元素加起来,所以这时s的值为s=a[1][0]+a[1][1]+a[1][2]+a[1][3)=26,当i=1时,i+1=2,uf后面括号里的表达式的值为真执行后面的continue语句,结束该次循环;当i=2时,i加1变为3,把第3+1行的所有元素的加到s上,此时s=s+a[2][0]+a[2][1]+a[2][2]+a[2][3]=92,当i=3时,3+1=4,if后面括号里的表达式的值为真执行后面的continue语句,结束该次循环,当i=3时,if后面括号里的表达式的值为真执行后面的continue语句,结束该次循环当i=4时while循环结束,所以最后输出的s的值为92。
22.1a61a6解析:对于指针变量的运算,就是对地址的运算。本题中由于指针指向的是整型变量,所以,使指针变量移动9个位置也就是移动18个字节。注意,本题是以十六进制输出的。
23.空间空间解析:算法的复杂度主要包括时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量。一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
24."bi.dat"fp'bi.dat'\r\nfp解析:打开文件函数fopen的参数是文件名,因此有fopen('bi.dat');而写文件的参数是文件指针,因此有fwrite(&j,sizeof(int),1,fp);
25.(double*)(double*)解析:一般用malloc函数为变量分配存储单元时,要在前面用强制类型转换符说明该存储单元中数据的类型。本题要为指向双精度浮点型数据的指针变量p分配存储单元,因此用(double*)说明。
26.malloc(11)malloc函数的格式是void*(或char*)malloc(size),size表示应分配的存储区,此题要分配11字节的单元,把11代入即可。
27.str[i++]32。str[i++]32。解析:while语句的循环控制条件既要将相应元素赋予从键盘输入的字符,又要改变元素的下标值,以便接受下一个字符,可用下标变量的后置加实现;小写字母的ASCII码值比相对应的大写形式大32。
28.5432154321解析:在while循环中,d=n%10;语句每次求得的结果是n个位上的数值,例如12345÷10所得的余数就是个位上的5。接下来输出得到的个位数字d,然后执行n/=10;语句,该语句等价于n=n/10;。在C语言中,如果/运算的两个运算分量都是整数,那所得的结果也截尾取整,所以12345/10=1234,即n-=n/10;语句的作用是让n截去个位上的数字。由此可知,随着while循环的继续,n依次为12345、1234、123、12、1,而每次输出n的个位数字将为5、4、3、2、1。故本题应填543210。
29.封装封装
30.线性结构线性结构解析:数据的逻辑结构是指数据元素之间的逻辑关系,分为线性结构和非线性结构。常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。
31.bcdefghabcdefgha解析:while循环的功能把字符从第二个元素开始左移一位,并将原第一个元素赋给最后一个元素。
32.j<ia[i][j]=a[j][i]j<i\r\na[i][j]=a[j][i]解析:本题中要求将n行n列的矩阵A转置,即让数组中行上的元素变成对应列上的元素。即把对角线两边的元素对换,所以本题的第一个空格处应该填写j<i,第二个空格处填写交换对角线两边的元素的语句a[i][j]=a[j][i]。
33.tueday=2sunday=7;tueday=9sunday=3;1234567
34.查询查询
35.cdeabcdeab解析:本题move()函数的作用,是将形参s仕所指地址的连续n位循环右移1位,即让str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函数中用了一个for循环调用move()函数,共循环3次,所以数组s被循环右移了3位,故最后输出的值为cdeab。
36.1B1B解析:本题输入B33,字符'B'被输入给字符变量a,33赋给b,执行a=a-'A'+'0';得到a的值'1';执行b=b*2;得到b值66,最后以字符型输出为1B。
37.structnode*structnode*解析:本题中的结构类型名为structnode,所以空白处应填:structnode*。即定义一个指向自身的结构体指针。
38.p->dataqp->data\r\nq解析:本题考查的是链表这一数据结构对结构体变量中的数据的引用。链表的特点是结构体变量中有两个域,一个是数据,一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。
39.1
40.物理独立性物理独立性解析:数据的物理结构改变,不影响数据库的逻辑结构,从而不引起应用程序的变化,这种性质叫做物理独立性。
41.A数据库管理系统的三级模式结构由外模式、模式和内模式组成。
外模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的一一部分。内模式,或存储模式,或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。
42.DD)【解析】线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保存元素之间的关系。
43.4
44.D解析:本题考查了二叉树的基本概念。在二叉树中,叶子节点的度是1;当该二叉树为空树时,根节点的度为零;为非空树时,根节点的度为2。
45.D结果为D-24首先,我们拆开来看,按照运算先后顺序来,x*x=36然后x=x-(-36)等于x=6-(-36)结果为-30最后x=x+(-30)等于x=6+(-30)结果为-24
46.C解析:x=7,通过递归调用fun函数后得到结果。
47.C解析:sort函数的功能是将给定的数由大到小排序。函数调用sort(aa+2,5);中的实参aa+2是aa[2]的地址,将其传给形参a[],使得形参中封a[0]的值为主函数中aa[2]的值,即3;实参5传给形参n,在sort函数中用于指定参加排序的5个数,从aa[2]到aa[6],所以本题输出的结果是:1,2,7,6,5,4,3,8,9,10,
48.A解析:在C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。C语言的标识符可以分为关键字、预定义标识符和用户标识符。选项B)和C)中的横线以及点都不合法,选项D)中的case为C语言关键字。
49.D解析:本题在主函数中首先定义了3个结构体指针变量p,q,r。然后调用内存分配函数分别为其分配地址空间,程序中变量p->num的值为10,指针变量q->next指向指针变量r,r->num的值为30,所以变量q->next->num的值为30,因此,表达式p->num+q->next->num的值为10+30=40。所以4个选项中D正确。
50.D解析:本题的while循环条件为1恒为真,所以是一个无限循环。应该选择答案D。
51.A
52.C
53.B解析:在C语言的数组元素的引用方法,我们在前面已经讲过了,比如数组元素a[0],可以用表达式*(p+0),即*p来引用,对于数组元素a[1],可以用表达式*(p+1)来引用,在这里,p+1的值就是数组元素a[1]的地址,对此地址使用“间接访问运算符”:*(p+1)就代表存储单元a[1],注意:一对圆括号不可少。同样,对于数组元素a[2],则可以用表达式。(p+2)来引用…,对于数组元素a[9],可以用表达式,(p+9)来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i<10,则数组元素a[i]可以用*(p+i)来表示。
54.D解析:调用有参函数时,实参与形参的类型应相同或赋值兼容。由于整型数据与字符型数据可以通用,所以实参“32”与形参ch的类型是一致的;又因为整型变量给浮点型变量赋值是相兼容的,所以选项D)正确。
55.A解析:C语言中比较表达式的运算结果为0或1。0代表不成立,1表示成立。
56.D解析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
57.A解析:在层次模型和网状模型的系统研究和数据库设计中,其性能和质量主要决定于设计者的经验和技术水平,缺乏一定的理论指导。关系模型有坚实的理论基础,它以数学理论为基础,从而避免了层次模型和网状模型系统中存在的问题。
58.A解析:表达式a&2的值为0,不必再计算表达式ch<'m',整个逻辑表达式的值为0。
59.D解析:先将两个数的和赋给变量x,即x=x+y;再执行y=x-y,相当于y=(x+y)-y=x,x的值已经换给了y;最后执行x=x-y,相当于x=(x+y)-x=y,这样不通过第3个变量就可以将两个变量的值互换。
60.B解析:C语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。另外还需要注意的是关键字不能作标识符。选项A中void,C中for都为关键字,D中2c以字母开头。
61.A
62.B解析:此题为数据库的基本概念,可以对照办工软件的电子表格进行如下理解:选择:我们根据某条件选择出一行或多行元组(一个元组即为二维表中的一行)。投影:按字段(也称属性,比如学生关系(学号,姓名,出生年月,性别),学号、姓名…都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)。连接:2个或2个以上的表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年煤矿安全设备及服务行业分析报告及未来发展趋势报告
- 2026年滴灌带回收机行业分析报告及未来发展趋势报告
- 市政排水设施改造项目社会稳定风险评估报告
- 2026年丝绢纱行业分析报告及未来发展趋势报告
- 2026陕西西安莲湖区西关社区卫生服务中心招聘备考题库及答案详解(网校专用)
- 污水消毒剂投加泵房设计与施工
- 2026年消防器具行业分析报告及未来发展趋势报告
- 2026闽北职业技术学院高层次人才及紧缺急需人才招聘7人笔试备考试题及答案解析
- 排水设施提升改造项目技术方案
- 污水厂污泥脱水改造方案
- 《人工智能导论》(第2版)高职全套教学课件
- 医共体信息化项目建设方案(技术方案)
- 流体力学基本练习题
- 汽车设计驱动桥设计
- DB11T 500-2024 城市道路城市家具设置与管理规范
- 5.1“九统一”继电保护装置设计一
- 耳鼻喉科普小知识问答
- 计算机网络教学能力大赛教学实施报告
- HG T 3690-2022 工业用钢骨架聚乙烯塑料复合管
- 柴油发电机危险辨识、对策措施及应急处置
- 中药饮片采购配送服务投标方案
评论
0/150
提交评论