版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年河南省洛阳市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)学校:________班级:________姓名:________考号:________一、单选题(20题)1.以下程序段运行后x的值为()。inti,j,x=0;for(i=3;i>=1;i--)for(j=1;j<=i;j++)x=x+2A.8B.14C.10D.12
2.设有定义:charpE]={’1’,‘2’,’3’},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是()。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
3.
有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是()。
structnode
{chardata;
structnode*next:
}a,b,*p=&a,*q=&b;
A.a.next=q;B.P.next=&b;C.p->next=&b;D.(*p).next=q;
4.有以下函数:charfun(char*p){returnP;}该函数的返回值是()。A.无确切的值B.形参p中存放的地址值C.一个临时存储单元的地址D.形参p自身的地址值
5.已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针,指向要读的文件
C.一个指针;指向要读入数据的存放地址
D.一个存储区,存放要读的数据项
6.下列定义语句中错误的是()。
A.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
B.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C.intx[][3]={0},{1},{2},{3}};
D.intx[][3]={1,2,3,4};
7.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是()
A.cedbAB.acbeDC.decaBD.deabC
8.下列叙述中正确的是A.为了建立一个关系,首先要构造数据的逻辑关系
B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C.一个关系的属性名表称为关系模式
D.一个关系可以包括多个二维表
9.有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);print("%d\n",aa[0]);}程序运行后的输出结果是______。
A.4B.3C.2D.1
10.设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是()。
A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)
11.下列程序的输出结果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}
A.6,2B.6,4C.8,4D.8,6
12.下列关于C语言文件的叙述中正确的是()。
A.文件由一系列数据依次排列组成,只能构成二进制文件
B.文件由结构序列组成,可以构成二进制文件或文本文件
C.文件由数据序列组成,可以构成二进制文件或文本文件
D.文件由字符序列组成,其类型只能是文本文件
13.以下是if语句的基本形式:
if(表达式.语句
其中“表达式”()。
A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式
14.若有定义:“inta,b,c,*p=&c;”,接着执行以下选项中的语句,则能正确执行的语句是()。
A.scanf(“%d”,a,b,c);
B.scanf(“%d%d%d”,a,b,c);
C.scanf(“%d”,p);
D.scanf(“%d”,&p);
15.下述程序的输出结果是()。#include<stdio.h>voidmain{intb[6]={2,4,6,8,10,12);int*p=b,**q=&p;printf("%d,",*(p++));printf("%d,",**q);}A.4,4B.2,2C.4,5D.2,4
16.设有以下定义:inta=0;doubleb=1.25;charc='A';#defined2则下面语句中错误的是()。
A.a++;B.b++;C.c++;D.d++;
17.有以下程序main(intargc,char*argv[]){intn=0,i;for(i=1;i<argc;i++)n=n*10+*argv[i]'0';printf("%d\n",n);}编译连接后生成可执行文件tt.exe。若运行时输入以下命令行tt12345678程序运行后的输出结果是A.12B.12345C.12345678D.136
18.以下选项中合法的实型常数是
A.5E2.0B.E-3C.2.00E+00D.1.3E
19.线性表是具有n个()的有限序列。
A.字符B.数据元素C.数据项D.表元素
20.
二、2.填空题(20题)21.下列程序的输出结果是______。
main()
{inta=2,b=4,c=6;
int*p1=&a,*p2=&b,*p;
*(p=&c)=*p1*(*p2);
printf("%d\n",c);
}
22.数据的逻辑结构在计算机存储空间中的存放形式称为数据的【】。
23.数据结构分为逻辑结构和存储结构,循环队列属于______结构。
24.以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。
#defineN4
voidrotade(inta[][N],intb[][N])
{intI,j;
for(I=0;I<N;I++)
{b[I][N-1]=【】;【】=a[N-1][I];}}
25.若有如下程序:
main()
{intx=5,y,*t;t=&x;
y=++(*t);
printf("%d,%d",x,y);}
则程序执行后的x值为【】,y的值为【】。
26.设有宏定义:
#defineWIDTH80
#defineLENGTHWIDTH+40
则执行赋值语句“v=LENGTH*20;"(v为int型变量)后,v的值是【】。
27.软件的需求分析阶段的工作,可以概括为四个方面:【】、需求分析、编写需求规格说明书和需求评审。
28.下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】=='')flag=0;
elseif(【】){flag=1;num++}
}
return【】;}
29.数据流图有两种典型的结构形式,它们分别是变换型和【】。
30.软件工程研究的内容主要包括:软件开发技术和【】。
31.在面向对象方法中,信息隐蔽是通过对象的______性来实现的。
32.设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【】。
33.以下程序运行后的输出结果是【】。
intf(inta[],intn)
{
if(n>=1)
returnf(a,n-1)+a[n-1];
else
return0;
}
main()
{
intaa[5]={1,2,3,4,5},s;
s=f(aa,5);
printf("%d\n",s);
}
34.以下程序的输出结果是【】。
#include<stdio.h>
main()
{inti;
for(i=′a′;i<′f′;i++,i++)printf("%c",i-′a′+′A′);
printf("\n");
}
35.以下程序的运行结果为【】。
#defineFORMAT"%u,%u"
main()
{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
printf("\n");
printf(FORMAT,**a,*a[0]);
printf(FORMAT,*(a[0]+1),*&a[0][1]);
printf(FORMAT,a[1][0],*(*(a+1)+0));
}
36.程序测试分为静态分析和动态测试。其中【】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
37.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
38.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【】和选择排序等。
39.当运行以下程序时,输入abed,程序的输出结果是:【】。
insert(charstr[])
{inti
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",sB);insert(str);
}
40.软件测试中路径覆盖测试是整个测试的基础,它是对软件【】进行测试。
三、1.选择题(20题)41.下面程序的输出是______。chars[]="ABCD";main(){char*p;for(p=s;p<s+4;p++)printf("%s\n",p);}
A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA
42.下列选项中,不属于数据库管理的是()
A.数据库的建立B.数据库的调整C.数据库的监控D.数据库的校对
43.请选出以下程序段的输出结果______。#include<stdio.h>#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti,j,k;i=10;j=15;k=10*MIN(i,j);printf("%d\n",k);}
A.15B.100C.10D.150
44.以下程序的输出结果是_______。main(){inti;for(i=1;i<6;i++){if(i%2)(printf("#");continue;}printf("*");}printf("\n");}
A.#*#*#B.#####C.*****D.*#*#*
45.若有以下定义和语句:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是______。
A.p+=2,*(p++)B.P+=2,*++pC.P+=3,*p++D.P+=2,++*p
46.有以下程序main(){inta=15,b=21,m=0;switCh(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf("%d\n",m);程序运行后的输出结果是
A.1B.2C.3D.4
47.若a是float型变量,b是unsigned型变量,以下输入语句合法的是()
A.scanf("%6.2f%d",&a,&b);
B.scanf("%f%n",&a,&b);
C.scanf("%f%3o",&a,&b);
D.scanf("%f%d",&a,&b);
48.SQL语言又称为______。
A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言
49.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是()
A.黑箱测试法B.白箱测试法C.错误推测法D.安装测试法
50.若程序中定义了以下函数:doublemyadd(doublea,doubleb){return(a+b);}并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是()。
A.doublemyadd(doublea,b);
B.doublemyadd(double,double);
C.doublemyadd(doubleb,doublea);
D.doublemyadd(doublex,doubley);
51.设有如下函数定义,则输出结果为_______。char*fun(char*str){char*p=str;while(*p){if(*p>'d')continue;p++;}returnp;}main(){printf("%s\n",fun("welcome!"));}
A.welcomeB.come!C.wD.程序进入死循环
52.以下数据结构中属于线性数据结构的是
A.集合B.线性表C.二叉树D.图
53.下列能正确进行字符数组赋初值的语句是______。
A.chart[5]={'a','b','c','d','e'};
B.char*t;t="abcde";
C.chart[5]="abcde";
D.chart[5];t="abcd";
54.在C语言中,表达式10!=9的值是______。
A.真B.非零值C.0D.1
55.有以下程序#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结粜是()。
A.741B.963C.852D.875421
56.下列程序的输出结果是______。main(){intn;(n=6*4,n+6),n*2;printf("n=%d\n",n);}
A.22B.23C.24D.25
57.下列选项中,值为1的表达式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0'-'0'
58.有以下程序段
charch;intk;
ch=′a′;k=12;
printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);
已知字符a的ASCII码值为97,则执行上述程序段后输出结果是
A.因变量类型与格式描述符的类型不匹配输出无定值
B.输出项与格式描述符个数不符,输出为零值或不定值
C.a,97,12k=12
D.a,97,k=12
59.下面关于完全二叉树的叙述中,错误的是______。A.A.除了最后一层外,每一层上的结点数均达到最大值
B.可能缺少若干个左右叶子结点
C.完全二叉树一般不是满二叉树
D.具有结点的完全二叉树的深度为[log2n]+1
60.堆排序是一种()排序。
A.插入B.选择C.交换D.归并
四、选择题(20题)61.算法分析的目的是()。
A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进
62.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间
63.
64.
65.
66.有如下程序段:inta=14,b=15,x;charc=A;x=(a&&b)&&(c<B):执行该程序后,x的值为()。A.trueB.falseC.0D.1
67.有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是
A.sets(&s[0]);
B.scarf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
68.有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是()。
A.a%(int)(x-y)B.a=x!=y;C.(a*y)%bD.y=x+y=x
69.
70.有以下程序:
voidfun2(chara,charb){printf(”%c%c”,a,b);}
chara='A',b='B';
voidfunl(){a='C';b='D';}
main()
{funl();
printf("%c%c",a,b);
fun2('E','F');
}
程序的运行结果是()。A.A.CDEFB.ABEFC.ABCDD.CDAB
71.
72.
下列程序的输出结果是()。
#include<stdio.h>
voidp(int*x)
{printf("%d¨,++*x);
}
voidmain()
{inty=3;
p(&y);
}
A.3B.4C.2D.5
73.
74.
75.
76.以下程序的输出结果是()。
main()
{charst[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.99
B.520
C.1320
D.2020
77.以下选项中关于程序模块化的叙述错误的是()。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.把程序分成若干相对独立的模块,可便于编码和调试
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
78.有如下程序段
#include"stdio.h"
main()
{intk[10];
intj;
for(j=0;j<10;j++)
scanf("%d",&k[j]);
for(j=9;j>=0;j--)
printf("%d",k[j]);}
则程序段实现的功能是
A.输入10个数据的顺序输入并输出
B.输入10个数据的逆序存放
C.输入10个数据的逆序输出
D.以上叙述均错误
79.
80.
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:求S的值。设例如,当k为20时,函数的值应为1.551759。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
参考答案
1.D
2.A根据题目中的定义可以知道sizeof(p),计算的是数组P中所有元素所占用的字节数,而不是ch”型数据所占字节数。
3.B
\n本题考查结构体指针变量的赋值方法,要把结点b连接到结点;l的后面,必须把b的地址给a的next指针。故8正确。
\n
4.B
5.C解析:这是一道考查fread函数的题。buf是一个指针,fread是读入数据的存放地址;fwrite是输出数据的地址(以上指的是起始地址)。
6.B二维数组定义的一般形式是:类型说明符数组名[常量表达式1][常量表达式2]。其中常量表达式1表示第1维长度,常量表达式2表示第2维长度。若对二维数组的全部元素赋初值,第1维长度可以不给出。但如果只确定行数,而不确定列数,就无法正确赋值。故本题答案为B选项。
7.A
8.C解析:在格式化模型中,要事先根据应用的需要,确定数据之间的逻辑关系,即先对数据进行结构化。在关系模型中,不需要事先构造数据的逻辑关系,只要将数据按照一定的关系存入计算机,也就是建立关系。所以选项A错误。对于一个表示关系的二维表,其最基本的要求是表中元组的每一个分量必须是不可分的数据项,即不允许表中再有表。所以,选项B、D说法是错误的。一个关系的属性名表称为关系模式,也就是二维表的表框架,相当于记录型。因此,选项C说法正确。
9.D解析:C语言觌定,实参变量对形参变量的数据传递是“值传递”,只由实参传给形参,而不能由形参传回来给实参。函数调用结束后,形参单元被释放,实参单元仍保留并维持原值。本题要求输出aa[0]的值,结果应为1。
10.B解析:条件表达式的形式为:“表达式1?表达式2:表达式3”。其含义为:当“表达式1”的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件表达式的值;当“表达式1”的值为零时,求出“表达式3”的值,此时“表达式3”的值就是整个条件表达式的值。对于本题来说,当表达式EXP为非0值时条件成立,即执行语句i++;当EXP等于0时,执行语句j--;这等同于条件表达式“(EXP!=0)?i++:i++;”。
11.B解析:本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。
12.C文件由数据序列组成,可以构成二进制文件或文本文件。故本题答案为C选项。
13.D解析:本题主要考查关于if语句的说明,if后面圆括号中的表达式,可是任意合法的C语言表达式(如:逻辑表达式、关系表达式、算术表达式、赋值表达式等),也可以是任意类型的数据(如:整型、实型、字符型、指针型等。)
14.Cscanf函数要求为:输入的变量为地址形式。4个选项中,C选项符合要求。故本题答案为C选项。
15.D首先定义了一个指向一维数组b的指针P,一个指向指针P的指针变量q;输出*(p++)是先输出*p,即b[O]的值,再将指针P指向数组的下一个元素b[1];输出**q是输出指针P所指单元的内容。
16.D解析:本题考核的知识点是在自加运算符的运算对象。自加运算对象可以是整型变量也可以是实型变量,但不能是表达式和常量。本题中,#defined2定义了d为常数2,不能在对d进行自加运算.故选项D是个不正确的语句,所以,4个选项中选项D符合题意。
17.D解析:运行时输入该命令后,参数argc的值为4,字符串数组argv[1]、argv[2]、argv[3]分别为“12”、“345”、“678”,然后取这3个参数的第一个字符,将其转化成原来的数字并组合成一个新的三位数。
18.C解析:在C语言中,实数有两种表示形式:十进制数形式与指数形式。
1)一般形式的实数:小数形式的实数由整数部分、小数点和小数部分组成(必须要有小数点)。
2)指数形式的小数:指数形式的实数由尾数部分、e(E)和指数部分组成(字母e或E的前后必须要有数字,且其后面的指数必须为整数)。选项A中,5E2.0中E后面的2.0不是整数;选项B中,E前面没有数字;选项D中,E后面没有数字。
19.B
20.D
21.88解析:本程序定义了3个指针变量p1、p2、p,并且将,、b的地址分别赋给P1、p2,则*p1=a=2,*p2=b=4,所以表达式*p1*(*p2)的值是8。在赋值语句的左边是*(p=&c),即使指针p指向了变量c,因而*(p)代表了c的存储单元,赋值语句“*(p=&c)=*p1*(*p2);”是把整数8赋给了变量c。
22.模式或逻辑模式或概念模式模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等。
23.存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。可知,循环队列应当是物理结构。
24.a[0][I]b[I][0]a[0][I],b[I][0]解析:b[i][N-1]=a[0][i]实现把a所指二维数组中的第0行放到b所指二维数组的最后一列中,\ue008b[I][0]=a[N-1][I]实现将a所指N行N列的二维数组中的最后一行放到b所指二维数组中的第0列。
25.66
26.880
27.需求获取需求获取解析:软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求获取的目的是确定对目标系统的各方面需求;需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进度的依据;需求评审是对需求分析阶段的工作进行的复审,验证需求文档的一致性、可行性、完整性和有效性。
28.*s++flag==0或*(s-1)==''num*s++\r\nflag==0或*(s-1)==''\r\nnum解析:在统计字符串单词个数的算法中,本题的flag是为了记录一个单词是否结束。第18空应填*s++;如果某个字符不是空格,则必需判断它是否是单词,如是,则使得flag的标志为1,num的值加1。本题判断方法是:先判断s所指向的字符是否为空格,如果是则使得flag=0,否则判断前一个字符是否是空格,如果是则说明这个字符是一个单词的开始,将flag标志为1,num的值加1,如果不是,则不必记录。故第19空应flag==0或*(s-1)=='';最后一个空格需填写的是返回的单词的个数,即num。
29.事务型事务型解析:数据流图中有众多的加工,但必有一个加工是起核心作用的,即中心加工。由数据流图导出结构图的关键是找出中心加工。一般来说,中心加工有两种存在形态,即数据流图的两种典型结构形式:变换型和事务型。
30.软件工程管理软件工程管理解析:软件工程足指,采用工程的概念、原理、技术和方法指导软件的开发与维护:软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。即软件工程研究的内容主要包括:软件开发技术和软件工程管理。
31.封装封装
32.33解析:本题考查的是C语言逗号表达式的相关知识。程序在计算逗号表达式时,从左到右计算由逗号分隔各表达式的值,整个逗号表达式的值等于其中最后一个表达式的值。本题中,首先i被赋值为2,再自加1,最后i++的值计算为3。
33.1515解析:在函数f()中只有一条if语句,如果n不小于1,则返回f(a,n-1)+a[n-1];否则返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3],……直到f(aa,0)返回0。故f(aa,5)实际返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本题最终输出15。
34.ACEACE解析:在本题中,for循环体每执行完一次,变量i的值自加两次。i的初值为\'a\',执行一次循环后变为\'c\',之后再变成\'e\',当其变为\'g\'时,循环条件若不满足,循环终止,故本题共输出3个字符。表达式'i-\'a\'+\ue008\'A\'\ue009'即表示输出i对应的大写字母,结果为ACE。
35.113399
36.静态分析静态分析解析:程序测试分为静态分析和动态测试。其中,静态分析是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
37.数据存储数据存储
38.交换排序交换排序解析:常见的排序方法有插入排序(包括简单插入排序法和希尔排序法等)、交换排序(包括冒泡排序和快速排序法等)和选择排序(包括简单选择排序和堆排序等)。注意:常见的排序方法及其作用机制和区别。
39.a*b*c*da*b*c*d,解析:在insert()函数,因为题目要求输入的字符串为abed,所以执行完“i=strlen(str);”后,i中存放的是字符串abcd的长度值4。所以接F来的while循环会循环4次,每次让i减1,故4次循环中i的值依次为4、3、2、1。每次循环会执行两条语句str[2*i]=str[i];str[2*i-1]='*',当i=4时为:str[8]=str[4];str[7=='*';。执行结果是将字符串abed末尾的结束符'\\0'复制到其下标值2倍的位置,并在其前1位插入—个'*'哼符。接下来i=3,执行str[6]=str[3];str[5]='*'。执行后会将字符串abcd最后一个字符,d复制到其下标值2倍的位置,并在其前1位插入一个'*'字符。依次类推,直到i=1,执行str[2]=str[1];str[1]='*',将字符tb,往后移动了1位,并在原位置插入'*'字符。所以,循环结束后,字符串str会变为a*b*c*d*。这就是程序的输出结果。
40.结构结构解析:路径测试是白盒测试方法中的—种,它要求对程序中的每条路径最少检查一次,目的是对软件的结构进行测试。
41.A解析:在第一次执行for循环时,字符数组的首地址赋给了指针变量p,使得指针变量p指向了s的首地址,输出p所指向的字符串;第二次执行for循环时,p值增加1,p指向了s的第二个元素输出BCD;第三次输出CD;第四次输出D;直到P指向字符串的结束字符“\\0”,for循环终止抽行。
42.DD)【解析】数据库管理一般包括:数据库的建立、数据库的调整、数据库的重组、数据库的安全性控制与完整性控制、数据库的故障恢复和数据库的监控。
43.A
44.A解析:i从i到5循环5次,i为1时,满足条件,打印输出“#”;i为2时,条件为假,打印输出“*”。也就是说,当i为奇数时,条件为真,程序打印输出“#”,否则,输出:“*”。
45.A解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式;(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。
46.A解析:在switch语句中break语句的作用是退出分支语句,若没有break语句则一直向下执行。本题中首先计算switch后面括号里的表达式a%3,印15%3为0;执行case0:后面的语句m++;m自加1,即m为1遇到break语句;然后跳出switch语句,所以最后输出的m的值为1,所以选项A正确。
47.C
48.CC。【解析】SQL语言的全称为StructuredQueryLanguage,它是一种介于关系代数与关系演算之间的结构化查询语言,是一种面向数据库的通用数据处理语言规范。它包含数据查询语言、数据操纵语言、数据定义语言和数据控制语言4个部分。
49.A解析:黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据功能导出测试用例。注意:白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试也称为逻辑覆盖测试,故选项B)不正确;错误推测法只是黑箱测试所使用的一种具体的方法,故选项C)不正确;安装测试是测试层次中的一种,它属于高级测试,故选项D)不正确。注意:常用的黑箱测试方法及其定义,白箱测试用例的准则。
50.A解析:函数声明是对所用到的函数的特征进行必要的声明,编译系统以函数声明中给出的信息为依据,对调用表达式进行检测,以保证调用表达式与函数之间的参数正确传递。函数声明的一般格式为:
类型标识符函数名(类型标识符形参,…);
这些信息就是函数定义中的第一行的内容。这里形参的名字是不重要的,重要的是类型标识符,函数声明中也可以不写形参名只写该形参的声明类型,但不能只写形参名而不写该形参的类型。本题中,选项A中doublemyadd(doublea,b),没写出形参b的类型。
51.D解析:continue语句的作用是用于结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。由于'w'>'d',执行continue语句,结束本次循环(即跳过p++;语句),还是继续比较'w'>'d',程序进入死循环。
52.B解析:所谓的线性结构:如果一个非空的数据结构满足下列两个条件,即
1)有且只有一个根结点;
2)每一个结点最多有一个前件,也最多有一个后件。同时满足两个条件的只有线性表,而其他三种数据结构的结点可能存在多个前件或后件,所以不是线性结构。
53.A解析:可以赋初值的字符串一定是用字符数组存储的,选项B不对,它是将字符指针变量指向一个字符串常量;选项C中字符数组t需要6个字节的存储空间:选项D是错误的形式,数组名是常量。
54.D
55.C解析:y的初值为9,所以在for循环中,当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值。因为自减符号在y的前面,所以首先y自减1,然后再输出y的值,故输出结果为852。
56.C
57.B解析:在C程序中,字符量可参与任何整数运算。字符参与运算时,首先要将字符转换为对应的ASCII码值再参与整数运算。字符'1'对应的ASCII码值是49,字符'0'对应的ASCII码值是48,字符'\\0'是字符串结束标识符NULL,其对应的ASCII码值是0。
58.D解析:考查printf函数的相关知识。如果要一次进行多个变量的定义,则在它们之间要用逗号隔开,因此选项A)和C)错误。在选项C)中,变量c是一个浮点型指针,它只能指向一个浮点型数据,不能指向指针变量b,所以正确答案为B)。输出格式控制符%c表示将变量以字符的形式输出;输出格式控制符%d表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为a,97;第二个输出语句输出的结果为k=12。所以选项D)为正确答案。
59.B解析:这里考察完全二叉树与满二叉树的定义及二叉树的性质。满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。因此选项A是正确的,而选项B是错误的。由定义可知,满二叉树肯定是完全二叉树,而完全二叉树一般不是满二叉树,因此选项C是正确的叙述。选项D即二叉树性质(5),也是正确的。
60.B解析:堆排序是一种选择排序。选择排序有直接选择排序和堆排序两种。
61.D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度;提高算法的执行效。率。
62.D解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
63.A
64.A
65.A
66.D在C语言中,当表达式成立时用l表示,不成立时用0表示,即x=(a&&b)&&(c<B)=(14&&15)&&(A<B)=1&&1=1,故选择D选项。
67.D解析:在格式输入中,要求给出的是变量的地址,而D)答案中给出的s[1]是一个值的表达式。
68.B选项中如果x与Y的值相等那么取余时就会有除数为0的情况。C)选项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年商贸安全培训内容核心要点
- 2026年电信安全培训记录内容重点
- 护士节活动策划方案
- 齐齐哈尔市富裕县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 黄南藏族自治州尖扎县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年节假日公司安全培训内容深度解析
- 昌吉回族自治州木垒哈萨克自治县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年消防协会安全培训内容重点
- 绵阳市涪城区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 丽江地区永胜县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 夜间生产管理办法
- 《智慧物流概论》试卷及答案 共2套
- 税务讲解社保费课件
- T/CI 467-2024复合集流体(铜箔)
- 《赤壁之战》课本剧剧本:感受三国英雄的壮志豪情
- T-CPI 11029-2024 核桃壳滤料标准规范
- 9.5 美国(第2课时 高度发达的经济 人口与城市) 课件 2024-2025学年地理湘教版七年级下册
- 骨灰堂管理制度
- 冰雪运动知识普及课件
- (重庆康德二诊)2025年重庆市高三第二次联合诊断检测 语文试卷(含答案解析)
- 电梯年度维修保养项目及要求
评论
0/150
提交评论