二级C语言79真题无答案.docx
- 文档编号:14531090
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:18
- 大小:45.56KB
二级C语言79真题无答案.docx
《二级C语言79真题无答案.docx》由会员分享,可在线阅读,更多相关《二级C语言79真题无答案.docx(18页珍藏版)》请在冰点文库上搜索。
二级C语言79真题无答案
二级C语言-79
(总分100,考试时间90分钟)
一、选择题
下列各题A、B、C、D四个选项中,只有一个选项是正确的。
1.下列叙述中正确的是______。
A.算法就是程序B.设计算法时只需要考虑数据结构的设计
C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对
2.下列叙述中正确的是______。
A.有一个以上根结点的数据结构不一定是非线性结构
B.只有一个根结点的数据结构不一定是线性结构
C.循环链表是非线性结构
D.双向链表是非线性结构
3.下列关于二叉树的叙述中,正确的是______。
A.叶子结点总是比度为2的结点少一个
B.叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的两倍
D.度为2的结点数是度为1的结点数的两倍
4.软件生命周期中的活动不包括______。
A.市场调研B.需求分析
C.软件测试D.软件维护
5.某系统总体结构图如下图所示:
该系统总体结构图的深度是______。
A.7B.6
C.3D.2
6.程序调试的任务是______。
A.设计测试用例B.验证程序的正确性
C.发现程序中的错误D.诊断和改正程序中的错误
7.下列关于数据库设计的叙述中,正确的是______。
A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典
C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典
8.数据库系统的三级模式不包括______。
A.概念模式B.内模式
C.外模式D.数据模式
9.有三个关系R、S和T如下:
R
ABC
a12
b21
c31
S
AD
c4
T
ABCD
c314
则由关系R和S得到关系T的操作是______。
A.自然连接B.交
C.投影D.并
10.下列选项中属于面向对象设计方法主要特征的是______。
A.继承B.自顶向下
C.模块化D.逐步求精
11.以下选项中关于程序模块化的叙述错误的是______。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.把程序分成若干相对独立的模块,可便于编码和调试
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
12.以下叙述中正确的是______。
A.C程序书写格式严格,要求一行内只能写一个语句
B.C程序书写格式自由,一个语句可以写在多行上
C.C程序中的注释只能出现在程序的开始位置和语句的后面
D.用C语言编写的程序只能放在一个程序文件中
13.以下不合法的数值常量是______。
A.8.0E0.5B.1e1
C.011D.0xabcd
14.以下关于C语言数据类型使用的叙述中错误的是______。
A.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
B.若要保存带有多位小数的数据,可使用双精度类型
C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D.整数类型表示的自然数是准确无误差的
15.设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是______。
A.++kB.k+=1
C.k++D.k+1
16.有如下程序段:
intx=12;
double-y=3.141593;
printf("%d%8.6f",x,y);
其输出结果是______。
A.123.141593B.123.141593
C.12,3.141593D.123.1415930
17.已知字符A的ASCII代码值是65,字符变量c1的值是A,c2的值是D。
则执行语句printf("%d,%d",c1,c2-2);的输出结果是______。
A.A,68B.65,66
C.A,BD.65,68
18.以下选项中,当x为大于1的奇数时,值为0的表达式是______。
A.x%2==1B.x/2
C.x%2!
=0D.x%2==0
19.有以下程序
#include<stdio.h>
main()
{intx;
scanf("%d",&x);
if(x<=3);else
if(x!
=10)printf("%d\n",x);
}
程序运行时,输入的值在哪个范围才会有输出结果______。
A.大于3且不等于10的整数B.不等于10的整数
C.大于3或等于10的整数D.小于3的整数
20.有以下程序
#include<stdio.h>
main()
{inta=7;
while(a--);
printf("%d\n",a);
}
程序运行后的输出结果是______。
A.-1B.0
C.1D.7
21.有以下程序
#include<stdio.h>
main()
{
charb,c;
inti;
b="a";
c="A";
for(i=0;i<6;i++)
{
if(i%2)putchar(i+b);
elseputchar(i+c);
}
printf("\n");
}
程序运行后的输出结果是______。
A.aBcDeFB.ABCDEF
C.AbCdEfD.abcdef
22.有以下程序
#include<stdio.h>
main()
{
inti,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2)continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
程序执行后的输出结果是______。
A.x=8B.x=4
C.x=6D.x=12
23.有以下程序
#include<stdio.h>
doublef(doublex);
main()
{doublea=0;inti;
for(i=0;i<30;i+=10)a+=f((double)i);
printf("%3.0f\n",a);
}
doublef(doublex)
{returnx*x+1;}
程序运行后的输出结果是______。
A.401B.503
C.500D.1404
24.若有以下函数首部
intfun(doublex[10],int*n)
则下面针对此函数的函数声明语句中正确的是______。
A.intfun(double*,int*);
B.intfun(double,int);
C.intfun(double*x,intn);
D.intfun(doublex,int*n);
25.有以下程序
#include<stdio.h>
main()
{intm=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",m,n,*p,*q);
}
程序运行后的输出结果是______。
A.2,1,2,1B.1,2,1,2
C.1,2,2,1D.2,1,1,2
26.若有以下定义
intx[10],*pt=x;
则对x数组元素的正确引用是______。
A.pt+3B.*&x[10]
C.*(pt+10)D.*(x+3)
27.有以下程序
#include<stdio.h>
main()
{inti,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序执行后的输出结果是______。
A.25B.20
C.45D.36
28.有以下程序
#include<stdio.h>
#defineN4
voidfun(inta[][N],intb[])
{inti;
for(i=0;i<N;i++)b[i]=a[i][i];
}
main()
{intx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
fun(x,y);
for(i=0;i<N;i++)printf("%d,",y[i]);
printf("\n");
}
程序的运行结果是______。
A.1,0,7,0,B.1,2,3,4,
C.1,4,5,9,D.3,4,8,10,
29.以下选项中正确的语句组是______。
A.char*s;s={"BOOK!
");
B.char*s;s="BOOK!
";
C.chars[10];s="BOOK!
";
D.chars[];s="BOOK!
";
30.若有以下定义和语句
#include<stdio.h>
chars1[10]="abcd!
",*s2="\n123\";
printf("%d%d\n",strlen(s1),strlen(s2));
则输出结果是______。
A.107B.105
C.55D.58
31.有以下程序
#include<stdio.h>
voidfun1(char*P)
{
char*q;
q=p;
while(*q!
="\0")
{
(*q)++;
q++;
}
}
main()
{
chara[]={"Program"},*p;
p=&a[3];
fun1(p);
printf("%s\n",a);
}
程序执行后的输出结果是______。
A.ProhsbnB.Prphsbn
C.ProgsbnD.Program
32.有以下函数
intaaa(char*s)
{char*t=s;
while(*t++);
t--;
return(t-s);
}
以下关于aaa函数功能叙述正确的是______。
A.求字符串s的长度B.比较两个串的大小
C.将串s复制到串tD.求字符串s所占字节数
33.有以下程序
#include<stdio.h>
intfun(inta,intb)
{if(b==0)returna;
elsereturn(fun(--a,--b));
}
main()
{printf("%d\n",fun(4,2));}
程序的运行结果是______。
A.1B.2
C.3D.4
34.以下选项中叙述错误的是______。
A.C程序函数中定义的赋有初值的静态变量,每调用一次函数赋一次初值
B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内
C.C程序函数中定义的自动变量,系统不自动赋确定的初值
D.C程序函数的形参不可以说明为static型变量
35.有以下程序段
structst
{intx;int*y;}*pt;
inta[]={1,2},b[]={3,4};
structstc[2]={10,a,20,b};
pt=c;
以下选项中表达式的值为11的是______。
A.++pt->xB.pt->x
C.*pt->yD.(pt++)->x
36.有以下程序
#include<stdio.h>
structS{intn;inta[20];};
voidf(int*a,intn)
{
inti;
for(i=0;i<n-1;i++)
a[i]+=i;
}
main()
{
inti;
structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0;i<s.n;i++)
printf("%d,",s.a[i]);
}
程序运行后的输出结果是______。
A.1,2,3,6,8,7,5,4,10,9,
B.3,4,2,7,9,8,6,5,11,10,
C.2,3,1,6,8,7,5,4,10,9,
D.2,4,3,9,12,12,11,11,18,9,
37.有以下程序
#include<stdio.h>
#include<string.h>
typedefstruct{charname[9];charsex;floatscore[2];}STU;
voidf(STUa)
{
STUb={"Zhao","m",85.0,90.0};
inti;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++)
a.score[i]=b.score[i];
}
main()
{
STUc={"Qian","f",95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);
}
程序的运行结果是______。
A.Qian,f,95,92B.Qian,m,85,90
C.Zhao,f,95,92D.Zhao,m,85,90
38.有以下程序
#include<stdio.h>
#definef(x)x*x*x
main()
{
inta=3,s,t;
s=f(a+1);
t=f((a+1));
printf("%d,%d\n",s,t);
}
程序运行后的输出结果是______。
A.10,64B.10,10
C.64,10D.64,64
39.有以下程序
#include<stdio.h>
main()
{
chara=4;
printf("%d\n",a=a<<1);
}
程序的运行结果是______。
A.40B.16
C.8D.4
40.设文件指针fp已定义,执行语句“fp=fopen("file","w");”后,以下针对文本文件file操作叙述的选项中正确的是______。
A.写操作结束后可以从头开始读B.只能写不能读
C.可以在原有内容后追加写D.可以随意读和写
二、程序填空题
1.给定程序中,函数fun的功能是:
计算下式前n项的和作为函数值返回。
例如,当形参n的值为10时,函数返回-0.204491。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:
源程序存放在下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
doublefun(intn)
{inti,k;doubles,t;
s=0;
/**********found**********/
k=________;
for(i=1;i<=n;i++){
/**********found**********/
t=________;
s=s+k*(2*i-1)*(2*i+1)/(t*t);
/**********found**********/
k=k*________;
}
returns;
}
main()
{intn=-1;
while(n<0)
{pfintf("Pleaseinput(n>0):
");
scanf("%d",&n);}
printf("\nTheresultis:
%f\n",fun(n));
}
三、程序改错题
1.给定程序MODI1.C中函数fun的功能是:
判断一个整数是否是素数,若是返回1,否则返回0。
在main函数中,若fun返回1则输出“YES”,若fun返回0则输出“NO!
”。
请改正程序中的错误,使该程序能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
intfun(intm)
{intk=2;
while(k<=m&&(m%k))
/************found************/
k++
/************found************/
if(m=k)
return1;
elsereturn0:
}
main()
{intn;
printf("\nPleaseentern;");scanf("%d",&n);
if(fun(n))printf("YES\n");
elseprintf("NO!
\n");
}
四、程序设计题
1.请编写一个函数fun,它的功能是:
找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。
数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
注意:
部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
给定源程序:
#include<stdlib.h>
#include<stdio.h>
voidfun(inta[],intn,int*max,int*d)
{
}
main()
{inti,x[20],max,index,n=10;
for(i=0;i<n;i++){x[i]=rand()%50;printf("%4d",x[i]);}
printf("\n");
iun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 79 真题无 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)