版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年吉林省辽源市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。
A.控制流B.加工C.数据存储D.源和潭
2.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a1,1为第一个元素,其存储地址为1,每个元素占1个地址空间,则a8,5的地址为()。
A.13B.33C.18D.40
3.语句:“printf("%d",(a=)&&(b=-2));”的输出结果是()。
A.无输出B.结果是不确定C.-1D.1
4.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法A.A.对象B.数据结构C.数据流D.目标
5.有以下程序:
程序运行后的输出结果是()。
A.7B.10C.8D.9
6.以下叙述中错误的是()。
A.使用三种基本结构构成的程序只能解决简单问题
B.结构化程序由顺序、分支、循环三种基本结构组成
C.C语言是-种结构化程序设计语言
D.结构化程序设计提倡模块化的设计方法
7.执行下列程序后的输出结果是______。main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
A.-1B.1C.8D.0
8.关于C语言中数的表示,以下叙述中正确的是()。
A.只有整型数在允许范围内能精确无误地表示,实型数会有误差
B.只要在允许范围内整型数和实型数都能精确地表示
C.只有实型数在允许范围内能精确无误地表示,整形数会有误差
D.只有用八进制表示的数才不会有误差
9.s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句s;则以下选项中正确的是()。
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,sl)>O)S;
D.if(stremp(s1,s2)>O)S;
10.有以下程序:main{inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf(“a+b=%d\n”,a+b);/*输出计算机结果*/}程序运行后的输出结果是()。A.a+b=10B.a+b=30C.30D.出错
11.语句int(*ptr)的含义是()。
A.ptr是一个返回值为int的函数
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
12.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
13.以下程序的输出结果是()main(){union{chari[2];intk;}r;r.i[0]=2,r.i[1]=0;printf("%d\n",r,k);}
A.2B.1C.0D.不确定
14.下列说法错误的是______。
A.关系中每一个属性对应一个值域
B.关系中不同的属性可对应同一值域
C.对应同一值域的属性为不同的属性
D.DOM(A)表示属性A的取值范围
15.下列程序的执行结果是______。#include<stdio.h>unionun{inti;charc[2};};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}
A.266B.11C.265D.138
16.有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c=k;执行该程序段后,k的值是()。
A.3B.2C.1D.0
17.下列不正确的转义字符是()。
A.'\\'B.'\t'C.'\n\D.'088'
18.有以下程序:#include<stdio.h>voidmain(){char*s=“\ta\018bc”;for(;*s!=‘\0’;s++)printf(“*”);printf(“\n”);}程序运行后的输出结果是()。
A.******B.*********C.*****D.*******
19.
20.有以下程序:#include<stdio.h>structS{inta,b;}data[2]=110,100,20,200};main(){structSp=data[1];printf(“%d\n”,++(p.a));}程序的运行结果是()。
A.10B.11C.20D.21
二、2.填空题(20题)21.有以下程序:
#include<stdio.h>
main()
{charch1,ch2;intn1,n2;
ch1=getchar();ch2=getehar();
n1=ch1-'0';n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
程序运行时输入:12<回车>,执行后的输出结果是【】。
22.数据库系统的三级模式分别为______模式、内部级模式与外部级模式。
23.设y为血型变量,请写出描述“y是偶数”的表达式______。
24.请用位运算实现下述目标(设16位二进制数的最低位为零位):
(1)输出无符号正整数m的第i个二进制位的数值。
(2)将m的第i个二进制位置1,其余的位不变,然后输出m。
#include"stdio.h"
【】
main()
{
unsignedk,i,m=0;
scanf("%d%d",&m,&i);
k=【】;
printf("%d\n",k);
k=pow(2,i);
m=【】;
printf("%d\n",m);
}
25.以下程序运行后的输出结果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
26.在关系数据库中,用来表示实体之间联系的是【】。
27.在软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错直至回归测试的过程称为【】。
28.软件结构是以【】为基础而组成的一种控制层次结构。
29.以下程序段的输出结果是【】。
main()
{inta=2,b=2,c=4;
a*=16+(b++)-(++C);
printf("%d",a);
}
30.数据元素之间______的整体称为逻辑结构。
31.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
32.下列程序的运行结果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
33.以下程序的输出结果是【】。
main()
{ints,i;
for(s=0,i=1;1<3;i++,s+=i);
printf("%d\n",s);
}
34.己定义charch='$';inti=l,j;,执行j=!ch&&ii++以后,i的值为【】。
35.已有文本文件test.txt,其中的内容为:Hello,everyone!。以下程序中,文件test.txt已正确为“读”而打开,由文件指针fr指向该文件,则程序的输出结果是【】。
#include<stdio.h>
main()
{
FILE*fr;charstr[40];
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
36.下列程序的运行结果是______。
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf('%s\n",p);
}
37.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
38.以下程序将数组a的4个元素和数组b的6个元素写到名为letter.dat的二进制文件中,请填空。
#include<stdio.h>
main()
{FILE*fp;
chara[4]="1234",b[6]="abcdef";
if((fp=fopen("【】","wb"))==NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,【】,1,fp);
fclose(fp);
}
39.下述函数统计—个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】='')flag=0;
elseif(【】){flag=1;num++}
}
return【】;}
40.语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【】。
三、1.选择题(20题)41.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"),*p=str[0];printf("%d\n",strlen(p+20));}程序运行后的输出结果是()。
A.0B.5C.7D.20
42.以下程序的输出结果是()main(){inta=2,k;for(k=0;k<3;k++)printf("%4d",f1(a));}f1(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}
A.777B.71013C.7911D.789
43.软件详细设计的主要仟务是确定每个模块的
A.算法和使用的数据结构B.外部接口C.功能D.编程
44.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}
A.*p表示的是指针变量p的地址
B.*p表示的是变量a的值,而不是变量a的地址
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量
45.若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。
A.main(){……x=fun(2,10);……}floatfun(inta,intb){……}
B.floatfun(inta,intb){……}main(){……x=fun(i,j);……}
C.floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){……}
D.main(){floatfun(inti,intj);……x=fun(i,j);……}floatfun(inta,intb){……}
46.软件生命周期中所花费用最多的阶段是()。
A.详细设计B.软件编码C.软件测试D.软件维护
47.以下对结构体类型变量的定义中,不正确的是()。
A.typedefstruetaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm;}tdl;
48.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A.-3B.9C.-12D.6
49.下列工具中为需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
50.已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是______。main(){unsignedinta=31,b=66;pfintf("%c\n,a|b);}
A.66B.98C.bD.B
51.在深度为5的满二叉树中,叶子结点的个数为A.32B.31C.16D.15
52.下面程序的输出结果是()#include<stdio.h>#include<string.h>{char*p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2.strcat(pi,p2));printf("%s\n",str);}
A.xyzabcABB.zabcABCC.yzabcABCD.xycbcABC
53.有以下程序main(){chara,b,c,*d;a='\';b='\xbc';c='\0xab';d="\0127";pfintf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是
A.程序中只有a='\';语句不正确
B.b='\xbc';语句不正确
C.d="\0127";语句不正确
D.a='\';和c=,'0xab';语句都不正确
54.下列数据结构中,按先进后出原则组织数据的是()。
A.循环队列B.栈C.顺序表D.循环链表
55.若有以下定义,则正确的swish语句是______。floatx;inta,b;
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch(x){case1,2:printf("*\n");case3:printf("**\n");}
C.switch(a+b){case1:printf("\n");case1+2:printf("**\n");}
D.switch(a+b);{case1:printf("*\n");case2:printf("**\n");}
56.需求分析阶段的任务是()
A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能
57.不能把字符串“Hello!”赋给数组b的语句是________。
A.charb[10]={'H','e','1','l','o','!'};
B.chsrb[10]={'h','e','1','1','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.chgrb[10]="Hello!";
58.有如下程序#include<stdio.h>main(){FILE*fp1;fp1;fopen("ftxt","w");fprintf(fpl,"abc")fclose(fpl);}若文本文件f1.txt中原有内容为:good,则运行以上:程序后文件f1.Mt中的内容为
A.goodabcB.abcdC.abcD.abcgood
59.下面的程序ASCⅡ。main(){intx=3,y=0,z=0;if(x==y+z)printf("****");elseprintf("####");}
A.有语法错误不能通过编译B.输出****C.可以通过编译,但是不能通过连接,因而不能运行D.输出####
60.下列所述中,是软件调试技术的是()。
A.错误推断B.集成测试C.回溯法D.边界值分析
四、选择题(20题)61.以下选项中,合法的一组c语言数值常量是()。
A.12.0Xtl234.5e0
B.028.5e-3-0xf
C.1774el.50abe
D.0x8A10,0003.e5
62.
63.有以下程序
#include<stdi0.h>
main()
{inta[]={2,3,5,4),i;
for(i=0;i<4;i++)
switch(i%2)
{case0:switch(a[i]%2)
{case0:a[i]++;break;
casel:a[i]--;
}break;
case1:a[i]=0;
}
for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");
}
程序运行后的输出结果是()。
A.3344B.2050C.3040D.0304
64.数据的存储结构是指
A.存储在外存中的数据B.数据在计算机中的顺序存储方式
C.数据的逻辑结构在计算机中的表示D.数据所占的存储空间量
65.
66.
67.有以下程序程序运行后的输出结果是()。A.a+b=0B.a+b=30C.a+b=lOD.出错
68.
69.有以下程序程序运行后的输出结果是()。
A.Zha0,m,85,90,Qian,f,95,92
B.Zha0,m,85,90,Zha0,m,85,90
C.Qian.f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zha0,m,85,90
70.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
A.插入排序B.冒泡排序C.直接插入排序D.堆排序
71.
72.以下结构体类型说明和变量定义中正确的是()。
A.
B.
C.
D.
73.
以下程序的输出结果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
74.函数fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始点是()。
A.文件开始B.文件末尾C.文件当前位置D.以上都不对
75.
76.当变量c的值不为2、4、6时,值也为“真”的表达式是()。
77.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
78.以下正确的字符串常量是()。
79.(20)数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
80.下列关于单目运算符++、--的叙述中正确的是A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
五、程序改错题(1题)81.下列给定程序中,函数proc的功能是:先将字符串s中的字符按顺序存放到t中,然后把S中的字符按正序连接到t的后面。例如,当s中的字符串为WXYZ时,则t中的字符串应为WXYZWXYZ。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidproc(char*s,char*t)
{
inti,s1;
s1=strlen(s);
for(i=0;i<s1;i++)
//****found****
t[i]=s[s1];
for(i=0;i<s1;i++)
t[s1+i]一s[i];
t[2*s1]=\O0;
}
voidmain
{
chars[100],t[100];
system("CLS");
print{("\nPleaseenterstrings:");
scanf("%s",s);
proc(s,t);
printf("Theresultis:%s\n",t);
}
六、程序设计题(1题)82.编写函数proc,它的功能是:计算和输出下列级数的和。S=1/(12)+1/(23)+…+1/(n(n+1))例如,当n=20时,函数值为0.952381。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.A解析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。
2.B
3.D因为在逻辑表达式中,两边的赋值表达式都成立,即值为1,故选择D选项。
4.CC。【解析】结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
5.D调用f(a,b)函数返回3,调用f(a,c)函数返回6,所以外层调用f(f(a,b),f(a,c));即调用f(3,6)函数返回9。
6.A使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A错误。
7.D
8.A当数据类型是实数时,在存储过程中,当小数部分无限长时,会存在小数部分的截断,会存在误差,所以答案选择A。
9.D在C语言中,不能直接比较两个字符串的大小,必须用特定的函数来完成,选项A错误;选项B不管大于还是小于都执行S,不符合题意;选项C正好相反,当s2大于s1时,执行语句S,可知选项D正确。
10.AC语言规定,注释语句可以换行写,并且一个“/*”和其后紧跟的第一个“*/”中间的部分是注释内容,并且注释部分的内容不参与程序的执行,因此本题中没有执行“b=20”;这条语句。
11.C本题考查的是指向函数的指针。函数指针定义的基本格式为:类型标识符(*指针变量名)()。“类型标识符”为函数返回值的类型。
12.C解析:软件系统结构的总体设计包括:基于功能层次结构建立系统、按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系和模块间的接口、评估模块划分的质量等方面。详细设计的任务是:在使用程序设计语言编制程序以前,对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求,通常包括:功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求等。编程调试的任务是诊断和改正程序中潜在的错误。综上所述。软件功能分解只能发生在总体设计阶段。
13.A解析:根据共用体的定义可知:共用体r的成员k和成员i[2]是共用同—段内存空间,所以,当程序给r.i[0]赋值后,实际上,共用体成员k的值也确定了,为2。所以打印输出的结果应当为2。
14.C解析:关系中每一个属性都有一个取值范围,称为属性的值域。每—个属性对应一个值域,不同属性可对应同一个值域。对应同一值域的却不一定是不同的属性。属性的值域用DOM(A)表示,A表示属性的名称。
15.A解析:由于本题定义的是共用体,所以成员表列中的整型变量x与字符数组c共占用同一个存储单元,且此存储单元为2个字节,通常c[0]位于低字节,c[1]位于高字节,所以x.i的值为266。
16.B解析:因为a<b成立,所以条件表达式a<b?b:a的值等于b的值等于2,因此变量k的值等于2。又因为k=2>c=3不成立,所以条件表达式k>c?c:k的值等于k的值等于2。把条件表达式k>c?c:k的值赋给变量k,因而变量k的值等于2。因此,选项B)为正确答案。
17.D解析:'\\\\'是反斜线转义字符;'\\t'是水平跳格转义字符;'\\n'是换行转义字符;C语言中没有规定'088'为转义字符。
18.Amain函数中定义一个字符指针s,指向字符串“\\ta\\018bc”。for循环遍历s指向的字符串中的字符,然后输出根据题意可以理解为:s指向的字符串中有多少个字符,就输出多少个s指向的字符串中字符分别是\\t(转义字符)、a、\\01(转义字符)、8、b、c,总共6个。其中因为8不属于八进制中的数字,所以“\\018”不是一个转义字符,而“\\01”是转义字符。故本题答案为A选项。
19.D
20.D声明data是结构体S的数组,初始化data[0].a=10,data[0].b=100,data[l].a=20,data[1].b=200。主函数中“p=data[1];”,即p.a=data[1].a,p.b=data[1].b,执行语句“printf(“%d\\n”,++(p.a));”。输出时,p.a先增1再输出,p.a=data[1].a=20,先增1等于21。故本题答案为D选项。
21.1212解析:程序中的ch1与ch2为字符型变量,输入12后,ch1得到字符'1',ch2得到字符'2'。n1=ch1-'0'将字符1,转换为数值1,同理,n2为1*10+2=12。程序执行后输出十进制整数12。
22.概念(或概念级)概念(或概念级)
23.(y%2)==0(y%2)==0解析:因符合偶数的条件是对2取余为0,所以要描述y是偶数的表达式是(y%2)==0。
24.#include"math.h"m>>i&1m|k
25.98768769876\r\n876解析:指针是一种数据类型,这种数据类型的变量用来存放内存中分配的存储单元的首地址。指针的定义:
类型说明符*指针变量名;
26.关系关系解析:在关系数据库中,用关系也就是二维表来表示实体之间的联系。
27.校正性维护校正性维护
28.模块模块
29.2626解析:a*=16+(b++)-(++c)等价于a*=a*(16+(b++)-(++c))=2*(16+(2-5)=26。b++是先使用b的值参加运算,再对b加1;++c是先c加1,再使用c的值参加运算。
30.逻辑关系逻辑关系
31.模块模块解析:矩形表示的是模块,箭头表示的是模块间的调用关系。用带实心圆的箭头表示传递的是控制信息,用带空心圆的箭头表示传递的是数据。
32.24682,4,6,8解析:子函数fun()的功能是将数组a中的元素都自加一遍,然后仍然将结果存在原数组中,其实就是将数组a的每个元素都变为原来的2倍,然后输出。在主程序中首先通过intfun()定义了子函数fun(),然后再调用fun()。
33.55解析:此程序中,for循环语句后面直接跟了一个“;”,表明循环体为空。输出语句不在for循环体内,所以在循环执行完毕后才输出s的值。s、i的初值分别为。和1,判断循环条件,表达式“1<3”成立,执行“i++,s+=i”后,i和s的值分别为2和1,继续判断循环条件,表达式“2<3”成立,执行“i++,s+=j”后,i和s的值分别为3,再次判断循环条件,表达式“3<3”不成立,循环结束。
34.11解析:本题中的ch是一个字符变量,其初始值为'$'(非0值即为真),所以!ch的结果为假,此时&&右边的i++被“短路”,即不会被计算。由此可见,i的值不会改变,故本题应该填1。
35.HellHell解析:该函数有3个参数,第三个参数是文件指针指向要读取数据的文件,第二个参数是一个整数(假设为n),表示从文件中读取n-1个字符并在其后加一个'\\0',第一个参数为存放读取的字符串的内存区的起始地址,读取的数据保存在其中。可见本题的输出结果为Hell。
36.efghefgh解析:本题考核的知识点是通过指针引用字符串.函数“的作用是让形参指针s指向该字符串的右半部分.主函数中首先定义了一个字符型指针变量p和字符型指针str;并初始化为“abcdefgh”,然后调用函数ss,将实参str传给形参s,因此可知该函数返回的指针,指向str所指的字符串“abcdefgh”的右半部分,即指向字符串“efgh”,所以最后输出指针p(指针p的值为调用函数ss(sD)的返回值)所指向的字符串为“efgh。
37.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
38.letter.dat6*sizeof(char)letter.dat\r\n6*sizeof(char)解析:本题主要考查函数fwrite(char*pt,unsignedsize,unsignedn,FILE*fp),把pt所指向的n*size个字节输出到fp所指文件中。
39.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在统计字符串单词个数的算法中,本题的flag是为了记录—个单词是否结束。第18空应填*s++;如果某个字符不是空格,则必须判断它是否是单词,如是,则使得flag的标志为1,num的值加1。本题判断方法是:先判断s所指向的字符是否为空格,如果是则使得flag=0,否则判断前—个字符是否是空格,如果是则说明这个字符是—个单词的开始,将flag标志为1,num的值加1,如果不是,则不必记录。故第19空应填flag=0或*(s-1)='';最后—个空格需填写的是返回的单词的个数,即num。
40.x+=1;
41.C解析:主函数中定义了一个二维字符数组并初始化,初始化后的结果为str[0]='Hello'、str[1]='Beijng',然后定义一个字符指针变量p并让它指向str[0],即指向数组的首地址,而在C语言中无论是一维还是多维数组,其元素在内存中都是顺序存放的,故p+20后指针指向str[1],所以strlen(p+20);返回的是str[1]中字符串的长度,即'Beijng'的长度7,故4个选项中选项C符合题意。
42.D解析:程序中使用一个for循环,3次输出函数f1(2)的返回值。f1()函数中存在一个静态局部变量c,第1次调用f1()函数返回a+b+c=2+1+4=7,c变为4,第2次调用返回2+1+5=8,c变为5,第3次返回2+1+6=9。所以正确答案是D。
43.A解析:从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。详细设计的任务就是要决定各个模块的实现算法,并精确表达出这些算法。
44.B在本题中,题目告诉我们程序中调用scanf函数给变量a输入数值的方法是错误的,要求我们找出其错误的原因,这是一类错误原因分析题。
在本题程序中,首先定义两个整型指针变量p和q,然后定义两个整型变量a和b,让指针变量p执行变量a,接着输出提示语句“请输入a”,执行格式输入语句scanf,由于输入语句的输入列表中给出的应该是输入的地址,即存放输入数据的存储地址,但在本题的输入语句中给出的是*p,这表示一个数值,而非地址。因此,无法完成数据的输入,若要完成输入,可以将*p改为p。
根据上面的分析,我们可以知道本题程序出错的原因是*p表示的是变量a的值,而不是变量a的地址。因此本题正确答案选B。
45.A解析:C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)。在选项A)中,调用的子函数在调用后面定义,所以不正确。在选项B)、C)中,被调用函数在主调函数之前定义,再在主函数中调用,所以是正确的;在选项D)中,在主调函数中先对子函数floatfun(inti,intj)进行了定义,然后进行调用。
46.D解析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软什开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段.软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
47.C解析:定义结构体类型的变量有如下几种方法:
①定义结构体类型的同时,定义结构体类型的变量,如:
stractaa
{…}tdl;
选项B)中将宏名AA用宏体structaa替换后,与该定义形式一样,因此是正确的。在这一定义形式中,结构体类型名aa是可以省略的,因此,D)项也是正确的。
②先定义结构体类型,然后再定义结构体类型的变量,形式如下:
structaa
{…};
strnctaatdl;
这种定义形式也可演变为:先用类型定义语句typedef将该结构体类型定义成一个类型名AA,然后直接用该类型名AA定义一个结构体变量(这时不再需要使用关键字struct)。因此选项A)正确。
48.C解析:本题中首先定义一个整型变量a并给它赋初值为3,在表达式中,从右开始执行,即先执行“a-=a*a;”等价于a=a-a*a即a=3-3*3=-6,此时a的值为-6,接着执行“a+=a-;”相当于执行a=a+a即a=-6+(-6)=-12,此时a的值为-12。所以,4个选项中选项C符合题意。
49.D解析:需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。
50.C解析:位运算符“|”的作用是按位或,即两个二进制数的相应位中只要有—个为1,该位的结果值为1。最后以字符型输出,98对应的字符“b”。
51.C2(n-1)
=2(5-1)=16
52.D
53.D解析:给字符变量赋值只能赋一个字符,包括转义字符,语句“a='\\'”是错误的,因为“\\”是转义字符,应该用“\\\\”来表示,语句“B='\\xbe';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量;语句“c=\\0xab;”是正确的,反斜线后的十六进制只可由小写x开头,不能用0x。语句“d=”\\0127“;”是正确的,可以给字符型指针变量赋一个字符串,其作用是让该指针变量指向该字符串。
54.B解析:循环队列是队列的一种顺序存储结构,队列是以先进先出为原则组织数据的一种特殊线性表,选项A错误;栈是以先进后出为原则组织数据的一种特殊线性表,选项B正确;顺序表是线性表的顺序存储结构,选项C错误;循环链表是一般线性表的一种链式存储结构,选项D错误。
55.C解析:switch后必须是整型或字符型的表达式,因此选项A、B错误;表达式的括号外没有分号,因此选项D错误。
56.DD)【解析】需求分析是软件定义时期的最后一个阶
\n段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。
57.B解析:在C语言中,大写字母和小写字母被认为是两个不同的字符,因此,“hello!”和“Hello!”是两个不同的字符串。
58.C解析:本题考核的知识点是操作文件的几个基本函数。主函数中定义了一个文件指针中1,然后通过fopen()函数,以写的方式打开文件“f1.txt’,并让指针印1指向它,接着调用fptind()函数将“abc”写到文件fp1所指的文件里,由于开始fp1指向文件的“f1.txt”的开始位置,因此“abc”将把文件“f1.txt”里原来的内容“good”覆盖掉,故文件“f1.txt”里最后的内容为“abc”,所以,4个选项中选项C符合题意。
59.D解析:对于printf()函数,若有格式控制字符,则在格式控制字符的位置输出变量i的值;否则,直接输出双引号内的内容。
60.C解析:软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。
61.Ac语言中八进制整型常量的开头是数字0,十六进制整型常量的开头是数字c语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。B)选项中028错误,八进制中没有数字8。C)选项中4el.5中e后面的指数不是整数。D)选项中e5小数点后面缺少数字。因此本题答案为A)。
62.B
63.C\n本题考查嵌套分支语句。共输出4个值:当i=0时,i%2取余后还是0,则执行ease0语句,继续switch语句,此时i为0,数据的下标是从0开始的,a[03的值为2,则a[0]%2=0,继续执行case0,数组a[0]++,值变为3,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第一个值为3。i++后值为1,i%2=1%2取余后值为1,执行casel,将0赋给a[l],退出开关语句,输出第二个值为0。i++后值为2,i%2=2%2取余后值为0’a[2]的值为5,则a[2]%2=1,继续执行casel,数组a[2]--,值变为4,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第三个值为4。i++后值为3,i%2=3%2取余后值为1,执行casel,将0赋给a[3],退出开关语句,输出第四个值为0。结果为3040。
\n
64.C数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构在计算机中的表示称为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。数据之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构,即顺序存储结构和链式存储结构。
65.A
66.C
67.A注释/*和*/,之间计算机不参与编译,所以a、b值仍为0,答案选择A)。
68.A
69.A本题考查的是函数调用时的参数传递问题。程序在调用函数时,传给函数啪参数只是结构变量C在栈中的一个拷贝,函数馓的所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量C的值。因此本题答案为A)。
70.D在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都为n(n-1)/2,堆排序需要的比较次数为nlog2n。因此本题正确的答案选D。
71.B
72.A本题考查的是typedef的用法和结构体变量的定义方法。typedef可用于声明结构体类型,其格式为“typedefstruct{结构元素定义}结构类型;”。本题正确答案为A)。
73.D
\n当k=1时,循环成立,输出w[l]的数组即EFGH,接着执行k++后k为2;当k=2时,循环成立,输出w[2]的数组即IJKL,接着执行k++后,k为3;当k=3时,循环不成立,退出。
\n
74.BSEEK_SET代表文件的开始,SEEK_END代表文件末尾,SEEK_CUR代表文件当前位置。
75.B
76.Ac=2&&c<=6)Il(ct_3)I|(c1=5)可以满足题目条件,所以选择A)。
77.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
78.A字符串常量需要用双引号括起来,D)选项中第三个、和“和在一起是一个字符所以错误。答案选择A)。
79.A
80.D本题主要考查自加与自减运算符。在C语言中,自加与自减运算符具有以下性质:
(1)自加运算符“++”和自减运算符“--”的运算本身是一种赋值运算,其结果是使运算对象的值增1或减1。
(2)++、--运算符是单目运算符,运算对象可以是整型变量或字符型变量,也可以是实型变量,但不能是常量和表达式。
(3)自加、自减运算符无论是作为前缀还是后缀运算符,对于变量而言,其效果相同,但作为表达式来说,其值不同。
(4)++和--运算符的结合方向是“自右向左”。
(5)不要在一个表达式中对同一个变量进行多次自增或自减运算。可以知道本题正确的答案是D。81.\n\t错误:t[i]=s[l];
\n正确:t[i]=s[i];
\n【解析】函数proc首先要实现将数组s中的元素顺序放在数组t中,即数组t中下标为i的元素在数组S中下标也为i,因此“t[i]=s[s1];”应改为“t[i]=s[i];”。\n
82.
【解析】首先定义一个变量来表示其和s,通过n次循环求出n项的和,最后将所得到各项的和值返回给主函数。
2022年吉林省辽源市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。
A.控制流B.加工C.数据存储D.源和潭
2.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a1,1为第一个元素,其存储地址为1,每个元素占1个地址空间,则a8,5的地址为()。
A.13B.33C.18D.40
3.语句:“printf("%d",(a=)&&(b=-2));”的输出结果是()。
A.无输出B.结果是不确定C.-1D.1
4.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法A.A.对象B.数据结构C.数据流D.目标
5.有以下程序:
程序运行后的输出结果是()。
A.7B.10C.8D.9
6.以下叙述中错误的是()。
A.使用三种基本结构构成的程序只能解决简单问题
B.结构化程序由顺序、分支、循环三种基本结构组成
C.C语言是-种结构化程序设计语言
D.结构化程序设计提倡模块化的设计方法
7.执行下列程序后的输出结果是______。main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
A.-1B.1C.8D.0
8.关于C语言中数的表示,以下叙述中正确的是()。
A.只有整型数在允许范围内能精确无误地表示,实型数会有误差
B.只要在允许范围内整型数和实型数都能精确地表示
C.只有实型数在允许范围内能精确无误地表示,整形数会有误差
D.只有用八进制表示的数才不会有误差
9.s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句s;则以下选项中正确的是()。
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,sl)>O)S;
D.if(stremp(s1,s2)>O)S;
10.有以下程序:main{inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf(“a+b=%d\n”,a+b);/*输出计算机结果*/}程序运行后的输出结果是()。A.a+b=10B.a+b=30C.30D.出错
11.语句int(*ptr)的含义是()。
A.ptr是一个返回值为int的函数
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
12.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
13.以下程序的输出结果是()main(){union{chari[2];intk;}r;r.i[0]=2,r.i[1]=0;printf("%d\n",r,k);}
A.2B.1C.0D.不确定
14.下列说法错误的是______。
A.关系中每一个属性对应一个值域
B.关系中不同的属性可对应同一值域
C.对应同一值域的属性为不同的属性
D.DOM(A)表示属性A的取值范围
15.下列程序的执行结果是______。#include<stdio.h>unionun{inti;charc[2};};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}
A.266B.11C.265D.138
16.有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c=k;执行该程序段后,k的值是()。
A.3B.2C.1D.0
17.下列不正确的转义字符是()。
A.'\\'B.'\t'C.'\n\D.'088'
18.有以下程序:#include<stdio.h>voidmain(){char*s=“\ta\018bc”;for(;*s!=‘\0’;s++)printf(“*”);printf(“\n”);}程序运行后的输出结果是()。
A.******B.*********C.*****D.*******
19.
20.有以下程序:#include<stdio.h>structS{inta,b;}data[2]=110,100,20,200};main(){structSp=data[1];printf(“%d\n”,++(p.a));}程序的运行结果是()。
A.10B.11C.20D.21
二、2.填空题(20题)21.有以下程序:
#include<stdio.h>
main()
{charch1,ch2;intn1,n2;
ch1=getchar();ch2=getehar();
n1=ch1-'0';n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
程序运行时输入:12<回车>,执行后的输出结果是【】。
22.数据库系统的三级模式分别为______模式、内部级模式与外部级模式。
23.设y为血型变量,请写出描述“y是偶数”的表达式______。
24.请用位运算实现下述目标(设16位二进制数的最低位为零位):
(1)输出无符号正整数m的第i个二进制位的数值。
(2)将m的第i个二进制位置1,其余的位不变,然后输出m。
#include"stdio.h"
【】
main()
{
unsignedk,i,m=0;
scanf("%d%d",&m,&i);
k=【】;
printf("%d\n",k);
k=pow(2,i);
m=【】;
printf("%d\n",m);
}
25.以下程序运行后的输出结果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
26.在关系数据库中,用来表示实体之间联系的是【】。
27.在软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错直至回归测试的过程称为【】。
28.软件结构是以【】为基础而组成的一种控制层次结构。
29.以下程序段的输出结果是【】。
main()
{inta=2,b=2,c=4;
a*=16+(b++)-(++C);
printf("%d",a);
}
30.数据元素之间______的整体称为逻辑结构。
31.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
32.下列程序的运行结果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
33.以下程序的输出结果是【】。
main()
{ints,i;
for(s=0,i=1;1<3;i++,s+=i);
printf("%d\n",s);
}
34.己定义charch='$';inti=l,j;,执行j=!ch&&ii++以后,i的值为【】。
35.已有文本文件test.txt,其中的内容为:Hello,everyone!。以下程序中,文件test.txt已正确为“读”而打开,由文件指针fr指向该文件,则程序的输出结果是【】。
#include<stdio.h>
main()
{
FILE*fr;charstr[40];
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
36.下列程序的运行结果是______。
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf('%s\n",p);
}
37.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
38.以下程序将数组a的4个元素和数组b的6个元素写到名为letter.dat的二进制文件中,请填空。
#include<stdio.h>
main()
{FILE*fp;
chara[4]="1234",b[6]="abcdef";
if((fp=fopen("【】","wb"))==NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,【】,1,fp);
fclose(fp);
}
39.下述函数统计—个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】='')flag=0;
elseif(【】){flag=1;num++}
}
return【】;}
40.语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【】。
三、1.选择题(20题)41.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"),*p=str[0];printf("%d\n",strlen(p+20));}程序运行后的输出结果是()。
A.0B.5C.7D.20
42.以下程序的输出结果是()main(){inta=2,k;for(k=0;k<3;k++)printf("%4d",f1(a));}f1(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}
A.777B.71013C.7911D.789
43.软件详细设计的主要仟务是确定每个模块的
A.算法和使用的数据结构B.外部接口C.功能D.编程
44.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}
A.*p表示的是指针变量p的地址
B.*p表示的是变量a的值,而不是变量a的地址
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量
45.若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。
A.main(){……x=fun(2,10);……}floatfun(inta,intb){……}
B.floatfun(inta,intb){……}main(){……x=fun(i,j);……}
C.floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){……}
D.main(){floatfun(inti,intj);……x=fun(i,j);……}floatfun(inta,intb){……}
46.软件生命周期中所花费用最多的阶段是()。
A.详细设计B.软件编码C.软件测试D.软件维护
47.以下对结构体类型变量的定义中,不正确的是()。
A.typedefstruetaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm;}tdl;
48.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A.-3B.9C.-12D.6
49.下列工具中为需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
50.已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是______。main(){unsignedinta=31,b=66;pfintf("%c\n,a|b);}
A.66B.98C.bD.B
51.在深度为5的满二叉树中,叶子结点的个数为A.32B.31C.16D.15
52.下面程序的输出结果是()#include<stdio.h>#include<string.h>{char*p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2.strcat(pi,p2));printf("%s\n",str);}
A.xyzabcABB.zabcABCC.yzabcABCD.xycbcABC
53.有以下程序main(){chara,b,c,*d;a='\';b='\xbc';c='\0xab';d="\0127";pfintf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是
A.程序中只有a='\';语句不正确
B.b='\xbc';语句不正确
C.d="\0127";语句不正确
D.a='\';和c=,'0xab';语句都不正确
54.下列数据结构中,按先进后出原则组织数据的是()。
A.循环队列B.栈C.顺序表D.循环链表
55.若有以下定义,则正确的swish语句是______。floatx;inta,b;
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch(x){case1,2:printf("*\n");case3:printf("**\n");}
C.switch(a+b){case1:printf("\n");case1+2:printf("**\n");}
D.switch(a+b);{case1:printf("*\n");case2:printf("**\n");}
56.需求分析阶段的任务是()
A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能
57.不能把字符串“Hello!”赋给数组b的语句是________。
A.charb[10]={'H','e','1','l','o','!'};
B.chsrb[10]={'h','e','1','1','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.chgrb[10]="Hello!";
58.有如下程序#include<stdio.h>main(){FILE*fp1;fp1;fopen("ftxt","w");fprintf(fpl,"abc")fclose(fpl);}若文本文件f1.txt中原有内容为:good,则运行以上:程序后文件f1.Mt中的内容为
A.goodabcB.abcdC.abcD.abcgood
59.下面的程序ASCⅡ。main(){intx=3,y=0,z=0;if(x==y+z)printf("****");elseprintf("####");}
A.有语法错误不能通过编译B.输出****C.可以通过编译,但是不能通过连接,因而不能运行D.输出####
60.下列所述中,是软件调试技术的是()。
A.错误推断B.集成测试C.回溯法D.边界值分析
四、选择题(20题)61.以下选项中,合法的一组c语言数值常量是()。
A.12.0Xtl234.5e0
B.028.5e-3-0xf
C.1774el.50abe
D.0x8A10,0003.e5
62.
63.有以下程序
#include<stdi0.h>
main()
{inta[]={2,3,5,4),i;
for(i=0;i<4;i++)
switch(i%2)
{case0:switch(a[i]%2)
{case0:a[i]++;break;
casel:a[i]--;
}break;
case1:a[i]=0;
}
for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");
}
程序运行后的输出结果是()。
A.3344B.2050C.3040D.0304
64.数据的存储结构是指
A.存储在外存中的数据B.数据在计算机中的顺序存储方式
C.数据的逻辑结构在计算机中的表示D.数据所占的存储空间量
65.
66.
67.有以下程序程序运行后的输出结果是()。A.a+b=0B.a+b=30C.a+b=lOD.出错
68.
69.有以下程序程序运行后的输出结果是()。
A.Zha0,m,85,90,Qian,f,95,92
B.Zha0,m,85,90,Zha0,m,85,90
C.Qian.f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zha0,m,85,90
70.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
A.插入排序B.冒泡排序C.直接插入排序D.堆排序
71.
72.以下结构体类型说明和变量定义中正确的是()。
A.
B.
C.
D.
73.
以下程序的输出结果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
74.函数fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始点是()。
A.文件开始B.文件末尾C.文件当前位置D.以上都不对
75.
76.当变量c的值不为2、4、6时,值也为“真”的表达式是()。
77.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
78.以下正确的字符串常量是()。
79.(20)数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
80.下列关于单目运算符++、--的叙述中正确的是A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
五、程序改错题(1题)81.下列给定程序中,函数proc的功能是:先将字符串s中的字符按顺序存放到t中,然后把S中的字符按正序连接到t的后面。例如,当s中的字符串为WXYZ时,则t中的字符串应为WXYZWXYZ。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidproc(char*s,char*t)
{
inti,s1;
s1=strlen(s);
for(i=0;i<s1;i++)
//****found****
t[i]=s[s1];
for(i=0;i<s1;i++)
t[s1+i]一s[i];
t[2*s1]=\O0;
}
voidmain
{
chars[100],t[100];
system("CLS");
print{("\nPleaseenterstrings:");
scanf("%s",s);
proc(s,t);
printf("Theresultis:%s\n",t);
}
六、程序设计题(1题)82.编写函数proc,它的功能是:计算和输出下列级数的和。S=1/(12)+1/(23)+…+1/(n(n+1))例如,当n=20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年三季度报天津地区A股负债合计排名前十大上市公司
- 2025版城市基础设施建设委托合同范例大全3篇
- 2025年树林资源综合利用与循环经济承包合同范本3篇
- 2025年食堂食品安全风险评估承包合同3篇
- 2025年山东货运从业资格证500道题目及答案
- 2025版停薪留职合同模板:民营企业员工休整计划书3篇
- 二零二五年度城市绿化工程项目采购安装合同3篇
- 二零二五年度地质勘探临时驾驶员用工合同4篇
- 2025年度物流园区个人运输承包服务协议2篇
- 2025年度模板木方项目合作协议范本大全3篇
- 土地买卖合同参考模板
- 新能源行业市场分析报告
- 2025年天津市政建设集团招聘笔试参考题库含答案解析
- 房地产运营管理:提升项目品质
- 自愿断绝父子关系协议书电子版
- 你划我猜游戏【共159张课件】
- 专升本英语阅读理解50篇
- 中餐烹饪技法大全
- 新型电力系统研究
- 滋补类用药的培训
- 北师大版高三数学选修4-6初等数论初步全册课件【完整版】
评论
0/150
提交评论