版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年辽宁省营口市全国计算机等级考试C语言程序设计真题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若有定义语句:“intyear=2009,*p=&year;”,以下不能使变量year中的值增至2010的语句是()。
A.*p+=1;B.(*p)++;C.++(*p);D.*++P
2.以下是根据文件大小分配存储空间的一个算法伪代码,请问其空间复杂度是多少()A.O(n)B.O(n^2)C.O(2^n)D.O(n*log(n))
3.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
A.log2nB.n2C.O(n1.5)D.n(n-1)/2
4.有以下程序:
执行后输出结果是()。
A.n,tuesdayB.d,mondayC.U,mondayD.0,wednesday
5.有以下程序:#include<stdio.h>main{intx=4,y;do{y=x;if(!y)printf(“x”);elseprintf(“y”):x--;}while(x);}程序的输出结果是()。A.xyyxB.yyyyC.yyxxD.yxyx
6.判断一个顺序存储的队列sp为空的条件是()。
A.sp->front=sp->rear
B.sp->front=sp->rear+1
C.sp->front=sp->rear-1
D.sp->front=NULL
7.
8.一个队列的入队序列是a,b,c,d,则出队序列是()。
A.a,b,c,dB.a,c,b,dC.d,c,b,aD.a,c,b,d
9.使用堆排序方法排序(45,78,57,25,41,89),初始堆序列()
A.78,45,57,25,41,89
B.89,78,57,25,41,45
C.89,78,25,45,41,57
D.89,45,78,41,57,25
10.
11.判断一个循环队列cq(最多元素为m)为空的条件是()。A.cq->rear-cq-front=m;
B.(cq->rear+1)%m=cq->front;
C.cq->front=cq->rear;
D.cq->rear=m-1;
12.有以下程序:#includeMain(){intb[3][3]={0.1,2.0,1,},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);程序运行后的输出结果是()。A.3B.4C.1D.9
13.在一个被调用函数中,关于return语句使用的描述,()是错误的。
A.被调用函数中可以不用return语句
B.被调用函数中可以使用多个return语句
C.被调用函数中,如果有返回值,就一定要有return语句
D.被调用函数中,一个return语句可以返回多个值给调用函数
14.
15.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
16.设有定义语句:doublex=123.456;则语句printf(“%6.2f,%3.0f\n”,x,x);的输出结果是()。
A.123.46,123.0B.123.45,123C.123.46,123D.123.45,123.
17.以下语句中,正确制作电子邮件链接的是()。
18.若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值()。
A.0B.1C.12D.6
19.队和栈的主要区别是________
A.逻辑结构不同B.存储结构不同C.所包含的运算个数不同D.限定插入和删除的位置不同
20.以下叙述中正确的是()A.当对文件的读(写操作完成之后,必须将它关闭,否则可能导致数据丢失
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D.语言中的文件是流式文件,因此只能顺序存取数据
二、2.填空题(20题)21.以下程序中函数fun的功能是:构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。
#include<stdio.h>
typedefstructnode/*链表结点结构*/
{charsub[3];
structnode*next;
}Node;
Nodefun(chars)/*建立链表*/
{……}
voiddisp(Node*h)
{Node*p;
p=h->next;
while(【】)
{printf("%s\n",P->sub);p=【】;}
}
main()
{Node*hd;
hd=fun();disp(hd);printf("\n");
}
22.以下程序运行后的输出结果是【】。
#defineS(x)4*x*x+1
mah()
{inti=6,j=8;
printf("%d\n",S(i+j));
}
23.有下面的程序:
#include<stdio,h>
main()
{enumteam{my,your=4,his,her=his+10};
prinff("%d%d%d%d\n",my,your,his,her);
此程序的输出结果是【】。
A)0123B)04010C)04515D)14515
24.有以下程序段,且变量已正确定义和赋值。
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k/1));
printf("s=%f\n\",s);
请填空,使下面程序段的功能与之完全相同。
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s-=%f\n\n",s);
25.没有chara,b;,,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的二进制是【】。
26.以下程序的输出结果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\N,*p,*q))
}
27.设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。(注:try_me()函数在a:\myfile.txt中有定义。)
______
main()
{printf("\n");
try_me();
printf("\n");}
28.若x、y和z均是int型变量,则执行下面表达式后的x值为【】。
x=(y=4)+(z=3)
29.本程序用改进冒泡法对数组a[n]的元素从小到大排序,请在程序空白处填空。
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
30.以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。
structnode
{intinfo;
【】link;};
31.在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
32.以下程序的输出结果是#include<stdio.h>structstiintx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&it[0],60,&dt[0],};main(){p=aa;printf("%d\n",++(p->x));}
33.x和y都是double型变量,x的初值为4.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为______。
34.以下程序运行后的输出结果是______。
main()
{
intp[7]={11,13,14,15,16,17,18);
inti=0,j=0;
while(i<7&&p[i]%2==1)
j+p[i++];
printf(“%d\n”j);
}
35.以下程序运行后的输出结果是【】。
#include<stdio.h>
intf(ihta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
main()
intaa[5]={1,2,3,4,5},s;
s=f(aa,5);prinff("%d\n",s);
}
36.以下程序运行后的输出结果是______。
inta=5;
fun(intB)
{staticinta=10;
a+=b++;
printf("%d",A);
}
main()
{intc=20;
fun(C),
a+=C++;
printf("%d\n",A);
}
37.若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
38.数据库理论中,数据的独立性一般可分为物理独立性和______。
39.下列二维数组初始化语句中,正确且与语句floata[][3]={0,3,8,0,9};等价的是
40.软件的【】设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。
三、1.选择题(20题)41.下面关于完全二叉树的叙述中,错误的是______。
A.除了最后—层外,每—层上的结点数均达到最大值
B.可能缺少若干个左右叶子结点
C.完全二叉树—般不是满二叉树
D.具有结点的完全二叉树的深度为[log2n]+1
42.当运行以下程序时,从键盘输入AhaMA(空格)Aha<CR>,则下面程序的运行结果是
#include<stdio.h>
main()
{chars[80],c=′a′;
inti=0;
scanf("%s",s);
while(s[i]!=′
{if(s[i]==c)s[i]-32;
elseif(s[i]==c-32)s[i]=s[i]+32;
i++;}
puts(s);}
A.ahaMaB.AbAMaC.AhAMa[空格]ahAD.ahAMa[空格]ahA
43.下列程序的运行结果是()。#include<stdio.h>main(){staticchara[]="Languagef",b[]="programe";char*p1,*p2;intk;p1=a;p2=b;for(k=0;k<=8;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));}
A.gaeB.angC.programD.有语法错
44.设有如下的程序段:charstr[]="Hello";char*ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为()。
A.'o'B.'\0'C.不确定的值D.'o'的地址
45.若执行下面程序时从键盘上输入5,main(){intx;scanf("%d",&x);if(x++>5)printf("%d\n",x);elseprintf("%d\n",x-);则输出是______。
A.7B.6C.5D.4
46.下面不属于静态测试方法的是()
A.代码检查B.白盒法C.静态结构分析D.代码质量度量
47.以下叙述中正确的是______。A.调用printf函数时,必须要有输出项
B.使用putchar函数时,必须在之前包含头文件stdio.h
C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
48.有以下程序
main()
{inta[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
for(k=j+1;k<4;k++)
if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/
for(i=0;i<4;i++)printf("%d,",a[i][i]);
}
程序运行后的输出结果是
A.1,6,5,7,B.8,7,3,1,C.4,7,5,2,D.1,6,2,1,
49.若要求从键盘读入含有空格字符的字符串,应使用函数
A.getc()B.gets()C.getehar()D.scanf()
50.对于长度为n的线性表,在最坏情况下,下列各种排序法所对应的比较次数中正确的是()。
A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-1)/2
51.若有如下程序:sub(int*t,intn){int*p1,*p2;for(p1=t,p2=t;p1-t<n;p1++)if(*p1<*p2)p2=p1;return(*p2);}main(){inta[9]={9,36,19,39,26,5,6,33,15};printf("%d\n",sub(a,9));}则程序运行后的输出结果是()
A.5B.9C.15D.39
52.结构化程序设计主要强调的是______。
A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性
53.阅读以下程序#include<stdio.h>main(){IntCase;floatprintF;printf("请输入2个数:");scanf("%d%f",&Case,&printF);printf("%d%f\n",Case,printF);}以下说法正确的是()。
A.定义浯句出错,Case是关键字,不能用作用户自定义标识符,printF不能用作用户自定义标识符
B.定义语句出错,Int无法被识别
C.定义语句无错,scanf不能作为输入函数使用
D.定义语句无错,printf不能输出Case的值
54.下面说明不正确的是()。
A.chara[10]="china";
B.chara[10],*p=a;p="chiua";
C.char*a;a="china";
D.chara[10],*p;p=a="china";
55.请读程序:#includde<stdio.h>#include<string.>voidfun(char*s){chara[10];strcpy(a,"STRING");s=a;}main(){char*p;fun(p);print{("%s\n",p);}上面程序的输出结果(表示空格)()
A.STRINGB.STRINGC.STRINGD.不确定的值
56.有以下程序段:intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
A.55566B.566C.7777D.566777
57.某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为()。
A.148B.169C.182D.198
58.下列关于栈的叙述中正确的是()
A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表
59.软件开发模型包括Ⅰ、瀑布模型Ⅱ、扇形模型Ⅲ、快速原型法模型Ⅳ、螺旋模型
A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅱ、ⅣC.Ⅰ、Ⅲ、ⅣD.Ⅱ、Ⅲ、Ⅳ
60.若有定义语句:intx=3,y=2,z=1;,表达式:2*=(x>y?++x:y+)的值是
A.4B.0C.1D.3
四、选择题(20题)61.
62.
63.表达式'5'-'1'的值是()。A.A.整数4B.字符4C.表达式不合法D.字符6
64.有以下程序#includemain{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是()。A.741B.963C.852D.875421
65.
66.阅读以下程序及对程序功能的描述,其中正确的描述是
#include<stdio.h>
main()
{
FILE*in,*out;
charch,infile[10],outfile[10];
printf("Entertheinfilename:\n");
scanf("%s",infile);
printf("Entertheoutfilename:\n");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{
printf("cannotopeninfile\n");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("cannotopenoutfile\n");
exit(0);
}
while(!feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中
D.程序完成将两个磁盘文件合并后在屏幕上输出
67.有以下程序:
#include<stdi0.h>
main()
{inta=1,b=2;
for(;a<8;a++){b+=a;a+=2;)
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是()。
A.9,18
B.8,11
C.7,11
D.10,14
68.有以下程序:
程序执行后的输出结果是()。
A.2B.3C.7D.0
69.
70.有以下说明和定义语句
structstudent
{
intage;charnum[8];
};
structstudentstu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
structstudent*p=stu;
以下选项中引用结构体变量成员的表达式错误的是
A.(p++)->numB.p->numC.(*p).numD.stu[3].age
71.
72.
73.
74.
75.若程序中有宏定义行:
76.
77.
78.栈和队列的共同特点是()。
A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点
79.
80.数据流图中带有箭头的线段表示的是()。
A.控制流B.事件驱动C.模块调用D.数据流
五、程序改错题(1题)81.下列给定的程序中,函数proc的功能是:用选择法对数组中的m个元素按从小到大的顺序进行排序。例如,排序前的数据为:1132-5214则排序后的数据为:-52111432请修改程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>#defineM20voidproc(inta[],intn){inti,j,t,P;//****found****for(j=0;j<n-1;j++);{p=j;for(i=j;i<n;i++)if(a[[i]<a[p])p=i;t=a[p];a[p]=aEj3;//****found****a[p]=t;}}voidmain{intarr[M]={11,32,-5,2,14},i,m=5;printf("排序前的数据:");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");proc(arr,m);printf("排序后的顺序:");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");}
六、程序设计题(1题)82.请编写函数proc(),该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。例如,若二维数组中的数据为:
WWW
SSS
HHH
III
则字符串中的内容应是WSHIWSHIWSHI。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
试题程序:
参考答案
1.D
2.C
3.D解析:假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。
4.CP指向字符串”tuesday”,因此*(P+1)的值为n。s[0]=”monday”。
5.B本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。
6.A
7.C
8.A
9.B
10.D
11.C
12.B
13.D
14.B
15.AB选项中运算符“%”的运算对象为整数。C选项中不能将变量赋给表达式“x+n”。D选项中不能将表达式“4+1”赋给常量5。故本题答案为A选项。
16.C对于double类型的实数,可以在printf函数的格式化字符串中使用”n1.n2”的形式来指定输出宽度(n1和n2分别代表一个整常数)。其中n1指定输出数据的宽度(包括小数点),n2指定小数点后小数位的位数,n2也称为精度。当输出数据的小数位多于n2位时,截取右边多余的小数,并对截取部分的第1位小数做四舍五入处理;当输出数据的小数位少于n2时,在小数的最右边补0,使得输出数据的小数部分宽度为n2;如果指定“n1.0”格式,则不输出小数点和小数部分。题干中,%6.2f表示输出6位宽度,2位小数,所以被截取的小数位为0.006,进行四舍五入,结果为123.46;%3.0f表示输出3位宽度,0位小数,结果为123。故本题答案为C选项。
17.C
18.A
19.D
20.AB)选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C)选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第1个数据,可以用fseek()函数进行重新定位即可。D)选项中,C语言中的文件可以进行随机读写。
21.p!=NULLp->nextp!=NULL,p->next解析:考查了单链表的相关知识。NULL的ASCII码的值和'\\0'的ASCII码的值相等,条件到NULL停止循环。把下一个节点的地址赋给p,这样循环,节点可以依次向后取值。
22.8181解析:本题的宏调用S(i+j)将被替换成表达式4*i+j*i+j+l等于4*6+8*6+8+1=24+48+8+1=81。所以本题输出81。
23.CC解析:枚举的语法规定,当枚举元素没有赋值时,如果前面没有其他枚举元素,其值为0;如果前面有其他枚举元素,其值为前一个元素的值加1,所以his的值为5,her的值为15。
24.k<=n或n>=kk++k<=n或n>=k\r\nk++解析:while语句和for语句的作用都是循环控制语句的执行,两者之间是可以互相转换的。将while(EXP)转换为for语句可以写成for(;EXP;);将for(EXP1;EXP2;EXP3)转换为while语句可以写成:EXP1;while(EXP2){...EXP3;}。故本题的两个空分别应填写for语句的第2和第3个表达式。即k<=n或n>=k和k++。当然也可写成与之等价的其他形式。
25.1000001010000010解析:运算“&”的规则是只有当两个相应的二进制位都为1时,该位的结果才为1。要保留第2、8位,只要将其与二进制数10000010相与。
26.3535解析:函数swap(int*a,int*b)的功能是实现*a和*b中两个数据的交换,在主函数中调用swap(p,q)后,形参指针变量a和b分别指向i和j,在swap(int*a,int*b)执行完后,指针变量a和b分别指向j和i,而指针变量p,q所指向变量的值没有发生变化,所以输出结果为35。
27.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本题考查了函数的存储分类的概念。如果没有特别说明,函数的存储范围是从定义函数的位置到文件的结尾,如果其他文件想使用这个函数,需要用ginclude文件包含命令将定义函数的文件包含进来。
28.77解析:x=(y=4)+(z=3)等价于y=4,z=3,x=y+z=4+3=7。
29.n-1jn-1\r\nj解析:此题采用了do…while循环内嵌for循环的双层循环结构来实现了数组元素的排序。数组元素通过首地址和数组下标的方式来引用的。
30.structnode*structnode*解析:本题中的结构类型名为structnode,所以空白处应填:structnode*。即定义一个指向自身的结构体指针。
31.自顶向下自顶向下解析:在程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
32.C
33.1616解析:函数运算不改变数据类型,所以结果也是double型,fabs(x)是对x取绝对值,pow(y,fabs(x))是y的labs(x)次幂,即2.04。0=16.000000(注意;结果为double型)。
34.2424解析:本题考核的知识点是数组的定义和数组元素的引用。主函数中首先定义了一个长度为7的数组,然后用一个while循环引用数组的元素,当i大于7或者p[i]为偶数时,循环结束。显然当i=2时,p12]=14为偶数时,循环结束,此时j的值为j=p[0]+p[1]=24;
35.1515解析:程序通过递归调用实现求数组aa各元素之和,即a[4]+a[3]+a[2]+a[1]+a[0]=15。
36.30253025解析:本题考核的知识点是变量的存储属性和算术运算的应用。本题涉及了自动变量、静态变量和外部变量。外部变量是定义在所有函数之外的变量,本题中inta=5定义了一个外部变量a,它是一个全局变量,即作用域是从定义的位置开始到本文件的结束;静态变量的存储空间在程序的整个运行期间是固定的(static),本题函数fun()中staticinta=10定义个一个静态变量a,此静态变量a是个静态的局部变量,即它的值只能在本函数中使用;自动变量是C程序中使用最多的一种变量,它的建立和撤消都是由系统在程序执行过程中自动进行的,auto是自动变量的存储类别标识符,如果省略auto,系统隐含认为此变量为auto,本题中main()中intc=20定义了一个自动变量c,此自动变量c是个静态的局部变量.算术运算中a+=b++相当于a=a+b,b=b+1.所以,在第一个ptine('%d',a)中a=a+b=10+20=30,第二个printf('%d',a)中a=a+c=5+20=25,即输出3025。
37.33解析:这里:b-5=4,a-=4之后a的值为6,并把它赋给c。此时b的值并未被改变。在第2个表达式中,也只有赋值表达式b=3改变了b的值。所以两行语句执行完毕,b的值应该为3。
38.逻辑独立性逻辑独立性解析:数据的独立性一般可分为物理独立性和逻辑独立性。
39.B
40.概要概要
41.B解析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后—层上只缺少右边的若干子结点(叶子结点)的二叉树。
42.A解析:本题主要考查的知识点是大写字母比它对应的小写字母ASCII码值小32,并且字符可以看作整数进行算术运算等操作。
43.A解析:本题考查指针的用法,if(*(p1+k)==*(p2+k))语句的功能是判断两个数组中的字符是否相同,如果相同则输出。
44.B解析:本题考查字符数组的结束标志。ptr=str是将串str的首地址赋给了指针变量ptr,所以ptr+5指向字符串str的第六个数组元素,即是串的隐含结束标志'\\0',*(ptr+5)='\\0',最后的结果为'\\0'。
45.B解析:根据C语言的语法,X++是在使用x之后,再将x的值加1,在if语句中,x的值为5,条件不成立,执行else后面的语句,因为x的值已经加1,为6,所以打印结果为6。
46.B解析:白盒测试按照程序内部的逻辑测试程序,检验程序中的每条路径能否按预定要求工作,白盒测试又称单元测试,它不属于基于代码分析的静态测试。故正确选项为B项。
47.B解析:本题考查了C语言的一些基本概念.printf()函数可以只有控制项而没有输出项,例如:printf('Hello!');,所以选项A不正确。C语言中不支持整数以十二进制输出,因此选项C不正确。getchar()函数从键盘读入一个字符,而不管该字符为数字还是字母,因此输入ASCII码的话,只能读到第1个数字字符,所以选项D不正确。故应该选择B,putchar是C语宫中的库函数,使用时必须包含sMio.h。
48.A解析:本题利用多重for循环的嵌套来实现对二维数组元素的按列排序。利用最外层循环来实现对列的控制。内部循环利用选择法对数组元素按照从小到大的顺序进行排列,最后输出对角线上的元素值。
49.B解析:scanf()语句用“空格”区别不同的字符串;getc()与getchar()语句不能用于字符串的读入。
50.D在最坏情况下,冒泡排序和快速排序的比较次数都是n(n一1)/2。【知识拓展】所谓冒泡排序,就是将相邻的两个数据比较,如前面的数据大于后面的,则位置互换。这样不停地比较、互换,其实就是把大的数往后排,小的数往前排(就像冒泡一样冒出来了)。
51.A
52.B解析:采用结构化编程方法的好处主要在于:一是便于控制、降低程序的复杂性,因此便于编写程序。二是程序清晰易读,可理解性好。因此,结构化程序设计主要强调的是程序的易读性,而不是程序的规模、程序的执行效率和程序的可移植性。
53.B解析:C语亩足一种大小写敏感的语言,因此Int应为int,而CaseprintF则可以使用。
54.D解析:C语言中操作一个字符串常量的方法有:
①把字符串常量存放在一个字符数组之中。
②用字符指针指向字符串,然后通过字符指针来访问字符串存储区域。
当字符串常量在表达式中出现时,根据数组的类型转换规则,它被转换成字符指针。
本题选项D)错误的关键是对数组初始化时,可以在变量定义时整体赋初值,但不能在赋值语句中整体赋值。
55.D
56.B解析:本题scanf()函数的格式化控制串中,'%2d'表示输入一个2位的整数:'%f'表示输入一个浮点数;'%s'表示输入一个字符串。因此,从键盘上输入'555667777abe'后,前两位'55'被当作2位整数输入给j;'566'被当作浮点数输入给y;跳过空格后,剩下的字符串'7777abc'全部输入给name。故本题应该选择B。
57.B解析:本题考查二叉树的性质。叶子结点即度为0的结点,它总是比度为2的结点多一个,所以,具有60个叶子结点的二叉树有59个度为2的结点。总结点数等于个叶子结点加上59个度为2的结点再加上50个度为1的结点的和,一共为169个结点。
58.D解析:栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素,所以栈也被称为“先进后出”表或“后进先出”表。
59.C解析:软件开发模型包括瀑布模型、快速原型法模型和螺旋模型。
60.A解析:本题考查了条件表达式和自加运算。首先判断x>y这个关系表达式的值,通过计算知其值为真,所以关系表达式的值为++x(为4),最后执行z*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南京市2027届高三上学期9月学情调研化学试卷(含答案)
- 2026-2027学年人教版四年级数学上册第六单元条形统计图培优验收综合卷(含答案)
- 2026九年一贯制学校名班主任工作室专题培训课件:班主任的情绪管理与自我调节
- 尖锐湿疣的护理与预防
- 2026新学期小学生心理健康教育课件
- 2026新学期社区居民加强灾害预警守护生命安全课件
- 2025-2026年生物多样性保护与生态保护法律法规模拟试卷
- 2025-2026年计算机网络基础与安全知识巩固习题
- 2026年浙江省部编版初中数学下册第3单元同步练习题
- 2025-2026年江苏省湘教版九年级化学第5课有机化学基础测试题
- 《UI界面设计》高职全套教学课件
- 2026年江苏事业单位招聘(公共基础知识)考试真题及答案
- 2025年江苏泰州市中考语文试卷真题及答案详解(精校打印)
- 2026年餐厅经理测试题及答案
- 《传感器与检测技术》课件 第十三章 生物传感器
- 传统民俗文化节活动策划方案
- 合集-Q/GDW-10248.5-2016-变电(换流)站电气工程施工强制性条文执行记录表-表4-表46
- 2026年3月青少年机器人技术等级考试实际操作试卷二级真题(含答案-在末尾)
- 初中后进生转化工作经验分享
- 2026【内驱力】激活学习内驱力主题班会:从要我学到我要学 教学课件
- 麻醉病人的并发症处理与护理
评论
0/150
提交评论