桂林理工大学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;
    for(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};
  for(k=1;k<3;k++)
    fun(a);
  for(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所在结点。
head   
请写出将第2个结点的data值更新为2的程序段(                             )。
10.以下程序的输出结果是(                    )。
#include<stdio.h>
int main( ) 
{  int a[3][3],*p,i; 
p=&a[0][0]; 
for(i=0;i<9;i++)
*p++=i; 
for(i=0;i<3;i++)
printf("%d",a[2][i]);
return 0;
}
11.以下程序段的功能为求1—1000之间的所有偶数之和,并将和保存至变量sum中,请在横线上填上合适的语句,将程序补充完整。
    int sum,i;
    for (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);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。