logo资料库

2016年江西师范大学程序设计(C语言)考研真题.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
2016 年江西师范大学程序设计(C 语言)考研真题 一、单项选择题(每小题 2 分,共 30 分) 1.对于如下的声明,说法正确的是( )。 float x[300]; float y[75][4]; float z[79]; A.x 比 y 的元素多 B. y 比 x 的元素多 C. y 和 z 的元素一样多 D. x 和 y 的元素一样多 2.对 for(表达式 1;;表达式 3)可理解为( )。 A. for(表达式 1;0;表达式 3) B. for(表达式 1;表达式 3;表达式 3) C. for(表达式 1;1;表达式 3) D. for(表达式 1;表达式 1;表达式 3) 3.以下对一维数组 a 进行正确初始化的语句是( ) A. int a[3]=(0,0,0); B.int a(3)={0,0,0} C. int a[]={0,0,0}; D. int a[3]=3*1; 4.对于如下的声明: struct RecTypel{ int length; float width; }; struct RecType2{ int length; float width; }; RecTypel myRec; RecType2 yourRec; 下面语句( )是合法的。 A. myRec.length=yourRec.length; B. myRec=yourRec; C. myRec.length=yourRec; D. myRec=yourRec.length; 5.如下程序片段的输出是( )。 char msg[]="HELP”; putchar(msg[2]); A. E B. L
C. HE D. HELP 6.C 语言中,运算对象必须是整型数的运算符是( )。 A.% B./ C.%和/ D.* 7.下面( )不是合法的 C 语言标识符。 A.A B. long C._123 D. abc 8.下列各项中,( )是正确的 C 语言字符常量。 A.'k' B.'kt' C.'p' D.'weight' 9.在 C 语言函数中,未指定存储类别的局部变量,其默认的存储类别为( )。 A. static B. auto C. extern D. register 10.若要打开 A 盘上的 user 子目录下名为 abc.txt 的文本文件进行读、写操作,下面 符合此要求的函数调用是( )。 A. fopen("A:(user\abc.txt”,"r”) B. fopen("A:\user\abc.txt","r+") C. fopen("A:\user\abc.txt","rb”) D. fopen("A:\user\abc.txt”,"w”) 11.以下叙述错误的是( )。 A.用户定义的函数中可以没有 return 语句 B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型 D.函数的 return 语句中可以没有表达式 12.设有如下定义“struct sk{ int a;float b;}data,*p;”,若有“p=&data;”,则对 data 中的 a 域的正确引用是( )。 A.(*p).data.a B.(*p).a C. p->data.a D. p.data.a 13.设有定义“ charp[]={'1',’2','3'},*q=p;”,下列不能计算出一个 char 型数据所占字 节数的表达式是( )。 A.sizeof(p) B.sizeof(char) C.sizeof(*q)
D.sizeof(p[0]) 14.下列叙述错误的是( )。 A.改变函数形参的值,不会改变对应实参的值 B.函数可以返回地址值 C.可以给指针变量赋一个整数作为地址值 D.当在程序的开头包含头文件 stdio.h 时,可以给指针变量赋 NULL 15.下列能正确定义字符串的语句是( )。 A. char str[]=('a'}; B. char str=”x4313"; C. char str=”"; D. char str[]="\0”; 二、填空题(每空 2 分,共 20 分) 1.假设有 char ch='e’;那么 printf("”,(ch>='a'&&ch<='z')?ch-32+1:ch);的运行结果是__________。 2.假定 x 和 y 都是 double 型变量,则表达式 x=2,y=x+3/2 的值是_______。 3.若已有结构定义“struct DATE{ int year;int month;int day;};”,请写出一 条定义语句,该语句定义 d 为上述结构类型变量,并同时为其成员 year、month、day 依次赋初值 2019、10、1:_________。 4.下列函数的功能是_________。 int func(char *s) { char *t=s; while(*t++); return(t-s); } 5.执行“x=-1;do{x=x*x;}while(!x);”循环时,循环体将执行_________次。 6.执行语句段“int k=3,s[2];s[0]=k;k=s[1]*10;”后,变量 k 的值为_____。 7.以下函数的功能是求 x 的 y 次方,请填空。 double fun(double x, int y) { int i; double z; for(i=1,z=x;i void main() { int k=2; int s=0; while(k+2<=8||k==0) { k++; s+=1; } printf("%n",s); } 3.写出下面程序的运行结果。 #include void main() { int i; int x[5][4]={5,4,0,1,5,7,1,8,6,2,1,1,5,0,9,8,9,1,1,2}; for(i=3;i>=2;i--) printf(”???,x[i+1][4-i]); } 4.写出下面程序的运行结果。 #include void main() { int i,j; int x=0; for(i=0,j=7;i<=j+1;i+=2) { j--; x++; } printf("?n”,x); } 四、程序填空题(本大题共 4 小题,每空 2 分,共 24 分) 1.下列程序实现用户输入月份(不包括闰年的月份),然后输出该月拥有的天数,例 如输入 7,输出 31,,请填空。 #include (1) int main()
{ int days[MONTHS]={31,28,31,30,31,30,31,31,30,31,30,31); int month; do{ printf("Input a month:"); (2) ]while(month< 1|| month>12); printf("The number of days is ?n”,days[___(3) ]); return 0; } m! 2.下列程序计算组合数 c6 请完成程序。 k((m-k)) #include (1) Fact(unsigned int n) { unsigned int i; unsigned long result = 1; for(i=2;i<=n;i++) result *= i; return (2) ; int main() int m,k; double p; do{ printf(”Input m,k(m>=k>0):"); scanf("%,&m,&k); }while(m (1) (flt,float b,float c) ( if( (2) )return 1; else return 0; } void main() { float a, b, c; scanf ; if( (3)_) 构成三角形); else printf(”不能构成三角形\n”); 4.下面函数使输入的字符串按反序存放,例如输入“abcd”,反序后为”dcba”,请完 成程序。
void inverse(char str[]) { char t; int i,j; for(i=0,j=strlen(str);i<(strlen(str)/2);__(1) ) { t=str[i]; str[i]= _(2) ; (3) _=t } 五、程序设计题(1~3 题,每小题 12 分,第 4 小题 16 分,共 52 分) 1.(12 分)已知 50 个人的成绩存放在数组 score 中,编写函数 f(float score[],float high[]),将高于平均分的人数作为函数返回值,并将高于平均分的成绩存放在 high 数组中。 2.(12 分)编写程序,用 公式求 e 的近似值,直到最后一 项的绝对值小于 10*为止。 3.(12 分)编写程序,将输入的百分制成绩 score,转换成相应的五分制成绩 grade 并输出。 已知转换标准为: 4.(16 分)从键盘任意输入一个正整数,编程计算并输出它的逆序数。例如,输入 1234,输出 4321。
分享到:
收藏