




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年浙江省舟山市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.下列语句中,说法正确的是______。
A.C程序书写格式严格,每行只能写一个语句
B.C程序书写格式严格,每行必须有行号
C.C程序书写格式自由,每行可以写多条语句,但之间必须用逗号隔开
D.C程序书写格式自由,一个语句可以分写在多行
2.下面描述中,符合结构化程序设计风格的是()。
A.使用顺序、选择和重复(循环.三种基本控制结构表示程序的控制逻辑
B.模块只有一个入口,可以有多个出口
C.注重提高程序的执行效率
D.不使用goto语句
3.
4.若有定义“inta[2][3],*p[3];”,则以下语句中正确的是()。
A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;
5.某二叉树的先序序列和后序序列正好相同,则该二叉树可能是______的二叉树。
A.高度大于1的左单支B.高度大于1的右单支C.最多只有一个结点D.既有左孩子又有右孩子
6.
7.有三个关系R、s和T如下:
由关系R和s通过运算得到关系T,则所使用的运算为()。
A.并B.自然连接C.笛卡尔积D.交
8.下列关于字符串的说法中错误的是
A.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符'\0'作为字符串结束标志
B.'\0'作为标志占用存储空间,计入串的实际长度
C.在表示字符串常量的时候不需要人为在其末尾加入'\0'
D.在C语言中,字符串常量隐含处理成以'\0'结尾
9.以下不能将s所指字符串正确复制到t所指存储空间的是()。A.while(*t=*s){t++;s++;}
B.for(i=0;t[i]=s[i];i++);
C.do{*t++:*s++;}while(*s);
D.for(i=0,j=0;t[i++]=s[j++];);
10.第
3
题
已知:intc[3][4];则对数组元素引用正确的是
A.c[1][4]B.c[1.5][0]C.c[1+0][0]D.以上表达都错误
11.假设下图中每个正方形的边长为1,则从A到Z的最短路径条数为()A.11B.12C.13D.14
12.将两个字符串连接起来组成一个字符串时,选用()函数。A.strlen()B.strcpy()C.strcat()D.strcmp()
13.有以下函数intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函数的功能是()。A.查找X和y所指字符串中是否有\o
B.统计x和Y所指字符串中最前面连续相同的字符个数
C.将Y所指字符串赋给X所指定存储空间
D.统计X和Y所指字符串中相同的字符个数
14.有以下程序:
程序运行后的输出结果是()。
A.0B.1C.2D.3
15.有以下程序:main{inti,j;for(j=10;j<11;j++){for(i=9;i<j;i++)if(!(j%i))break;if(i==j-1)printf("%d",j);}}输出结果是()。A.11B.10C.9D.1011
16.在以下的叙述中,正确的是()。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
17.判定一个顺序栈st(最多元素为MaxSize)为满的条件是()。A.st->top!B.st->top!C.top==-1D.top==MaxSize
18.以下函数的时间复杂度和空间复杂度为()A.T(n)=O(2^n),S(n)=O(n)
B.T(n)=O(1),S(n)=O(1)
C.T(n)=O(2^n),S(n)=O(1)
D.T(n)=O(n),S(n)=O(n)
19.对n个关键字的序列进行快速排序,平均情况下的空间复杂度为_______
A.O(1)B.O(logn)C.O(n)D.O(nlogn)
20.若有说明charc[7]={'s','t','r','i','n','g'};则对元素的非法引用是()。
A.c[0]B.c[9-6]C.c[4*2]D.c[2*3]
二、2.填空题(20题)21.在计算机软件系统的体系结构中,数据库管理系统位于用户和【】之间。
22.若变量n中的值为24,则prnt函数共输出【】行。
voidprnt(intn,intaa[])
{inti;
for(i=1;i<=n;i++)
{printf("%6d",aa[i]);
if!(i%5))printf("\n");
}
printf("\n");
}
23.单元测试又称模块测试,一般采用【】测试。
24.函数voidfun(float*sn,intn)的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti=0;
for(i=0;i<=n;i++)
{f=【】*f;
w=f/(2*i+1);
s+=w;}
【】=s;}
25.在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
26.已有定义:intx;,执行以下语句后的辅出结果是【】。
x=11/3;y=5;
printf("%%d,%%%d\n",x,y);
27.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【】。
28.以下程序运行后的输出结果是()。structNODE{intk;structNODE*link;};main(){structNODEm[5],*p=m,*q=m+4;inti=0:while(p!=q){p->k=++i;p++;q->k=1++;q--;}q->k=i:for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");}
29.在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。
30.以下程序运行后的输出结果是______。
voidswap(intx,inty)
{intt;
t=x;x=y;y=t;printf("%d%d",x,y);
}
main()
{inta=3,b=4;
swap(a,b);printf("%d%d\n",a,b);
}
31.下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include<conio.h>#include<stdio.h>#defineM81intfun(char*ss,charC){inti=0;for(;();ss++)if(*ss==C)i++;returni;}main(){chara[M],ch;printf("\nPleaseenterastring:");gets(A);printf("\nPleaseenterachar:");ch=getchar();printf("\nThenumberofthecharis:%d\n",fun(a,ch));}
32.有以下程序段,且变量已正确定义和赋值。
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);
33.在数据库系统中,实现各种数据管理功能的核心软件称为【】。
34.在最坏情况下,冒泡排序所需要的比较次数为【】。
35.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序运行时,如果从键盘输入:A,B,<CR>,则输出结果为______。
36.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
37.以下程序的输出结果是【】。
#include<stdio.h>
main()
{inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("\n%2d,%2.1f,%2.11f",a,b,C);
}
38.以下程序运行后的输出结果是______。
intf(inta[],intn)
{
if(n>=l)
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);
}
39.下列程序段的输出结果是【】。
main()
{charb[]="Hello,you";
b[5]=0;
printf("%s\n",B);
}
40.以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填空。
main()
{
inti,a[20],sum,count;
sum=count=【】;
for(i=0;i<20;i++)scanf("%d",【】);
for(i=0;i<20;i++)
{
if(a[i]>0)
{count++:
sum+=【】;
}
}
printf("sum=%d,count=%d\n",sum.count);
}
三、1.选择题(20题)41.若有以下说明和定义:typcdefint*INTEGER;INTEGERp,*q;以下叙述正确的是()。
A.p是血型变量
B.p是基类型为int的指针变量
C.q是基类型为int的指针变量
D.程序中可用INTEGER代替int类型名
42.设已定义i和k为int类型变量,则以下for循环语句______。for(i=0;k=-1,k=1;i++,k++)printf("****\n");
A.判断循环结束的条件不合法B.是无限循环C.循环一次也不执行D.循环只执行一次
43.下列程序的输出结果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
44.当说明一个结构体变量时系统分配给它的内存是()。
A.各成员所需要内存量的总和
B.结构中第一个成员所需的内存量
C.成员中占内存最大者所需的容量
D.结构中最后一个成员所需要的内存量
45.下列叙述中正确的是()。
A.C程序由函数组成
B.C程序由主函数构成
C.C程序由函数和过程构成
D.在C程序中无论是整数还是实数,都可以正确无误的表示出来
46.以下选项中错误的是()
A.char*sp;gets(sp);
B.charsp[5]gets(sp);
C.char*sp="12345";gets(sp);
D.charsp[5]="\0"gets(sp)
47.有以下程序:structs{intx,y;)data[2]={10,100,20,200);main(){structs*p=data;printf("%d\n",++(p->x));}程序运行后的输出结果是()。
A.10B.11C.20D.21
48.假定当前盘符下有两个如下文本文件:文件名a1.txta2.txt内容123#321#则下面程序段执行后的结果为#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);
A.123321B.123C.321D.以上答案都不正确
49.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是
A.编译出错B.9C.21D.9
50.已知在ASCII字符集中,数字0的序号为48,下列程序的输出结果为______。main()}chara='0',b='9';printf("%d,%c\n",a,b);}
A.因输出格式不合法B.48,57C.0,9D.48,9
51.若有语句:Char*line[5];,以下叙述中正确的是()。
A.定义line是一个数组,每个数组元素是一个基类型为Char的指针变量
B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C.定义line是一个指针数组,语句中的*号称为间址运算符
D.定义line是一个指向字符型函数的指针
52.下列叙述中正确的是()
A.指令由操作数和操作码两部分组成
B.常用参数xxMB表示计算机的速度
C.计算机的一个字长总是等于两个字节
D.计算机语言是完成某一任务的指令集
53.已知在ASCII代码中,字母A的序号为65,下列程序的输出结果是______。#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}
A.因输出格式不合法,输出错误信息B.65,90C.'A','Y'D.65,89
54.若整型变量a、b、c、d中的值依次为1、4、3、2。则条件表达式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
55.下列描述中,不是线性表顺序存储结构特征的是
A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需另外开辟空间来保存元素之间的关系
56.在进行单元测试时,常用的方法是
A.采用白盒测试,辅之以黑盒测试B.采用黑盒测试,辅之以白盒测试C.只使用白盒测试D.只使用黑盒测试
57.以下程序运行后,输出结果是()#include<stdio.h>ss(char*s){char*p=s;while(*p)p++return(p-s);}main(){char*a=“abded”inti;i=ss(a);printf(“%d\n”,i);}A.8B.7C.6D.5
58.以下程序的输出结果是longfun(intn){longs;if(n==1‖n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%1d\n",fun(3));}
A.1B.2C.3D.4
59.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'3'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n");}从第一列开始输入数据(<CR>代表…个回车符):3845<CR>,则狴序输出结果为()。
A.77889B.77868C.776810D.7.78866e+007
60.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是A.A.堆排序B.直接插入排序C.快速排序D.B和C
四、选择题(20题)61.有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是()。
A.a%(int)(x-y)B.a=x!=y;C.(a*y)%bD.y=x+y=x
62.
63.软件生命周期是指()。
A.软件的开发过程
B.软件的运行维护过程
C.软件产品从提出、实现、使用维护到停止使用退役的过程
D.软件从需求分析、设计、实现到测试完成的过程
64.
65.
66.设有如下程序段:
则执行P=s;语句后,以下叙述中正确的是()。
A.可以用*P表示s[O]
B.S数组中元素的个数和P所指字符串长度相等
C.s和P都是指针变量
D.数组s中的内容和指针变量P中的内容相等
67.有下列二叉树.对此二叉树前序遍历的结果为()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ
68.下列说法正确的是()。
A.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
B.在c语言中,数组元素的个数可以不确定,允许随机变动
C.在C语言中,数组元素的数据类型可以不一致
D.在C语言中,定义一个数组后.就确定了它所容纳的元素的个数
69.以下程序的输出结果是()。
charstr[15]=”hello!”;
printf(“%d\n”,strlen(str));
A.15B.14C.7D.6
70.若在定义语句inta,b,c,*P=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。
A.
B.
C.
D.
71.
设变量已正确定义,则以下能正确计算f=n!的程序是()。
A.f=0:for(i=1;i<=n;i++)f*=i:
B.F=1:for(i=l;i<2n;i++)f*=i:
C.f=l:for(i=n;i>1;i++)f*=i:
D.f=1;for(i=n;i>=2;i--)f*=i:
72.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序运行后的输出结果是
A.12B.15C.16D.20
73.现有如下程序段:
则程序段的输出结果为()。
A.7,8
B.8,8
C.7,10
D.8,10
74.有以下程序:
程序运行后的输出结果是()。
A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,
75.有以下程序程序执行后的输出结果是()
A.60B.50C.45D.55
76.若函数中有定义语句:inta;,则()。
A.系统将自动给a赋初值为0B.系统将自动给a赋初值一lC.这时a中的值无意义D.这时a中无任何值
77.有如下程序段
int*p,a=10,b=1;
p=&a;a=*p+b;
执行该程序段后,a的值为
A.12B.10C.11D.编译出错
78.设有如下说明
typedefstruct
{intnumber;charclass;doublescore;}student;
则以下选项中,能正确定义结构体数组并赋初值的语句是()。
A.studenttt[2]={{189,’A’,62},{190,’B’,75}};
B.studenttt[2]={189,’"A",62,190,"B",75};
C.structtt[2]={{189,’A’},{190,’B’}};
D.structtt[2]={{189,"A",62.5},{190,"B",75.0}};
79.下列数据模型中,具有坚实理论基础的是()。
A.层次模型B.网状模型C.关系模型D.以上3个都是
80.有以下程序:
程序运行后的输出结果是()。
A.SunDan20042
B.SunDan20044
C.LiSiGuo20042
D.YangSan20041
A.提高耦合性、降低内聚性有利于提高模块的独立性
B.降低耦合性、提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
五、程序改错题(1题)81.下列给定程序的功能是:读入一个整数n(2<=n<=5000),打印它的所有为素数的因子。例如,若输入整数1234,则应输出:2,617。
请修改程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不能增选或删行,也不能匿改程序的结构。
试题程序:
#include<conio.h>
#include<stdio.h>
//****found****
Prime(intm);
{
intj,P;
p=1;
//****found****
for(j=2;j<m;j++)
if!(m%j)
{
p=0;
break;
}
return(p);inti,n;
printf("\npleaseenteranintegernumberbetween2
and5000:");
scanf("%d",&n);
printf("\n\nTheprimefactor(s)of%dis(are):",n):
for(i=2;i<n;i4+)
if((!(n%i))&&(Prime(i)))
printf("%4d,",i);
printf("\n");
}
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun(),它的功能是求小于形参n同时能被3与7整除的所有自然数之和的平方根,并将其作为函数值返回。例如,若n为1000时,程序输出应为s=153.909064。注意:部分源程序在文件prog1.c中。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:
参考答案
1.D
2.A解析:结构化程序设计方法的四条原则是:①自顶向下;②逐步求精;③模块化;④限制使用goto语句。“自顶向下”是指在程序设计时,先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。“逐步求精”是指对复杂问题应设计一些子目标作过渡,逐步细节化。“模块化”是指一个复杂问题由若干稍简单的问题构成;解决这个复杂问题的程序,也应由若干稍简单问题的小程序组成。
3.A
4.CA选项错误,因为p是指向一个指针数组,而数组名相当于常量,不能重新赋值。B选项错误,因为p[0]是一个int指针,也就是int*,而a是一个指向指针的指针int**。C选项正确,因为p[0]是int*,a[1][2]是int,&a[1][2]是int*,类型吻合。D选项错误,因为a作为数组名,不能取地址,即使能取,P[1]是int*,&a是int***,类型不吻合。故本题答案为C选项。
5.C
6.B
7.D关系R与s经交运算后所得到的关系是由那些既在R内又在S内的共有元组组成的,记为RnS。
8.B解析:'\\0'作为标志占用存储空间,但是不计入串的实际长度。当给一个字符型指针赋值时,赋给这个指针的是这个字符串的地址。
9.C解析:C项复制时没有复制结束串“\0”。
10.C
11.C
12.C将两个字符串连接起来组成一个字符串,选用strcat函数来连接。
13.B由题中while(*x==*y*x!=\\n)可知此函数是统计x和y所指向的字符串中最前面的联系相同的字符的个数。
14.B第一次执行外循环i的值为1,满足条件,判断第一次内循环,j的值为3,不满足条件,跳出内循环。第二次执行外循环i的值为2,同理也不满足内循环条件,跳出内循环。第三次执行外循环i的值为3,此时进入内循环判断条件时,条件成立,执行m=m%j,m的值为1,跳出内循环,跳出外循环打印m的值。
15.B本题考多循环的使用,当j=10,i=9时,循环成立,第一个if条件为假,第二个if条件i==j-1成立,则输出j的值为10,接者执行i++后,i为10;当i为10,for循环不成立,退出内层循环,此时执行j++后,j为11,循环不成立,退出循环。
16.B
17.D
18.A
19.D
20.C
21.操作系统或OS操作系统或OS解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务。位于用户和操作系统之间。
22.55解析:本题的关键在于if(!(i%5))printf('\\n),这句,即如果i可被5整除时,则换行。i值为24,可以被5整除4次,并余4,因此,prnt函数共输出5行,最后一行有4个数。
23.白盒法白盒法
24.=-1*sn=-1\r\n*sn解析:C语言中实参变量和形参变量的数据传递是单向的“值传递”方式。指针变量作函数也要遵循这一规则。调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。
25.自顶向下自顶向下解析:在程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
26.%d%3
27.log2n
28.13431
29.3131解析:设队列容量为m,如果:rear>front,则队列中元素个数为rear-front;如果rear<front,则队列中元素个数为m+(rear-front)。本题rear<front,则m=32+(2-3)=31。
30.4334
31.*ss!='\0'*ss!='\\0'解析:本题考查的是指针的应用。题目要求求出字符串ss中指定字符的个数。分析整个程序,空缺处是检验指针ss是否指向了字符串的末尾,如没有,即执行下面语句,判断指针ss指向的字符是否字符c,若是,i自加1;所以空缺处填入*ss!='\\0',作为循环终止的条件。
32.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++。当然也可写成与之等价的其他形式。
33.数据库管理系统或DBMS数据库管理系统或DBMS解析:数据库管理系统(DatabaseManagementSystem,DBMS)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。因此,数据库系统中,数据库管理系统是实现各种数据管理功能的核心软件。本题的答案是数据库管理系统或DBMS。
34.n(n-1)/2n(n-1)/2解析:在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2。
35.BB解析:因为c是字符类型变量,它只能接收一个字符,所以c=A,字符型变量在参与算术运算的时候是用其相应的ASCII码参与运算的,这样++c得到字母B的ASCII码,用putchar函数输出是输出其相应的字符,所以是B。
36.fopenfopen解析:C语言中的文件分为:ASCII文件与二进制文件。文件在使用前打开,使用后要关闭。打开文件的函数为:fopen(),调用形式为:fp=fopen(“文件名”,“使用文件方式”);关闭文件的函数为:fclose(),调用形式为:fclose(fp);其中fp为文件指针。
37.1234123.512345.51234,123.5,12345.5解析:在primf()函数的格式控制符中:'%2d'表示输出一个有符号整数,如果输出长度小于2,则左端补以空格,否则按实际长度输出。所以本题中的a按原样输出为1234:'%2.1尸表示输出一个单精度实数,只输出小数点后1位,后面若有小数则四舍五入,如果输出长度小于2,则左端补以空格,否则按实际长度输出。所以本题中的b四舍五入到小数点后1位再输出为123.5;'%2.11f'除了表示输出一个双精度实数外,其余参数和'%2.1f'一样。所以本题中的c四舍五入到小数点后1位再输出为12345.5。故输出结果是:1234,123.5,12345.5。
38.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。
39.HelloHello解析:字符串中,数值0或符号'/0'表示字符串的结束。本题中,b[5]被赋了0值,表明字符串b的第六个字符就是结束标志。因此,只输出前五个字符,即Hello。
40.0&a[i]a[i]0\r\n&a[i]\r\na[i]解析:本题要求从终端读入数据到数组中,统计其中正数的个数,井计算它们的和。程序中首先要对存放正数个数的变量count及存放和值的变量sum初始化为0,所以第一空应填0。接着要求从终端读入数据到数组中,可以通过scanf函数实现,因此第二空应填&a[i]。最后通过sum+=a[i];语句累加正数a[i]的值到sum中,因此第三空应填a[i]。
41.B解析:INTEGER是类型名,由它来间接定义p和*q的类型,因此,p是基类型为int的指针变量,故选项A不正确,选项.B正确,q是二级指针变量,它指向基类型是int的指针变量,故选项C,D不正确。所以4个选项中B正确。
42.B解析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。
43.C
44.A解析:本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。
45.A解析:本题涉及C语言最基本的两个知识点:①C程序是由函数构成的,有且仅有一个主函数,也可以有其他的函数;②整数在允许的范围内可以准确无误的表示出来,但计算机的存储能力有限,不能表示无限精度的实数。
46.A
47.B解析:本题中定义了一个结构体数组data[2]并初始化,主函数中定义了一个结构体类型指针变量并让它指向data的首地址,由于p指向第一个元素的地址,所以p->x相当于data[0].x即为10,所以++(p->x)后的值为11。故4个选项中选项B符合题意。
48.A解析:本题的功能是顺序的读两个文本文件,依次输出。当打开文件时出现错误,fopen函数将返回NULL。
49.B解析:本题考查函数的综合知识。首先,我们可以利用强制转换类型转换运算符将一个表达式转换成所需类型。如:(double)a是将a转换成double类型;(int)(x+y)是将x+y的值转换成整型。
本题可按部就班地逐步运算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
50.D解析:注意输出控制符%d,%c,分别表示以十进制形式输出字符的ASCII码值和字符。
51.A解析:理解复杂定义要掌握两点:一、右结合原则.本题中的定义char*line[5];等价于char*(line[5]);;二、自外向内分解成typedef语句。char*(line[5]);等价于typedefchar*A;Aline[5];其中A被typedef定义成字符指针的别名,然后line被定义成A的一维数组,即字符指针的一维数组。再来看看行指针的定义char(*line)[5];它应该被分解成typedefcharB[5];B*line;其中B被定义成包含5个元素的一维字符数组,然后line被定义成指向B的指针,即指向包含5个元素的一维字符数组的指针。所以两者切不可混淆了,后者的括号不能省略。故本题应该选择A。
52.A
53.D
54.A解析:条件表达式的形式如下:表达式1?表达式2:表达式3,所以本题条件表达式a<b?a:c<d?c:d应该理解为a<b?a:(c<d?c:d),首先求出条件表达式c<d?c:d的值等于2,再求条件表达式a<b?a:2的值,由于a-1<b-4成立,所以上述条件表达式的值等于1。
55.D解析:线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此,不需要另外开辟空间来保存元素之间的关系。
56.A解析:单元测试的步骤如下:
①理解需求和设计。清楚被测试模块在整个软件中所处的位置。一个原则是:好的设计,各模块只负责完成自己的事情,层次与分工明确。单元测试时,可以不测试不属于被测模块所负责的功能,以减少测试用例的冗余。
②概览源代码。浏览源代码,初步检查源代码的编码风格与规范,大致估算测试工作量,确定模块的复杂程度,初步制定测试的优先级等。
③精读源代码。认真阅读和分析代码,理解代码的业务逻辑,检查代码与设计是否相符,仔细研究逻辑复杂的模块,可采用一些检查列表来检查程序可能会出现的问题。
④设计测试用例。综合运用白盒测试方法(并结合黑盒测试方法)设计测试用例,包括功能测试、性能测试等,要达到一定的测试覆盖率。本题正确答案为选项A。
⑤搭建单元测试环境。这个阶段主要就是写桩模块和驱动模块,然后驱动模块想办法获取被测试模块对数据的处理结果,并判定返回的实际结果与测试用例的预
期结果是否一致,通过测试框架来记录执行的结果,对于出现的错误,还需统计错误的信息,供执行完之后分析。
⑥执行测试。运行写好的驱动模块完成对被测试模块的测试。
⑦补充和完善测试用例。在测试过程中不断补充测试用例,直到满足要求为止。
⑧分析结果,给出评价。根据测试的结果分析、查找错误的原因,并找到解决的办法。测试结束之后,根据测试过程的数据统计,给出被测试对象评价。
57.D
58.A解析:该题考查的是递归函数的调用,题中读fun函数进行了递归调用,第1次调用:fun(3)n=3s=3-fun(2);第二次调用时:fun(2)n=2s=2返回第一次调用后,s=3-2=1。
59.A
60.B解析:堆排序的比较次数为nlog2n;直接插入排序的比较次数为n(n-1)/2;快速排序的比较次数为nlog2n。当数据表A中每个元素
61.B选项中如果x与Y的值相等那么取余时就会有除数为0的情况。C)选项中取余的两个数据都应为整数,不能有一方为实型变量,而a*y的结果为double型。D)选项表达式本身就错误,不能给表达式赋值。所以,本题答案为B)。
62.B
63.C\n通常将软件产品从提出、实现、使用维护到停止使用、退役的过程称为软件生命周期。
\n
64.A
65.D
66.AP=8;后,指针P指向s的首地址,*P=s[0],因此选项A)是正确的;p是字符串指针,所指向的字符串为”beijing”,其长度为7,而数组s中元素的个数为20,因此选项B)和D)是错误的;s是数组,不是指针变量,所以选项C)也是错误的。
67.D
\n所谓二叉树的前序遍历是指先访问根结点,访问左子树,最后访问右子树,本题中序为DYBEAFCZX,后序为YDEBFZXCA。
\n
68.D在C语言中,数组元素的个数是确定的,不允许随机变动,数组定义好后,它所能容纳的元素的个数也就确定了,并且同一个数组中所有元素都是同一类型。
69.D
70.Dseartf函数中的输入项必须是指针,只有选项D)符合这个要求。
71.D由i"11的数字定义可知n!=n*(n-1)*(n-2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n!一0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项c不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。
72.A解析:此题考查的是编译预处理命令以及自加运算符。F(a++,b++)先取a和b的值,参加运算,再把a和b的值分别加1,所以F(a++,b++)=F(3,4)=3*4=12。
73.D在c语言中,定义一维数组的语句一般形式如下:
类型名数组名[常量表达式];
一维数组的引用形式为:数组名[下标表达式]。count表示能被2整除或被5整除的个数,i则计算有多少个数组元素。
74.A该程序首先在定义变量时,对二维数组a[][N]进行赋值操作;调用函数fun,函数fun的功能是将二维数组中的a[0儿0]、a[1][1]、a[2][2]和a[3][3]赋值给一维数组,最后将一维数组元素l,0,7,0,输出。
75.A函数fun的功能是求数组的n个元素之和。fun(a,5)=15。由于s岫是静态局部变量,所以保持l5不变,fun(b,4)=45,所以s=fun(a,5)+fun(b,4)=60。
76.C用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中放任何值,此时变量中的值是无确定的,称变量值”无意义”。因此,本题正确答案为c。
77.Cp=&a表达式的含义是将变量a的地址赋给指针变量p;a=*p+b表达式的含义是将指针变量p所存地址对应的值与b的和赋给a。
78.AB项定义格式不对,tt[2]只有两个元素,C项缺少了结构体名,而结构体名不可少,D项一样缺少了结构体名。
79.C在数据库设计中,目前常用的数据模型主要有三种,分别是层次模型、网状模型和关系模型。
层次模型是数据库系统中最早出现的数据模型。我们通常把满足以下两个条件的数据模型称为层次模型。
(1)有且仅有一个结点无双亲,这个结点称为根结点。
(2)其他结点有且仅有一个双亲。
层次模型用树形结构来表示各实体与实体间的联系。实体是数据库中数据描述的对象,可以是一个人、一种商品等。在层次模型中,每个结点表示一个记录类型,记录之间的联系用结点之间的连线表示,这种联系是父子之间一对多的联系。记录就是描述实体的相关数据。
如果取消层次模型中的两个限制,即允许一个以上的结点无双亲,则每一个结点可以有多个父结点,便形成了网状。我们把网状表示实体之间联系的模型称为网状模型。
关系模型用表格形式表示实体类型及其实体间的联系。关系模型是目前最重要的一种模型,它是建立在严格的数学概念的基础上的,具有最坚实的理论基础。关系模型的基本数据结构是二维表,每一张二维表称为一个关系。
80.A本题考查的是结构体。主函数中定义了结构体类型的指针变量P,并使其指向了结构体类型的数组s\r\n[1],并通过调用函数f改变了指针变量P所指向的结构体\r\n成员变量name的值,但并未改变其num的值。这是因为函数f中的形参flame是一个字符型指针变量,它指向了主函数中\r\n指针变量P所指向的结构体的成员变量name,所以对函数f中\r\n的形参*name的改变也就是对主函数中P->name的改变,\r\n而函数f中对形参num的改变并不会影响主函数中P一>num\r\n的值,因为此时传递给nnm的是一个值,而不是地址。
81.\n\t(1)错误:Prime(intm);
\n正确:Prime(intm)
\n(2)错误:if(!(m%j)
\n正确:if(!(m%j))
\n【解析】(1)第一个标识下面的“Prime(intm);”在程序中显然是一个函数,因此应将后面的分号去掉。
\n(2)第二个标识下面的for语句最简单的应用形式为:for(循环变量赋初值;循环条件;循环变量增值)语句。显然if语句后面缺少括号,因此,“if!(m%j)”改为“if(!(m%i))”。
\n本题主要考查标点符号、运算符、基本定义。\n
82.1doublefun(intn)doublesum=0.0;inti;for(i=21;i<=n;i++)if((i%3==0)&&(i%7==0))sum+=i;returnsqrt(sum);本题考查算术运算的算法。首先利用一个for循环判断小于n且能同时被3和7整除的整数,并将满足条件的整数累加到sum。之后调用Sqrt()函数计算sum的平方根,并将其作为函数的返回值返回。2022-2023年浙江省舟山市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.下列语句中,说法正确的是______。
A.C程序书写格式严格,每行只能写一个语句
B.C程序书写格式严格,每行必须有行号
C.C程序书写格式自由,每行可以写多条语句,但之间必须用逗号隔开
D.C程序书写格式自由,一个语句可以分写在多行
2.下面描述中,符合结构化程序设计风格的是()。
A.使用顺序、选择和重复(循环.三种基本控制结构表示程序的控制逻辑
B.模块只有一个入口,可以有多个出口
C.注重提高程序的执行效率
D.不使用goto语句
3.
4.若有定义“inta[2][3],*p[3];”,则以下语句中正确的是()。
A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;
5.某二叉树的先序序列和后序序列正好相同,则该二叉树可能是______的二叉树。
A.高度大于1的左单支B.高度大于1的右单支C.最多只有一个结点D.既有左孩子又有右孩子
6.
7.有三个关系R、s和T如下:
由关系R和s通过运算得到关系T,则所使用的运算为()。
A.并B.自然连接C.笛卡尔积D.交
8.下列关于字符串的说法中错误的是
A.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符'\0'作为字符串结束标志
B.'\0'作为标志占用存储空间,计入串的实际长度
C.在表示字符串常量的时候不需要人为在其末尾加入'\0'
D.在C语言中,字符串常量隐含处理成以'\0'结尾
9.以下不能将s所指字符串正确复制到t所指存储空间的是()。A.while(*t=*s){t++;s++;}
B.for(i=0;t[i]=s[i];i++);
C.do{*t++:*s++;}while(*s);
D.for(i=0,j=0;t[i++]=s[j++];);
10.第
3
题
已知:intc[3][4];则对数组元素引用正确的是
A.c[1][4]B.c[1.5][0]C.c[1+0][0]D.以上表达都错误
11.假设下图中每个正方形的边长为1,则从A到Z的最短路径条数为()A.11B.12C.13D.14
12.将两个字符串连接起来组成一个字符串时,选用()函数。A.strlen()B.strcpy()C.strcat()D.strcmp()
13.有以下函数intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函数的功能是()。A.查找X和y所指字符串中是否有\o
B.统计x和Y所指字符串中最前面连续相同的字符个数
C.将Y所指字符串赋给X所指定存储空间
D.统计X和Y所指字符串中相同的字符个数
14.有以下程序:
程序运行后的输出结果是()。
A.0B.1C.2D.3
15.有以下程序:main{inti,j;for(j=10;j<11;j++){for(i=9;i<j;i++)if(!(j%i))break;if(i==j-1)printf("%d",j);}}输出结果是()。A.11B.10C.9D.1011
16.在以下的叙述中,正确的是()。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
17.判定一个顺序栈st(最多元素为MaxSize)为满的条件是()。A.st->top!B.st->top!C.top==-1D.top==MaxSize
18.以下函数的时间复杂度和空间复杂度为()A.T(n)=O(2^n),S(n)=O(n)
B.T(n)=O(1),S(n)=O(1)
C.T(n)=O(2^n),S(n)=O(1)
D.T(n)=O(n),S(n)=O(n)
19.对n个关键字的序列进行快速排序,平均情况下的空间复杂度为_______
A.O(1)B.O(logn)C.O(n)D.O(nlogn)
20.若有说明charc[7]={'s','t','r','i','n','g'};则对元素的非法引用是()。
A.c[0]B.c[9-6]C.c[4*2]D.c[2*3]
二、2.填空题(20题)21.在计算机软件系统的体系结构中,数据库管理系统位于用户和【】之间。
22.若变量n中的值为24,则prnt函数共输出【】行。
voidprnt(intn,intaa[])
{inti;
for(i=1;i<=n;i++)
{printf("%6d",aa[i]);
if!(i%5))printf("\n");
}
printf("\n");
}
23.单元测试又称模块测试,一般采用【】测试。
24.函数voidfun(float*sn,intn)的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti=0;
for(i=0;i<=n;i++)
{f=【】*f;
w=f/(2*i+1);
s+=w;}
【】=s;}
25.在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
26.已有定义:intx;,执行以下语句后的辅出结果是【】。
x=11/3;y=5;
printf("%%d,%%%d\n",x,y);
27.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【】。
28.以下程序运行后的输出结果是()。structNODE{intk;structNODE*link;};main(){structNODEm[5],*p=m,*q=m+4;inti=0:while(p!=q){p->k=++i;p++;q->k=1++;q--;}q->k=i:for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");}
29.在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。
30.以下程序运行后的输出结果是______。
voidswap(intx,inty)
{intt;
t=x;x=y;y=t;printf("%d%d",x,y);
}
main()
{inta=3,b=4;
swap(a,b);printf("%d%d\n",a,b);
}
31.下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include<conio.h>#include<stdio.h>#defineM81intfun(char*ss,charC){inti=0;for(;();ss++)if(*ss==C)i++;returni;}main(){chara[M],ch;printf("\nPleaseenterastring:");gets(A);printf("\nPleaseenterachar:");ch=getchar();printf("\nThenumberofthecharis:%d\n",fun(a,ch));}
32.有以下程序段,且变量已正确定义和赋值。
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);
33.在数据库系统中,实现各种数据管理功能的核心软件称为【】。
34.在最坏情况下,冒泡排序所需要的比较次数为【】。
35.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序运行时,如果从键盘输入:A,B,<CR>,则输出结果为______。
36.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
37.以下程序的输出结果是【】。
#include<stdio.h>
main()
{inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("\n%2d,%2.1f,%2.11f",a,b,C);
}
38.以下程序运行后的输出结果是______。
intf(inta[],intn)
{
if(n>=l)
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);
}
39.下列程序段的输出结果是【】。
main()
{charb[]="Hello,you";
b[5]=0;
printf("%s\n",B);
}
40.以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填空。
main()
{
inti,a[20],sum,count;
sum=count=【】;
for(i=0;i<20;i++)scanf("%d",【】);
for(i=0;i<20;i++)
{
if(a[i]>0)
{count++:
sum+=【】;
}
}
printf("sum=%d,count=%d\n",sum.count);
}
三、1.选择题(20题)41.若有以下说明和定义:typcdefint*INTEGER;INTEGERp,*q;以下叙述正确的是()。
A.p是血型变量
B.p是基类型为int的指针变量
C.q是基类型为int的指针变量
D.程序中可用INTEGER代替int类型名
42.设已定义i和k为int类型变量,则以下for循环语句______。for(i=0;k=-1,k=1;i++,k++)printf("****\n");
A.判断循环结束的条件不合法B.是无限循环C.循环一次也不执行D.循环只执行一次
43.下列程序的输出结果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
44.当说明一个结构体变量时系统分配给它的内存是()。
A.各成员所需要内存量的总和
B.结构中第一个成员所需的内存量
C.成员中占内存最大者所需的容量
D.结构中最后一个成员所需要的内存量
45.下列叙述中正确的是()。
A.C程序由函数组成
B.C程序由主函数构成
C.C程序由函数和过程构成
D.在C程序中无论是整数还是实数,都可以正确无误的表示出来
46.以下选项中错误的是()
A.char*sp;gets(sp);
B.charsp[5]gets(sp);
C.char*sp="12345";gets(sp);
D.charsp[5]="\0"gets(sp)
47.有以下程序:structs{intx,y;)data[2]={10,100,20,200);main(){structs*p=data;printf("%d\n",++(p->x));}程序运行后的输出结果是()。
A.10B.11C.20D.21
48.假定当前盘符下有两个如下文本文件:文件名a1.txta2.txt内容123#321#则下面程序段执行后的结果为#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);
A.123321B.123C.321D.以上答案都不正确
49.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是
A.编译出错B.9C.21D.9
50.已知在ASCII字符集中,数字0的序号为48,下列程序的输出结果为______。main()}chara='0',b='9';printf("%d,%c\n",a,b);}
A.因输出格式不合法B.48,57C.0,9D.48,9
51.若有语句:Char*line[5];,以下叙述中正确的是()。
A.定义line是一个数组,每个数组元素是一个基类型为Char的指针变量
B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C.定义line是一个指针数组,语句中的*号称为间址运算符
D.定义line是一个指向字符型函数的指针
52.下列叙述中正确的是()
A.指令由操作数和操作码两部分组成
B.常用参数xxMB表示计算机的速度
C.计算机的一个字长总是等于两个字节
D.计算机语言是完成某一任务的指令集
53.已知在ASCII代码中,字母A的序号为65,下列程序的输出结果是______。#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}
A.因输出格式不合法,输出错误信息B.65,90C.'A','Y'D.65,89
54.若整型变量a、b、c、d中的值依次为1、4、3、2。则条件表达式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
55.下列描述中,不是线性表顺序存储结构特征的是
A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需另外开辟空间来保存元素之间的关系
56.在进行单元测试时,常用的方法是
A.采用白盒测试,辅之以黑盒测试B.采用黑盒测试,辅之以白盒测试C.只使用白盒测试D.只使用黑盒测试
57.以下程序运行后,输出结果是()#include<stdio.h>ss(char*s){char*p=s;while(*p)p++return(p-s);}main(){char*a=“abded”inti;i=ss(a);printf(“%d\n”,i);}A.8B.7C.6D.5
58.以下程序的输出结果是longfun(intn){longs;if(n==1‖n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%1d\n",fun(3));}
A.1B.2C.3D.4
59.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'3'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n");}从第一列开始输入数据(<CR>代表…个回车符):3845<CR>,则狴序输出结果为()。
A.77889B.77868C.776810D.7.78866e+007
60.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是A.A.堆排序B.直接插入排序C.快速排序D.B和C
四、选择题(20题)61.有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是()。
A.a%(int)(x-y)B.a=x!=y;C.(a*y)%bD.y=x+y=x
62.
63.软件生命周期是指()。
A.软件的开发过程
B.软件的运行维护过程
C.软件产品从提出、实现、使用维护到停止使用退役的过程
D.软件从需求分析、设计、实现到测试完成的过程
64.
65.
66.设有如下程序段:
则执行P=s;语句后,以下叙述中正确的是()。
A.可以用*P表示s[O]
B.S数组中元素的个数和P所指字符串长度相等
C.s和P都是指针变量
D.数组s中的内容和指针变量P中的内容相等
67.有下列二叉树.对此二叉树前序遍历的结果为()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ
68.下列说法正确的是()。
A.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
B.在c语言中,数组元素的个数可以不确定,允许随机变动
C.在C语言中,数组元素的数据类型可以不一致
D.在C语言中,定义一个数组后.就确定了它所容纳的元素的个数
69.以下程序的输出结果是()。
charstr[15]=”hello!”;
printf(“%d\n”,strlen(str));
A.15B.14C.7D.6
70.若在定义语句inta,b,c,*P=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。
A.
B.
C.
D.
71.
设变量已正确定义,则以下能正确计算f=n!的程序是()。
A.f=0:for(i=1;i<=n;i++)f*=i:
B.F=1:for(i=l;i<2n;i++)f*=i:
C.f=l:for(i=n;i>1;i++)f*=i:
D.f=1;for(i=n;i>=2;i--)f*=i:
72.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序运行后的输出结果是
A.12B.15C.16D.20
73.现有如下程序段:
则程序段的输出结果为()。
A.7,8
B.8,8
C.7,10
D.8,10
74.有以下程序:
程序运行后的输出结果是()。
A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,
75.有以下程序程序执行后的输出结果是()
A.60B.50C.45D.55
76.若函数中有定义语句:inta;,则()。
A.系统将自动给a赋初值为0B.系统将自动给a赋初值一lC.这时a中的值无意义D.这时a中无任何值
77.有如下程序段
int*p,a=10,b=1;
p=&a;a=*p+b;
执行该程序段后,a的值为
A.12B.10C.11D.编译出错
78.设有如下说明
typedefstruct
{intnumber;charclass;doublescore;}student;
则以下选项中,能正确定义结构体数组并赋初值的语句是()。
A.studenttt[2]={{189,’A’,62},{190,’B’,75}};
B.studenttt[2]={189,’"A",62,190,"B",75};
C.structtt[2]={{189,’A’},{190,’B’}};
D.structtt[2]={{189,"A",62.5},{190,"B",
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村小院征用合同范例
- 医院食堂安全管理合同范本
- 三年级口算题目练习集1000道
- 农场旧房买卖合同范本
- 制作意向合同范本
- 人参礼品供货合同范本
- 办公场地 合同范本
- 住家保洁服务合同范本
- 卖方销货合同范本
- 五金零件模具合同范本
- 2024年湖南环境生物职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 《化工流程教案》课件
- 后循环缺血治疗
- 体育学科核心素养解析
- 2024年浙江绍兴杭绍临空示范区开发集团有限公司招聘笔试真题
- 2025年体检科医疗质量控制工作计划
- 2024年萍乡卫生职业学院单招职业适应性测试题库参考答案
- 飞行器小学生课件
- 无人机法律法规与安全飞行 第2版2-2 领空
- 《单片机应用实训教程》课件第4章
- 应急突发处置
评论
0/150
提交评论