版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年浙江省宁波市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.以下关于算法的叙述中错误的是()。
A.算法可以用伪代码、流程图等多种形式来描述
B.一个正确的算法必须有输入
C.一个正确的算法必须有输出
D.用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码
2.若串S=,software,其子串的数目是()。
A.8B.37C.36D.9
3.有以下程序:
程序执行后的输出结果是()。
A.1B.2C.3D.4
4.
5.定义如下变量和数组:inti;intx[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};则下面语句的输出结果是()。A.15913B.161116C.471013D.481216
6.下列程序的运行结果为()。
#deflneMAX(x,y)(x)>(y)(x):(y)
main()
{inta=2,b=3,c=1,d=3,t;
printf("%d\n",(MAX(a+b,c+D))*100);
}A.A.500B.5C.4D.400
7.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上3种说法都不对
8.以下程序的输出结果是()main(){union{chari[2];intk;}r;r.i[0]=2,r.i[1]=0;printf("%d\n",r,k);}
A.2B.1C.0D.不确定
9.下面哪个不是用来解决哈希表冲突的开放地址法()
A.线性探测法B.线性补偿探测法C.拉链探测法D.随机探测法
10.读取二进制文件的函数调用形式为:fread(buffersize,count,fp);,其中buffer代表的是()。
A.一个文件指针,指向待读取的文件
B.一个整型变量,代表待读取的数据的字节数
C.一个内存块的首地址,代表读人数据存放的地址
D.一个内存块的字节数
11.一个算法的语句执行次数为(2n2+2nlog2n+4n-7),则其时间复杂度为()。
A.O(n2)B.O(nlog2n)C.O(n)D.O(2n2)
12.字符串"\\"ABCDEF\"\\”的长度是()。
A.11B.10C.5D.3
13.对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。
A.n-1B.nC.n+1D.2n
14.以下选项中,算术表达式的值与其他3个不同的是()。
A.3/5.B.3./5C.3/5D.3.0/5.0
15.下列能正确进行字符串赋值的是()。
A.chars[5]={"ABCDE"};
B.chars[5]={A,B,C,D,E};
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
16.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(“%3.Of\n”,fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是
A.编译出错B.9C.21D.9
17.若执行以下程序时从键盘上输入9,则输出结果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8
18.
19.有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);为使此程序段不陷入循环,从键盘输入的数据应该是()。A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数
20.检查软件产品是否符合需求定义的过程称为()。
A.确认测试B.集成测试C.验证测试D.验收测试
二、2.填空题(20题)21.下列语句能循环______次。
ints=12;
while(s);
--s;
22.对于长度为n的顺序存储的线性表,当随机插入和删除—个元素时,需平均移动元素的个数为【】。
23.表达式pow(2.8,sqrt(float(x)))值的数据类型为______型。
24.在关系模型中,二维表的行称为______。
25.若有以下程序:
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(3,4),f(3,5));
printf("%d\n",d);
}
执行后输出结果是【】。
26.以下程序的运行结果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
27.设有以下定义
struetss
{intinfo;struetss*link;}x,y,z;
且已建立如下图所示链表结构:
请写出删除结点y的赋值语句【】。
28.下列语句的输出结果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
29.若a是int型变量,则表达式(a=2*3,a*2),a+6的值为______。
30.以下程序的输出结果是【】。
main()
{unsignedshorta=65536;intb;
printf("%d\n",b=A);
}
31.数据库的逻辑模型设计阶段的任务是将______转换成关系模式。
32.以下程序运行后的输出结果是______。
#include<string.h>
main()
{charch[]="abc",x[3][4];inti;
for(i=0;i<3;i++)strcpy(x[i],ch);
for(i=0;i<3;i++)printf("%s",&x[i][i]);
printf("\n");
}
33.结构化程序设计的三种基本逻辑结构为顺序、选择和【】。
34.下面的程序用来统计文件中字符的个数。请填空。
#include<stdio.h>
main()
{FILE*fP;
longnum=0;
if((fp=fopen("fname.dat","r"))==NULL)
{printf("Can'topenfile!\n");sxit(0);}
while【】
{fgetc(fp);num++;}
printr("num=%d\n",num);
fclose(fp);
}
35.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。
36.以下程序的输出结果是【】。
#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))
}
37.以下程序的输出结果是()。#include<stdio.h>main(){inti=10,j=0;do{j=j+i;i--;}while(i>5);printf("%d\n",j);}
38.为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域)。请填空。
structlink{chardata;【】;}node;
39.面向对象的模型中,最基本的概念是对象和______。
40.数据库系统的三级模式分别为______模式、内部级模式与外部级模式。
三、1.选择题(20题)41.以下程序段的输出结果为()。staticchara[]="programme";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);
A.programmeB.pormC.有语法错误D.prog
42.有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是()。
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
43.下列写法正确的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
44.下面程序的输出结果是()。main(){inti=1,p;p=f(i,++i);printf("%d",p);}intf(inta,intb){intC;if(a>b)C=1;elseif(a==b)C=0;elseC==-1;return(C);}
A.-1B.0C.1D.2
45.以下程序的输出结果是()main(){charss[16]="test\0\n\"";printf("%d,%d\n",strlen(ss),sizeof(ss)):}
A.4,16B.7,7C.16,16D.4,7
46.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是
A.1267B.1256C.1278D.1245
47.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(),
A.均占4个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由C语言编译系统决定
48.在数据结构中,从逻辑上可以把数据结构分为()。A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构
49.下列描述中,不是线性表顺序存储结构特征的是
A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需另外开辟空间来保存元素之间的关系
50.以下叙述中不正确的是
A.预处理命令行都必须以#号开始
B.在程序中凡是以#号开始的语句行都是预处理命令行
C.宏替换不占用运行时间,只占编译时间
D.在以下定义是正确的:#definePI3.1415926;
51.设已执行预编译命令#include<string.h>,以下程序段的输出结果是
chars[]="anapple";
printf("%d\n",strlen(s));
A.7B.8C.9D.10
52.若有以下定义的语句structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,21}};main(){stmctstudent*p;p=stu;…}则以下不正确的引用是
A.(p++)->numB.p++C.(*p).numD.P=&stu.age.
53.有以下程序floatfun(intx,inty){return{x+y);}main(){inta=2,b=5,c=8;printf("%3.of\n",fun((int)fun(a+c,B),a-C));}程序运行后的输出结果是
A.编译出错B.9C.21D.9
54.若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是()。
A.p1=&n;p2=&p1;
B.p1=n;
C.p1=&n;*p2=p1;
D.p1=&n;p2=p1;
55.设有如下说明typedefstructST{longa;intb;charc[2];}NEW;则下面叙述中正确的是______。A.以上的说明形式非法B.ST是一个结构体类型C.NEW是一个结构体类型D.NEW是一个结构体变量
56.下列叙述中,不属于测试的特征的是
A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性
57.有下列二叉树,对此二叉树前序遍历的结果为()。
A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH
58.以下正确的程序段是
A.charstr1[]="12345",str2[]="abcdef";
B.charstr[10],*st="abcde";strcat(str,st);
C.charstr[10]=""。*st="abcde";strcat(str,st);
D.char*st1="12345",*st2="abcde";strcat(st1,st2);
59.以下能正确定义字符串的语句是()。
A.charstr[]={'\064'};
B.charstr="\x43";
C.charstr=";
D.charstr[]="\0";
60.若a是noat型变量,b是unsigned型变量,以下输入语句中,合法的是______。
A.scanf("%6.2f%d",&a,&b);
B.scanf("%f%n",&a,&b);
C.scaaf("%f%3o",&a,&b);
D.scanf("%f%f",&a,&b);
四、选择题(20题)61.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
A.-369B.369C.0.369D.整数集合11,2,3,4,51
62.有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。structnode{intdata;structnode*next;}*P,*q,*r;现要将q所指节点从链表中删除,同时要保持链表的连续,
以下不能完成指定操作的语句是()。
A.p->next=q->next;
B.p->next=P->next->next;
C.p->next=r;
D.p=q->next;
63.(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()
A.可行性分析
B.需求分析
C.详细设计
D.程序编码
64.
65.
66.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件)。下面属于应用软件的是().
A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统
67.若有以下函数首部:
intfun(doublex[10],int*n)
则下面针对此函数的函数声明语句中正确的是()。
A.intfun(double,int);
B.intfun(double木,int*);
C.intmn(double*x,intn);
D.intfun(doublex,intint*n)
68.
69.假设a和b为int型变量,则执行以下语句后b的值为()。a=1;b=10;do{b-=a;a++;}while(b--<0);A.9B.-2C.-lD.8
70.
71.在c语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
A.auto和static
B.extern和register
C.auto和register
D.static和register
72.
73.
A.*P=*q;B.P=q;C.*P=&nl;D.P=*q;
74.有以下程序:
程序运行后的输出结果是()。
A.9.One*World
B.9.One*Dream!
C.10.One*Dream!
D.10.One*World
75.有以下程序:
程序运行后的输出结果是()。
A.61B.70C.63D.71
76.有以下程序:
程序运行后的输出结果是()。
A.9B.6C.11D.7
77.由两个栈共享一个存储空间的好处是______。A.A.减少存取时间,降低下溢发生的概率
B.节省存储空间,降低上溢发生的概率
C.减少存取时间,降低上溢发生的概率
D.节省存储空间,降低下溢发生的概率
78.下列叙述中正确的是()。A.顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
D.链式存储结构比顺序存储结构节省存储空间
79.若有定义语句:intx=10;,则表沃式㈣的值为()。A.一10B.-20C.0D.10
80.下列关于C语言数据文件的叙述中正确的是______。
A.文件由ASCII码字符序列组成,C语言只能读写文本文件
B.文件由二进制数据序列组成,C语言只能读写二进制文件
C.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
D.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:对M名学生的学习成绩,按从低到高的顺序找出m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数.不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.输出1—100之间不能被12整除的数。
参考答案
1.B【答案】B
【知识点】算法描述
【解析】一个算法应该有0个或多个输入,但是必须有一个或多个输出。
2.B
3.C该程序中int8pl=&a,+p2=&b,4P=&c;指定义三个指针变量,并赋值,即使pl指向a;p2指向b;p指向c。+P=。pl$(+p2)。;该条语句是给P所指的存储单元c赋值,就是pl所指的存储单元的值,即a的值,与p2所指的存储单元b的值相乘,也就是c=a+b,等价于c=1·3=3;因此C选项正确。‘
4.B
5.C
6.A解析:本题考查带参数的宏的定义及相关运算:(x)>(y)(x):(y)是x>y时输出x,否则输出y,调用(MAX(a+b,c+d))*100时,(a+b=5)>(c+d=4),所以输出a+b=5,所以x=5*100。
7.B解析:数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等,选项A的说法是错误的。数据库具有为各种用户所共享的特点,选项B的说法是正确的。通常将引入数据库技术的计算机系统称为数据库系统。一个数据库系统通常由5个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。因此,选项C的说法是错误的。
8.A解析:根据共用体的定义可知:共用体r的成员k和成员i[2]是共用同—段内存空间,所以,当程序给r.i[0]赋值后,实际上,共用体成员k的值也确定了,为2。所以打印输出的结果应当为2。
9.C
10.Cfread函数中的参数buffer是内存块的首地址,输入的数据存入此内存块中。
11.A
12.B解析:本题涉及字符串的两个最基本的概念。①字符串的长度是指字符串中字符的个数,但不包含字符串结束符;②以反斜线“\\”开头的特殊字符序列,意思是把反斜线后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,“\\”连同后面的字符为一个长度。
13.C解析:在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。
14.CC语言中除法运算有两个运算数,两个整数的除法运算会舍去小数部分,结果为整数;由于C语言中浮点数的小数形式必须要有小数点,所以选项A(5.)、B(3.)、D(3.0和5.0)都是浮点数。选项A、B运算时自动将另一个整数转换成浮点数,然后再运算,选项D中两个都是浮点数,浮点数的除法运算结果还是浮点数。所以本题中选项A、B、D运算结果是浮点数,选项C运算结果是整数。故本题答案为C选项。
15.C选项A、B的空间不够;字符串存储要有结束符\0,且要占用一个空间,printf用来输出字符,不能输入字符串。
16.B解析:fun()函数是将传进来的两个整型参数相加,把和作为函数值返回,注意返回值为float型。在主函数调用了两次fun()函数,第一次调用时把表达式“a+c”和变量“b”的值求和,得到15转换为15.0作为函数的返回值。第二次调用把第一次调用的返回值通过强制类型转换成int型15,再和表达式“a-c”相加,得到结果9,转换成float型作为函数值返回。由于输出格式符为“%3.of输出时没有小数位,故输出为9。
17.B当n为9时,此时if语句成立,执行n++后,n为10,因此输出n的值为10,故选择B选项。
18.A
19.D本题主要考查do—while循环,因为变量t的初始值等于1,经过第一次do-while循环后,执行t=t-1这条语句一次,所以变量t的值为-1,判断关系表达式t!=n是否成立,如果关系表达式成立,则执行第二次循环,如果关系表达式不成立,退出循环。由此可见,只要输入变量n的值为负奇数,则一定会使t==n成立,故退出do-while循环。
20.A本题主要考查软件测试的基本知识。软件测试的步骤可分为单元测试(模块测试)、集成测试、确认测试和系统测试。
(1)单元测试是针对每个模块进行的测试,它可从程序的内部结构出发设计测试用例,多个模块可以平行、对立地测试。单元测试主要用于发现详细设计和编程时犯下的错误。单元测试多采用白盒测试,辅之以黑盒测试。
(2)集成测试是在单元测试的基础上,根据模块结构图将各个模块连接起来,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告。主要目标是发现与接口有关的问题。集成测试可以发现概要设计时犯的错误。
(3)确认测试用于验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试主要用于发现需求分析时犯下的错误,一般使用黑盒法测试,以表明软件符合需求说明书的要求,应该仔细设计测试用例和测试过程。确认测试必须有用户参加,或以用户为主,用户应参与设计测试用例,通常情况下,主要使用生产中的实际数据进行测试,测试数据通过用户接口输入。
(4)系统测试是将已经通过确认测试的软件,作为整个计算机系统的元素与计算机硬件、外设和网络等其他因素结合在一起,进行一系列的组装测试和确认测试。系统测试的目的是通过与系统的需求定义做比较,发现软件与系统的定义不符合的地方。系统测试可以发现问题定义时犯下的错误。
21.无限无限解析:分析程序“while(s)”语句后面有一个“;”不能执行后面的语句,只是执行空语句,所以s=12保持不变,因此,没有条件限制的能循环无限次(即死循环)。
22.n/2n/2解析:删除—个元素,平均移动的元素个数为(n-1+n-2+…+0)/n=(n-1)/2;插入一个元素,平均移动元素个数为(n+n-1+n-2+…+1)/n=(n+1)/2:所以总体平均移动元素个数为n/2。
23.floatfloat解析:在此表达式中x是float类型的变量,经过开方所得到的结果仍是float类型,再和2.8进行运算时,应该先将2.8转换成float类型再运算,最后结果仍是float型。
24.元组元组解析:在关系型数据库中,用二维表来表示关系,二维表的表名即关系名,二维表的行称为关系的元组,二维表的列,称为关系的属性。
25.99解析:在主函数中函数f(f(3,4),f(3,5))的返回值赋给d。函数的第一个参数为f(3,4)的返回值,函数f(3,4)返回值为(4-3)×3=3,f(3,5)返回值为(5-3)×3=6,那么函数f(f(3,4),f(3,5))等价于函数f(3,6)其返回值为(6-3)×3=9。因此d被赋值为9;所以输出9。
26.a=2b=1a=2,b=1解析:本题考查了switch结构的内容。C语言中,程序执行完一个case标号的内容后,如果没有break语句,控制结构会转移到下一个case继续执行,因为case常量表达式只是起语句标号作用,并不是在该处进行条件判断。本题程序在执行完内部switch结构后,继续执行了外部switch结构的case2分支,最后a和b的值分别为2和1。
27.x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;解析:链表中结点的删除,要删除结点y,只需要让结点x的指针域指向y结点的指针域所指向的后续结点就可,因此只需把结点z的地址赋给x的指针域就可以了,即让结点x的指针域指向结点z。而结点z的地址保存在结点y的指针域中,因此只需把结点y的指针域赋值给结点x的指针域即可。
28.aaaaAAAAAaaaaAAAAA解析:函数strcat(sp,'AAAAA')的作用是将字符中“AAAAA”连接到字符串sp的末尾,并自动覆盖字符数组sp末尾的\'\\0\'。
29.1212解析:本题考查逗号表达式的运算规则。逗号表达式的基本格式为:“表达式1,表达式2,…”,其整个表达式的结果取最后一个子表达式的值。本题中首先计算逗号表达式中的第1个表达式a=2*3=6,然后计算第2个表达式a*2,这时整个表达式的值为12,但要注意,因为第2个表达式并没有给a赋值,因此a的值不变;接下来执行最后一个表达式a+6=12,所以整个表达式最后的值为12。
30.00解析:对于一个unsignedshort来说,它能取的最大值是65535。这里给a赋值65536,已经超出了它的取值范围,这样它的高位将被截掉,只把低位赋给它(全零)。所以a的值实际为0。
31.E-R图E-R图解析:数据库逻辑设计的任务是将概念模型进一步转化成相应的数据模型。而E-R图是主要的概念模型,因此数据库的逻辑设计的主要工作是将E-R图转换成关系模式。
32.abcbcc
33.重复(或循环)重复(或循环)
34.(!feof(fp))或feof(fp):=0(!feof(fp))或feof(fp):=0
35.参照完整性参照完整性
36.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。
37.4040解析:分析程序,初始时i=10,j=0,这时do循环中的“i=j+i”
38.structlink*next
39.类类
40.概念(或概念级)概念(或概念级)
41.B解析:本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址,第一次for循环,p=a,p指向数组的第一个元素,*p是取指针p所指地址的内容,输出p;第二次for循环,p=p+2,则p指向数组的第三个元素,*p是取指针p所指地址的内容,输出o;第三次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出r;第四次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出m;结束循环。
42.D解析:本题中首先定义一个字符数组s,并将字符串'ABCD'存到数组s中,定义了一个字符指针变量p,在接下来for循环中,循环体共执行了三次,第一次p指向s[1],所以此时输出的p所指字符串的值为BCD,第二次循环p指向s[2],此时输出p所指的字符串的值为CD,第三次循环p指向s[3],此时输出的p所指的字符串的值为D。所以,4个选项中选项D符合题意。
43.D解析:本题考查语句的基本构成。选项A)中j=5后面少了一个分号:选项B)中少了“}”;选项C)不是一个完整的函数定义格式,一个完整的函数定义格式还包括一对花括号:选项D)正确,是一个空语句。
44.B解析:执行“p=f(i,++i):”后i的值为2,所以a和b的值都为2,则c=0,选项B正确。
45.A
46.D解析:putchar(c1)输出1,putchar(c2)输出2,printf('%c%c\\n',c5,c6)输出45。
47.D解析:在C语言的标准中,short占2个字节、long占4个字节,但int的大小和编译系统相关。例如在Turbo\u3000C\u30002.0中,int占2个字节,但在VisualC++6.0(VC6可以用做C语言编译器)中占4个字节。故本题应该选择D。
48.C数据结构与算法:数据结构的基本概念[评析]逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或多对一的关系。线性结构和非线性结构是根据数据元素之间关系的不同特性加以分类的,即是从逻辑上加以分类的。
49.D解析:线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此,不需要另外开辟空间来保存元素之间的关系。
50.D解析:带参数的宏定义如下:#define宏名(参数)字符串。本题中,宏定义的作用是指定用标识符PI来代替“3.1415926”这个字符串,但宏定义不是C语句,不必在行末加分号。
51.B解析:考查了测字符串长度函数strlen。如果一个字符数组中存放一个字符串,则函数strlen的值为'\\0'之前的全部字符个数,也包括空格在内。
52.D
53.B解析:本题考查的知识点是函数的参数类型、函数值类型及函数调用.fun()函数是将传进来的两个整型参数相加,把和作为函数值返回,.注意返回值为float型.在主函数调用了两次fun()函数,第一次调用时把表达式“a+c”和变量“b”的值求和,得到15转换为15.0作为函数的返回值。第二次调用把第一次调用的返回值通过强制类型转换成int型15,再和表达式“a-c”相加,得到结果9,转换成float型作为函数值返回。由于输出格式符为“%3.0f”输出时没有小数位,故输出为9.所以4个选项中B正确。
54.D解析:本题考查指针变量的赋值。
选项A)中,p1、p2本身都是地址变量,不能再将p1取地址赋给p2:选项B)中,不能将整型数据直接赋值给指针型数据;选项C)中,*p2代表了一个整型变量,而*p2=p1这个语句试图把一个地址值放入一个整犁变量中是错误的;选项D)中指针问的赋值是正确的。
55.C解析:将题目中的定义语句去掉前面的typedef和后面的NEW(分号保留),就是一条完整的结构体定义语句,其中struct是说明符,ST是结构体名,大括号里面的是结构体成员的定义。此时要声明该结构体变量时需要使用struct加结构体名一起来声明,struetST一起构成一个结构体类型,就好像字符类型char.若只去掉前面的typedef,就是一条结构体定义同时声明一个结构体变量NEW的语句,因为NEW的前面部分是structST的完整写法。可以看作是structST.C语言允许用typedef说明一种新类型名,其语法格式为:
typedef类型名标识符;
以后就可以用该标识符来代替被说明的类型名了。因此,当前面存在typedef时,该语句就变成了给stmctST的完整写法定义一个新的名称NEW。所以,此时的NEW是一个结构体类型,它相当于structST,即可以和char一样单独用来声明该结构体变量,而ST只是一个结构体名,不能单独用来声明变量。所以,4个选项中C符合题意。
56.C解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中没有测试的可靠性这一说法。注意:软件测试与软件调试的概念,以及相应的方法。
57.B解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左,右子树。
58.C解析:本题考查了一维字符数组的定义和初始化。选项C中str[10]初始化为空,可以不必进行类似''的空赋值,字符数组若没有进行初始化赋值,默认的字符为空,并且定义完str数组后,应该用“,”分隔而不是“。”,所以选项C错误。
59.D解析:C语言中,字符串是用一对双引号括起来的字符序列,并用字符型数组来存放,故选项A)、C)不是字符中;选项B)定义的是一个字符变量str,不能用来存放字符串,所以不正确。
60.C
61.B只有B)选项369可以用无符号整数来表示和存储。A)选项~369有负号。选项c)0.369是qJ、数,它们都不能用无符号整数类存储。选项D)是一个整数集合需要用数组来存储。
62.D解析:本题的考点是链表的指针操作。要想将q所指节点从链表中删除,同时要保持链表的连续,从图上看,应该将p->next=r,由于q->next、p->next->next都指向r,因此p->next=q->next、p->next=p->next->next同样可以实现指定的操作。因此选项A、B、C都能完成指定操作。而选项D“p=q->next”只是将指针p指向了r,不能完成指定的操作。因此正确选项是D。
63.B结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。而结构化分析就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。所以数据流程图是在需求分析阶段使用的。
64.D
65.Afun函数将空格之前的小写字母修改为大写字母,所以答案选A)。
66.A软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件,因此B)、C)、D)都是系统软件,只有A)是应用软件。
67.B函数声明的一般形式为:“类型说明符被调函数名(类型形参,类型形参,……);”或“类型说明符被调函数名(类型,类型,……);”由于函数首部为intfun(doubl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育法规测试卷(含答案)
- 咨询工程师(投资)《宏观经济政策与发展规划》考前冲刺必会试题及答案
- 我在国旗下讲话演讲稿
- 致施工单位的感谢信范文
- 研究生考试考研教育学专业基础(311)试卷及答案指导(2024年)
- 幼儿园评估自查报告15篇
- 2024年度设备保修服务协议细则
- 2024年商业买卖合作协议精简
- 2024年合作伙伴保密协议
- 2024年监理协议延期实施细则协议
- 自然拼读法-图文.课件
- 2024届宜宾市九年级语文上学期期中考试卷附答案解析
- 教育行业数字化转型
- 2024年西安市政道桥建设集团有限公司招聘笔试参考题库含答案解析
- 近三年任教学科学生综合素质情况
- 国开电大《工程数学(本)》形成性考核作业5答案
- 价值观考核评定表
- 中学以案促改廉政风险台账.doc
- 金融企业呆账核销管理办法(2017年修订版)
- 弘扬中华传统美德主题班会PPT动态模板
- 中小学校长选拔笔试试题及参考答案
评论
0/150
提交评论