桂林理工大学《C语言程序设计》2021年硕士研究生入学考试试题

 您现在的位置: 考博信息网 >> 文章中心 >> 考研复习 >> 专业课 >> 正文 桂林理工大学《C语言程序设计》2021年硕士研究生入学考试试题

考研试卷库
新闻资讯
普通文章 西南政法大学2012考博报名/考试地点变更
普通文章 武汉科技大学2012博士研究生招生报名
普通文章 考博顺利通过考试须知
普通文章 【考博】博士生入学考试十大必杀技-考博
普通文章 考博成功的因素-考博信息网
普通文章 考博专业课复习应当如何进行-考博信息网
普通文章 考博选择专业与学校的原则和策略-考博信
普通文章 考博要做的准备工作有哪些-考博信息网
普通文章 重庆大学2012年“申请-考核制”考博招生
普通文章 【考博】博士生导师的选择和首次联系-考
调剂信息
普通文章 北方工业大学机电工程学院自动化系2012
普通文章 华南师大光学、光学工程、材料物理与化
普通文章 关于报考中科院大气物理研究所2012年硕
普通文章 广西中医学院2011年硕士研究生调剂信息
普通文章 广西工学院2011年硕士研究生调剂信息公
普通文章 【广西工学院】2012年考研调剂信息
普通文章 【桂林医学院】2012年考研调剂信息
普通文章 广西艺术学院2012拟接收硕士研究生调剂
普通文章 江西科技师范学院2011年硕士研究生调剂
普通文章 【江西科技师范学院】2012年考研调剂信
桂林理工大学《C语言程序设计》2021年硕士研究生入学考试试题

桂林理工大学2021年硕士研究生入学考试试题


考试科目代码:877


考试科目名称:C语言程序设计(A卷)


               (总分150分,三小时答完)        


考生注意:1.请将答题写在答卷纸上,写在试卷上视为无效。


2.考试需带  ╳╳╳  用具


一 、选择题(每小题2分,共30分)


1.若变量已正确定义并赋值,符合C语言语法的表达式是 (               )。


A.a=20++         B.a=5,6,7         C.a=a+2=3         D.a=12.5%4


2.若有“int a=1,b=1; ”,则循环语句“while(a<20) b++; a++;”的循环执行(               )。


A.20次         B.21次      C.无限次          D.19次


3.在程序中可以用来作为变量名的合法标识符是(               )。


A.switch                  B.stu_a            C.2a1             D.buy?


4.有以下代码,当输入数据的形式为10,20,30回车,正确的输出结果为(               )。 


#include <stdio.h>


int main( )


{


int  x,y,z;


      scanf("%d%d%d",&x,&y,&z );


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


return 0;


 }


 A.60                    B.10            C.30               D.不确定值


5.C语言中函数返回值的类型是由(               )决定的。


A.return语句中的表达式类型            B.调用该函数的主调函数的类型


C.调用函数时临时决定                 D.定义函数时所指定的函数类型


6.以下说法正确的是(               )。


A.char *a= "123456";        等价于 char *a;  *a= "123456";


B.char str[10]={ "123456"};   等价于 char str[10];  str[ ]={ "123456"};


C.char *s= "123456";        等价于 char *s;  s= "123456";


D.char c[7]= "123456", d[7]= "123456";  等价于 char c[7]=d[7]= "123456";


7.以下程序的输出结果是(         )。


#include <stdio.h>


void fun (int a,int b,int c)


{ a=1;  b=2;   c=a+b; }


int main( )


{  int x=10, y=20,z=60;


   fun (x,y,z);


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


   return 0;


}


A.10,20,30          B.10,20,60           C.1,2,3          D.1,2,6


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


#include <stdio.h>


int main( )


{  char *s[]={"one","two","three"},*p;


p=s[2];


printf("%c,%s",*(p+1),s[0]);


return 0;


}


A. t,two       B.h,one        C.r,two      D. o,three


9.若有以下定义,则*(p+6)表示(                      )。


int  a[10],*p=a;   


A.元素a[7]的地址      B.元素a[7]的值       C.元素a[6]的地址     D.元素a[6]的值


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


#include <stdio.h>


int main( )


{   char *s="1314";   int v1=0,v2=0,v3=0,v4=0,k;


    fo r(k=0; s[k]; k++)


switch(s[k])


{  case '1': v1++;


            case '3': v3++;


            case '2': v2++;


            default: v4++;


          }


printf("v1=%d,v2=%d,v3=%d,v4=%d",v1,v2,v3,v4);


return 0;


 }


A.v1=2,v2=0,v3=1,v4=1 B.v1=2,v2=3,v3=3,v4=4  C.v1=1,v2=3,v3=1,v4=4   D.v1=4,v2=2,v3=3,v4=1


    11.有如下变量定义,char s[ ]="12012";,则sizeof(s),strlen(s)的值分别为(               )。


A. 5  6         B. 6   5        C. 3  4        D. 4  3


12.调用函数时,实参是一个数组名,则向函数传送的是(          )。


     A.数组首地址   B. 数组元素个数    C.数组每个元素的地址   D. 数组每个元素值


   13.表达式 strcmp("abcdef", "ABCDEF") 的值是一个(          )。


A.0            B.负数           C.正数           D.不确定的数


14.根据声明int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a; ,下列表达式错误的是(          )。


A.(*p)++            B.p++               C. a++          D.*p++


15.以下程序的运行结果是(          )。


       #include <stdio.h>


void fun(int *s)


{ static int j=0;


  do


  { s[j]=s[j]+s[j+1];


   j++; } while(j<2);


}


int main()


{ int k,a[5]={1,2,3,4,5};


  fo r(k=1;k<3;k++)


    fun(a);


  fo r(k=0;k<5;k++)


     printf("%d",a[k]);


  return 0;


 }


 A. 35756        B. 23445          C. 35745          D. 12345  


二、填空题(每空2分,共30分)


1.设x都为整型变量,请写出描述“x是偶数”的表达式(                 )。


2.若m是一个三位数,则百位上的数字可表示为(                    )。


3.当整型变量a、b、c的值分别为9、6、3时,表达式f=a>b>c的值是 (                )。


4.已有如下程序语句:double x,y; scanf("%lf",&x); 请写出赋值语句,用条件表达式求出x的绝对值并赋值给变量y。(                                )


5.字符常量'B'在内存中所存放的是它的(                  )码。


6.设有如下定义:int a[10]={1,2,3},*p; p=&a[3]; 则p+2指向数组元素(               )。


7.以下程序段的输出结果是(               )。


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


 if(a<b)


if(b>0)


    c=0;


else


    c++;


printf("c=%d",c);


8.整型变量a、b的值分别为10、3,语句printf("%d/%d=%d",a,b,a/b);输出结果为(             ) 。


9.若有以下定义:


struct node{


      int data;


        struct node *next;


}*head, *p;


 并已建立如下图所示的链表结构,第1个结点为1所在结点,第2个结点为3所在结点。


1 | next
 
3 | next
 
100|NULL
 
head                                        …

 


请写出将第2个结点的data值更新为2的程序段(                              )。


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


#include<stdio.h>


int main( ) 


{  int a[3][3],*p,i; 


p=&a[0][0]; 


fo r(i=0;i<9;i++)


*p++=i; 


fo r(i=0;i<3;i++)


printf("%d",a[2][i]);


return 0;


}


11.以下程序段的功能为求1—1000之间的所有偶数之和,并将和保存至变量sum中,请在横线上填上合适的语句,将程序补充完整。


    int sum,i;


       fo r (i=0; i<=1000;               )


          sum=sum+i;


12. 以下程序的输出是(                       )。


#include <stdio.h>


struct stu{ int data; char flag;};


void func(struct stu *p)


{  p->data=100; p->flag='A'; return; }


int main()


{  struct stu mystu={90, 'B'};


func(&mystu);


printf("%d,%c", mystu.data, mystu.flag);


return 0;


}


13. 已知有如下结构体类型定义,变量声明,请写出语句,实现从键盘输入book_1中两个数据成员的值。(                                          )


struct book


{


   char bookname[20];


   double price;


};


struct book book_1;


14.如果需要从被调用函数中返回一个函数值,则被调用函数中必须包含(               )语句。


15.若函数f的参数类型依次为字符型指针,字符,整型,函数返回值为字符型指针,请写出函数f的函数首部(                                            )。


                          


三、程序阅读题(每小题5分,共30分)


1.请写出以下程序的运行结果。


#include<stdio.h>


int main()


{


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


  fo r(i=0;i<3;i++)


   {


    fo r(j=0;j<4;j++)


     { a[i][j]=i*j;


      printf("%4d",a[i][j]);}


    printf("\n");


   }


  return 0;


}


2.请写出以下程序的运行结果。


#include <stdio.h>


#define N 5


int main()


{ int i;


  int x1=1,x2=2; 


  fo r(i=1;i<=N;i++)


   {  printf("%4d%4d",x1,x2);


      if(i%2==0)


         printf("\n");


     x1=x1+x2;


     x2=x2+x1;


   }


  return 0;


}


3.以下程序欲实现的功能是,输入整型变量n的值,n的值不超过30,求出n!并输出,请找出程序中的错误并改正。


  #include <stdio.h>


  int main()


  {   int n,i,f;


      scanf("%d",n);


      fo r(i=0; i<=n; i++)


         f=f*i;


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


  }


4.请写出以下程序的运行结果。


#include <stdio.h>


int w=3;


int fun(int k)


{ if(k==0)


    return(w);


 return(fun(k-1)*k);


}


int main()


{ int w=10;


  printf("%d\n",fun(5)*w);


  return 0;


}


5.请写出以下程序的运行结果。


#include <stdio.h>


int f(int a)


{  int b=1;


   static int c=2;


   b++; c++;


   return(a+b+c);


}


int main()


{  int a=2,i;


   fo r(i=0;i<3;i++)


   printf("%4d",f(a));


}


6.阅读以下程序,说明函数f实现的功能是什么,并写出主函数运行后的输出结果。


#include <stdio.h>


int f(int *a,int n)


{   int i,s=0;


    fo r(i=0;i<n;i++)


    {


     if (a[i]<=0)


        continue;


     s=s+a[i];


    }


    return s;


}


int main( )


{   int b[10]={1,-1,3,-3,5,-5,7,-7,9,-9}; int i,s=0;


    printf("%d",f(b,8));


     return 0;


}


四、编程题(1,2,3小题每小题10分,4,5小题每小题15分,共60分。)


1.编写程序计算以下求和式,n的值由键盘输入,以小数点后保留4位的形式输出s的值。  

 

   2.编写程序,实现功能:输入一个字符串(长度不超过80),对字符串进行如下处理:如果字符是大写字符,则用该字符对应的小写字符替换,如果字符是小写字符,则用该字符对应的大写字符替换,其他字符则保持不变,输出经过处理的字符串。如输入:abKY12,则输出为:ABky12。(说明:本题不允许使用string.h中的函数strlwr、strupr)


3.给定如下函数声明,double fun_pow(double x,int n);该函数的返回值为xn,并且该函数是一个递归函数。请将函数体补充完整,并写出主函数,调用函数fun_pow,求出210,并输出。(说明:本题不允许使用math.h中的函数pow)


4.编写一个函数,功能为求出整型数组中数据的最大值、最小值,要求:函数名为fun_array,数组大小由参数确定,其余参数以及函数返回值等请根据函数功能设计。并将以下主函数补充完整,调用函数fun_array,输出数组的最大值,最小值。(主函数中若需要增加变量,请自行定义声明)


   #include <stdio.h>


   int main()


   {


        int data[20],i;


        fo r (i=0; i<20; i++)


           scanf("%d",data+i);


        ……


   }


5.编写一个函数,实现对一个整数加密处理,加密方法为:如果整数为负数,则加密之后结果为该数的绝对值;如果整数为非负数,加密方式将个位上的数字加6,如果超过10,则取个位上的数字。如-12,加密之后结果为12;356加密之后结果为352。函数名为fun_pass,参数及返回值请根据函数功能设计。编写主函数,实现如下功能:输入100个整数,调用函数fun_pass对这些数据进行加密处理,并将加密之后的数据,写入文件data.txt中。

 

 

考博咨询QQ 135255883 考研咨询QQ 33455802 邮箱:customer_service@kaoboinfo.com
考博信息网 版权所有 © kaoboinfo.com All Rights Reserved
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!