版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年山东省淄博市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行____。
A.q一>next=p一>next;p一>next=q;
B.q一>next=p一>next;p一>next=q;
C.p一>next=q一>next;q=p;
D.p一>next=q一>next;q一>next=p;
2.下列叙述中错误的是()。
A.用户定义的函数中可以没有return语句
B.用户定义的函数中可以有多个return语句,以便调用一次返回多个函数值
C.用户定义的函数中若没有return语句,则应当定义函数为void类型
D.函数的return语句中可以没有表达式
3.程序执行后的输出结果是()。A.321.cbaB.123.abcC.abc,123D.1bc,a23
4.有如下程序:main(){intx=1,a=0,b=0;switch(x){case0:b++;casel:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是()。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
5.以下叙述正确的是()。
A.“charc1,*c2,*c3[10];”是合法的变量定义语句
B.数组说明符的方括号中不能使用表达式
C.数组元素下标可以是非整数
D.若有定义“chararray[4];”,则语句“printf(“%c”,array[“3”]);”是合法的
6.下列关于栈的叙述中,正确的是()。
A.栈底元素一定是最后入栈的元素B.栈操作遵循先进后出的原则C.栈顶元素一定是最先入栈的元素D.以上三种说法都不对
7.C语言可执行程序的开始执行点是()。
A.包含文件中的第一个函数B.程序中第一个函数C.程序中的main()函数D.程序中第一条语句
8.字符组a[20]和b[20],下面正确的输出语句是()。A.put(a,b)
B.prinf(“%s,%s”,a[],b[])
C.putchar(a,b)
D.puts(a);puts(b)
9.若有函数内部说明:inta[3][4];则数组a中各元素
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
10.采用深度优先搜索或拓扑排序算法可以判断出一个有向图中是否有环(回路)()
A.对B.错
11.
12.需求分析最终结果是产生
A.项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告
13.设有以下程序段:structMP3{charname[20];charcolor;floatprice;}std,*ptr;ptr=&std:若要引用结构体变量std中的color成员,写法错误的是()。A.std.colorB.ptr->colorC.std->colorD.(*ptr)color
14.设a、b和、c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式为()
A.'a'&&'b'
B.a<=b
C.a‖b+c&&b-c
D.!(a-b)&&(!c‖1)
15.有如下定义:structperson{charname[9];intage;}structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能输出字母M的是()
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0]);
16.C语言提供的合法的数据类型关键字是()。
A.DoubleB.shortC.integerD.Char
17.以下叙述中错误的是()。
A.使用三种基本结构构成的程序只能解决简单问题
B.结构化程序由顺序、分支、循环三种基本结构组成
C.C语言是-种结构化程序设计语言
D.结构化程序设计提倡模块化的设计方法
18.有以下定义
#include<stdio.h>
chara[10],*b=a;
不能给a数组输入字符串的语句是
A.gets(A)B.gets(a[0]);C.gets(&a[0]);D.gets(B);
19.一个顺序栈一旦声明,其占用空间的大小()。
A.已固定B.可以变动C.不能固定D.动态变化
20.成功的测试是指A.A.运行测试实例后未发现错误
B.发现程序的错误
C.证明程序正确
D.软件产生
二、2.填空题(20题)21.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
【】(double,double);
main()
{doublex,y;
scanf("%1f%1f",&x,&y);
printf("%1f\n",max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a:b);}
22.以下函数用以求y的x次方。补足所缺语句。
doublefun(doubley,intx)
{inti;
doublez=1.0;
for(i=1;i______;i++)
z=______;
returnz;
}
23.对存储器按字节进行编址,若某存储器芯片共有8根地址线,则该存储器芯片的存储容量为【】字节。
24.实体之间的联系可以归结为一对一联系、一对多(或多对多)的联系与多对多联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于______的联系。
25.下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。main(){inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;for(i=0;i<2;i++){for(j=0;j<3;j++)();}}
26.以下程序通过函数指针p调用函数fun,请在填空栏内写出定义变量p的语句。
voidfun(int*x,int*y)
{……}
main()
{inta=10,b=20;
【】:
p=fun;p(&a,&b);
……
}
27.在面向对象方法中,类的实例称为______。
28.下列程序的循环次数是______。
x=2;
do
{x=x*x;}
while(!x);
29.执行下列语句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
30.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
31.软件工程研究的内容主要包括:【】技术和软件工程管理。
32.以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
请填空。
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun(【】);
y2=fun(【】);
printf("y1=%lf,y2=%lf\n",y1,y2);
}
33.用复合的赋值运算符将变量x中的值增大2的赋值表达式是【】。
34.下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。
intn=0,c;
c=getchar();
while(c!='\n')
{if(______)
n++;
}
35.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
36.下列程序执行后输出的结果是【】。
main()
{intarr[10],i,k=0;
for(i=O;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
}
37.长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
38.在计算机软件系统的体系结构中,数据库管理系统位于用户和【】之间。
39.请选出以下程序的输出结果#include<stdio.h>main(){inta[]={1,2,3,4},i;intx=0;for(i=0;i<4;i++){sub(a,x);Printf("%d",x);}printf("\n");}sub(S,y)int*s,y;{staticintt=3;y=s[t];t--;}
40.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
三、1.选择题(20题)41.设x,y均为int型变量,且x=10,y=3,则printf("%d,%d\n",x-,-y);语句的输出结果是______。
A.10,3B.9,3C.9,2D.10,2}
42.下列关于栈的描述正确的是()。
A.在栈中只能插入元素而不能删除元素
B.在栈中只能删除元素而不能插入元素
C.栈是特殊的线性表,只能在一端插入或删除元素
D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
43.具有3个结点的二叉树有
A.2种形态B.4种形态C.7种形态D.5种形态
44.有下列函数:intfun(char*s){char*t=s;while(*t++);return(t-s);}该函数的功能是()。
A.比较两个字符串的大小
B.计算s所指字符串占用内存字节的个数
C.计算s所指字符串的长度
D.将s所指字符串复制到字符串t中
45.下列工具中为需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
46.栈和队列的共同点是()。
A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点
47.有以下程序main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sized(a);j=stden(a);printf(“%d,%d\n”,i,j);}程序运行后的输出结果是
A.9,9B.8,9C.1,8D.9,8
48.有以下程序段:intk=0;while(k=1)k++;while循环执行的次数是______。
A.无限次B.有语法错,不能执行C.一次也不执行D.执行一次
49.若有以下的说明和语句:intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];则在执行for语句后,*(*(pt+1)+2)表示的数组元素是______。
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
50.有以下程序:main(){inta=1,b=2,m=0,n=0,k;k=(n=b>A)||(m=a<B);printf("%d,%d\n",k,m);}程序运行后的输出结果是
A.0,0B.0,1C.1,0D.1,1
51.有以下程序:#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);{执行后的输出结果是()。
A.12B.1230C.123D.00
52.当运行以下程序时,从键盘输入;AhaMA(空格)Aha<CR>,则下面程序的运行结果是#include<stdio.h>main(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\n'){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
53.数据的存储结构是指______。
A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据
54.15.与数据元素本身的形式、内容、相对位置、个数无关的是数据的()
A.存储结构B.存储实现C.逻辑结构D.运算实现
55.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。
A.希尔排序B.冒泡排序C.插入排序D.选择排序
56.有以下程序#include<string.h>main(intargc,char*argv[]){inti,len=0;for(i=1;i<argc;i++)len+=strlen(argv[i]);printf("%d\n",len);}程序编译连接后生成的可执行文件是exl.exe,若运行时输入带参数的命令行是:exlabcdefg10<回车>则运行的结果是:
A.22B.17C.12D.9
57.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是A.voidB.intC.floatD.double
58.现有定义inta;doubleb;floatc;chark;,则表达式a/b+c-k值的类型为:
A.intB.doubleC.floatD.char
59.关系表中的每一横行称为一个()。A.元组B.字段C.属性D.码
60.在下列几种排序方法中,要求内存量最大的是______。
A.插入排序B.选择排序C.快速排序D.归并排序
四、选择题(20题)61.
62.有以下程序程序运行后的输出结果是()。
A.3,3,3B.2,2,3C.1,2,3D.1,1,3
63.在满足实体完整性约束的条件下()。
A.一个关系中廊该有一个或多个候选关键字
B.一个关系中只能有一个候选关键字
C.一个关系中必须有多个候选关键字
D.一个关系中可以没有候选关键字
64.以下程序的输出结果是()。
main()
{inta=4,b=5,c=0,d;
d=!a&&!b║!c;
printf("%d\n",d);
}
A)1B)0
C)非0的数D)-1
65.
66.
67.有以下程序:
#include<stdio.h>
#defineN3
voidfun(inta[][N],intb[])
{inti,j;
for(i=0;i<N;i++)
{b[i]=a[i][0];
for(j=i;j<N;j++)
if(b[i]<a[i][j])b[i]=a[i][j];
}
}
main()
{intx[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;
fun(x,y);
for(i=0;i<N;i++)printf("%d,",y[i]);
printf("\n");
}
程序运行后的输出结果是(,)。
A.2,4,8,
B.3,6,9,
C.3,5,7,
D.1,3,5,
68.有如下嵌套的if语句:
以下选项中与上述if语句等价的语句是()。
A.
B.
C.
D.
69.有以下程序:
#include<stdio.h>
intfun()
{staticintx=1;
X*=2:
returnx;
}
main()
{inti,S=1;
for(i=1;i<=3;i++)S*=fun();
printf("%d\n",s);
}
程序运行后的输出结果是()。
A.0B.10C.30D.64
70.有下列函数定义:intfun(doublea,doubleb){returna*b;}若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是()。A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(X,y)x,y);
D.fun(x,y);
71.下列选项中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
72.
73.
74.
75.
76.
77.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
78.
设有如下定义:
intarr[]={6,7,8,9,10);
int*ptr:
ptr=arr;
*(ptr2)=2;
printf("%d,%d\n",*ptr,*(ptr2)):
则下列程序段的输出结果为()。
A.8,10B.6,8C.7,9D.6,2
79.为用户与数据库系统提供接口的语言是
A.高级语言B.数据描述语言(DDL)C.数据操纵语言(DML)D.汇编语言
80.以下叙述中正确的是()。
A.c语言规定必须用main作为主函数名,程序将从此开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C.c语言程序将从源程序中第一个函数开始执行、
D.main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等
五、程序改错题(1题)81.下列给定程序中函数fun的功能是:逐个比较P.q所指两个字符串对应位置上的字符,并把ASCIl值大或相等的字符依次存放到C所指的数组中,形成一个新的字符串。
例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abed”,则C中的字符串应为“aBcdeFgH”。请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),其功能是将形参s所指字符串放入形参a所指的字符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。注意:部分源程序存放在文件prog1.c中,请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()指定的部位填入所编写的若干语句。试题程序:
参考答案
1.D
2.B函数的值只能通过return语句返回主调函数。函数中允许有多个return语句,但每次只能调用一个return语句,因此只能返回一个函数值。不返回函数值的函数,可以明确定义为“空类型”,类型说明符为void。故本题答案为B选项。
3.D[解析]字符串是一个特殊的数组,所以按照数组的规则,s1应该指向的是数组的首地址,即"abc的第一个字符的地址。s2指向的是"123"的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符ai和1的内容,所以打印输出为D)。
4.A当X为1时,执行case1,a自加等于1,因为case1后没有break,接着执行case2,此时a的值为2,b自加为1,故选择A选项。
5.AC语言规定定义数组时,数组的长度必须是整型常量,数组说明符的方括号中表达式只要是常量即合法,因此选项B错误。C语言规定,数组元素下标必须是非负整数,因此选项C错误。选项D中,“chararray[4]”数组的长度为4,“army[“3”]”中“3”是常量字符串,与C语言规定数组的下标必须是非负整数不符。故本题答案为A选项。
6.B栈是先进后出,因此,栈底元素是先入栈的元素,栈顶元素是后入栈的元素。
7.C解析:每个C程序有且只有一个主函数main(),且程序必须从main函数开始执行,并在main()函数中结束。
8.D难易程度:中
9.C本题主要考查数组的定义及初始化。在对数组进行定义和初始化时,需要注意以下事项。
(1)数组的内存空间在编译时确定,定义数组时的n值只能使用常量,不能使用变量。
(2)定义数组时可以不标明数组元素的个数,而是通过赋初值的方式确定,编译系统将自动计算花括号内的数据数量作为数组的元素个数。
(3)数组初始化时,当初值的个数小于整型常量n时,编译系统会自动补0。一旦给定初值数超过n,编译系统将报错。
(4)初始化数组的元素类型,必须与定义数组时的类型一致。
(5)数组名记录了数组在内存中的首地址,其值不能更改。
(6)除字符数组外,不能直接用数组名对数组进行整体输入或输出。
本题中定义了一个3行4列的数组,但没有对其进行赋初值操作,可能我们会想在系统编译时会自动补0,这只是在初值个数小于数组定义大小的情况下的操作,如果没有进行赋初值操作,数组中的元素值是不能被确定的。因此,本题答案选C。
10.A
11.D
12.B解析:本题考核软件工程中的需求分析环节。需求分析应交付的主要文档就是需求规格说明书。
13.C【答案】C
【知识点】结构体成员变量的引用
【解析】结构体变量包括一个或多个成员变量,引用其成员变量的语法格式如下:
结构体变量.成员变量。通过结构体指针变量获得其结构体变量的成员变量的一般形式为:(*结构体指针变量).成员变量,也可以使用:结构体指针变量->成员变量来引用成员变量。
14.D
15.D
16.Bdouble,char,int,第一个字母都是小写。
17.A使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A错误。
18.B解析:函数gets()的调用形式为gets(str_adr);str_adr是存放字符串的起始地址。可以是字符数组名、字符指针或字符数组元素的地址。gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。换行符读入后,不作为字符串的内容。本题中定义一个长度为10的字符数组,和一个指针变量b,并且通过赋值让它指向数组a。gets函数的参数a[0]不能表示数组a的首地址。
19.A
20.B软件测试的目的主要有以下几个方面。
(1)软件测试是为了发现错误而执行程序的过程。
(2)一个好的测试用例能够发现至今尚未发现的错误。
(3)一个成功的测试是发现了至今尚未发现的错误的测试。
另外,即使经过了最严格的测试,可能仍然还有没被发现的错误藏在程序中,测试只是找出程序中的错误,不能证明程序中没有错误。
21.doublemax或externdoublemaxdoublemax或externdoublemax解析:本题中main()函数需要调用max()函数,在main()之前就需要声明函数max(),并且可以用extern说明符使变量的作用域扩充到需要用到它的函数,所以,填写doublemax(或externdoublemax)。
22.i<=xz*y。i<=xz*y。解析:循环次数应该是x次,相当于x个y相乘,循环体中z作为累乘器,值为z*y。
23.256256解析:本题考查对存储器按字节进行编址的规则及其寻址范围(2n),其中n为存储器芯片中地址线的条数。
24.一对多或1:N。一对多或1:N。
25.b[j][i]=a[i][j]
26.void(*p)();void(*p)();解析:要定义p为指向函数的指针变量,需写成void(*p)();,注意*p两侧的括弧不可以省略,表示P先与*结合,是指针变量,再与后面的()结合,表示此指针变量指向函数,这个函数无返回值(同fun()函数)。
27.对象对象解析:类描述的是具有相似性质的一组对象。例如,每本具体的书是一个对象,而这些具体的书都有共同的性质,它们都属于更一般的概念“书”这一类对象。一个具体对象称为类的实例。
28.11解析:do…while语句的功能是:首先执行循环体语句,然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环;do…while语句的特点是先执行后判断,因此循环体至少执行1次.本程序中x=2不符合循环条件,所以只循环1次。
29.150150解析:本题先给变量x赋初始值100,然后将指针p指向变量x,*p是取指针p所指地址的内容,即100,所以x=100+50=150。
30.测试实例测试实例解析:进行软件测试时,应精心设计测试实例和选择测试数据,以对系统进行全面测试。
31.软件开发
32.x+8sin(x)x+8,sin(x)解析:考查考生对函数调用相关知识的了解。用x+8代替函数fun(doublex)中形式参数x;用sin(x)代替函数fun(doublex)中形式参数x。
33.x+=2
34.c>='a'&&c<='z'c>='a'&&c<='z'解析:小写字母在内存中以ASCII的形式存入,且从a到z依次递增,所以可以直接用c>='a'&&c<='z'判断是不是小写字母;c!='\\n'判断是用换行符结束循环。
35.队尾队尾解析:在队列中,允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。
36.1212解析:本题的第一个for循环用于给数组arr赋初值,第二个for循环用于求和运算。由于第二个for循环初始值为1,而循环条件为i<4,所以求的是arr[1]到arr[3]及i的和,所以输出结果为12。
37.n/2性表的任何位置插入一个元素的概率相等,即概率为p=1/(n+1),则插入一个元素时所需移动元素的平均次数为E=1/(n+1)(n-i+1)=n/2。
38.操作系统或OS操作系统或OS解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务。位于用户和操作系统之间。
39.C
40.malloc(11)malloc函数的格式是void*(或char*)malloc(size),size表示应分配的存储区,此题要分配11字节的单元,把11代入即可。
41.D解析:C语言的自减运算符有前置与后置两种形式。当自减运算符前置时,变量先自减一后再参与表达式运算;而后置时,变量先参与表达式运算后再自身减一。
42.C解析:根据数据结构对栈的定义及其特点可知:栈是限定只在表尾进行插入或删除操作的线性表,因此栈是先进后出的线性表,对栈的插入与删除操作,不需要改变栈底元素。栈是限定只在表尾进行插入或删除操作的线性表。
43.D解析:因为二叉树有左、右子树之分,所以有3个结点的二叉树具有5种不同的形态。
44.C解析:在函数fun(char*s)中,首先用字符指针变量t指向s,而循环语句while(*t++);的功能是使指针变量t指向字符串变量s的末尾,这时退出循环,因而语句return(t-s);返回的就是字符串s所指字符串的长度。
45.D解析:需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。
46.C栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表:本题答案为C)。
47.D解析:本题中首先定义了字符数组a,由于它的长度省略,所以其长度由初值个数确定,为9。接着将sizeof()函数返回的值赋给i(sizeof()函数的作用是返回运算对象占用的字符数),所以i值为9;然后将strlen()函数的返回值赋给j(strlen()函数的作用是返回字符串的长度,不包括字符串的结束标记'\\0'),所以j值为8,所以最后输出的i,j的值为9,8。
48.A解析:本题的循环条件是表达式“k=1”,表达式值永远为1,所以是无限循环。
49.C解析:pt是指向整型变量的指针数组,pt+1即pt[1]表示第2行的首地址,*(pt+1)表示第2行第1个元素即t[1][0]的地址,*(pt+1)+2表示第2行第3个元素即t[1][2]的地址,(*(pt+1)+2)则表示第2行第3个元素。
50.C解析:本题考查“逻辑或”运算的特例。本题中执行语句k=(n=b>a)||(m=a<b)时,首先计算表达式(n=b>a)||(m=a<b)的值,因b=2,a=1,所以b>a成立,即得n=1,故表达式(n=b>a)||(m=a<b)的值为真,不再执行表达式m=a<b,故执行完表达式k=(n=b2>a)||(m=a<b)后,n=1、m=0、k=1。
51.B解析:fprintf、fscanf函数与printf、scanf函数作用相仿,都足格式化读写函数,其区别在于:fprintf和fscanf函数的读写对象不是终端而是磁盘文件。这两个函数的一般调用方式为:
fprintf(文件指针,格式字符串,输出表列);
fscanf(文件指针,格式字符串,输入表列);
程序首先将123写入d1.dat文件中,再从该文件中将数据读给变量k和n。由于文件d1.dat中的数据是123,按格式“%d%d”读数据时将123读给k,n没有得到读入的数据,保持初始值0。
52.A解析:本题主要考查的知识点是大写字母比它对应的小写字母ASCII码值小32,并且字符可以看作整数进行算术运算等操作。
53.B解析:数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的,而且一般不可能相同。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。
54.C所谓数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构。\n所谓数据的存储结构,是指数据的逻辑结构在计算机存储空间中的存放形式。与数据元素本身的形式、内容、相对位置、个数有关。\n逻辑结构与物理存储无关。因此本题的正确答案为C。
55.A解析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。
56.D解析:main()函数可以带参数,并且参数只能有两个,第一个参数(argc)类型为整型用来记下命令行的参数个数,第二个参数(argv)为一个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。本题执行时,argc的值为4,在循环中依次求出argv[1]、argv[2]和argv[3]指向的字符串('abcd'、'efg'和'10')的长度,并把它们加到变量len中,得到len的值9。所以最后输出的len值为9,所以4个选项中D正确。
57.B解析:C语言规定,在定义函数时,若其返回值类型为int,则可以缺省。
58.B解析:双目运算中两边运算量类型转换规律:
运算数1运算数2转换结果类型
短整型长整型短整型->长整型
整型长整型整型->长整型
字符型整型字符型->整型
有符号整型无符号整型有符号整型->无符号整型
整型浮点型整型->浮点型
在a/b的时候,a、b的类型不一致,根据类型转换规则,把整型转换成double类型,之后的加、减类似。转化规则为char,short->int->unsigned->long->double←float。
59.A解析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。
60.D解析:快速排序的基本思想是,通过一趟排序将排序记录分割成独立的两部
分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继
续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依
次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整
个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩
下的于表采用同样的方法,直到表空为止;归并:排序是将两个或两个以上的有序表组合
成一个新的有序表。
注意:各种排序方法实现过程及实现机制。
61.C
62.Amalloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(ints)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,h,’c都指向刚申请的内存空间。因此只有最后一个赋值语句*c=3的值保留在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第24课 《古人谈读书》教学设计 试讲稿 说课稿(统编版语文五年级上册新教材)
- 许昌市鄢陵县2026年中考数学猜题卷含解析
- 平遥县2025-2026学年中考联考数学试卷含解析
- 2026年10月10日对合同变动做出详细说明函7篇范文
- 食品生产厂质检部门主管工作成果绩效考核表
- 中粮集团笔试试题及答案
- 催办合作伙伴签订合同的函件(6篇)范文
- 工程监理项目风险评估与管控手册
- 提硝工岗前操作管理考核试卷含答案
- 机制地毯图案工操作技能考核试卷含答案
- 2026年档案馆行业分析报告及未来五至十年竞争格局分析
- 2026年秋季道德与法治五年级上知识点
- 上海市政府采购评审专家试题库及答案
- 2026直播电商主播人才培养体系与内容创新趋势分析报告
- 2026中国资源循环集团有限公司春季校园招聘备考题库【含答案详解】
- 新一届人大代表履职课件
- 《伤逝》鲁迅大学语文教案(2025-2026学年)
- 拆墙改门施工方案
- 浙江精诚联盟2025-2026学年高二上学期10月联考生物(含答案)
- 2025成人高考专升本《医学综合》试题及答案
- 2025年教科版新教材科学三年级上册第二单元《水》教案设计
评论
0/150
提交评论