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 条评论) |