2022年湖南省常德市全国计算机等级考试C语言程序设计真题(含答案)
学校:________ 班级:________ 姓名:________ 考号:________
一、2.填空题(10题)
1. 下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。 void delete(s,C)char s[],c; {int i,j; for(i=j=0;( );i++) if(s[i]!='c') s[j++]=s[i]; s[j]="\0";}
2. 性表的多种存储结构中,最简单的方法是【 】。
3. 以下程序运行后的输出结果是【 】。
#include <stdio.h>
fun(int x)
{ if(x/2>0) fun(x/2);
printf("%d",x);
}
main()
{ fun(6); }
4. 度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。
5. 以下程序运行后的输出结果是______。
main()
{int a=1,b=2,c=3;
if(c=A) printf("%d\n",C) ;
else printf("%d\n",B) ;
}
6. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。
main()
{ int i,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++) scanf("%d", 【 】);
for(i=0;i<20;i++)
{ if(a[i]>0) 
{count++;
sum+= 【 】;
}
}
printf("sum=%d,count=%d\n",sum,count);
}
7. C语言用于结构化程序设计的3种基本结构是______、选择结构和循环结构。
8. 函数compare的功能是比较两个字符串是否相等,若相等则函数返回值0,否则返回值1,请填空。
compare(char s[],char t[])
{ int i=0;
while(s[i]==t[i]||【 】) i++;
return(【 】?1:0);
}
9. 某二叉树中度为2的结点有18个,则该二叉树中有【 】个叶子结点。
10. 以下程序的输出结果是【 】。 
main() 
{ char c=′z′; 
全国计算机等级考试成绩printf("%c",c-25); }
二、单选题(10题)
11.若有定义:
typedef int *(*T[10])[10];
T b;
则以下选项中所定义的a与上述定义中的b,其类型完全相同的是()。
A.int *(*a[10] [10]); 
B.int **a[10][10]; 
C.int *(a[10])[10]; 
D.int *(*a[10])[10]; 
12.设有说明:charw;intx;f1oaty;doublez;则表达式w*x+z-y值的数据类型为()。
A.float B.char C.int D.double 
13.下列叙述中正确的是( )。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表 
D.链式存储结构比顺序存储结构节省存储空间 
14.有下列程序:
fun(int X,int y){return(x+y);)
main(  )
{ int a=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的输出结果是(  )。
A.6 B.7 C.8 D.9 
15.有以下程序:
#include <stdio.h>
void fun(char *t , char *s)
{
while(*t!=0) t++;
while((*t++=*s++)!=0);
}
main()
{
char ss[ 10]=“acc”,aa[ 10]=“bbxxyy”;