版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年湖南省邵阳市全国计算机等级考试C语言程序设计真题二卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.软件详细设计产生的图如图所示。该图是()。A.N—S图B.PAD图C.程序流程图D.E—R图
2.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.5B.6C.7D.8
3.针对二分查找算法,假设一个有序数组有136个元素,那么要查找到第10个元素,需要比较的元素为()
A.68,34,17,9,13,11,10
B.68,34,17,8,12,10
C.69,35,18,10
D.68,34,18,9,13,11,10
4.
5.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(),
A.均占4个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由C语言编译系统决定
6.有以下程序:intfun(intn){if(n==l)returnl;elsereturn(n+fun(n一1)):}main{intx;scanf("%d",&x);x=fun(x);printf("%d\n",x):}执行程序时,给变量X输入10,程序的输出结果是()。A.55B.54C.65D.45
7.运算符________的优先级最高。
A.[]B.+=C.?:D.++
8.在一个C语言源程序文件中所定义的全局变量,其作用域为()。
A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和extern说明来决定范围
9.在深度为5的满二叉树叶中,叶子结点的个数为()。
A.32B.31C.16D.15
10.索引属于()。
A.模式B.内模式C.外模式D.概念模式
11.以下选项中合法的c语言常量是()。
A.,C—STR’B.2014.1C.”\l.0D.2EK
12.
13.在软件设计中不使用的工具是()。
A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)
14.
15.
16.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序的运行结果是()。
A.7B.10C.8D.9
17.有以下程序:#include<stdio.h>#defineN8voidfun(int*x,inti){*x=*(x+i);)main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<N/2;i++){printf(“%d”,a[i]);}printf(“\n”);}程序运行后的输出结果是()。A.1313B.2234C.3234D.1234
18.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];则b的值是()。
A.5B.6C.9D.8
19.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()
A.(n-1)/2B.n/2C.(n+1)/2D.n
20.数组A[0...4,-1...-3,5...7]中含有的元素个数是()。A.A.55B.45C.36D.16
二、2.填空题(20题)21.按"先进后出"原则组织数据的数据结构是【】。
22.以下程序的输出结果是【】。
#include<stdio.h>
main()
{inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("\n%2d,%2.1f,%2.11f",a,b,C);
}
23.在算法正确的前提下,评价一个算法的两个标准是【】。
24.下列程序的输出结果是______。
#include<stdio.h>
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++)
printf("%d%d",X--,y);
}
25.以下程序通过函数SunFun求。这里f(x)=x2+l,由F函数实现。请填空。
main()
{
printf("Thesum=%d\n",SunFun(10));
}
SunFun(intn)
{
intx,s=0;
for(x=0;x<=n;x++)
S+=F(______);
returns;
}
F(intx)
{
return(______);
}
26.在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的______。
27.与结构化需求分析方法相对应的是【】方法。
28.以下程序的运行结果是______。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%51d\n",k);}
29.有以下程序
main()
{intx=1,y=1,z=1;
y=y+z;x=x+y;
printf("%d",x<y?y:x);
printf("%d",x<y?x++:y++);
printf("%d",x);
printf("%d",y);
}
运行结果是【】
30.买来一张新盘后,在存入文件前,必须进行【】处理。
31.下面程序的输出结果是【】。
#include<stdio.h>
main()
{staticchara[]="language",b[]="program";
char*ptr1=a,*ptr2=b;
intk;
for(k=0;k<7;k++)
if(*(ptr1+k)==*(ptr2+k))
printf("%c",*(ptr1+k));}
32.下列程序的运行结果是______。
main()
{ints=0,i=1;
while(s<=10)
{S=S+i*i;
i++;
b
}
printf("%d",--i);
}
33.下面程序中函数fun的功能是:找出一维数组元素中的最大值和它所在的下标,并将最大值和其下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。
#include<stdlib.h>
#include<sldio.h>
voidfun(inta[],intn,int*max,int*d)
{inti;
*max=a[0];*d=0;
for(i=0;【】;i++)
if(*max<【】)
{*max=a[i];*d=i;}
}
main()
{inti,x[20],max,index,n=10;
randomize();
for(i=0;i<n;i++)
{x[i]=rand()%50;printf("%4d",x[i]);}
printf("\n");
fun(x,n,&max.&index);
printf("Max=%5d,Index=%4d\n",max,index);
}
34.若已定义inta[10],i;以下fun函数的功能是,在第一个循环中给前10个数组元素依次赋1,2,3,4,5,6,7,8,9,10;在第二个循环中使a数组前10个元素中的值对称拆叠,变成1,2,3,4,5,5,4,3,2,1。请填空。
fun(inta[])
{inti;
for(i=1;i<=10;i++)【】=i;
for(i=0;i<5;i++)【】=a[i];
}
35.栈中允许进行插入和删除的一端叫做______。
36.数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
37.设有下列宏定义:
#defineA2
#defineB(A+3)
则执行赋值语句"k=B*20;"(k为int型变量)后,k的值是______。
38.以下程序的输出结果是【】。
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));}
39.以下程序的功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码值之差。请填空。
#include"stdio.h"
main()
{chara1[20],a2[20];intn=0,t;
scanf("%st",a1);scanf("%s",a2);
while(a1[n]!=a2[n]&&(a1[n]!=【】))
{t=【】;
printf("%d\n",t);n++;}}
40.下面程序的输出是【】
main()
{enumem{eml=3,em2=1,em3};
char*aa[]={"AA',"BB","CC","DD"}
printf("%s%s%\n",aa[em1],aa[em2],aa[em3]);
}
三、1.选择题(20题)41.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是()
A.控制流B.加工C.存储文件D.源和潭
42.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是()。
A.数据库系统B.文件系统C.人工管理D.数据项管理
43.下面程序段的运行结果是chara[]="lanuage",*p;p=a;while(*p!='u'){printf("%c",*p-32);p++;}
A.LANGUAGEB.languageC.LAND.langUAGE
44.判断字符串s1是否大于字符串s2,应该使用()。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
45.若执行下面程序时从键盘上输入5,main(){intx;scanf("%d",&x);if(x++>5)printf("%d\n",x);elseprintf("%d\n",x--);}则输出是______。
A.7B.6C.5D.4
46.有关物理独立性的描述错误的是()
A.物理独立性是指用户的应用程序与存储结构是相互独立的
B.符合物理独立性的数据在磁盘上的数据库中怎样存储用户可以不了解
C.符合物理独立性的数据,当其数据的物理存储改变了,应用程序不用改变
D.物理独立性是指用户的应用程序与存储结构是相互联系的
47.执行下面的程序后,a的值是()#defineSQR(X)X*Xmain(){inta=10,k=2,m=l;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}
A.10B.1C.9D.0
48.下列能正确定义且赋初值的语句是()。
A.intn1=n2=10;
B.charc=32;
C.floatf=f+1.1;
D.doublex=12.3E2.5;
49.以下程序的运行结果是
#defineMAX(A,B)(A)>(B)?(A):(B)
#definePRINT(Y)printf("Y=%d\t",Y)
main()
{inta=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
PRINT(t);}
A.Y=3B.存在语法错误C.Y=7D.Y=0
50.对以下说明语句的正确理解是inta[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
51.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10‖a<=0
52.设有定义:inca,*pa;&a;以下scanf语句中能正确为变量a读入数据的是
A.scanf("%d",pA);
B.Scanf("%d",A);
C.SCaRf("%d",&p9);
D.scanf("%d",*pA);
53.下面对C语言的描述中,正确的是
A.函数一定有返回值,否则无法使用函数
B.C语言函数既可以嵌套定义又可以递归调用
C.在C语言中,调用函数时,只能将实参的值传递给形参
D.C语言程序中有调用关系的所有函数都必须放在同一源程序文件中
54.以下程序的输出结果是______。
main(){intk=17;printf("%d,%o,%x\n",k,k,k):}
A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11
55.需求分析阶段的任务是确定()
A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能
56.有一函数以下程序段中不能根据x值正确计算出y值的是
A.if(x>0)y=1;elseif(x==0)y=0;elsey=-1;
B.y=0;if(x>0)y=1;elseif(x<0)y=-l;
C.y=0;if(x>=0);if(x>0)y=1;elsey=-1;
D.if(x>=0)if(x>0)y=1;elsey=0;elsey=-l;
57.现有如下程序段,此程序段编译有错误,则程序段的错误出在#include<stdio.h>main(){inta=30,b=40,c=50,d;d=a>30?b:c;swish(d){casea:Printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);defaultprintf("#");}}
A.default:printf("#");这个语句
B.d=a>30?b:c;这个语句
C.casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);这三个语句
D.switch(d)这个语句
58.已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是
A.数组a和b的长度相同B.a数组长度小于b数组长度C.a数组长度大于b数组长度D.上述说法都不对
59.算法是求解问题的方法,具有输入、输出、有穷性、确定性和______的特性。
A.可行性B.计算性C.程序设计性D.检索性
60.有以下程序#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;*q=*(p+5);printf("%d%d\n",*p,*q);}程序运行后的输出结果是______。
A.运行后报错B.66C.611D.510
四、选择题(20题)61.
62.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA
63.
64.有以下程序
65.有如下程序段
#include"stdio.h"
main()
{intk[10];
intj;
for(j=0;j<10;j++)
scanf("%d",&k[j]);
for(j=9;j>=0;j--)
printf("%d",k[j]);}
则程序段实现的功能是
A.输入10个数据的顺序输入并输出
B.输入10个数据的逆序存放
C.输入10个数据的逆序输出
D.以上叙述均错误
66.
67.
68.有以下程序段以下关于程序段执行情况的叙述,正确的是()。
A.当产生的随机数n为0时结束程序运行
B.当产生的随机数n为4时结束循环操作
C.当产生的随机数n为1和2时不做任何操作
D.for循环语句固定执行8次
69.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间
70.设有如下定义
char*s[2]={"abcd","ABCD"};
则下列说法错误的是
A.s数组元素的值分别是″abcd″和″ABCD″两个字符串的首地址
B.s是指针数组名,它含有两个元素,分别指向字符型一维数组
C.s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素
D.s数组的两个元素中分别存放了字符′a′和′A′的地址
71.若变量已正确定义,在if(W)埘ntf(”%d\n”,k);中,以下不可替代w的是()。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
72.
73.
74.以下结构体类型说明和变量定义中正确的是()。
75.
76.
77.
78.
79.为了提高测试的效率,应该()。
A.随机选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.集中对付那些错误群集的程序
80.有以下程序:
#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
五、程序改错题(1题)81.下列给定程序中函数proc()的功能是计算1/n!的值。例如,给n输入3,则输出0.166667。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.假定输入的字符串只包含字母和“#”号,请编写函数fun(),它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用C语言提供的字符串函数。例如,若字符串中的内容为“##w#e1##come###”,删除后,字符串中的内容则应当是“welcome”。请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.CN-S图(也被称为盒图或CHAPIN图)、PAD(问题分析图)及PFD(程序流程图)是详细设计阶段的常用工具。E—R图即实体一联系图,是数据库设计的常用工具。从题中图可以看出该图属于程序流程图。
2.A:在一个无向图G中,若从顶点Vi到顶点Vj有路径相连,则称Vi和Vj是连通的。连通图是指任意两个结点之间都有一个路径相连。6个节点的无向图,至少要5个边才能确保是任意两个节点之间都有路径相连。下图是一种可能的连接方式:故本题选A。
3.B
4.A
5.D解析:在C语言的标准中,short占2个字节、long占4个字节,但int的大小和编译系统相关。例如在Turbo\u3000C\u30002.0中,int占2个字节,但在VisualC++6.0(VC6可以用做C语言编译器)中占4个字节。故本题应该选择D。
6.A函数intfun(intn)的功能是求1+2+…+n的值并返回。所以执行程序时,给变量x输入10后,执行语句“x=fun(x);”,X的值将变为1到10中10个整数的累加和,即55。
7.A
8.D
\n全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用extern对此全局变量进行说明,以便通知编译程序该变量是一个已在外部定义了的全局变量,这时全局变量的作用域从extern说明处起,延伸到该函数末尾。
\n
9.C根据二叉树的性质及定义,一棵深度为k且有2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数,又根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。
10.B解析:内模式(InternalSchemA)又称物理模式(PhysicalSchemA),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。
11.B所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项A是字符串,但使用单引号,错误,选项c,D,为实型常量中指数形式,但指数形式e(E)之前必须是数字,之后必须为整数,错误。故答案为B选项。
12.B
13.D【答案】:D
【知识点】:软件设计中使用的工具
【解析】:数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的。PAD图是问题分析图(ProblemAnalysisDiagram)的英文缩写,是在详细设计阶段用到的。系统结构图是对软件系统结构的总体设计的图形显示,是在概要设计阶段用到的。程序流程图是对程序流程的图形表示,故选D。
14.D
15.C
16.D在main函数中,调用f(a,b)函数返回3,调用f(a,c)函数返回6,所以外层调用f(f(a,b),f(a,c)),即调用f(3,6)函数返回9。故本题答案为D选项。
17.C本题考查了宏定义与局部变量的区别,宏定义的作用范围为整个程序,而变量的作用范围只在定义它的函数体的部分,因此,主函数中定义的i与fun中的i互不相干。
18.C解析:p=&a[3]将指针指向数组a的第4个元素,p[5]则是数组a的第9个元素,而a[8]=9,所以b=9。
19.C
20.A
21.栈栈解析:考查考生对栈和队列概念的掌握。按'先进后出'原则组织数据的数据结构是栈;按'先进先出'原则组织数据的数据结构是队列。
22.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。
23.时间复杂度和空间复杂度时间复杂度和空间复杂度
24.101091101091解析:for(表达式1;表达式2;表达式3)语句的功能是:首先计算表达式1的值,然后检测表达式2的值,若其值为真,则执行循环体语句,执行完毕后,再计算表达式3的值。然后再检测表达式2的值是否为真,若为真,继续执行循环体语句,若为假,则退出循环;第1次循环x>8成立,输出x=10,y=10后,x的值减1,i=1,执行y=++i操作,y的值变为1;判断条件还成立,输出x=9,y=1,然后x的值减1,循环条件不成立,则退出循环。
25.xX*X+1或1+x*xx\r\nX*X+1或1+x*x解析:题目中要求从x=0开始将f(x)的值累加起来,直到x=10。在SunFun()函数中用了一个for循环,每循环一次将f(x)累加到s中,所以在本题的第一个空格处我们应该填x,,然后x+1,共循环10次。F()函数的功能应该是求数学表达式f(x)得值,所以其返回值应该为x*x+1。
26.封装性封装性解析:对象具有下列5个基本特点:①标识惟一性;②分类性:③多态性;④封装性;⑤模块独立性好。其中,封装性是指从外面看只能看到对象的外部特征,对象的内部特征即处理能力的实行和内部状态,对外是不可见的,对象的内部状态只能由其自身改变。
27.结构化设计结构化设计解析:与结构化需求分析方法相对应的是结构化设计方法。结构化设计就是采用最佳的可能方法设计系统的各个组成部分以及各个成分之间的内部联系的技术。
28.k=5k=5解析:本题主要考查了函数的递归调用方法。g=0或g=1或g=2是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。
29.3233
30.格式化(或初始化、FORMAT)格式化(或初始化、FORMAT)
31.gaga解析:考查了用字符指针处理字符串的方法。用字符指针处理字符串,首先要使指针指向这个字符串,即题中的ptr1=a和ptr2=b,然后就是通过指针的移动可以引用到字符串中的每一个字符。题中的*(ptr1+k)是使指针ptr1向后移动k个位置,然后取出指向的字符。
32.33解析:分析程序运行过程,第1次循环:s=s+i*i=0+1*1=1,i=2;第2次循环:s=s+i*i=1+2*2=5,i=3;第3次循环:s=s+i*i=5+3*3=14,i=4;循环条件不成立输出i,--i使i的值减1,输出结果为3。
33.i<na[i]i<na[i]解析:在main函数中,randomize是为了生成随机种子,以便在使用rand函数时产生不同的数。通过循环用rand函数产生10个随机数。在fun函数中,要在n个数中找最大值,所以第一处填写i<n,每次将当前最大值与数组中的某元素比较,第二处填写a[i]。
34.a[i-1]或a[-1+i]a[9-i]或a[-i+9]a[i-1]或a[-1+i]\r\na[9-i]或a[-i+9]
35.栈顶栈顶解析:栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。
36.概念设计阶段(数据库概念设计阶段)概念设计阶段(数据库概念设计阶段)
37.100100解析:本题考查带参数的宏定义及相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。
38.99解析:本题考查函数的综合知识。首先,我们可以利用强制转换类型转换运算符,将一个表达式转换成所需类型。如:(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
39.\0'al[n]-a2[n]或s2[n]-al[n]\\0'\r\nal[n]-a2[n]或s2[n]-al[n]
40.DDBBCCDDBBCC解析:C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上—个元素存在并有明确值的情况下,这个牧举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=cm2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为'DDBBCC'。
41.AA)【解析】数据流图用于抽象描述一个软件的逻辑模型,它由一些特定的图符构成,包括4个方面,即加工、数据流、存储文件、源和潭。
42.A在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是数据库系统这一阶段。数据库系统阶段用数据模型来表示复杂的数据,有较高的数据独立性。数据库系统为用户提供了方便的用户接口,用户既可使用查询语言或终端命令操作数据库,也可以用程序方式来操作。数据库管理系统提供了数据控制功能。
43.C解析:本段程序的作用是输出字符串“lanuage”中字母u之前的字符,并将其转化为大写字母。注意:如果一个字符数组用来作为字符串使用,那么在定义该字符数组时,数组的大小就应该比它将要实际存放的最长字符多一个元素,以存放‘\\0’。
44.C解析:本题考查字符串比较函数strcmp()。调用形式:strcmp(s1,s2),其中s1、s2分别是字符串存储区的首地址。函数功能:比较字符串str1和str2,当str1<str2时,返回值为负数;当str1=str2时,返回0;当str1>str2,返回值为正数(注意:不能使用关系运算符比较两个字符串的大小)。
45.B解析:根据C语言的语法,x++是在使用x之后,再将x的值加1,在if语句中,x的值为5,条件不成立,执行else后面的语句,因为x的值已经加1,为6,所以打印结果为6。
46.D
47.B
48.B解析:C语言规定,可以在定义变量的同时给变量赋初值,称为变量初始化。在选项A)中在给n1和n2进行赋初值,但变量02没有定义;在选项C)中定义变量f时,不能在赋值表达式的右边出现变量f自身,所以选项C)错误:在选项D)用指数表达式的常量中,字母E后面的数应该为整数,而不应该为小数形式。因此,选项B)正确。
49.C解析:考查带参数的宏替换。宏替换不像函数调用要进行参数值的计算、传递等,而只是简单按照原格式进行字符串的替换。
50.B解析:本题中,表达式将5个初值分别赋给a[0]至a[4],系统自动给后面的元素a[5]至a[9]赋0。
51.D
52.A解析:本题考核的知识点是scanf()函数和指针类型变量的简单应用。scanf()函数的功能是进行输入数据,它是按格式参数的要求从终端上把数据传送到地址参数所指定的内存空间中,C语言允许程序员间接地使用内存地址,这个地址是通过对变量名“求地址”运算得到的,求地址的运算符是&,得到的地址是一种符号地址.本题中定义了整型变量a和一个指向整型数据的指针变量pa,并定义pa是一个存放a的地址的变量。选项B中应该将a改为&a,故选项B不正确:选项C应该将&pa改为pa,因为pa已经表示存放a的地址,故选项C不正确;选项D中*pa表示的是指针pa所指向存储空间的变量的值,而不是一个地址,故选项D不正确,所以,4个选项中选项A符合题意。
53.CA选项“函数一定有返回值,否则无法使用函数”,该选项是错误的。使用一个函数并不一定要使用该函数的返回值。C语言中用void定义“无类型”的函数,即禁止在调用函数中使用被调用函数的返回值。
B选项“C语言函数既可以嵌套定义,又可以递归调用”,该选项是错误的。嵌套定义是指在定义一个函数时,其函数体内又包含另一个函数的完整定义,这个内嵌的函数只能被包含它的函数所调用。而C语言规定每个函数都是平行、独立的,不允许嵌套定义的情况出现。C语言不能嵌套定义函数,但能够嵌套调用函数,也就是在调用一个函数的过程中,又调用另一个函数。C语言允许函数的递归调用,即在调用一个函数的过程中又直接或间接地调用该函数本身。
C选项“在C语言中,调用函数时,只能将实参的值传递给形参”,该选项是正确的。函数的形参是指定义函数时函数名后面括弧中的变量名,实参是指在主调函数中调用一个函数时,函数名后面括弧中的参数。调用时将实参的值赋给形参,形参的修改不会影响实参的值。注意,这里仅仅指的是传递数值,如果以地址的方式传递参数,则形参的改变也会改变实参的值。
D选项“C语言程序中有调用关系的所有函数都必须放在同一源程序文件中”,该选项是错误的。被调用的函数可以是库函数或用户自己定义的函数,使用库函数时,应该在本文件开头用“#include”命令将调用有关库函数时所需用到的信息“包含”到本文件中,使用用户自己定义的函数时,主调函数与被调函数要在同一个文件下,并要在主调函数中对被调函数进行声明。
54.D
55.D解析:结构化分析方法,数据流图,数据字典,软件需求规格说明书
评析,需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织,部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能.选项A)软件开发方法是在总体设计阶段完成的任务;选项B)软件开发工具是在实现阶段需完成的任务:选项C)软件开发费用是在可行性研究阶段需完成的任务。
56.C解析:本题考查的知识点是if语句的嵌套使用.首先检查订与else的配对,然后再分析各分支实现的功能.选项A描述的意思是:在x>=O情况下,则y为1,否则;在x=O时,y为0,剩下的x<0时,y为-1,满足本题中函数的要求;选项B描述的意思时:初始化y的值为0,在x>0时,给y重新赋值为1,否则,在x<0时,给y重新赋值为-1,满足本题中函数的要求;选项C描述的意思是:在x>0情况下,如果x>0,则y为1,否则即“c==0”时,y为-1:剩下的x<0时,y为0.可见答案C实现的结果不是给定的表达式。选项D中描述的意思是:在x>=0的情况下,如果x>=0,就给y赋值为1,否则就给y赋值为0,在不是x>=0的其他情况下,就给y赋值为-1,满足本题中函数的要求.所以4个选项中C为所选。
57.C解析:case也是关键字,与其后面的常量表达式合称case语句标号,常量表达式的类型必须与switch后的表达式类型相同。这个程序段主要考查的是case后是常量表达式。
58.C解析:a数组存放的是字符串,系统会自动在字符串的最后加上一个'\\0',所以a数组的长度为4,而b数组的长度为3,故a数组长度大于b数组长度。
59.A解析:操作的实现是用算法来描述的。算法就是解决问题的方法,它是由一个若干条指令组成的有穷序列,必须满足下述规则。
①有穷性——一个算法必须总是执行有穷步结束,且每一步必须在有穷时间内完成。
②确定性——算法中的每条指令必须有确切的含义,无二义性。对相同的输入,每次的运算结果应一致。
③可行性——算法中每条指令的执行时间都是有限的。
④输入——一个算法有零个或多个输入,它们是算法开始前对算法最初的给出量。
⑤输出——至少产生一个输出,它是同输入有某种关系的量。
60.A解析:本题考核的知识点是通过指针引用数组的元素的方法.本题中首先定义了一个一维数组a并初始化,由于定义该数组的时候省略了长度,因此该数组的长度为初始化时候赋初值的个数即为12。数组名a代表数组的首地址,所以*p=a+5语句使得p指向数组的第6个元素,而在程序中定义了一个指针q并让它指向空,实际上程序并没有在内存中为指针q开辟存储空间,这样给q赋值不允许的,故该程序运行后报错。所以,4个选项中选项A符合题意。
61.B
62.B栈是先进后出的原则组织数据,所以人栈最早的最后出栈,所以选择B。
63.B
64.A本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun()函数在x等于0或1时返回3,而在其余情况下返回x—fhn(x一2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高考语文复习知识清单第2章文学类文本阅读(一)小说专题01赏析小说故事情节(学生版+解析)
- 脐橙树打药安全责任书承包合同(2篇)
- 南京工业大学浦江学院《专业综合实训(通信工程)》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《审计学》2023-2024学年第一学期期末试卷
- 多变的纸条说课稿
- 小石城7#楼 施工组织设计
- 南京工业大学浦江学院《建筑给水排水工程》2023-2024学年第一学期期末试卷
- 《小石潭记》说课稿
- 小学音乐面试《哦十分钟》说课稿
- 南京工业大学《中日比较文学》2022-2023学年第一学期期末试卷
- 医院培训课件:《ECMO概述及其护理》
- 餐饮门店运营管理手册
- 《生物试卷分析》课件
- 反贿赂与反腐败的危机防控
- 学校食堂维修合同书
- 护士如何处理病患的沟通和冲突问题
- 泵与泵站知识点总结
- 轮对-轮对的故障与检修限度(车辆构造检修课件)
- 2023年永生花行业分析报告及未来五至十年行业发展报告
- 12、口腔科诊疗指南及技术操作规范
- 人居环境科学讲义
评论
0/150
提交评论