版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年辽宁省大连市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若输入“abcdef”、“abdef”,以下程序的输出结果为()。#include<stdio.h>#lnclude<string.h>main(){intn;chars1[20],s2[20],p1,*p2;scanf("%s",s1);scanf("%s",s2);P1=s1;p2=s2;n=strcmp(p1,p2);printf("%d\n",n);}
A.-1B.0C.abcdefD.abdef
2.利用fseek函数可实现的操作是()。
A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确
3.以下程序运行后的输出结果是()。
A.1,2,3,1,5,9,
B.1,3,5,1,3,5,
C.1,3,5,0,d,8,
D.1,3,5,-1,3,7,
4.有以下程序:#include<stdio.h>voidfun(char*a,charB){while(*(a++)!=‘0’);while(*(a-1)<B)*(a--)=*(a-1);*(a--)=b;}main(){chars[8]=“pmfc”,r,c;c=getchar();fun(s,c);puts(s);}程序运行时输入k并按<Enter>键,则输出结果为()。
A.pmfkcB.pmfckC.kpmfcD.pmkfc
5.有以下程序:#include<stdio.h>main(){inty=10;while(y--);printf(“y=%d\n”,y);}程序运行后的输出结果是()。
A.y=0B.y=-1C.y=1D.while构成无限循环
6.
7.向堆中插入一个元素的时间复杂度为________。
A.O(log2n)B.O(n)C.O(1)D.O(nlog2n)
8.以下选项中错误的是()。A.printf(“%s\n”,‘s’);
B.printf“%d%c\n”,‘s’,‘s’);
C.printf(“%c\n”,‘s’-32);
D.printf(“%c\n”,65);
9.设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的值是()n
A.0B.1C.2D.3
10.有以下定义:structperson{charname[10];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16,};能输出字母M的语句是()。
A.printf(“%c\n”,class[2].name[0]);
B.printf(“%c\n”,class[3].name[0]);
C.printf(“%c\n”,class[3].name[1]);
D.printf(“%c\n”,class[2].name[1]);
11.以下函数不能用于向文件中写入数据的是()。
A.hellB.fwriteC.fputcD.fprintf
12.下列特征中不是面向对象方法的主要特征的是()。
A.多态性B.继承C.封装性D.模块化
13.若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
14.有以下程序
#include<stdio.h>
intf(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序运行后的输出结果是()。A.1B.2C.4D.8
15.下列选项中,当X为大于1的奇数时,值为0的表达式是()。
A.x%2==0B.x/2C.x%2!=0D.x%2==1
16.设fun函数的定义形式为voidfun(charch,floatx){…}则下列对函数fun的调用语句中,正确的是()。
A.fun("abc",3.0);
B.t=fun(D.16.5);
C.fun(65,2.8);
D.fun(32,32);
17.
A.A.2A3N4E5OB.1H213U4EC.1A2N3U4OD.1A2N3E4O
18.下列程序的输出结果是()。#include<stdio.h>voidp(int*x){printf("%d¨,++*x);}voidmain(){inty=3;p(&y);}A.3B.4C.2D.5
19.下列数据模型中,具有坚实理论基础的是()。
A.关系模型B.网状模型C.层次模型D.以上三个都是
20.数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用()最节省时间。
A.堆排序B.希尔排序C.快速排序D.希尔排序
二、2.填空题(20题)21.数据库管理系统常见的数据模型有层次模型、网状模型和【】3种。
22.表示“整数x的平方大于36"时的值为“真”的C语言逻辑表达式是【】。
23.下列程序的运行结果是【】。
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{inti,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)a[j++]=i;
*n=j;
}
main()
{intaa[M],n,k;
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)printf("\n");
elseprintf("%4d",aa[k]);
printf("\n");
}
24.分析下列程序:
main()
{intx=1,y=0,a=0,b=0;
switch(a)
{case1:switch(b)
{case0:x++;
case1:y++;break;
}
case2:x++;y++;break;
}
printf("x=%d,y=%d\n",x,y);
}
运行程序的输出结果是______。
25.下面程序的功能是用来统计文件中字符个数。请填空。
#include"stdio.h"
main()
{longcount=OL;
FILE*fp=【】("text.dat","r");
if(fp==0)
{printf("Openerror\n");
exit(0);
}
while(【】)
{
fgetc(fp);
count++;
}
fclise(fp);
printf("%1d\n",count);
}
26.条件“20<x<30或x<-100”的C语言表达式是【】。
27.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
28.已知字符A的ACSII码值为65,以下语句的输出结果是______。
charch='B';
printf("%c%d\n",ch,ch);
29.函数check用来判断字符串s是否是“回文”(顺读和倒读都一样的字符串为“回文”,如abeba)。是则函数返回值1,否则返回值0,请填空。
intcheck(char*s)
{
char*p1,*p2;intn;
n=strlen(s);
p1=s;
p2=【】;
while(p1<p2)
{
if(*p1!=*p2)break;
else{p1++;p2--;}
}
if(【】)return0;
elsereturn1;
}
30.以下程序的输出结果是【】。
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i;
printf(“%d\n”,s);
}
31.下列程序段的运行结果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
32.最简单的交换排序方法是______。
33.数据的逻辑结构在计算机存储空间中的存放形式称为数据的【】。
34.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【】。
35.实现程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于copy命令),假定文件在当前目录下。请补全程序。
#include<stdio.h>
voidmain(intargc,char*argv[])
{FILE*f1,*f2;
if(argc<【】)
{printf("parametererror!\n");exit(0);}
n=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while(【】)fputc(fgetc(f1),f2);
fclose(f1);
fclose(f2);
}
36.下列语句的输出结果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
37.下述函数用于统计一行字符中的单词个数,单词之问用空格分隔。
word_num(str)
charstr[];
{inti,num=0,word=0;
fot(i=0;str[i]!=【】;i++)
if【】=='')word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
38.以下程序运行后的输出结果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
39.下面程序的输出是【】。
main()
{enumem{em1=3,em2=l,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s\n",aa[eml],aa[em2],aa[em3]);
}
40.以下程序的输出结果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
三、1.选择题(20题)41.以下不合法的数值常量是()。
A.11B.lelC.8.0E0.5D.0xabcd
42.表示“在使用x之后,使x的值加1”的正确方式是()
A.++xB.x++C.+xD.+x+
43.在使用程序流程图来表示算法时,菱形用来表示_______。
A.输入与输出B.子程序C.判断分支D.循环边界
44.若用数组名作为实参,则传递给形参的是______。
A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数
45.有以下程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%",t[2-i][i]);}程序执行后的输出结果是()。
A.753B.357C.369D.751
46.若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元,则应填入()int*pp=_______malloc(sizeof(int));
A.intB.intC.(*int)D.(into*)
47.下列程序段的输出结果为()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.1B.4C.9D.0
48.下列关于栈的描述中错误的是()。A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针
49.树是结点的集合,它的根结点数目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
50.请读程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3t%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若运行时从键盘上输入(图片),则上面程序的输出结果是______。
A.a=98,b=765,c=4321
B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000
D.a=98,b=765.0,c=4321.0
51.有以下程序:main(){inta[]={2,4,6,8,10),y=0,x,*P;P=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}程序运行后的输出结果是()。
A.10B.11C.14D.15
52.设定义下列结构体,结构体变量p的出生年份赋值正确的语句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
53.若有程序:fun(inta,intB){staticintc=0;c+=a+b;returnc;}main(){intx=5,y=3,z=7,rr=fun((y,x+y),z);r=fun(x,y);printf("%d\n",r);}上面程序的输出结果是_______。
A.23B.15C.19D.18
54.若以下选项中的变量已正确定义,则正确的赋值语句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
55.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。A.概要设计B.详细设计C.可行性分析D.需求分析
56.在一介C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使削的存储类别是()。
A.autoB.registerC.externD.static
57.以下程序的输出结果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20
58.以下程序输出的结果为______。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;p=alpha;for(i+0;i<4;i++)printf("%s",p[i]);}
A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM
59.下面语句中不能定义一个数组,元素值依次分别为1,1,1,0,0的是______。
A.staticinta[5]={1,1,1,0,0};
B.staticinta[5]={1,1,1};
C.staticinta[]={1,1,1,0,0};
D.staticinta[5]={1*2,0*3};
60.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.没有任何关系
四、选择题(20题)61.
62.下列关于C语言的叙述错误的是()。
A)大写字母和小写字母的意义相同
B)不同类型的变量可以在一个表达式中
C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D)同一个运算符号在不同的场合可以有不同的含义
63.
64.
65.
66.在以下选项中,能正确调用对象属性的语句是()。
A.对象名(属性名)B.对象名一>属性名C.对象名属性名D.对象名.属性名
67.
68.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序运行后的输出结果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
69.有以下程序
70.C语言结构体类型变量在程序执行期间,()。
A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中
71.
72.
73.有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母:
程序运行后的输出结果是()。
A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!
74.下列有关数据库的描述,正确的是A.数据处理是将信息转化为数据的过程
B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
C.关系中的每一列称为元组,一个元组就是一个字段
D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
75.
76.有以下程序段当执行上述程序段,从键盘上输A,555667777123后,y的值为()。
A.566.0B.55566.0C.7777.0D.566777.0
77.若有以下定义:chara;intb;floatc;doubled;则表达式a*b+b-c值的类型为()。A.floatB.intC.charD.double
78.算法分析的目的是()。
A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进
79.
80.最简单的交换排序方法是()。A.快速排序B.选择排序C.堆排序D.冒泡排序
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起,斐波拉契级数序列为1,1,2,3,5,8,13,21,…例如,若给n输入8,该项的斐波拉契级数值为21。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun(),其功能是根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.140578。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<math.h>doublefun(doubleeps){}voidmain(){ doublex; printf(“Inputeps:”); scanf(“%lf”,&x); printf(“\neps=%lf,PI=%lf\n”,x,fun(x));}
参考答案
1.A
2.D解析:改变文件位置指针函数fseek()的功能:①改变文件的位置指针;②辅助实现文件的顺序读写;③辅助实现文件的随机读写。
3.Dmain函数中,fun(fun(t))嵌套调用fun函数。第一次调用为fun(1),调用后,a[3]={1,3,5},输出1,3,5,返回a[1]=3。第二次调用为fun(3),调用后,a[3]={一1,3,7},输出一l,3,7。
4.Dmain函数定义一个字符数组s,使用字符串“pmfc”初始化;然后通过getchar读取一个字符k到字符变量c;再将字符串s和字符c传入fun函数。函数fun首先通过while循环遍历字符串s,直到指针a指向字符串结束标识‘\\0’后的一个字符,如下图所示。接着通过while循环逆序遍历字符串s,首先a-1的字符位‘\\0’,它的ASCII值为0,小于b(字符‘k’)的ASCII值107,那么将‘\\0’赋给下标为5的元素位置。接着继续向前遍历,同理,将‘c’(ASCII值为99)赋给下标为4的元素位置,将‘f’(ASCII值为102)赋给下标为3的元素位置。由于‘m’(ASCII值为109)大于b,因此循环结束,将b(字符‘k’)赋给下标为2的元素位置,此时str字符串如下。故本题答案为D选项。
5.B执行“y--”直到值为0。退出循环。由于“y--”是后缀自减运算,先使用再自减,因此退出循环时,y的值为-1。故本题答案为B选项。
6.D
7.A
8.A%d表示以字符和整型类型的格式输出,%c表示以字符类型的格式输出,%s表示以字符串类型的格式输出。选项A中,‘s’是字符,不能用%s格式来输出。故本题答案为A选项。
9.C因为a>b不成立,故表达式a>b的值为0,即为0赋给m,因此&&左边表达式的值为0,0与任何值&&运算都为0,于是不再计算&&右边表达式的值,所以此时的n仍然为2。
10.AC语言规定数组的下标从0开始,结构体数组class初始化了前4个元素。第3个元素的name=“Marry”,则class[2].name[0]=‘M’。故本题答案为A选项。
11.Aftell是返回文件当前指针。
12.DD。【解析】面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。
13.B解析:本题主要考查结构指针:p=&st,访问结构体的成员,可以通过结构变量访问,即st.i,也可以用等价的指针形式,即(*p).i和p->i。
14.D解析:本题考查函数返回值作参数,最初n=1,f(n)=f(1)=2,将f(n)的结果代入第二个f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。
15.A算术运算符的优先级高于关系运算符的优先级。所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。0选项的值为真,即1。故本题答案为A选项。
16.C由题目的已知条件函数fun的定义形式voidfun(charch,floatx){…)可知第一个形参为字符型,所以A不符合,第二个形参为精度型,所以D不符合,函数fun定义为void型(无论返回值型),故其没有返回值,所以选项B错误。选项C的第一个实参的类型为字符型,第二个实参的类型为单精度型,与函数fun的形式参数的类型相符合,所以选项C为正确答案。
17.A本题主要考查结构体数组。x[i]num是结构体x[i]中的num成员,x[1].name[2]是结构体x[i1中1"lame成员的第3个元素。第一次循环,i-1,输出x[1].num,x[1].name[2]的值,即2A;第二次循环,i=2,输出x[2].num,x[2].name[2]的值,即3N;第三次循环,i=3,输出x[3】.num,x[3].name[2]的值,即4E;第四次循环,i=4,输出x[4].num,x[4].name[2]的值,即50。
18.B本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为++x;x=3,则3+1=4。
19.A解析:在层次模型和网状模型的系统研究和数据库设计中,其性能和质量主要决定于设计者的经验和技术水平,缺乏一定的理论指导。关系模型有坚实的理论基础,它以数学理论为基础,从而避免了层次模型和网状模型系统中存在的问题。
20.B
21.关系模型关系模型解析:数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。
22.x<-6||x>6
23.77解析:程序中的if(i%7==0||i%11==0)是找出能被7或11整除的所有整数,a[j++]=i是将满足条件的数放到a数组中,变量j记录了满足条件的数据个数,main函数通过变量n得到此数据个数。如果m的值为50,即表达式fun(10,aa,&n)为fun(50,aa,&n)时,输出结果为:711142122283335424449
24.x=1y=0。x=1,y=0。解析:本题程序的主体部分是switch语句的嵌套结构,当变量a的值为0时,在第一层switch-case语句中,没有匹配的case分支。因此,x和y的值没有变化,仍然是1和0。
25.fopen!feof(fp)fopen\r\n!feof(fp)解析:第一空从右边的括号中可以看出,这里应该填入一个fopen,整条语句用来打开一个名为text.dat的文件。第二空是一个while循环的循环条件表达式,循环体每次读取一个字符,并让count增1,所以循环条件应该是“如果文件还没结束”,故应该填!feof(fp)。
26.(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100
27.fopenfopen解析:C语言中的文件分为:ASCII文件与二进制文件。文件在使用前打开,使用后要关闭。打开文件的函数为:fopen(),调用形式为:fp=fopen(“文件名”,“使用文件方式”);关闭文件的函数为:fclose(),调用形式为:fclose(fp);其中fp为文件指针。
28.B66B66解析:printf函数的功能是按照指定的格式,在标准输出设备上输出数据,它有两种参数:格式控制参数和输出项参数。本题中,printf('%c%d\\n',ch,ch)表示以字符格式和十进制整数格式输出ch,B的ACSII码值为66,即在计算机中B的十进制整数格式是66。所以,输出为B66。
29.s+n-1p1<p2s+n-1\r\np1<p2解析:判断是否“回文”字符串,应该使用两个字符型指针,一个从前往后遍历字符串,另一个从后往前遍历字符串,直到它们中途相遇,如果每次两个指针所指的字符都相同,则为“回文”字符串。程序中已经使p1=s,即指向字符串的第一个字符了,所以p2应该指向s的最后一个字符,故第一空应填s+n-1。比较两个指针时,如果有一次不相同,则跳出循环,因为此时已可肯定不是“回文”字符串。如果是while循环的条件p1<p2不满足时自然结束的循环,则每次比较都是相同的,两个指针是中途相遇了才结束比较。两种情况的区别就是pl<p2是否成立。故第二空应该填p1<p2。
30.55解析:此程序中,for循环语句后面直接跟了一个“;”,表明循环体为空。输出语句不在for循环体内,所以在循环执行完毕后才输出s的值。s、i的初值分别为0和1,判断循环条件,表达式“1<3”成立,执行“i++,s+=i”后,i和s的值分别为2和1,继续判断循环条件,表达式“2<3”成立,执行“i++,s+=i”后,i和s的值分别为3,再次判断循环条件,表达式“3<3”不成立,循环结束。
31.8208,20解析:本题考查while循环和++运算符的运用。x=0符合条件x<15,则执行y++,x+=++y后,y=1,x=0+2=2后y=2,符合条件继续循环,y=3,x=x+4=6后y=4,再循环y=5,x=x+6=6+6=12后,y=6,继续循环y=7,x=x+8=12+8-20,此时y=8。
32.冒泡排序冒泡排序解析:交换排序是指借助数据元素之间的互相交换进行排序的一种方法。冒泡排序是一种最简单的交换排序方法,它是通过相邻元素之间的相互交换逐步将线性表变成有序。
33.模式或逻辑模式或概念模式模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等。
34.88解析:fabs函数功能是求x的绝对值,计算结果为double型。pow功能是计算x的y次方的值,计算结果同样为double型。所以本题表达式相当于2.0的3.0次方,结果为8.000000。
35.3!feof(f1)3\r\n!feof(f1)解析:要实现文件复制,需要指定源文件及目的文件,因此在命令行下执行程序时至少要指定两个参数,加上程序名本身,故argc的值至少为3,因此第一空应填3。while循环中语句fputc(fgetc(f1),(f2);的目的是将f1中的字符依次读出并写入到f2对应的文件中去,直至文件f1结束为止,因此第二空为!feof(f1)。
36.aaaaAAAAAaaaaAAAAA解析:函数strcat(sp,'AAAAA')的作用是将字符中“AAAAA”连接到字符串sp的末尾,并自动覆盖字符数组sp末尾的\'\\0\'。
37.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:观察题目要求,可以知道以下几点:①for循环的结束条件应当是:str[i]已是字符串的最后一个字符;②str[i]代表字符串str中的第i+1个字符;③整型变量num的值是要记录的单词的个数。C语言中规定字符串的最后一个字符是一个隐含的字符串结束符“\\0”,所以在题中第一个空中应填写“\\0”;题中第二个空应填写“str[i]”,以判断当前位置的字符是否为空格;题中第三个空中应当填写“num++”,通过变量num的加1累加得到字符串中的单词个数。
38.8888解析:C语言规定,以0开头的整型常量为八进制。另外,在primf()函数中,%X表示以十六进制无符号形式输出一个整数,且十六进制中的ABCDEF为大写字母。本题的输出应该是八进制210的十六进制形式。将八进制转换为十六进制,可以先将其转换为二进制。因为1位八进制表示3位二进制,4位二进制表示1位十六进制。(210)8=(10001000)2=(88)16,故本题输出为880
39.DDBBCCDDBBCC解析:C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3],aa[1]、aa[2],因此最后的打印结果应当为“DDBBCC”。
40.指针P指向数组a的首地址,执行语句p++;后p指向数组a的第2个元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n
41.C解析:指数形式规定字母e(或E)之前必须有数字(可以是一个十进制的整数或小数),之后必须是一个整数。选项C的字母E之后是一个小数,故应该选择C。
42.B
43.C解析:美国国家标准化协会ANSI规定了一些常用的流程图符号,其中椭圆框表示起止框,方框表示处理框,菱形框表示判断分支,箭头表示流程线。
44.A解析:用数组名作为实参,调用函数只是把数组的首地址传送给形参指针。
45.B解析:定义二维数组时第一维的长度可以不指定,该程序中t[][3]通过赋初值等价于t[3][3],并且其数组按行进行赋值,故通过for循环输出的分别是t[2][0]、t[1][1]和t[0][2]。
46.D
47.D解析:本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
48.B栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,它们的操作特点是先进后出,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。
49.A树形结构是一类重要的非线性数据结构。树是n(n≥0)个结点的集合,对应任意一棵非空树,它具有以下几点重要的性质。
①有且仅有一个特定的称为根的结点。
②当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,TM,其中每一个集合本身又是一棵树,称为子树。
因此,本题的正确答案有且只有一个。
50.C解析:scanf()把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf()遗弃。这时变量a、b、c的值分别为:98、765.000000、4321.000000。
51.C解析:指针变量p指向数组元素a[1],则p[1]即为a[2],p[2]即为a[3],执行第一次for循环时,y=y+p[1]=0+a[2]=6,第二次执行for循环,y=y+p[2]=6+a[3]=14,此时x为3,for循环条件不满足,退出循环,输出y的值为14。
52.C解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。
53.A解析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。
54.C解析:赋值的一般形式为:变量名:表达式;,赋值的方向为由右向左,即将:右侧表达式的值赋给:左侧的变量,执行步骤是先计算再赋值。选项A中运算符%的运算对象必须为整数,而选项A中26.8不为整数,故选项A不正确;选项B将一个变量赋值给一个常量,这在C语言中是不允许的,故选项B不正确;选项D中也是将一个常量3赋值给一个常量,故选项D不正确;所以,4个选项中选项C符合题意。
55.D通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
软件生命周期的主要活动阶段为:
①可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成开发任务的实施计划。
②需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件,规格说明书及初步的用户手册,提交评审。
③软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。
④软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。
⑤软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。
⑥运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。
56.D解析:“auto”类定义的自动变:鞋实质上是一个函数内部的局部变量,作用域是在所说明的函数中;“register”说明只能用于说明函数中的变量和参数中的形参,因此不允许将外部变量或静态变量说明为register;“extern”是定义在所有函数之外的全局变量,它可以被所有的函数访问,在所有函数体的内部是有效的,所以函数之间可以通过外部变量直接传递数据;“static”为允许本源文件中所有函数使用的全局变量。
57.B
58.C解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此类推。当执行p=alpha后,p指向指针数组alpha的首地址。for循环中输出了4个字符串。
59.D解析:不可能用表达式的方式来给数组元素一一赋值。
60.C(10)C)解析:DB即数据库(Database),是统一管理的相关数据的集合;DBMS即数据库管理系统(DatabaseManagementSystem),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法;DBS即数据库系统(DatabaseSystem)由如下5部分组成,数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。
61.A
62.AC语言中,大小写代表不同的两个标识符。
63.B
64.D
65.D
66.D
67.B
68.C用数组名作为函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。本题通过“prt(a,5);”将数组a的首地址传递给了指针变量m,使指针变量m指向数组a的首地址,那么,对指针变量所指向的存储单元的内容的改变就是对数组a中的元素的改变。题中函数prt的作用是将指针变量m所指向的存储单元中的元素值各加上1,故数组a中的值也随之变化,所以。输出的数组元素的值为2,3,4,5,6,。
69.A本题考查的是二维数组的定义、赋初值和对二维数组元素的引用。在funfl函数中,首先将s[0][k]的值赋给m,然后通过for循环,遍历s[1][k]s[n-1][k]之中的数,将遇到的比m大的数保存到m中。很显然,这是搜索最大值的算法,搜索的是s[Ol[k]一sin—l][k]之间的最大值。所以,主函数中funfa,4,O)的功能就是搜索删[0]~a[3][o]之间的最大值,这4个值分别是1、11、21、31,所以最终输出结果是31。应该选择A)。
70.A解析:C语言结构体类型变量在程序执行期间所有成员一直驻留在内存中。
71.B
72.A
73.D调用缸函数后,实参数组名sl传给形参指针P,P也指向数组sl。m函数的功能是遍历字符数组中的所有字符,如果某一个字符是空格并且前一个字符是小写字母的话,就把前一个字符转换为大写。程序中语句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,意思是将P[i一1]中的字符转换为大写。因此D选项正确。
74.D数据处理是指将数据转换成信息的过程,故选项A叙述错误。数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B叙述错误。关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C叙述错误。所以本题选D。
75.B
76.A本题考查的是格式输)ki$i数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。因此j的值为55,y的值为566.0,字符数组nanle的值为7777123。故本题答案为A)。
77.D在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。
78.D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度;提高算法的执行效。率。
79.B
80.D冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
81.(1)错误:switch(g);
正确:switch(g)
(2)错误:case1;case2:return1;
正确:case1:return1;case2:return1;
【解析】由C语言的语法规则可知,switch语句后面是没有分号的,因此,“switch(g);”要把后面的分号去掉;在C语言中,case语句后面是冒号而不是分号,因此,“case1;case2:return1;”应改为“case1:return1;case2:return1;”。
82.doublefun(doubleeps){ doubles=0.0,s1=1.0; intn=1; while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/ { s=s+s1; /*求和*/ s1=s1*n/(2*n+1);/*求多项式的每一项*/ n++; } return2*s;}该题考核的是通过迭代法求给定多项式的值。迭代法是让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。需要注意变量的数据类型和赋初值操作。定义double类型变量s,并为其赋初值,用来存放多项式的某一项和最后的总和。从第2项开始,以后的每一项都是其前面一项乘以n/(2*n+1)。程序用s1来表示每一项,用s表示求和后的结果。需注意变量s1和s的初值都为1.0,因为循环变量从第2项开始累加。2021-2022年辽宁省大连市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若输入“abcdef”、“abdef”,以下程序的输出结果为()。#include<stdio.h>#lnclude<string.h>main(){intn;chars1[20],s2[20],p1,*p2;scanf("%s",s1);scanf("%s",s2);P1=s1;p2=s2;n=strcmp(p1,p2);printf("%d\n",n);}
A.-1B.0C.abcdefD.abdef
2.利用fseek函数可实现的操作是()。
A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确
3.以下程序运行后的输出结果是()。
A.1,2,3,1,5,9,
B.1,3,5,1,3,5,
C.1,3,5,0,d,8,
D.1,3,5,-1,3,7,
4.有以下程序:#include<stdio.h>voidfun(char*a,charB){while(*(a++)!=‘0’);while(*(a-1)<B)*(a--)=*(a-1);*(a--)=b;}main(){chars[8]=“pmfc”,r,c;c=getchar();fun(s,c);puts(s);}程序运行时输入k并按<Enter>键,则输出结果为()。
A.pmfkcB.pmfckC.kpmfcD.pmkfc
5.有以下程序:#include<stdio.h>main(){inty=10;while(y--);printf(“y=%d\n”,y);}程序运行后的输出结果是()。
A.y=0B.y=-1C.y=1D.while构成无限循环
6.
7.向堆中插入一个元素的时间复杂度为________。
A.O(log2n)B.O(n)C.O(1)D.O(nlog2n)
8.以下选项中错误的是()。A.printf(“%s\n”,‘s’);
B.printf“%d%c\n”,‘s’,‘s’);
C.printf(“%c\n”,‘s’-32);
D.printf(“%c\n”,65);
9.设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的值是()n
A.0B.1C.2D.3
10.有以下定义:structperson{charname[10];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16,};能输出字母M的语句是()。
A.printf(“%c\n”,class[2].name[0]);
B.printf(“%c\n”,class[3].name[0]);
C.printf(“%c\n”,class[3].name[1]);
D.printf(“%c\n”,class[2].name[1]);
11.以下函数不能用于向文件中写入数据的是()。
A.hellB.fwriteC.fputcD.fprintf
12.下列特征中不是面向对象方法的主要特征的是()。
A.多态性B.继承C.封装性D.模块化
13.若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
14.有以下程序
#include<stdio.h>
intf(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序运行后的输出结果是()。A.1B.2C.4D.8
15.下列选项中,当X为大于1的奇数时,值为0的表达式是()。
A.x%2==0B.x/2C.x%2!=0D.x%2==1
16.设fun函数的定义形式为voidfun(charch,floatx){…}则下列对函数fun的调用语句中,正确的是()。
A.fun("abc",3.0);
B.t=fun(D.16.5);
C.fun(65,2.8);
D.fun(32,32);
17.
A.A.2A3N4E5OB.1H213U4EC.1A2N3U4OD.1A2N3E4O
18.下列程序的输出结果是()。#include<stdio.h>voidp(int*x){printf("%d¨,++*x);}voidmain(){inty=3;p(&y);}A.3B.4C.2D.5
19.下列数据模型中,具有坚实理论基础的是()。
A.关系模型B.网状模型C.层次模型D.以上三个都是
20.数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用()最节省时间。
A.堆排序B.希尔排序C.快速排序D.希尔排序
二、2.填空题(20题)21.数据库管理系统常见的数据模型有层次模型、网状模型和【】3种。
22.表示“整数x的平方大于36"时的值为“真”的C语言逻辑表达式是【】。
23.下列程序的运行结果是【】。
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{inti,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)a[j++]=i;
*n=j;
}
main()
{intaa[M],n,k;
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)printf("\n");
elseprintf("%4d",aa[k]);
printf("\n");
}
24.分析下列程序:
main()
{intx=1,y=0,a=0,b=0;
switch(a)
{case1:switch(b)
{case0:x++;
case1:y++;break;
}
case2:x++;y++;break;
}
printf("x=%d,y=%d\n",x,y);
}
运行程序的输出结果是______。
25.下面程序的功能是用来统计文件中字符个数。请填空。
#include"stdio.h"
main()
{longcount=OL;
FILE*fp=【】("text.dat","r");
if(fp==0)
{printf("Openerror\n");
exit(0);
}
while(【】)
{
fgetc(fp);
count++;
}
fclise(fp);
printf("%1d\n",count);
}
26.条件“20<x<30或x<-100”的C语言表达式是【】。
27.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
28.已知字符A的ACSII码值为65,以下语句的输出结果是______。
charch='B';
printf("%c%d\n",ch,ch);
29.函数check用来判断字符串s是否是“回文”(顺读和倒读都一样的字符串为“回文”,如abeba)。是则函数返回值1,否则返回值0,请填空。
intcheck(char*s)
{
char*p1,*p2;intn;
n=strlen(s);
p1=s;
p2=【】;
while(p1<p2)
{
if(*p1!=*p2)break;
else{p1++;p2--;}
}
if(【】)return0;
elsereturn1;
}
30.以下程序的输出结果是【】。
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i;
printf(“%d\n”,s);
}
31.下列程序段的运行结果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
32.最简单的交换排序方法是______。
33.数据的逻辑结构在计算机存储空间中的存放形式称为数据的【】。
34.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【】。
35.实现程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于copy命令),假定文件在当前目录下。请补全程序。
#include<stdio.h>
voidmain(intargc,char*argv[])
{FILE*f1,*f2;
if(argc<【】)
{printf("parametererror!\n");exit(0);}
n=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while(【】)fputc(fgetc(f1),f2);
fclose(f1);
fclose(f2);
}
36.下列语句的输出结果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
37.下述函数用于统计一行字符中的单词个数,单词之问用空格分隔。
word_num(str)
charstr[];
{inti,num=0,word=0;
fot(i=0;str[i]!=【】;i++)
if【】=='')word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
38.以下程序运行后的输出结果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
39.下面程序的输出是【】。
main()
{enumem{em1=3,em2=l,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s\n",aa[eml],aa[em2],aa[em3]);
}
40.以下程序的输出结果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
三、1.选择题(20题)41.以下不合法的数值常量是()。
A.11B.lelC.8.0E0.5D.0xabcd
42.表示“在使用x之后,使x的值加1”的正确方式是()
A.++xB.x++C.+xD.+x+
43.在使用程序流程图来表示算法时,菱形用来表示_______。
A.输入与输出B.子程序C.判断分支D.循环边界
44.若用数组名作为实参,则传递给形参的是______。
A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数
45.有以下程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%",t[2-i][i]);}程序执行后的输出结果是()。
A.753B.357C.369D.751
46.若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元,则应填入()int*pp=_______malloc(sizeof(int));
A.intB.intC.(*int)D.(into*)
47.下列程序段的输出结果为()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.1B.4C.9D.0
48.下列关于栈的描述中错误的是()。A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针
49.树是结点的集合,它的根结点数目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
50.请读程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3t%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若运行时从键盘上输入(图片),则上面程序的输出结果是______。
A.a=98,b=765,c=4321
B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000
D.a=98,b=765.0,c=4321.0
51.有以下程序:main(){inta[]={2,4,6,8,10),y=0,x,*P;P=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}程序运行后的输出结果是()。
A.10B.11C.14D.15
52.设定义下列结构体,结构体变量p的出生年份赋值正确的语句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
53.若有程序:fun(inta,intB){staticintc=0;c+=a+b;returnc;}main(){intx=5,y=3,z=7,rr=fun((y,x+y),z);r=fun(x,y);printf("%d\n",r);}上面程序的输出结果是_______。
A.23B.15C.19D.18
54.若以下选项中的变量已正确定义,则正确的赋值语句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
55.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。A.概要设计B.详细设计C.可行性分析D.需求分析
56.在一介C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使削的存储类别是()。
A.autoB.registerC.externD.static
57.以下程序的输出结果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20
58.以下程序输出的结果为______。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;p=alpha;for(i+0;i<4;i++)printf("%s",p[i]);}
A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM
59.下面语句中不能定义一个数组,元素值依次分别为1,1,1,0,0的是______。
A.staticinta[5]={1,1,1,0,0};
B.staticinta[5]={1,1,1};
C.staticinta[]={1,1,1,0,0};
D.staticinta[5]={1*2,0*3};
60.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.没有任何关系
四、选择题(20题)61.
62.下列关于C语言的叙述错误的是()。
A)大写字母和小写字母的意义相同
B)不同类型的变量可以在一个表达式中
C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D)同一个运算符号在不同的场合可以有不同的含义
63.
64.
65.
66.在以下选项中,能正确调用对象属性的语句是()。
A.对象名(属性名)B.对象名一>属性名C.对象名属性名D.对象名.属性名
67.
68.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序运行后的输出结果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
69.有以下程序
70.C语言结构体类型变量在程序执行期间,()。
A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中
71.
72.
73.有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母:
程序运行后的输出结果是()。
A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!
74.下列有关数据库的描述,正确的是A.数据处理是将信息转化为数据的过程
B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
C.关系中的每一列称为元组,一个元组就是一个字段
D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
75.
76.有以下程序段当执行上述程序段,从键盘上输A,555667777123后,y的值为()。
A.566.0B.55566.0C.7777.0D.566777.0
77.若有以下定义:chara;intb;floatc;doubled;则表达式a*b+b-c值的类型为()。A.floatB.intC.charD.double
78.算法分析的目的是()。
A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进
79.
80.最简单的交
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 栓接结合面动态特性的实验探索与多元应用研究
- 鼻腔生理功能讲解
- 2026届河南省西华县东王营中学中考猜题生物试卷含解析
- 雨课堂学堂在线学堂云《体操(西北师范)》单元测试考核答案
- 雨课堂学堂在线学堂云《思想道德与法治(成都中医药)》单元测试考核答案
- 超星尔雅学习通《安全与急救(四川警察学院)》2026章节测试及答案
- 河南省部分名校2025-2026学年高三下学期仿真模拟(六) 地理试题(原卷版)
- 2025年放射医学主治医师考试题库(附答案)
- 2026年图书资料员高级技师通关练习题【预热题】附答案详解
- 2026年中级银行从业资格之中级个人贷款测试卷1套附答案详解
- 2025年北京市西城区中考化学模拟卷
- 2026年山西同文职业技术学院高职单招职业适应性测试模拟试题含答案解析
- 2025年AASM指南:成人OSA住院评估与管理
- 规范参股公司管理制度
- 2025人教版三年级数学上册 第六单元 分数的初步认识 单元分层作业
- 止水钢板施工人员配置
- 职场课课件教学课件
- 2025深圳南山半程马拉松竞赛组织方案
- 无人吊装施工方案(3篇)
- 2026年新疆生产建设兵团兴新职业技术学院单招职业技能测试题库及答案详解一套
- 八上12短文二篇《记承天寺夜游》公开课一等奖创新教学设计
评论
0/150
提交评论