admin管理员组文章数量:1532656
2024年6月29日发(作者:)
2021-2022学年江西省宜春市全国计算机等
级考试C语言程序设计真题一卷(含答
案)
学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(12题)
1. 以下程序中函数reverse 的功能是将a所指数组中的内容进行逆置。
void reverse(int a [ ], int n){ int i, t; for(i=0;i<n/2;i++) {t=a[i]; a[i] =a[n-1-
i];a[n-1-i]=t; }}main(){ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i, s=0;
reverse(b,8); for(i=6;i<10;i++) s+=b[i]; printf("%dn", s);} 程序运行后的
输出结果是
A.22 B.10 C.34 D.30
2.现在有16枚外形相同的硬币,其中一枚是假币,且已知假币比真币重
量轻。先给定一架没有砝码的天平,问至少需要多少次称量才能找到这
枚假币?
A.3 B.4 C.5 D.6
3. 有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main( )
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
执行程序时,给变量x输入l0,程序的输出结果是( )。
A.55
B.54
C.65
D.45
4.有以下程序
main()
{ int i,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2) s+=*(t+i);
printf(" % dn",s);
}
程序执行后的输出结果是
A.A.45 B.20 C.25 D.36
5.设有以下语句:
int a=1,b=2,c;
c=a^(b<<2);
执行后,c的值为( )。
A.6 B.7 C.8 D.9
6.若一组记录的排序码为(7,9,3,5,1,2,10),则利用堆排序的方法建立的初
始堆为()
A.10,7,9,3,5,1,2
B.10,9,7,5,1,2,3
C.10,9,7,5,3,2,1
D.10,9,7,3,2,1,5
7. 在一个C程序中
函数必须出现在所有函数之前
函数可以在任何地方出现
函数必须出现在所有函数之后
函数必须出现在固定位置
8. 以下四个选项,不能看作一条语句的是( )。
A.{;} B.a=0,b=0,c=0; (a>0); (b= =0) m=1;n=2;
9. 检查软件产品是否符合需求定义的过程称为( )。
A.确认测试 B.集成测试 C.验证测试 D.验收测试
10.结构化程序设计的3种结构是( )。
A.顺序结构、选择结构、转移结构
B.分支结构、等价结构、循环结构
C.多分支结构、赋值结构、等价结构
D.顺序结构、选择结构、循环结构
11. 若x、y、z、m均为int型变量,则执行下面语句后m的值是( ) m=
1;x=2;y=3; m=(m<x)?m:x; m=(m<y)?m:y; m=(m<y)?m:z;
A.1 B.2 C.3 D.4
12.结构化程序的3种基本控制结构是()。
A.递归、堆栈和队列 B.过程、子程序和函数 C.顺序、选择和重复 D.调
用、返回和转移
二、2.填空题(12题)
13. 下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。
word num (str)
char str[];
{int i,num=0,word=0;
for(i=0;str[i]!=【 】;i++)
if(【 】==)word=0;
else if(word==0)
{
word=1;
【 】;
}
return(num);
}
14. 在数据结构中,顺序存储结构的数据元素所占的存储空间是______
的。
15. 按照逻辑结构分类,数据结构可分为线性结构和非线性结构,队列
属于______。
16. 若有以下程序:
main()
{ char a;
a='H'-'A'+'0';
printf("%cn",a);
}
执行后的输出结果是【 】。
17. 程序的运行结果为【 】。
main()
{ int x,y,z;
x=24;
y=024;
z=0x24;
printf("%d,%d,%dn",x,y,z);
}
18. 以下程序中,for循环体执行的次数是【 】。
#define N 2
#define M N+1
#define K M+1*M/2
main()
{
int i;
for(i=1;i<K;i++)
{…}
…
}
19. 栈的3种基本运算是:入栈、退栈和______。
20. 13'在内存中占1个字节,"12"在内存中占______个字节。
21.以下程序的功能是输入任意整数给n后,输出n行由大写字母A开
始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于
10),程序运行结果如下:
A B C D E
F G H I
J K L
M N
O
请填空完成该程序。
main()
{ int i,j,n;char ch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<n-i+1;j++)
{printf("%2c",ch);
[10] ;
}
[11] ;
}
22. 下列程序的功能是计算数的阶乘。
main()
{ iht i,n;
nlong np;
scanf("%d",&n);
np=【 】;
for(i=2;i<=n;i++)
【 】;
printf("n=%d n!=%ldn",n,np);
}
23. 设有定义:FILE *fw;,请将以下打开文件的语句补充完整,以
便可以向文本文件的最后续写内容。
fw=fopen("",【 】);
24. 在树形结构中,树根结点没有______。
三、3.程序设计题(10题)
25. 请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有
素数的平方根之和。
例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。
注意:要求n的值大于2但不大于100。部分源程序在文件PROGl.C
中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括
号中填入你编写的若干语句。
26. 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的
值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素
中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存
放最大值所在元素的下标。
注意:部分源程序存在文件PROGl.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括
号中填入你编写的若干语句。
27. 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写
函数fun(int a[][N],int n),该函数的功能是:使数字右上半三角元素中的
值乘以m。
例如,若m的值为2,a数组中的值为
a=1 9
2 7
则返回主程序后a数组的值应为
2 18
2 14
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数
号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define N 5
int fun(int a[] [N], int m)
{
}
main()
{
int a[N] [N],m, i, j;
clrscr ();
printf {"*****The array*****n");
for (i=O; i<N; i++)
/*输出一个随机的5×5矩阵*/
{ for(j=0; j<N; j++)
{a[i] [j]=rand()%20;
printf("%4d", a[i] [j]);
}
printf ("n");
}
fun的花括
do
m=rand () %10;
while (m>=3); /*产生一个上于3的随机数*/
printf ("m=%4dn", m);
fun (a,m);
printf ("THE RESULTn");
for (i=0; i<N; i++)
{for(j=0;j<N;j++)
printf ("%4d",a[i] [j]);
printf ("n");
}
}
28. 编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在
aa数组中,函数返回所求出的素数的个数。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括
号中填入你编写的若干语句。
29. 函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的
整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c
的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=5241。
注意:部分源程序存在文件.PROGl.C中。数据文件IN.DAT中的数
据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括
号中填入你编写的若干语句。
30. 编写程序,实现矩阵(3行3列)的转置(即行列互换)
例如,输入下面的矩阵:
100 200 300
400 500 600
700 800 900
程序输出:
100 400 700
200 500 800
300 600 900
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数
号中填入你编写的若干语句。
fun的花括
31. 请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则
如下:把第1到第m个字符,平移到字符串的最后,把第m+l到最后
的字符移到字符串的前部。
例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动
后,字符串中的内容应该是:DEFGHIJKABC。
注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他
函数中的任何内容,,仅在函数fun的花括号中填入你编写的若干语句。
版权声明:本文标题:年江西省宜春市全国计算机等级考试C语言程序设计真题一卷(含答案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1719667159a790448.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论