桂林理工大学研究生院

更新时间:2022-12-29 05:20:56 阅读: 评论:0


2022年12月29日发(作者:大学英语四六级改革)

2021年《C语言程序设计》第1页共6页

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

考试科目代码:877

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

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

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

2.考试需带╳╳╳用具

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

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

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

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

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

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

A.switchB.stu_aC.2a1D.buy?

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

#include

intmain()

{

intx,y,z;

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

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

return0;

}

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

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

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

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

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

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

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

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

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

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

#include

voidfun(inta,intb,intc)

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

intmain()

{intx=10,y=20,z=60;

fun(x,y,z);

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

return0;

}

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

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

2021年《C语言程序设计》第2页共6页

#include

intmain()

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

p=s[2];

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

return0;

}

A.t,twoB.h,oneC.r,twoD.o,three

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

inta[10],*p=a;

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

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

#include

intmain()

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

for(k=0;s[k];k++)

switch(s[k])

{ca'1':v1++;

ca'3':v3++;

ca'2':v2++;

default:v4++;

}

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

return0;

}

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

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

A.56B.65C.34D.43

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

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

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

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

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

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

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

#include

voidfun(int*s)

{staticintj=0;

do

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

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

}

intmain()

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

for(k=1;k<3;k++)

fun(a);

2021年《C语言程序设计》第3页共6页

for(k=0;k<5;k++)

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

return0;

}

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

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

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

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

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

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

对值并赋值给变量y。()

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

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

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

inta=2,b=1,c=3;

if(a

if(b>0)

c=0;

el

c++;

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

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

9.若有以下定义:

structnode{

intdata;

structnode*next;

}*head,*p;

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

head…

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

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

#include

intmain()

{inta[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]);

return0;

}

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

上合适的语句,将程序补充完整。

intsum,i;

for(i=0;i<=1000;)

1|next3|next100|NULL

2021年《C语言程序设计》第4页共6页

sum=sum+i;

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

#include

structstu{intdata;charflag;};

voidfunc(structstu*p)

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

intmain()

{structstumystu={90,'B'};

func(&mystu);

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

return0;

}

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

的值。()

structbook

{

charbookname[20];

doubleprice;

};

structbookbook_1;

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

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

的函数首部()。

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

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

#include

intmain()

{

inta[3][4],i,j;

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

{

for(j=0;j<4;j++)

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

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

printf("n");

}

return0;

}

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

#include

#defineN5

intmain()

{inti;

intx1=1,x2=2;

for(i=1;i<=N;i++)

2021年《C语言程序设计》第5页共6页

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

if(i%2==0)

printf("n");

x1=x1+x2;

x2=x2+x1;

}

return0;

}

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

中的错误并改正。

#include

intmain()

{intn,i,f;

scanf("%d",n);

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

f=f*i;

printf("%dn",f);

}

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

#include

intw=3;

intfun(intk)

{if(k==0)

return(w);

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

}

intmain()

{intw=10;

printf("%dn",fun(5)*w);

return0;

}

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

#include

intf(inta)

{intb=1;

staticintc=2;

b++;c++;

return(a+b+c);

}

intmain()

{inta=2,i;

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

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

}

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

#include

2021年《C语言程序设计》第6页共6页

intf(int*a,intn)

{inti,s=0;

for(i=0;i

{

if(a[i]<=0)

continue;

s=s+a[i];

}

returns;

}

intmain()

{intb[10]={1,-1,3,-3,5,-5,7,-7,9,-9};inti,s=0;

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

return0;

}

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

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

2.编写程序,实现功能:输入一个字符串(长度不超过80),对字符串进行如下处理:如果字符是大

写字符,则用该字符对应的小写字符替换,如果字符是小写字符,则用该字符对应的大写字符替换,其他

字符则保持不变,输出经过处理的字符串。如输入:abKY12,则输出为:ABky12。(说明:本题不允许使

用string.h中的函数strlwr、strupr)

3.给定如下函数声明,doublefun_pow(doublex,intn);该函数的返回值为xn,并且该函数是一个递归

函数。请将函数体补充完整,并写出主函数,调用函数fun_pow,求出210,并输出。(说明:本题不允许

使用math.h中的函数pow)

4.编写一个函数,功能为求出整型数组中数据的最大值、最小值,要求:函数名为fun_array,数组大

小由参数确定,其余参数以及函数返回值等请根据函数功能设计。并将以下主函数补充完整,调用函数

fun_array,输出数组的最大值,最小值。(主函数中若需要增加变量,请自行定义声明)

#include

intmain()

{

intdata[20],i;

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

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

……

}

5.编写一个函数,实现对一个整数加密处理,加密方法为:如果整数为负数,则加密之后结果为该数的

绝对值;如果整数为非负数,加密方式将个位上的数字加6,如果超过10,则取个位上的数字。如-12,

加密之后结果为12;356加密之后结果为352。函数名为fun_pass,参数及返回值请根据函数功能设计。

编写主函数,实现如下功能:输入100个整数,调用函数fun_pass对这些数据进行加密处理,并将加密

之后的数据,写入文件中。

本文发布于:2022-12-29 05:20:56,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/51388.html

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

相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图