欢迎访问志愿传奇

高考倒计时23

立身以力学为先,力学以读书为本。——欧阳修

您所在的位置: 新考网(原中国大学在线)>>教学教育 > 正文内容

高职院校C语言期末考试题

作者:  时间: 2017-04-16

一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共20小题,每小题2分,总计40分)  

1、以下叙述中错误的是(   

AC语言源程序经编译后生成后缀为.obj的目标程序   

BC程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件  

C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中   

DC语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令  

2、下面程序段的输出结果是(   

char c[ ] =”\t\v\\\0will\n”  

printf(“%d”,strlen(c));  

A14    B  3     C 9   D 6  

3、若希望当A的值为奇数时,表达式的值为“真”,A为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(    

AA%2==1  BA%2! C!(A%2==0)  D (A%2)  

4、以下程序的结果是(    

      x = -1 ;  

       do{  

        x=x*x;}  

       while (!x) ;  

A.死循环  B.循环二次  C.循环一次  D.语法错误  

5、设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为  

AEOF   B.非0   C0    DNULL  

6、下列运算符中运算级别最低的是( )   

A.<=  B.=  C.&& D.%  

7若要求从键盘读入含有空格字符的字符串,应使用函数  

Agetc()  Bgets()   Cgetchar()   Dscanf(  

8、以下叙述中不正确的是(  ):  

A.在不同的函数中可以使用相同名字的变量  

  B.函数中的形式参数是局部变量  

C.在一个函数内定义的变量只在本函数范围内有效  

D.在一个函数内的复合语句中定义的变量在本函数范围内有效  

9、若函数为int型,变量zfloat型,该函数体内有语句return(z);,则该函数返回值是(   

Aint    Bfloat   C.编译出错  D.不确定  

10、下面程序的输出结果是(   

   main()  

   {union u{char  *name;  

           int   age;  

           int  income;  

     }s;  

    s.name=”Wangling”;  

    s.age=28;  

    s.income=1000;  

printf(“%d\n”,s.age);}  

A1000    B  28     C  不确定   D0  

   

11、要对字符串赋值,下面的(   )语句是正确的  

Achar  *q;  *q=”Hello!”;    Bchar  *q;  q=”Hello!”;

Cchar  q[10];  q=”Hello!”      Dchar  q[10];  scanf(“%s”,&q);

   

12、若有程序段如下:  

   int  w[4]={8,20},*p;  

   p=w;  

则输出*(p++)的值为(    

A8    B20   C0   D.不定  

13、已知学生记录描述为  

    struct student   

    { int  num;  

     char  name[10];  

struct{ int  y;int  m;int  d; }birth;  

char  sex;  

}stu[3]  

Ad=12 Bbirth,d= 12 C stu[1]birth.d=12  Dstu[1].birthd=12  

14、设有如下的语句:  

char  b=’b’,e=’e’;

printf("%d,%c\n",e-b,e-‘a’+’A’);

则输出结果是(    

A2M    B2E    C3M    D3E  

15、下列程序段中,不构成死循环的是(  ):  

Aint  k=100;                Bint  k=100  

   while( )                  do{++k;}while(k>=100)  

     {k=k%100+1;  

if (k>100)  break;  

}  

  Cfor( ; ; )                   Dint  k=100;  

                                   while(k); --k;  

16. 以下程序运行的结果是(    

    #include <stdio.h>  

     main()  

      {char a[ ] = “morning”  ,  t ;  

int  i,j = 0;  

for (i=1;i<7; i++) if (a[j] < a[i])j=i ;  

  t = a[j] ;  a[j]=a[7] ;  a[7]= a[j] ; puts (a) ;  

}  

         A.  mogninr    B. morning     C.mo       D.mornin  

17、以下程序的输出结果是(   

main()  

{ int i ,k,m,a=5;

           for  (i=1 ;i<=5  ; i++){

              a=a+3;              

              for (k = 1 ; k<=6 ; k++){

                  a=a+3;             

                  for(m = 1 ; m<= 7 ; m++){

                    a=a+3;        

            }}}

            Printf(“%d”, a)

}  

A740    B 876   C 793    D852  

18、执行表达式“x=(y=4,z=16,k=32)”后,x的值是(    

A4      B16      C32      D52  

19、运行下列程序后,输出结果是(    

   f(int m,int n)  

   {return(m+=m-n);}  

   main()  

   {int k=4,m=1;  

    printf(“%d”,f(k,m));  

    printf(“%d”,f(k,k-m));  

}  

A3,1      B7,5     C7,13     D3,13  

20、若有定于语句“int m,n=2,*p=&m;,则能完成m=n功能的语句是(    

Am=*p     B*p=*&m      Cm=&n      Dm=**p  

二、程序填充题(给出下列程序,将横线处缺少的部分补上,使其能正确运行)(本大题共3小题,2122题每空2分,23题每空1分,总计20分)  

21、一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”,例:153=13+53+33,找出所有的这种数。  

main()  

{int n,a,b,c;  

 for(c=1;c<=9;c++)  

  for(b=0;b<=9;b++)  

   for(               ;a++)  

   {n=                      ;  

if(a* a* a+ b* b* b+ c* c* c        n)  

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

}  

}  

22 下面程序的功能是输出1000以内能被3整除,且个位为6的所有整数。  

main()  

{int i,m;  

 for(i=1;                             ;i++)  

{if(        &&          )   

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

23、下列程序的主要功能是输入字符数组a的值并输出。  

#include “stdio.h”  

main()  

{int a[4] [4];int i,j;  

 for(                        )  

  for(                                 )  

scanf(“% d ”,                     ) ;  

for(                              )  

  for(                              )  

printf(“% d ”,                     );  } 

   

三、程序分析题(阅读下列程序,将输出结果写到各题右侧的空白出)(本大题共4小题,每小题5分,总计20分)  

24、程序运行后的输出结果是                             

main()  

{int k =5,n=0;  

do  

{switch(k)  

{case 1: case3:n+=1; k --; break;  

default:n=0;k --;  

case 2: case 4:n+=2; k--;break;  

}  

printf(“%d”,n);  

}while(k >0&&n<5);  

}  

25、程序运行后的输出结果是                             

main()  

{int a[4][4]={{1,4,3,2,}, {8,6,5,7,},{3,7,2,5,},{4,8,6,1}}, i ,k ,t;  

for( i =0 ; i <3; i ++)  

for(k=i+1;k<4;k++)   

if(a[i][i]<a[k][k])   

{t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;}  

for(i =0; i <4;i ++) printf(“%d,”,a[0][i]);  

}  

   

26、程序运行后的输出结果是                             

void f(int v,int w)  

{int t;  

t=v;v=w;w=t;}  

main()  

{int x =5,y=0;,z=3  

if(x<y) f(x,y);  

else if(y>z) f(y,z);  

else f(x,z);}  

printf(“%d, %d, %d”,z,y,x);  

}  

27、程序运行后的输出结果是                            

#include<studio.h>  

main()  

{  

  int a[]={1,2,3,4,5,6},*p;  

  p=a;  

  *(p+4)+=3;  

  printf(“%d,%d\n”,*p,*(p+4));  

}  

五、程序设计题(本大题共3小题,第2829两题每题6分,第308分,总计20分)  

28 从键盘输入一个8位整数a,从低位到高位将a的每一位上的数字,组成一个8个元素的数组,并输出该数组。  

29、利用指针,将选出主函数传送过来的3个数按由大到小顺序排列,并在主调函数中输出。  

30、请编程输出如下数字阵列;  

              1

      1         2  1  

         1  2   3  2  1  

    1  2  3   4  3  2  1  

1  2  3  4   5  4  3  2  1  


加入家长群

QQ扫一扫,加入家长群

关注我们

关注微信公众号,了解最新精彩内容

关注抖音号

抖音扫一扫,立即关注我