




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年广东省中山市全国计算机等级考试C语言程序设计测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.
2.有如下程序:
longfib(intn)
{if(n>2)return(fib(n-1)+fib(n-2));
elsereturn(2);
}
main()
{printf("%d\n",fib(3));}
该程序的输出结果是A.A.2B.4C.6D.8
3.有定义语句:“int*p[4];”,以下选项中与此语句等价的是()。
A.intp[4];B.int**P;C.int*(p[4]);D.int(*p)[4];
4.若有下列说明语句int(*p)();则标识符p代表的是()
A.一个用于指向函数的指针变量,函数返回值的类型为int型
B.一个带回值类型为整型的函数名
C.一个用于指向整型数据的指针变量
D.一个带回值类型为指针类型的函数名
5.有以下程序:#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen(“myfile.dat”,“w”);fputs(“abc”,fp);fclose(fp);fp=fopen(“myfile.dat”,“a+”);fprintf(fp,“%d”,28);rewind(fp);fscanf(fp,“%s”,str);puts(str);fclose(fp);}程序的运行结果是()。
A.abcB.28cC.abc28D.因类型不一致而出错
6.以下正确的字符常量是()。A.'\089'B.'\012'C.'\0XAB'D.'\0xab'
7.指针可以用来表示数组元素,若已知语句:inta[3][7];则下列表示中正确的是()。
A.*(a+1)[5]B.*(*a+3)C.*(*(a+1))D.*(&a[0][0]+2)
8.下列程序段中完全正确的是()。A.int*p;scanf(“%d”,&p);
B.int*p;scanf(“%d”,p);
C.intk,*p=&k;scanf(“%d”,p);
D.intk,*p;*p=&k;scanf(“%d”,p);
9.下列程序的运行结果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}
A.sum=18B.sum=10C.sum=9D.sum=25
10.若有定义语句:intX=10;,则表达式x-=x+X的值为A.-20B.-10C.0D.10
11.将两个字符串连接起来组成一个字符串时,选用()函数。A.strlen()B.strcpy()C.strcat()D.strcmp()
12.下列不属于软件调试技术的是______。A.强行排错法B.集成测试法C.回溯法D.原因排除法
13.
14.
15.算法的时间复杂度是指A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数
16.有以下程序:#include<stdio.h>main(){chars[]={“012xy”;inti,n=0;for(i=0;s[i]|=0;i++)if(s[i]>=‘a’&&s[i]<=‘z’)n++;printf(“%d\n”,n);}程序的运行结果是()。
A.0B.2C.3D.5
17.在循环双链表的p所指的结点之前插入s所指结点的操作是()。A.p->prior->prior
B.p->prior->prior
C.s->prior->next=s
D.s->prior->prior=s
18.有以下程序
#include<stdio.h>
main()
{intx=1,y=2,z=3;
if(x>y)
if(y<z)printf("%d",++z);
elseprintf("%d",++y);
printf("%d\n",x++);
}
程序的运行结果是
A.A.331
B.41
C.2
D.1
19.有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);为使此程序段不陷入循环,从键盘输入的数据应该是()。A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数
20.以下选项中的表达式调用库函数依次求-4.5的绝对值、-4.0的平方根值、30°角的正弦值和2的3次方值。正确的调用是()
A.abs(-4.5)B.sqrt(-4.0)C.sin(3.1416/6.0)D.paw(2.0,3.0)
二、2.填空题(20题)21.度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。
22.下面程序执行后输出的结果是【】。
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",fun(a,b)/m);
}
23.数据结构分为逻辑结构和存储结构,循环队列属于______结构。
24.下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。
#include"stdio.h"
FILE*fp;
main()
{charch;
if((fp=fopen(【】))==NULL)exit(0);
while((ch=getchar())!='@')fputc(ch,fp);
fclose(fp);
}
25.以下程序的输出结果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
26.以下程序的输出结果是12.00,请将空白处填写完整。
main()
{inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1*2;
printf("%52f\n",z);
}
27.一个模块直接调用的其他模块的模块个数称为______。
28.以下程序的功能是:利用指针向三个整型变量,并通过指针运算找出三个数中最大值,输出到屏幕上。请填空
main()
{intx,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
px=&x;py=&y;pz=&z;pmax=&max;
if(*pmax<*py)*pmax=*py;
if(*pmax<*pz)*pmax二*pz;
printf("max=%d\n",max);}
29.在关系模型中,把数据看成一个二维表,每一个二维表称为一个______。
30.数据元素之间______的整体称为逻辑结构。
31.以下程序段的输出结果是【】。
inti=9;
prinff("%o\n",i);
32.符合结构化原则的三种基本控制结构是顺序结构、()和循环结构。
33.实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于【】的联系。
34.设y是int型变量,请写出y为奇数的关系表达式【】。
35.下述程序的输出结果是【】。
#include<stdio.h>
voidmain()
{
charc1[20]="1234";
charc2[20]="5678";
char*p1,*p2;
p1=c1;
p2=c2;
while(*p1++)
while(*p1++=*p2++);
printf("%s,c1);
}
36.用十六进制给存储器中的字节地址进行编号,其地址编号从0000到FFFF,则该存储器容量是【】。
37.下列的for语句的循环次数为______。
for(x=1,y=0;(y!=19)&&(x<7);x++);
38.如下语句printf("%c\n",'B'+40);在执行后的输出结果是【】。
39.以下程序的输出结果为【】。
#defineJFT(x)x*x
main()
{inta,k=3;
a=++JFT(k+1);
printf("%d",a);
}
40.在数据流图的类型中有两种类型,它们是变换型和()。
三、1.选择题(20题)41.以下不是网络操作系统的是()
A.Windows3.1B.WindowsNTC.NetWareD.UNIX
42.下列程序的运行结果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4:*y=s[m];m--;}voidmain(){inta[]={1,2,3,4,5},k,x;printf("\n");for(k=0;k<=4;k++){sub(a,&x);printf("%d,",x);}}
A.5,4,3,2,1,B.1,2,3,4,5,C.0,0,0,0,0,D.4,4,4,4,4,
43.设有如下三个关系表:
下列操作中正确的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
44.在C语言中,下列关于文件操作的叙述正确的是()。
A.对文件操作必须先关闭文件B.对文件操作必须先打开文件C.对文件操作顺序没有统一规定D.以上三种说法全错
45.若x是int型变量,且有下面的程序片段:for(x=3;x<6;x++)printf(x%2)?("**%d"):(”##%d\n”),x);上面程序片段的输出结果是()
A.**3##4**5
B.##3**4##5
C.##3**4##5
D.**3##4**5
46.下面关于对象概念的描述中,错误的是
A.对象就是C语言中的结构体变量
B.对象代表着正在创建的系统中的一个实体
C.对象是一个状态和操作(或方法)的封装体
D.对象之间的信息传递是通过消息进行的
47.下列程序的输出结果是______。main(){floatx=3.6;inti;i=(int)x;printf("x=%f,i=%d",x,i);}
A.x=3.600000,i=4B.x=3i=3C.x=3.600000,i=3D.x=3i=3.600000
48.设a、b、c、d、m.n均为血型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
A.0B.1C.2D.3
49.以下程序的输出结果是()。main(){inta=0,i;for(i=1;i<5;i++){switch(i){casc0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);}
A.31B.13C.10D.20
50.下列叙述中,正确的是
A.用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系
B.用E-R图只能表示实体集之间一对一的联系
C.用E-R图只能表示实体集之间一对多的联系
D.用E-R图表示的概念数据模型只能转换为关系数据模型
51.下列程序的运行结果是()。main(){inta=-5,b=1,c=1;intx=0,Y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-y;}elseif(c>0)Y=x-y;elsez=y;printf("%d,%d,%d\n",x,y,z);}
A.2,2,0B.2,2,2C.0,2,0D.2,0,2
52.以下能正确定义一维数组的选项是
A.inta[5]={0,1,2,3,4,5};
B.chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};
C.chara={′A′,′B′,′C′};
D.inta[5]="0123";
53.下列选项中不属于结构化程序设计方法的是()。
A.自顶向下B.逐步求精C.模块化D.可复用
54.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}执行后的输出结果是()。
A.5B.24C.32D.40
55.若有以下定义和语句structa{intn,m;};structast[3]={{1,20},{2,19},{3,21}};structa*p=st;则以下错误的引用是
A.(p++)->n;B.st[0].n;C.(*p).n;D.p=&st.m;
56.以下关于typedef的叙述错误的是()。
A.用typedef可以增加新类型
B.typedef只是将已存在的类型用一个新的名字来代表
C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D.用typedef为类型说明一个新名,通常可以增加程序的可读性
57.有以下程序intf(intA){returna%2;}main(){ints[8]={1,3,5,2,4,6),i,d=0;for(i=0;f(s[i];i++)d+=s[i];printf("%d\n",D);}程序运行后的输出结果是
A.9B.11C.19D.21
58.设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是()。
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(p+i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",(*p)++);
59.数据的存储结构是指()。
A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示
60.以下程序的输出结果是()main(){inta=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf("%d%d%d\n",k,a,B);}
A.104B.004C.103D.003
四、选择题(20题)61.有以下程序
62.有以下程序:
程序运行后的输出结果是()。
A.0B.一1C.1D.7
63.下列叙述中不正确的是()。
A.在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.在C的函数中,最好使用全局变量
C.外部变量可以在函数之间传递数据
D.自动变量实质上是一个函数内部的局部变量
64.
65.
66.有以下程序:
程序运行后的输出结果是()。
A.0B.一12C.一20D.10
67.设有以下语句
charx=3,y=6,z;
z=x^y<<2;
则z的二进制值是
A.00010100B.00011011C.00011100D.00011000
68.一些重要的程序设计语言(inC语言和Pascal语言)允许过程的递归调用,而实现递归调用中的存储分配通常用()。
A.栈B.堆C.数组D.链表
69.假设a和b为int型变量,则执行以下语句后b的值为()。a=1;b=10;do{b-=a;a++;}while(b--<0);A.9B.-2C.-lD.8
70.(18)下列说法中,不属于数据模型所描述的内容的是______。
A.数据结构
B.数据操作
C.数据查询
D.数据约束
71.有以下程序执行后的输出结果是()。
A.1B.2C.4D.死循环
72.
73.将E—R图转换为关系模式时,实体和联系都可以表示为()。
A.属性B.键C.关系D.域
74.下列程序的输出结果是()。#include<stdio.h>main{inta[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[o][1]+a[1][1]+a[1][2]);}A.8B.7C.12D.9
75.若有定义:“doublea=22;inti=0,k=18;”,则不符合C语言规定的赋值语句是()。
A.a=a++,i++;
B.i=(a+k)<=(i+k);
C.i=a%11;
D.i=!a;
76.在“文件包含,预处理语句的使用形式中,当#include后面的文件名用(双引号)括时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
77.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是()。A.学生管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统
78.下列可用于C语言用户标识符的一组是
A.void,define,WORDB.a3_b3,_123,Car
C.For,-abc,CaseD.2a,DO,sizeof
79.在面向对象方法中,具有相似属性与操作的一组对象称为()。
A.类B.实例C.消息D.数据
80.
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:从字符串str中,删除所有小写字母c。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.请编写函数proc(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,P的值为4。移动后,一维数组中的内容应为5,6,7,8,9,10.11,12,13,14,1,2,3,4。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.B
2.B
3.D本题int*p[4]的作用是声明一个指针数组,每个元素都是int*型指针。
4.A
5.Cfprintf函数将内容写入硬盘的文件,fputs函数将字符串写入文件,最终文件的内容为abc28。故本题答案为C选项。
6.B题目中的选项都以转义字符“\\”开头,“\\ddd”表示3位八进制数代表的一个ASCII字符,“\\xhh”表示2位十六进制数代表的一个ASCII字符。选项A中“089”是不合法的八进制数,错误;选项C、D中“\\0X”或“\\0x”不合法,错误;选项B表示八进制数012代表的ASCII字符,正确。本题答案为B选项。
7.D
8.CA选项中,没有对指针进行初始化,属于无效指针,并且在“scanf(“%d”,&p);”中无须再进行取地址操作;B选项中,没有对指针进行初始化,属于无效指针;D选项中,语句“*p=&k;”书写错误,应为“P=&k;”。故本题答案为C选项。
9.B解析:本题考查带参数的宏的定义及相关运算:S=m+n+m+n*k=1+2+1+2*3=10。
10.B解析:x-=x+x可化为:x=x-(x+x),由于x初始值为10,所以计算后,x=10-20=-10,因此选B)。
11.C将两个字符串连接起来组成一个字符串,选用strcat函数来连接。
12.B解析:我们严格区分调试与测试,调试是已知有错误而来找错误,是被动的;测试有很多种,比如未发现错误但不能保证程序没错而来找BUG,还比如我们运行测试程序是否符合用户的要求,是主动的。所以答案是选项B。A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法。测试有单元测试、集成测试、确认测试、系统测试。比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误。
13.A
14.A
15.DD。【解析】算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模。09函数fin),算法的时间复杂度也因此记做T(n)=O(f(n))。因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(AsymptoticTimeComplexity)。简单来说就是算法在执行过程中所需要的基本运算次数。
16.B程序首先给字符数组s赋值为“012xy”。for循环语句的功能是遍历字符串,通过if条件语句对字符串中的小写字母进行计数,字符串中小写字母个数为2,即n=2。故本题答案为B选项。
17.D
18.D本题考查if-else语句的使用。if-else语句可以在条件为“真”或为“假”时执行指定的动作,由if引导条件为“真”时执行的操作;由else引导条件为“假”时执行的操作。else语句要与上面最近的if语句进行匹配,如果要嵌套调用if-else语句,需要将嵌套部分用{}括起来,避免程序报错。题目中给出了一个if语句和一个if-else语句,if-else语句为第一个if语句的子语句。首先执行外层if语句,执行条件为x>y,由于x=1,y=2,故该条件为假,不执行if的子语句,直接执行语句printf("%d\\n",x++);,该语句先输出x的值,然后进行x++操作。x的初始值为1,输出结果为1。
19.D本题主要考查do—while循环,因为变量t的初始值等于1,经过第一次do-while循环后,执行t=t-1这条语句一次,所以变量t的值为-1,判断关系表达式t!=n是否成立,如果关系表达式成立,则执行第二次循环,如果关系表达式不成立,退出循环。由此可见,只要输入变量n的值为负奇数,则一定会使t==n成立,故退出do-while循环。
20.C
21.4545解析:对于长度为N的线性表,在最坏情况下(即线性表中元素现在的顺序与目标顺序正好相反),冒泡排序需要经过N/2遍的从前往后的扫描和N/2遍的从后往前的扫描,需要的比较次数为N(N-1)/2。
22.22解析:本题变量m既是外部变量(值是13),又是fun函数的局部变量(值为3)。函数fun(x*y-m)的值为7*5-3=32,在main函数中,fun(a,b)/m中的m应取外部变量的值13,因此输出2。
23.存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。可知,循环队列应当是物理结构。
24.dat""w"或"bi.dat""w+"或"bi.dat""r+"dat','w'或'bi.dat','w+'或'bi.dat','r+'解析:本题的考点是fopen()函数,此函数的格式是fopen(文件名,使用文件方式),题目的要求是将从键盘读入的文本写到文件中,因此选择的打开方式应该是'w'(只写)。或者是读写“r+”或“w+”。
25.99解析:本题要输出的结果是字符串'IBM\\n012\\1\\\\'的长度,'IBM'是3个字符,\'\\n\'是1个字符,'012'又是3个字符,最后的\'\\1\'和\'\\\\\'都是1个字符。所以最终字符串的长度应该是3+1+3+1+1=9。故本题应该填9。
解析:a/2=9/2=4,1/2=0,于是根据输出结果就有下列等式:z=4+2*x/1.1=12.0,化简后,为x/1.1=4,x=4.4。
27.扇出扇出解析:在结构图中,调用一个给定模块的模块个数称为扇入,一个模块直接调用的其他模块个数称为扇出。
28.
29.关系关系解析:关系模型用;维表表示,则每个;维表代表一种关系。
30.逻辑关系逻辑关系
31.1111解析:格式字符。是以八进制无符号形式输出整数(不输出前导符0),因为整数9的八进制为11,所以输出结果为11。
32.选择结构选择结构解析:程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。
33.一对多一对多解析:实体之间的联系可归结为一对一、一对多与多对多的联系。如一个学校有许多教师,一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于一对多的联系。
34.(y%2)==1或(y%2)!=0(y%2)==1或(y%2)!=0
35.1567815678解析:本题使用了双重while循环,外循环的循环条件是*p1++,即每次循环时让p1指向其后面的一个元素,而p1自增之前所指内容为0时循环结束。内循环的循环条件是*p1++=*p2++,即每次循环时让p1和p2指向其后面的一个元素,而将p2自增之前所指的元素复制到p1自增之前所指的地址中去,直到p2自增之前所指内容为0时循环结束。p1本来一开始是指向c1[0],由于外循环判断条件时让p1自增了,所以进入内循环时p1指向c1[1],而内循环将p2所指字符串复制到p1所指位置,所以内循环的结果是c1[1]、c1[2]、c1[3]、c1[4]、c1[5]分别被c2[0]、c2[1]、c2[2]、c2[3]、c2[4]改写成'5'、'6'、'7'、'8'、'\\0'。故程序输出的结果为15678。
36.64KB
37.66解析:分析程序可知,每循环一次,x的值加1,然后检测循环控制条件(y!=19)&&(x<7),因y的值不变,故满足x<7时循环6次。
38.jj解析:在C程序中的字符量可参与任何整数运算。
39.99解析:本题中首先将宏替换掉,则表达式为a=++k+1*k+1=4+1*4+1=9,故最后输出a的值为9。
40.事务型事务型解析:典型的数据流类型有两种:变换型和事务型。
41.A
42.A解析:本题考查的是静态变量以及函数的实参与形参之间的地址值传递。sub()函数数中定义的变量m是一个静态变量,系统可为其分配固定的存储空间,重复使用时,变量的值保留;所以当mam()函数中的for循环中语句sub(a,&x);执行时,sub函数中m的值依次是4,3,2,1,0;因为变量x进行的是地址值传递,所以最后依次输出的是数组a的元素a[4]、a[3]、a[2]、a[1]、a[0]。
43.C解析:本题考查数据库的关系代数运算。R表中只有一个域名A,有两个记录(也叫元组),分别是m和n;S表中有两个域名,分别是B和C,其所对应的记录分别为1和3。注意观察表T,它是由R的第一个记录依次与S的所有记录组合,然后再由R的第二个记录与S的所有记录组合,形成的一个新表。上述运算恰恰符合关系代数的笛卡儿积运算规则。关系代数中,笛卡儿积运算用“×”来表示。因此,上述运算可以表示为T=R×S。因此,本题的正确答案为C。
44.B解析:本题考查对文件的操作。文件打开后才可以对文件进行操作,使用结束后要关闭文件。对文件的操作都是顺序读写,即从文件的第一个数据开始,依次进行读写。
45.D
46.A解析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C++、Java等语言中,因此A)错误。
47.C
48.A解析:C语言中比较表达式的运算结果为0或1。0代表不成立,1表示成立。
49.A解析:在本题中,因为每个case语句后面都没有break语句,所以,第一轮循环(i=1)执行过后a的值为8,第2轮(i==2)执行过后a的值为16,第3轮(i==3)执行过后a的值为26,第4轮(i==4)执行过后a的值为31,然后执行“i++”语句,这时循环条件为假,循环结束。所以,4个选项中A正确。
50.A解析:两个实体之间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种,即一对一的联系、一对多(或多对一)的联系和多对多的联系;概念模型便于向各种模型转换。由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。
51.A解析:本题考查ifelse语句的使用。先判断第1个if语句,因为c=1>0,所以x=x+y=0+2=2。第1个if语句,因为a=-5<0,所以进入下列的复合语句。经判断发现,复合语句中第2个if语句的条件均不满足,不执行任何语句退出,在这个过程中y和z的值没有发生变化。
52.B解析:选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。
53.D解析:20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计一些子目标作过渡,逐步细化;②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;⑧模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。
54.C解析:在for循环体中,首先判断自变量i能否被5整除,然后再自加两次,最后判断i能否被8整除。当for循环执行到第30次时,i的值为30能被5整除,然后i经过两次自加1运算,值变为32,能被8整除,故执行“printf('%d',i);”语句,即输出32。本题的答案为选项C)。
55.D解析:可以用以下三种形式来引用结构体变量中的成员:结构体变量名.成员名、指针变量名->成员名和(*指针变量名).成员名。选项D)中“&st.m”取的是结构体中成员的地址而不是结构的地址。
56.A解析:本题考查的重点是typedef的理解运用。C语言允许通过typedef为数据类型定义新名字,但是,它并非是生成新的数据类型,因此选项A是错误的。
57.A解析:本题考核的知识点是一维数组的定义,初始化和数组中元素的引用。函数f()的作用是形参a为偶数的时候返回0,主函数中首先定义了一个长度为8的一维数组,然后给它赋初值使得s[0]=1、a[1]=3、s[2]=5、s[3]=2、s[4]=4、s[5]=6.其他没有赋值的数组元素将自动赋值为0。for循环中,当s[1]不为偶数的时,将s[i]相加,即当i=3时,s[i]=2为偶数,退出循环,此时d的值为d=s101+s[1]+s[2]=1+3+5=9,因此最后输出的d的值为9。所以,4个选项中选项A符合题意。
58.D解析:*p=x的作用是将x的首地址赋给指针变量p。选项A)正确,*(P++)中括号内的++是在P的后面,所以它先取*P的值x[0],再执行p++;选项B)正确,p+i表示x[i]的地址,*(p+i)表示x[i]的值;选项C)中的*和++处于同一优先级别,而结合方向为自右而左,因此*p++相当于*(p++),与选项A)相同;选项D)中的(*p)++是使*p的值+1,即x[0]的值加1,它不能实现指针的移动,每次循环只是x[0]的值在改变,而P的值并没有改变,所以不能实现6个元素的输出。
59.D数据的逻辑结构是指数据元素之间的逻辑关系的数据结构。数据的存储结构则是数据的逻辑结构在计算机中的物理实现,有时也称作数据的物理结构。两者的区别是数据的逻辑结构只涉及到数据之间抽象的数学关系。存储结构则涉及到如何在计算机中通过对数据的物理存储进行组织来表达数据元素之间的逻辑关系。比如在线性表的顺序存储中是利用物理存储空间上的连续性来表达线性表中数据的前后件关系;在线性表的链式存储中是通过指针域构成的逻辑链条来表达数据的前后件关系。一般的,一种数据的逻辑结构对应的物理实现,即数据的存储结构不止一种。因此选项D正确。
60.C
61.Af函数是值传递,不会改变main函数中t的值,所以结果为A)。
62.Ba一一的含义是先用后减l,所以当a的值为0时,跳出循环,但是仍要执行a一一,g的值变为一1。
63.B解析:编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放;全局变量一经定义,编译系统为其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育赛事取消保险行业跨境出海项目商业计划书
- 高科技保鲜技术水果罐头行业深度调研及发展项目商业计划书
- 高端家庭影院设计服务企业制定与实施新质生产力项目商业计划书
- 创意家居设计市场行业深度调研及发展项目商业计划书
- 软件即服务 (SaaS) 在企业项目管理中的深度应用、定制化开发策略及企业数字化转型赋能与管理效率提升可行性研究报告
- 2025年乡村文化旅游产业政策与文化旅游产业投资环境关系报告
- 中小微企业供应链金融创新实践与金融科技应用研究报告
- 2025年金融市场量化投资策略在债券市场的风险控制与收益优化研究与实践报告
- 甘肃省天水市秦安县第四中学2022-2023学年高二上学期期中物理(原卷版)
- 药剂科对患者教育的职责
- 中国神华能源股份有限公司大柳塔煤矿矿山地质环境保护与土地复垦方案
- 抗菌药物使用分级授权表
- GB/T 2774-2006金属锰
- GB 2717-2018食品安全国家标准酱油
- 军人申请病退评残医学鉴定申请表-附表1
- 人物卡通漫画课件
- 六年级国学经典《大学》课件
- 社会工作综合能力(初级)
- 食品生物化学第三章-脂类与食品加工课件
- 人工智能技术介绍完整版人工智能概述、围棋课件
- 暨南大学2021年内招硕士研究生复试方案
评论
0/150
提交评论