![2021年黑龙江省双鸭山市全国计算机等级考试C语言程序设计_第1页](http://file4.renrendoc.com/view/b9904b4e717f00fa5e584e6c1549245d/b9904b4e717f00fa5e584e6c1549245d1.gif)
![2021年黑龙江省双鸭山市全国计算机等级考试C语言程序设计_第2页](http://file4.renrendoc.com/view/b9904b4e717f00fa5e584e6c1549245d/b9904b4e717f00fa5e584e6c1549245d2.gif)
![2021年黑龙江省双鸭山市全国计算机等级考试C语言程序设计_第3页](http://file4.renrendoc.com/view/b9904b4e717f00fa5e584e6c1549245d/b9904b4e717f00fa5e584e6c1549245d3.gif)
![2021年黑龙江省双鸭山市全国计算机等级考试C语言程序设计_第4页](http://file4.renrendoc.com/view/b9904b4e717f00fa5e584e6c1549245d/b9904b4e717f00fa5e584e6c1549245d4.gif)
![2021年黑龙江省双鸭山市全国计算机等级考试C语言程序设计_第5页](http://file4.renrendoc.com/view/b9904b4e717f00fa5e584e6c1549245d/b9904b4e717f00fa5e584e6c1549245d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年黑龙江省双鸭山市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若在线性表中采用折半查找法查找元素,该线性表应该()A.元素按值有序B.构采用顺序存储结C.元素按值有序且采用顺序存储结构D.元素按值有序且采用链式存储结构
2.由两个栈共享一个存储空间的好处是______。
A.减少存取时间,降低下溢发生的几率
B.节省存储空间,降低上溢发生的几率
C.减少存取时间,降低上溢发生的几率
D.节省存储空间,降低下溢发生的几率
3.设a,b,c,d,m和n均为int型变量,且a=5,b=6,c=7,d=m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()
A.0B.1C.2D.3
4.以下针对相应语句的注释中,说法错误的是()。
A.int*pt[2];/*pt是一个指针数组名*/
B.int(*pt)[2];/*pt是一维数组名*/
C.int(*pt)();/*pt是指向函数的指针*/
D.int*pt();/*pt是一个函数名*/
5.若有定义“chars1[100]=“name”,s2[50]=“address”,s3[80]=“person”;”,要将它们连接成新串“personnameaddress”,正确的函数调用语句是()。
A.strcat(strcat(s1,s2),s3);
B.strcat(s3,strcat(s1,s2);
C.strcat(s3,strcat(s2,s1);
D.strcat(strcat(s2,s1),s3);
6.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);}程序执行后,abc.dat文件的内容是()。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
7.有以下程序:
main
{chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++):
)
程序运行后的输出结果是()。A.A.b,bB.b,cC.a,bD.a,c
8.
9.有下列程序:程序执行后的输出结果是()。A.Sun,f,90,Sun,f,90
B.Zhao,m,85,Sun,f,90
C.Zhao,m,85,Qian,f,95
D.Sun,f,90,Qian,f,95
10.针对二分查找算法,假设一个有序数组有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
11.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为()。
A.20B.0或35C.15D.16
12.以下叙述中错误的是()。
A.C语言的可执行程序是由一系列机器指令构成的
B.用C语言编写的源程序不能直接在计算机上运行
C.通过编译得到的二进制目标程序需要连接才可以运行
D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
13.有以下程序:#include<stdio.h>intf1(inta){returna*3;}intf2(int*b){return*b*5;}main(){intx=3,y=5;printf(“%d,%d\n”,f1(x),f2(&y));}程序的运行结果是()。
A.9,125B.9,25C.3,15D.3,45
14.一个队列的入队序列是1,2,3,4,则队列的输出序列是()。
A.4,3,2,1B.1,2,3,4C.1,4,3,2D.3,2,4,1
15.C语言函数中未指定存储类的变量,其隐含类别是()
A.autoB.staticC.registerD.void
16.下列叙述中错误的是()。
A.C语言函数中定义的自动变量,系统不自动赋确定的初值
B.在C语言的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内
C.C语言函数中定义的赋有初值的静态变量,每调用一次函数为其赋一次初值
D.C语言函数的形参不可以说明为static型变量
17.以下选项中非法的字符常量是()。
A.\101B.\65C.\xffD.\019
18.下列写法正确的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
19.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
20.以下选项中不属于字符常量的是
A.′C′B.′′C′′C.′\xCC′D.′\072′
二、2.填空题(20题)21.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
22.以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。
请填空。
#defineN3
#defineM4
voidLineMax(intx[N][M])
{inti,j,P;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])【】;
printf("Themaxvalueinline%dis%d\n",i,【】);
}
main()
{intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
【】;
}
23.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【】。要求形参名为b。
main()
{double[10][22];
intn;
......
fun(s);
}
24.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
25.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间。
st=(char*)【】;
26.调用C语言标准库函数时要求用【】命令。
27.设有定义:intn,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充家整。
seanf("%d",【】);
printf("%d\n",【】);
28.实现算法所需的存储单元多少和算法的工作量大小分别称为算法的【】。
29.数据元素之间______的整体称为逻辑结构。
30.下面程序的运行结果是【】。
#include<stdio.h>
#defineSIZE12
main()
{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++)printf("%c",s[i]);
printf("\n");}
sub(char*a,inttl,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
31.以下程序将两个数从小到大输出。请填空。
{floata,b,【】;
scanf(,【】&a,&b);
if(a>b)
{t=a;
【】;
b=t;
printf("%5.2f%5.2f\n",a,b);
}
32.在面向对象方法中,类之间共享属性和操作的机制称为______。
33.数据流图的类型有【】和事务型。
34.下面的程序可列指定字符串中的字符串进行从大到小排序,请将程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
35.深度为5的满二叉树中,叶子结点的个数为______。
36.防止软盘感染病毒的最有效的方法是【】。
37.数据库系统中实现各种数据管理功能的核心软件称为【】。
38.下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。
structstu
{intx;
【】
【】next;}
39.有如下图所示的双链表结构,请根据图示完成结构体的定义:
structaa
{intdata;
【】}node;
40.以下程序的运行结果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
三、1.选择题(20题)41.
对两个数组a和b进行下列初始化:
charm[]="1234567";
charn[]={1,2,3,4,5,6,7};
则下列叙述正确的是()。
A.数组m与数组n完全相同B.数组m与数组n长度相同C.数组m比数组n长1D.数组m与数组n中都存放字符串
42.下面程序的功能是将从键盘输入的两个数由小到大排序输出,当输入一对相等数时结束循环。请选择填空。#include<stdio.h>main(){inta,b,t;scanf("%d%d",&a,&b);while(______)}if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}
A.!a=bB.a!=bC.a==bD.a=b
43.以下程序的输出结果是unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%d\n",a.u.x);}
A.4B.5C.6D.0
44.若有以下说明和定义:typcdefint*INTEGER;INTEGERp,*q;以下叙述正确的是()。
A.p是血型变量
B.p是基类型为int的指针变量
C.q是基类型为int的指针变量
D.程序中可用INTEGER代替int类型名
45.设有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息
C.输出值为2002
D.输出值为2003
46.有如下程序:#include<stdio.h>main(){FILE*fp1;fp1=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有内容为good,则运行以上程序后文件f1.txt中的内容为()。
A.goodabcB.abcdC.abcD.abcgood
47.有以下程序:structS{intn;inta[20];};voidf(structS*P){inti,j,t;for(i=0;i<P->n-1;i++)for(j=j+1;j<P->n-1;j++)if(p->a[i]>p->a[j]){t=P->a[i];p->a[i]=P->a[j];p->a[j]=t}}main(){inti;structSs{10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d",s.a[i]);}程序运行后的输出结果是()。
A.3B.4C.5D.6
48.有以下函数intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数的功能的叙述正确的是A.求字符串s的长度B.比较两个串的大小C.将串s复制到串tD.求字符串s所占字节数
49.视图设计一般有3种设计次序,下列不属于视图设计的是______。
A.自顶向下B.由外向内C.由内向外D.自底向上
50.结构化程序设计的主要任务是确定每个模块的
A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性
51.下面是对宏定义的描述,不正确的是______。
A.宏不存在类型问题,宏名无类型,它的参数也无类型
B.宏替换不占用运行时间
C.宏替换时先求出实参表达式的值,然后代入形参运算求值
D.宏替换只不过是字符替代而已
52.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序运行的结果是()。
A.234B.432C.23D.4534554334344523
53.下列程序的输出结果是______。#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}
A.7B.8C.9D.10
54.已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序______。main(){chara='A';intb=20;printf(%d,%0",(a=a+a,a+b,B),a+'a'-'A',B);}
A.表达式非法,输出零或不确定值
B.因输出项过多,无输出或输出不确定值
C.输出结果为20,141
D.输出结果为20,141,20
55.以下叙述中错误的是A.算法正确的程序最终一定会结束
B.算法正确的程序可以有零个输出
C.算法正确的程序可以有零个输入
D.算法正确的程序对于相同的输入一定有相同的结果
56.若下列各选项中所有变量已正确定义,函数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(ihta,intb){...}
D.main(){floatfun(inti,intj);...x=fun(i,j);...}floatfun(inta,intb){...}
57.现有如下程序段#include"stdio.h"main(){intk[30]={12,324,45,6,768,98,21,34,453,456};intcount=0,i=0;while(L[i]){if(k[i]%2==0||k[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);}则程序段的输出结果为
A.7,8B.8,8C.7,10D.8,10
58.若有以下定义和语句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是______。
A.*pB.a[10]C.*aD.a[p-a]
59.数据库、数据库系统和数据库管理系统之间的关系是()。
A.数据库包括数据库系统和数据库管理系统
B.数据库系统包括数据库和数据库管理系统
C.数据库管理系统包括数据库和数据库系统
D.三者没有明显的包含关系
60.对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()
A.并运算B.交运算C.差运算D.积运算
四、选择题(20题)61.有以下计算公式
62.有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
for(i=0;i<*a;i++)
for(j=0;j<*b;j++)
for(k=0;k<*c;k++)
for(m=0;m<*d;m++)
++*e;
}
main()
{inta=10,b=10,c=10,d=10,e=0;
fun(&a,&b,&c,&d,&e);
printf("%d\n",e);}
则程序段的输出结果是
A.10000B.1000
C.100D.0
63.
64.
65.
66.若有定义语句:
charS[10]=”1234567\0\0”;则strlen(s)的值是()。
A.7B.8C.9D.10
67.
68.
69.(VC++)若有以下定义,则对b数组元素正确的引用是
intb[2][3]={1,2,3,4,5,6};A.b[1]B.b[0][3]C.b[2][2]D.b[1][1]
70.以下关于C语言的叙述中正确的是()。
A.C语言中的注释不可以夹在变量名或关键字的中间
B.C语言中的变量可以在使用之前的任何位置进行定义
C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D.C语言的数值常量中夹带空格不影响常量值的正确表示
71.有以下程序执行后的输出结果是()。
A.1B.2C.4D.死循环
72.有以下程序:
程序运行后的输出结果是()。
A.LoB.30C.0D.64
73.在面向对象方法中,实现信息隐蔽是依靠()。
A.对象的继承B.对象的多态C.对象的封装D.对象的分类
74.设变量均已正确定义,若要通过;语句为变萤a1和a2赋数值l0和20,为变量cl和c2赋字符x和Yd以下所示的输入形式中正确的是(注:口代表空格字符)
75.下列叙述中正确的是()。A.A.只能在循环体内和switch语句体内使用break语句B.cotinue语句的作用是结束整个循环的执行
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用got0语句
76.设有定义
77.
78.
79.一个关系中属性个数为1时,称此关系为()。
A.对应关系B.单一关系C.一元关系D.二元关系
80.检查软件产品是否符合需求定义的过程称为()。
A.确认测试B.集成测试C.验证测试D.验收测试
五、程序改错题(1题)81.下列给定程序中,函数proc的功能是计算正整数m各位上数字的平方和。例如,输入498,则输出应该是161。请修改程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>longproc(10ngm){//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum);}voidmain{longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n));}
六、程序设计题(1题)82.请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。例如,当str所指字符串中的内容为ABCDEFGHIJK(输入完成以空格、Tab或者Enter键加任意非空格、Tab或者Enter键的一个字符作为输入结束标志),则在t所指数组中的内容应是BDFHJ。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.C
2.B解析:常常一个程序中要用到多个栈,为了不发生上溢错误,就必须给每个栈分配一个足够大的存储空间。但实际中,很难准确地估计,若每个栈都分配过大的存储空间,势必造成系统空间紧张;若让多个栈共用一个足够大的连续存储空间,则可利用栈的动态特性使他们的存储空间互补。
3.C
4.B选项A定义了一个数组pt,它包含两个整型指针元素,所以pt是一个指针数组名,正确;选项B定义了一个数组指针Pt,pt指向一个数组,该数组包含两个整型元素,错误;选项C定义了一个函数,pt是函数指针,指向的函数没有参数,返回类型为整型,正确;选项D定义了一个函数,函数名为pt,函数返回整型指针类型,正确。故本题答案为B选项。
5.Bstrcat函数是字符串连接函数,调用形式为strcat(s1,s2)。其功能是将s2指向的字符串的内容连接到s1指向的存储空间中,并返回s1的地址。由题意可知,新串首地址为s3,所以s3应该是第一参数,选项A、D错误。同理,新串中除了S3所指的字符串,剩下的字符串为“nameaddress”,即首地址为s1,所以调用strcat函数,s1是第一参数。所以正确的函数调用语句为“strcat(s3,strcat(s1,s2))”。故本题答案为B选项。
6.B题目中先是将s2字符串写入adc.dat中,然后执行rewind函数将写指针放置于文件开头,写入s1字符串。s1字符串将前5个字符覆盖,所以最终结果为Chinang。故本题答案为B选项。
7.A++a与a++的区别是前者先自加再运算,后者是先运算后自加。
8.A
9.A程序定义结构体类型STU,定义类型STU的全局变量a。main函数定义局部类型为STU变量b,并对它初始化,调用函数f。将局部变量c的各个成员值赋给a,覆盖a的旧值,将a的新值返回并赋给b,此时a、b的各个成员值都是Sun,f,90,程序输出:Sun,f,90,Sun,f,90。本题答案为A选项。
10.B
11.BQ(1:35)则队列的存储空间为35;对空条件:front=rear(初始化时:front=rear),队满时:(rear+1)%n==front,n为队列长度(所用数组大小),因此当执行一系列的出队与入队操作,front=rear.则队列要么为空,要么为满。
12.Dc语言的可执行程序是由一系列机器指令组成的。用C语言编写的源程序必须经过编译生成二进制目标代码,再经过连接才能运行,并且可以脱离c语言集成开发环境。故答案为D)。
13.Bf1函数接收整型数a,将a的值乘以3,结果作为函数返回值返回;f2接收整型变量的地址,将地址中的值取出后乘以5,结果作为返回值返回;main函数定义两个变量x、y,初值分别是3和5,所以调用f1(x)返回值为9,调用f2(&y)返回值为25。故本题答案为B选项。
14.B
15.A
16.CA选项描述正确,自动变量未被赋初值,为随机值;B选项描述正确,除在函数开始位置定义变量外,在复合语句内也可以定义变量;C选项描述错误,函数内的静态变量只在第1次调用时赋值,以后调用保留上次的值;D选项描述正确,形参属于局部变量,占用动态存储区,而static型变量占用静态存储区。故本题答案为C选项。
17.D在选项中,\\019,以0开头的数都为八进制数,而八进制的表示数字是0~7,所以答案选择D。
18.D解析:本题考查语句的基本构成。选项A)中j=5后面少了一个分号:选项B)中少了“}”;选项C)不是一个完整的函数定义格式,一个完整的函数定义格式还包括一对花括号:选项D)正确,是一个空语句。
19.C解析:软件系统结构的总体设计包括:基于功能层次结构建立系统、按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系和模块间的接口、评估模块划分的质量等方面。详细设计的任务是:在使用程序设计语言编制程序以前,对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求,通常包括:功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求等。编程调试的任务是诊断和改正程序中潜在的错误。综上所述。软件功能分解只能发生在总体设计阶段。
20.B解析:在C语言程序中,用单引号把一个字符或反斜线后跟一个特定的字符括起来表示一个字符常量。选项A)、C)和D)为正确的字符常量,而选项B)是用双引号括起来的字符,表示一个字符串常量。
21.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
22.p=jx[i][p]LineMax(x)
23.voidfun(doubleb[10][22])voidfun(doubleb[10][22])解析:本题答案:voidfun(doubleb[10][22])。
24.模块模块解析:矩形表示的是模块,箭头表示的是模块间的调用关系。用带实心圆的箭头表示传递的是控制信息,用带空心圆的箭头表示传递的是数据。
25.malloc(11)或malloc(sizeof(char*)11)malloc(11)或malloc(sizeof(char*)11)解析:该题主要考查malloc函数的使用。一个字符在内存中占一个字节,因此malloc的参数为11。也可按指向字符指针的大小来分配。
26.includeinclude解析:include命令可调用标准的C语言库函数,可以用一对尖括号或一对双引号将“.h”文件括起来,在include前面要加“#”。
27.k[7]*kk[7]*k解析:scanf()函数有两个参数,第—个参数是格式控制部分(格式控制部分是字符串,主要由“%”号和格式字符组成)第二个参数是一地址列表(地址列表是由多个地址组成,可以是变量的地址,也可以是字符串的首地址)。而第一个空格处位于scanf()函数的第二个参数处,所以,第一个空应该填地址k。printf()函数有两个参数,第一个参数是输出格式字符串(输出格式字符串是由控制输出格式的字符和非格式字符组成的,通常是字符常量。非格式字符作为输出数据的间隔,输出时原样输出)第二个参数为一输出表达式表(输出表达式表是由若干个需要计算和输出的表达式组成的,表达式之间用逗号分隔开)。而第二个空位于printf()函数的第二个参数处,所以应该填*K。
28.空间复杂度和时间复杂度算法的复杂性是指对一个在有限步骤内终止算法和所需存储空间大小的估计。算法所需存储空间大小是算法的空间复杂性,算法的计算量是算法的时间复杂性。
29.逻辑关系逻辑关系
30.abcdefglkjihabcdefglkjih解析:本题主要考查了字符变量可参与的运算。因为字符在计算机中是以ASCII码的形式存放的,所以字符变量可看作整型变量来处理,如参与算术运算等,某字符的大写字母的ASCII码值比它对应的小写字母ASCII码值小32。
31.t"%f%f"a=b
32.继承继承
33.变换型典型的数据流类型有两种:变换型和事务型。变换型是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统;在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。
34.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本题要求将字符串str中的字符用冒泡排序算法从大到小排列,其实现过程是将相邻两个字符进行比较,如果当前字符小于下一个字符,则通过中间变量temp将字符两两交换,所以第一空应填:str[i],第二空应填:str[i+l]。最终打印输出得到的字符串str,所以第三空应填:'%s',str。
35.1616解析:满二叉树的叶子结点都在最后一层,即第4层,且第4层的结点达到最大数,即25-1=16。
36.进行写保护进行写保护
37.数据库管理系统数据库管理系统(DBMS)
38.floaty;structstu*floaty;\r\nstructstu*解析:float定义变量y为实型变量。要求变量next是指向自身结构体的指针,因此变量next应该是结构体stu的指针型变量。
39.structaa*lhead*rchild;structaa*lhead,*rchild;解析:结构体对链表的定义。
40.12300123001,2,3,0,0,1,2,3,0,0,解析:本题考查文件读写函数fread和fwrite的用法。fwrite函数将数组a的前5个元素输出到文件fp中两次,共10个字节,再调用fread函数从文件fp中读取这10个字节的数据到数组a中,此时数组a的内容就变为{1,2,3,0,0,1,2,3,0,0},最后的输出结果为'1,2,3,0,0,1,2,3,0,0,'。
41.C解析:本题考查字符数组和字符串赋值给数组的一些区别。语句“charm[]='1234567';”定义了一个字符型数组并进行了初始化,C语言规定,在字符串的末尾自动加上串结束标记\'\\0\',因此数组m的长度是8;而数组n是按照字符方式对数组进行初始化,系统不会自动加上串结束标记\'\\0\',因此数组n的长度是7。
42.B解析:根据本题提出的条件可知,控制循环的表达式应该是所输入的两数互不相等(相等时结束循环),也即只有满足这一条件时,才对两数进行排序输出操作,由此得出循环的控制表达式应该为a!=b。
43.D解析:本题考查共用体变量起作用的范围。共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用,在本题中,当对a.u.y成员赋值时,a.u.x的值就不存在了,当对a.u.2赋值时,a.u.y的值就不存在了。
44.B解析:INTEGER是类型名,由它来间接定义p和*q的类型,因此,p是基类型为int的指针变量,故选项A不正确,选项.B正确,q是二级指针变量,它指向基类型是int的指针变量,故选项C,D不正确。所以4个选项中B正确。
45.D解析:逗号运算符的结合性为从左到右,其一般形式为“表达成1,表达式2”,整个表达式的值为表达式2的值。故4个选项中选项D符合题意。
46.C解析:主函数中定义了一个文件指针fp1,然后通过fopen()函数,以写的方式打开文件f1.txt,并让指针fp1指向它,接着调用fprimf()函数将abc写到文件fp1所指的文件里,由于印1指向文件f1.txt的开始位置,因此abc将把文件f1.txt里原来的内容good覆盖掉,故文件f1.txt里最后的内容为abc,所以,4个选项中选项C符合题意。
47.A解析:在主函数main()中定义了一个整型变量i和一个结构体变量s。f()函数中,定义了一个结构体指针类型的指针p,外层循环变量i表示数组的第i个元素,内层循环j表示数组的第i+1个元素,调用f()函数,通过指针变量p来引用结构体成员,并把它们进行从小到大排序,最后输出。
48.A解析:aaa()函数中,首先定义了一个字符指针t指向形参s,然后通过一个while循环让指针\u3000t不断递增,直到t指向字符串结束标志处。当t指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,所以接卜来的t--;语句让它回到结束标志处。最后返回t-s,因此s还是指向字符串第1个字符处,而t指向了字符串结尾,故返回值为字符串的长度值。
49.B解析:视图设汁一般有3种设计次序,它们分别是自顶向下、自底向上和由内
向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以
单独使用也可混合使用。
注意:数据库概念设计的过程:首先选择局部应用,再进行局部视图设计,最后
对局部视图进行集成得到概念模式。
50.B解析:按结构化程序设计方法设计出的程序具有明显的优点,即程序易于理解、使用和维护,便于控制、降低程序的复杂性,便于验证程序的正确性,程序清晰易读,可理解性好。
51.C解析:宏替换实质上就是字符替代,它不可能进行计算,故C错误。带参数的宏与函数相比,宏在程序编译之前已经将代码替换到程序内,执行时不会产生类似于函数调用的问题,可以说不占用运行时间。
52.D解析:本题主要考查for循环语句的嵌套。外层主循环执行了3次,嵌套的循环语句每轮执行2次,每次输出i+j的值,推出嵌套循环语句后换行。
53.B
54.C解析:本题中首先输出逗号表达式“a=a+a,a+b,b”的值,即20。然后以八进制的形式输出a+'a'-'A'的值为97对应的八进制数141,由于最后一个表达式b没有对应输出格式的输出项表列就不会输出。
55.B(45)B)解析:算法应该具有下列五个特性:
①有穷性:一个算法必须在执行有穷步之后结束。
②确定性:算法中的每一步,必须有确切的含义,在他人理解时不会产生二义性。
③动态性:算法中描述的每一步操作都可以通过已有的基本操作执行有限次实现。
④输入:一个算法应该有零个或多个输入。
⑤输出:一个算法应该有一个或多个输出。这里所说的输出是指与输入有某种特定关系的量。
56.A解析:C语言程序从main函数开始执行,当程序中定义了多个函数时,通常情况下是先定义后调用。若被调用函数定义在主调函数之后,则必须先声明后调用。在选项A)中,先执行main函数,并调用了fun函数,而fun函数在此调用之前无定义也无声明,故无法正常识别调用,所以错误。
57.D解析:在C语言中,定义一维数组的语句一般形式如下:
类型名数组名[常量表达式];
一维数组的引用形式为:数组名[下标表达式]。count表示能被2整除或被5整除的个数,i则计算有多少个数组元素。
58.B解析:程序中定义了数组a[10],则其元素的下标范围为0~9,而B选项中的a[10]所表示的元素已经超出a数组元素的范围,故应该选择B。
59.B数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。数据库可以被直观地理解为存放数据的仓库,只不过这个仓库在计算机的大容量存储器上,例如,硬盘就是一种最常见的计算机大容量存储设备。数据必须按一定的格式存放,因为它不仅需要存放,而且还要便于查找和使用。
数据库管理系统(DBMS)是位于用户与操作系统之间的完成数据管理的系统软件。它是用户与数据库的接口。应用程序一般要通过DBMS才能访问数据库。在数据库建立、运用和维护时对数据库进行统一控制。
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库是整个数据库系统最基本的成分。数据库管理系统是数据库系统的核心。数据库管理员是数据库系统的责任维护者,负责对数据库系统的整体维护。
综上所述,本题中只有B选项的描述是正确的。
60.AA)【解析】关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,新关系中包含两个关系中的所有元组。
61.A应该先判断x是正数还是负数,然后再调用sqn函数,A)选项开始没有判断,所以A)错误.
62.A在本题中,程序首先定义了一个无返回值的函数fun,该函数带有五个整型的指针形参变量,然后通过一个四层循环来操作++*e;语句,由于*与++运算符的优先级一样,它们都是自右至左结合的操作,因此,++*e等价于++(*e),这个操作可描述为:先用地址取值,然后对其进行自加,由于是通过传址传值法的,因此,还需要将相加后的结果传递到实参中。
在主函数中,定义五个整型变量并分别赋初值,然后调用fun函数,传递的参数是刚定义的五个整型变量的地址,采用的是传址传值法,能为实参带回一个结果值。从fun函数中我们不难看出,当变量a,b,c,d分别为10时,循环总共执行10000次,即自加进行了10000次,而且每次自加后都改变了实参的结果。因此,循环结束后,变量e的值为10000。本题的正确答案是A。
63.B
64.A
65.D
66.Astrlen()函数在计算字符串长度时,遇到结束标识为止,且长度不包括结束标识。本题中字符串,从第一个字符开始,遇到第一个结束标识‘\0’为止,注意‘\0’不占字符串长度,所以字符串长度为7。因此A选项正确。
67.B
68.D
69.D这是二维数组,所以A错\r\n数组是从0开始,所以第一个不能有2,第二个不能有3.所以B,C错。
70.B解析:C语言中注释可以放在任何位置,选项A错误;C语言中的变量只要在使用之前定义即可,位置可以是使用前的任何位置,故选项B正确;C语言中两侧数据类型可以不一致,系统可进行强制类型转换,选项C错误;C语言数值常量中不允许存在空格,选项D错误。
71.A判断循环条件一k,k值为4,条件为真,执行输出语句,其中k一=3执行后,k为1,即输出为1,然后判断循环条件一k,值为0,为假,循环结束。答案选择A)。
72.D本题目中静态局部变量x,在静态存储区内分配存储单元。在程序整个运行期间都不释放。所以第一次循环s的值为2,第二次循环中,返回的x的值为4,所以s的值为8,第三次循环,返回的x的值为8,所以S的值为64.
73.C解析:通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大特点,为软件开发提供了一种新的方法学。
封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。简单地说,封装就是隐藏信息。这是面向对象方法的中心,也是面向对象程序设计的基础。
继承性:子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。继承有利于提高软件开发效率,容易达到一致性。
多态性:多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动作。例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。
经过上述分析可知,在面向对象方法中,实现信息隐蔽是依靠对象的封装。正确答案是选项C。
74.A本题考查的知识点是数据输入。scanf函数是C语言提供的标准输入函数,作用是接收在终端设备(或系统隐含指定的输入设备)上输入的数据。scanf()函数的一般形式为:scanf(格式控制,输入项表);本题中的格式控制字符串是“%d%c%d%c”,其中%d表示要输入的是整数;%c则表示输入的是字符,且各控制符之间无任何分隔字符,故要求输入的数据之间也不能分开(若要求连续输入的都是数据类型,则必须以空格等空白字符分隔每个数据,因为系统不知道应该如何去分隔这一系列数据)。而选项B)、C)、D)在l0和x之间均插入空格,所以不正确。
75.A本题考查循环跳出的知识点:①break语句可以出现在switch循环体内及语句体内,它的作用是跳出循环体,不能用于其他的语句;②continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,而接着判定循环条件是否成立,确定下一次循环是否继续执行,执行contiune语句不会使整介循环终止;③循环体内使用break语句会使循环提前终止;④从多层循环嵌套中退出时,可以使用90t0语句或者break语句。
76.A*(s+3)指针后移3个单位,为a[31的值。答案选择A)。
77.A
78.D
79.C解析:在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个具有N个属性的关系称为N元关系。注意:各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。
80.A本题主要考查软件测试的基本知识。软件测试的步骤可分为单元测试(模块测试)、集成测试、确认测试和系统测试。
(1)单元测试是针对每个模块进行的测试,它可从程序的内部结构出发设计测试用例,多个模块可以平行、对立地测试。单元测试主要用于发现详细设计和编程时犯下的错误。单元测试多采用白盒测试,辅之以黑盒测试。
(2)集成测试是在单元测试的基础上,根据模块结构图将各个模块连接起来,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告。主要目标是发现与接口有关的问题。集成测试可以发现概要设计时犯的错误。
(3)确认测试用于验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试主要用于发现需求分析时犯下的错误,一般使用黑盒法测试,以表明软件符合需求说明书的要求,应该仔细设计测试用例和测试过程。确认测试必须有用户参加,或以用户为主,用户应参与设计测试用例,通常情况下,主要使用生产中的实际数据进行测试,测试数据通过用户接口输入。
(4)系统测试是将已经通过确认测试的软件,作为整个计算机系统的元素与计算机硬件、外设和网络等其他因素结合在一起,进行一系列的组装测试和确认测试。系统测试的目的是通过与系统的需求定义做比较,发现软件与系统的定义不符合的地方。系统测试可以发现问题定义时犯下的错误。81.(1)错误:longsum=1;正确:longsum=0;(2)错误:while(m)正确:while(m);【解析】由函数proc可知,变量sum中存放正整数m的各位上数字的平方和,其初始化为0。因此,“longsum=1;”应改为“longsum=0;”。按照C语言的语法规则,语句都以分号结束,应在do-while语句最后加上分号。因此,“while(m)”应改为“while(m);”。
82.
【解析】按照题目中要求,将str所指字符串中下标为偶数的字符删除。串中剩余字符形成的新串放在t所指数组中。可以通过将字符串str中下标为奇数的字符放到字符串t中,对字符串str中的其余字符不予处理。最后为新的字符串数组添加结束符。
2021年黑龙江省双鸭山市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若在线性表中采用折半查找法查找元素,该线性表应该()A.元素按值有序B.构采用顺序存储结C.元素按值有序且采用顺序存储结构D.元素按值有序且采用链式存储结构
2.由两个栈共享一个存储空间的好处是______。
A.减少存取时间,降低下溢发生的几率
B.节省存储空间,降低上溢发生的几率
C.减少存取时间,降低上溢发生的几率
D.节省存储空间,降低下溢发生的几率
3.设a,b,c,d,m和n均为int型变量,且a=5,b=6,c=7,d=m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()
A.0B.1C.2D.3
4.以下针对相应语句的注释中,说法错误的是()。
A.int*pt[2];/*pt是一个指针数组名*/
B.int(*pt)[2];/*pt是一维数组名*/
C.int(*pt)();/*pt是指向函数的指针*/
D.int*pt();/*pt是一个函数名*/
5.若有定义“chars1[100]=“name”,s2[50]=“address”,s3[80]=“person”;”,要将它们连接成新串“personnameaddress”,正确的函数调用语句是()。
A.strcat(strcat(s1,s2),s3);
B.strcat(s3,strcat(s1,s2);
C.strcat(s3,strcat(s2,s1);
D.strcat(strcat(s2,s1),s3);
6.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);}程序执行后,abc.dat文件的内容是()。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
7.有以下程序:
main
{chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++):
)
程序运行后的输出结果是()。A.A.b,bB.b,cC.a,bD.a,c
8.
9.有下列程序:程序执行后的输出结果是()。A.Sun,f,90,Sun,f,90
B.Zhao,m,85,Sun,f,90
C.Zhao,m,85,Qian,f,95
D.Sun,f,90,Qian,f,95
10.针对二分查找算法,假设一个有序数组有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
11.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为()。
A.20B.0或35C.15D.16
12.以下叙述中错误的是()。
A.C语言的可执行程序是由一系列机器指令构成的
B.用C语言编写的源程序不能直接在计算机上运行
C.通过编译得到的二进制目标程序需要连接才可以运行
D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
13.有以下程序:#include<stdio.h>intf1(inta){returna*3;}intf2(int*b){return*b*5;}main(){intx=3,y=5;printf(“%d,%d\n”,f1(x),f2(&y));}程序的运行结果是()。
A.9,125B.9,25C.3,15D.3,45
14.一个队列的入队序列是1,2,3,4,则队列的输出序列是()。
A.4,3,2,1B.1,2,3,4C.1,4,3,2D.3,2,4,1
15.C语言函数中未指定存储类的变量,其隐含类别是()
A.autoB.staticC.registerD.void
16.下列叙述中错误的是()。
A.C语言函数中定义的自动变量,系统不自动赋确定的初值
B.在C语言的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内
C.C语言函数中定义的赋有初值的静态变量,每调用一次函数为其赋一次初值
D.C语言函数的形参不可以说明为static型变量
17.以下选项中非法的字符常量是()。
A.\101B.\65C.\xffD.\019
18.下列写法正确的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
19.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
20.以下选项中不属于字符常量的是
A.′C′B.′′C′′C.′\xCC′D.′\072′
二、2.填空题(20题)21.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
22.以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。
请填空。
#defineN3
#defineM4
voidLineMax(intx[N][M])
{inti,j,P;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])【】;
printf("Themaxvalueinline%dis%d\n",i,【】);
}
main()
{intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
【】;
}
23.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【】。要求形参名为b。
main()
{double[10][22];
intn;
......
fun(s);
}
24.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
25.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间。
st=(char*)【】;
26.调用C语言标准库函数时要求用【】命令。
27.设有定义:intn,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充家整。
seanf("%d",【】);
printf("%d\n",【】);
28.实现算法所需的存储单元多少和算法的工作量大小分别称为算法的【】。
29.数据元素之间______的整体称为逻辑结构。
30.下面程序的运行结果是【】。
#include<stdio.h>
#defineSIZE12
main()
{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++)printf("%c",s[i]);
printf("\n");}
sub(char*a,inttl,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
31.以下程序将两个数从小到大输出。请填空。
{floata,b,【】;
scanf(,【】&a,&b);
if(a>b)
{t=a;
【】;
b=t;
printf("%5.2f%5.2f\n",a,b);
}
32.在面向对象方法中,类之间共享属性和操作的机制称为______。
33.数据流图的类型有【】和事务型。
34.下面的程序可列指定字符串中的字符串进行从大到小排序,请将程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
35.深度为5的满二叉树中,叶子结点的个数为______。
36.防止软盘感染病毒的最有效的方法是【】。
37.数据库系统中实现各种数据管理功能的核心软件称为【】。
38.下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。
structstu
{intx;
【】
【】next;}
39.有如下图所示的双链表结构,请根据图示完成结构体的定义:
structaa
{intdata;
【】}node;
40.以下程序的运行结果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
三、1.选择题(20题)41.
对两个数组a和b进行下列初始化:
charm[]="1234567";
charn[]={1,2,3,4,5,6,7};
则下列叙述正确的是()。
A.数组m与数组n完全相同B.数组m与数组n长度相同C.数组m比数组n长1D.数组m与数组n中都存放字符串
42.下面程序的功能是将从键盘输入的两个数由小到大排序输出,当输入一对相等数时结束循环。请选择填空。#include<stdio.h>main(){inta,b,t;scanf("%d%d",&a,&b);while(______)}if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}
A.!a=bB.a!=bC.a==bD.a=b
43.以下程序的输出结果是unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%d\n",a.u.x);}
A.4B.5C.6D.0
44.若有以下说明和定义:typcdefint*INTEGER;INTEGERp,*q;以下叙述正确的是()。
A.p是血型变量
B.p是基类型为int的指针变量
C.q是基类型为int的指针变量
D.程序中可用INTEGER代替int类型名
45.设有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息
C.输出值为2002
D.输出值为2003
46.有如下程序:#include<stdio.h>main(){FILE*fp1;fp1=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有内容为good,则运行以上程序后文件f1.txt中的内容为()。
A.goodabcB.abcdC.abcD.abcgood
47.有以下程序:structS{intn;inta[20];};voidf(structS*P){inti,j,t;for(i=0;i<P->n-1;i++)for(j=j+1;j<P->n-1;j++)if(p->a[i]>p->a[j]){t=P->a[i];p->a[i]=P->a[j];p->a[j]=t}}main(){inti;structSs{10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d",s.a[i]);}程序运行后的输出结果是()。
A.3B.4C.5D.6
48.有以下函数intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数的功能的叙述正确的是A.求字符串s的长度B.比较两个串的大小C.将串s复制到串tD.求字符串s所占字节数
49.视图设计一般有3种设计次序,下列不属于视图设计的是______。
A.自顶向下B.由外向内C.由内向外D.自底向上
50.结构化程序设计的主要任务是确定每个模块的
A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性
51.下面是对宏定义的描述,不正确的是______。
A.宏不存在类型问题,宏名无类型,它的参数也无类型
B.宏替换不占用运行时间
C.宏替换时先求出实参表达式的值,然后代入形参运算求值
D.宏替换只不过是字符替代而已
52.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序运行的结果是()。
A.234B.432C.23D.4534554334344523
53.下列程序的输出结果是______。#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}
A.7B.8C.9D.10
54.已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序______。main(){chara='A';intb=20;printf(%d,%0",(a=a+a,a+b,B),a+'a'-'A',B);}
A.表达式非法,输出零或不确定值
B.因输出项过多,无输出或输出不确定值
C.输出结果为20,141
D.输出结果为20,141,20
55.以下叙述中错误的是A.算法正确的程序最终一定会结束
B.算法正确的程序可以有零个输出
C.算法正确的程序可以有零个输入
D.算法正确的程序对于相同的输入一定有相同的结果
56.若下列各选项中所有变量已正确定义,函数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(ihta,intb){...}
D.main(){floatfun(inti,intj);...x=fun(i,j);...}floatfun(inta,intb){...}
57.现有如下程序段#include"stdio.h"main(){intk[30]={12,324,45,6,768,98,21,34,453,456};intcount=0,i=0;while(L[i]){if(k[i]%2==0||k[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);}则程序段的输出结果为
A.7,8B.8,8C.7,10D.8,10
58.若有以下定义和语句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是______。
A.*pB.a[10]C.*aD.a[p-a]
59.数据库、数据库系统和数据库管理系统之间的关系是()。
A.数据库包括数据库系统和数据库管理系统
B.数据库系统包括数据库和数据库管理系统
C.数据库管理系统包括数据库和数据库系统
D.三者没有明显的包含关系
60.对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()
A.并运算B.交运算C.差运算D.积运算
四、选择题(20题)61.有以下计算公式
62.有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
for(i=0;i<*a;i++)
for(j=0;j<*b;j++)
for(k=0;k<*c;k++)
for(m=0;m<*d;m++)
++*e;
}
main()
{inta=10,b=10,c=10,d=10,e=0;
fun(&a,&b,&c,&d,&e);
printf("%d\n",e);}
则程序段的输出结果是
A.10000B.1000
C.100D.0
63.
64.
65.
66.若有定义语句:
charS[10]=”1234567\0\0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车租赁合同
- 对照六检查个人自我剖析材料与反思总结三篇
- 房地产税收优惠政策解析培训课件:张强
- 2025年安徽省职教高考《语文》考前冲刺模拟试题库(附答案)
- 2025年江西中医药高等专科学校高职单招语文2018-2024历年参考题库频考点含答案解析
- 2025年江苏安全技术职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年武汉城市职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年新疆建设职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 专题08 走进法治天地 带解析
- 工程维修劳务分包合同
- 江西省部分学校2024-2025学年高三上学期1月期末英语试题(含解析无听力音频有听力原文)
- GA/T 2145-2024法庭科学涉火案件物证检验实验室建设技术规范
- 2024年度窑炉施工协议详例细则版B版
- 尿毒症替代治疗
- 【课件】2025届高考英语一轮复习小作文讲解课件
- 基底节脑出血护理查房
- 工程公司总经理年终总结
- 2024年海南省高考地理试卷(含答案)
- 【企业盈利能力探析的国内外文献综述2400字】
- 三年级上册数学口算题1000道带答案
- 苏教版(2024新版)一年级上册科学全册教案教学设计
评论
0/150
提交评论