视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
2012级C语言期末考试试卷(含答案)
2025-10-03 15:14:39 责编:小OO
文档
桂林电子科技大学信息科技学院试卷

 2012-2013     学年第  2  学期                 课号    I04BT014          

课程名称 C语言程序设计 (A卷;、闭卷) 适用班级(或年级、专业) 12级、全院          

考试时间  120    分钟     班级              学号                  姓名            

题  号

成绩
满  分

403030100
得  分

评卷人
一 单项选择题(每题2分,共40分)

1 一个C语言程序是从  B   开始执行的。

A  程序中第一个函数                    B  名为main的函数

C  包含文件(头文件)的第一个函数      D  程序中的第一个语句

2  假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代式

A  1/a*b*c       B  1/(a*b*c)      C  1/a/b/(float)c   D  1.0/a/b/c

3  已知int y,a,i=1;,则语句printf("%d,%d",-i++,(y=a=3.6*3));的输出结果为  A   。A  -1,10         B  -2,1.8         C  0,3           D  1,18

4  以下程序运行后的输出结果是_B__。

main()

{  unsigned short a=65536;  int b;

printf("%d\\n",b=a);}

A  65536          B  0              C  1             D  -1

5  设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是_C__。

A  'a'&&'b'       B  a&&b||c        C  a&&b&&c       D  a||b&&c

6  以下程序运行后的输出结果是_D__。

main()

{  int  a=1,b=2,c=3;

if(bif(b<0) c=0;

else c++;

printf("%d\\n",c);

}

A  0              B  1              C  2             D  3

7  以下程序运行后的输出结果是_A__。

main()

{  int a=0,b=0,c=0,d=0;

if(a=1) b=1,c=2;

else    d=3;

printf("%d,%d,%d,%d\\n",a,b,c,d);

}

A  1,1,2,0        B  0,0,0,3        C  0,1,2,0        D  编译有错

8  以下程序的执行结果是_B__。

main()

{  int x=23;do{  printf("%d",x--);  }while(!x);

}

A  321           B  23            C  不输出任何内容   D  陷入死循环

9  有以下程序段,输出结果是_C_。

int x=3;

do {  printf("%d  ",x-=2);  }while(!(--x));

A  1             B  3  0          C  1  -2            D  死循环

10  以下程序的输出结果是_A_。

main()

{ int a=0,i;for(i=1;i<5;i++){ switch(i)

{  case 0: case 3: a+=2;case 1: case 2: a+=3;default:a+=5;

}}printf("%d\\n",a);

}

A  31            B  13            C  10               D  20

11  以下程序执行后的输出结果是_C__。

main()

{  int x=0,y=0;

while(y<=5)

{  if(x>=10) break;

if(x%2==0)

{  x+=5;  continue;  }

x-=3;  y++;

}

printf("%d,%d",x-1,y);

}

A 6,6              B 7,6              C 10,3             D 7,3

10 以下程序运行后的输出结果是      。

#include

void main()

{   int x=13,y=19,z=0;

          switch (x/8)

          {    

              case 1: z=z+1;

                      switch (y/21)

                      {   default : z=z+1;

                          case 0: z=z+1;break;

                      }

case 2: z=z+1;break;

          }

          printf("%d\\n",z);

A  1              B  2              C  3             D  4

11 以下程序的输出结果是      。

#include

void main(){  

int i=0,a=0;

while(i<10){  for(; ;) 

if((i%5)==0) break;

else   i--;

i+=11;

a+=i;

}

printf("%d\\n",a);

}

A  11              B  21             C  32             D  33

12 以下程序运行后的输出结果是     。

#include

void main()

{   int a, b;

          for(a=1,b=1; a<=20; a=a+1)

          {   if(b>=3) break;

              if(b%3==1)

              {   b=b+3; continue; }

          }

          printf("%d\\n",a);

}

A  1             B  2              C  10             D  20

13 以下程序执行后的输出结果是      。

#include

void main()

 int x=1,y=1;

while(y<=3)

{  if(x>=5) break;

if(x%2==0){   x+=2;   continue;  }

x-=3;  y++;

}

printf("%d,%d",x,y);

}

A  6,2             B  6,6             C  7,2            D  7,3

14 以下程序的输出结果是     。

#include

void main()

{  int i,k,a[5],p[3];

k=5;

for(i=0;i<5;i++) a[i]=i;

for(i=0;i<3;i++) p[i]=a[i*i];

for(i=0;i<3;i++) k+=p[i]*2;

printf("%d\\n",k);

}

A  13             B  14               C  15             D  16

15 若运行以下程序时输入:1  3  5<回车>,则输出结果是      。

#include

void main()

{  int x[2][2]={0},i;

for(i=0;i<2;i++) scanf("%d",x[i]);

printf("%3d%3d%3d\\n",x[0][0],x[0][1],x[1][0]);

}

A   1  0  0        B   2  0  0        C   1  0 3        D   1  0  5

16 以下程序运行后的输出结果是     。

#include

void reverse(int a[], int n)

{   int i, t;

          for(i=0; i          {  t=a[i]; 

a[i]=a[n-1-i]; 

a[n-1-i]=t;

 }

}

void main()

{  

 int b[6]={1,2,3,4,5,6}, i, s=0 ;

          reverse (b, 4);

          for(i=4; i<6; i++) 

s+=b[i];

          printf("%d\\n",s);

}

A  10             B  11             C  12             D  13

17 以下程序运行后的输出结果是     。

#include

void main()

{   

char a[2][4];

          strcpy(a,"you"); strcpy(a[1],"me");

          a[0][3]='&';

          printf("%s\\n",a);

}

A  you            B  you&            C  me            D  you&me

18 以下程序运行后的输出结果是     。

#include

long fun(int n)

{   

long s;

         if(n==1||n==2) s=2; 

         else s=n-fun(n-1);

         return s;

}

void main()

{

         printf("%ld\\n",fun(3));

}

A  1               B  2               C  3             D  4

19 以下程序运行后的输出结果是     。

#include

void main()

{   int i, x[3][3]={9,8,7,6,5,4,3,2,1}, *p=&x[1][1];

          for(i=0; i<4; i+=2) printf("%d ", p[i]);

}

A  5 1             B  5 2             C  5 3            D  9 7

 20说明语句int *(*p)();的含义为        。

A. p是一个指向int型数组的指针

B. p是指针变量,它构成了指针数组

C. p是一个指向函数的指针,该函数的返回值是一个整型

D. p是一个指向函数的指针,该函数的返回值是一个指向整型的指针

二 填空题(每题3分,共30分)

1 设x为int型变量,请写出描述“x是偶数”的表达式是               。

2 以下程序的输出结果是            。

#include

void main()

{  char c;

c=0362;

printf("%d\n",c);

}

3 若float  x;以下程序段的输出结果是             。

x=5.1;

printf("%f\\n",(int)(x*1000+0.5)/(float)1000);

4 下面的程序运行时从键盘上输入9876543210<回车>,程序的输出结果是           。

#include

void main()

{  

int a;

float b,c;

scanf("%2d%2f%2f",&a,&b,&c);

printf("a=%d,b=%.1f,c=%.0f",a,b,c);

}

5 若输入字符串:abcde<回车>,则以下while循环体将执行        次。

while((ch=getchar())=='e') printf("*");

6 下列程序的输出结果是         。

#include

void main()

{  

int s,i;

for(s=0,i=1;i<3;i++,s+=i);

printf("%d\\n",s);

}

7 若int类型变量占两个字节,定义int x[10]={0,2,4};,则数组x在内存中所占的字节数是        。

8 以下程序的输出结果是            。

#include

void main()

{  char ch[]="abc",x[3][4];  int i;

for(i=0;i<3;i++) strcpy(x[i],ch);

for(i=0;i<3;i++) printf("%s",&x[i][i]);

printf("\n");

}

9 运行下面程序,从键盘输入四个字符xyz#,其输出是            。

#include

void recursion()

{  char c;

 c=getchar();

 putchar(c);

 if(c!='#') recursion();

 putchar(c);

void main()

{  void recursion();

 recursion();

}

10 以下程序的输出结果是           。

#include

void swap(int *a, int *b) 

{  int *t ;

   t=a; a=b; b=t; 

void main()

{  int i=2, j=5, *p=&i, *q=&j; 

swap(p,q); 

printf("%d %d\\n", *p,*q) 

三 程序填空题(每空3分,共30分)

1 以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为负数时,结束输入。请填空使程序完整。

#include

void main()

{  

float x,max,min;

scanf("%f",&x);

max=min=   【1】  ;

do{ if(x>max) max=x;

if(xscanf("%f",&x);

} while(  【3】  );

printf("%f,%f",max,min);

}

2 以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之仍为一个递增数列。请填空。

#include

void main()

{   

int a[20]={1,10,20,30,40,50,60,70,80,90},x,i,p; 

         scanf("%d",&x);

         for(i=0,p=10;i<10;i++)

            if(x         for(i=9;i>=p;i--) a[i+1]=a[i];

        【5】  ;

         for(i=0;i<=10;i++) printf("%5d\\n",a[i]);

         printf("\\n");

}

3 以下程序的功能是:将任意十进制正整数转换成二进制数,请填空使程序完整。

       #include"stdio.h"

int dtob(int n,int *p)

{  

int m,i=0;

          do

          {  m=n%2;

               【6】   ; 

             n=n/2;

             i++;

          }while(n!=0);

          return i;

}

void main()

{  int n,j,a[20];

          printf("Input the umber: \\n");

          scanf("%d",&n);

          j=dtob(n,a);

          for(;j>0;j--)

             printf("%d  【7】  );

}

4 下面程序的功能是将一个正整数字符串转换为一个整数,例如:“1234”转换为1234,请填空。

#include

int chnum(char *p)

{  int num=0,k,len,j ;

         len = strlen(p) ; 

         for ( ; 【8】; p++) 

         {  k=【9】; j=(--len) ;

            while (【10】) k=k*10 ;

            num = num + k ;

         }

         return (num);

}

void main()

     {

         int a; 

         char p[10];

         gets(p);

         a=chnum(p);

         printf(“%d\\n”,a);

}

2011-2012学年第2学期C语言期末考试试卷(A卷)答题纸

班级学号                姓名               成绩      

一 单项选择题(每题2分,共40分)

ADACC
BBCDD
1-5                          6-10

BDACD
ABACC
11-15                       16-20

二 填空题(每题3分,共30分)

1x%2==065
2-14720
35.1690008abcbcc
4a=98,b=76.0,c=549xyz#zyx
50102 5
三 程序填空题(每空3分,共30分)

【1】x

【2】min=x

【3】x>=0

【4】break

【5】a[p]=x 或者a[i+1]=x

【6】*(p+i)=m

【7】a[j-1]

【8】*P

【9】*p -‘0’

【10】j--

 

出卷人:桂林电子科技大学信息科技学院   吕元长下载本文

显示全文
专题