2022年江苏省泰州市全国计算机等级考试C语言程序设计真题(含答案)
学校:________ 班级:________ 姓名:________ 考号:________
一、2.填空题(10题)
1. 以下程序的运行结果是【 】。 
#include<stdio.h> 
全国计算机等级考试成绩
main() 
{ int fun(); fun();} 
fun () 
{ static int a[3]={0,1,2}; 
int i; 
for(i=0;i<3;i++)a[i]+=a[i]; 
for(i=0;i<3;i++)printf("%d,",a[i]); 
printf("\n");}
2.数据库系统中实现各种数据管理功能的核心软件称为【 】。
3. 单元测试又称模块测试,一般采用【 】测试。
4. 下面程序的运行结果是( )。 ##include<stdio.h> main() {int a,s,n,m; a=2;s=0;n=1;m=1; while(m<=4){n=n*a;s=s+n;++m;} printf("s=%d",s); }
5. 若有以下程序
main ( )
{ int a=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
printf("%d %d %dln",a,b,c);
}
执行后输出结果为______。
6. 类是一个支持集成的抽象数据类型,而对象是类的【】。
7. 语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【 】。
8. 若输入this test terminal,以下程序的输出结果为:terminal test this。请填空。
  #define MAXLINE 20
  【 】 
  { int i;
   char * pstr[3],str[3][MAXLINE];
   for(i=0;i<3;+ +)pstr[i]=str[i];
   for(i=0;i<3;i + +)scanf("%s",pstr[1]);
   sort(pstr);
   for(i=0;i<3;i+ +)prntf("%s",pstr[i]);
   }
   sort(【 】 )
   char * pstr[3];
   {int i,j;
   char * p;
   for(i=0;i<3;i+ +)
   for(j=i + 1;j<3;j + +)
   if(strcmp(* (pstr+i,* (pstr+j)>0
   {p=* (pstr + i);
   * (pstr + i=【 】 ;
   * (pstr +j)=p;
   }
9. 下面程序的功能是输出数组s中最大元素的下标,请填空。
main()
{ int k,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])【 】
printf("%d\n",k);}
10. 当线性表的操作无插入和删除时,采用【 】结构为好。
二、单选题(10题)
11.现有以下结构体说明和变量定义,如图所示,指针P、q、r分别指定一个链表中连续的3个结点
struct node
{har data;
struct node*next;)*P,*q,*r;
现要将q和r所指结点交换前后位置,同时要保持链表的结构,下列不能完成此操作的语句是(  )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q; 
B.q-:>next=r;q->next=r->next;r->next=q; 
C.q-:>next=r->next;r->next=q;p->next=r; 
D.q-:>next=q;p->next=r;q->next=r->next; 
12.将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子的编号为______。