资源描述:
《中财信息学院c语言程序设计2002年考研真题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中央财经大学二oo二年硕士研究生入学考试试题招生专业:产业经济学(信息经济、宏观经济与产业经济模型)考试科目:C言程序设计注意:本试题所有答案,应按试题顺序号写在答题纸上,不必抄题写在试题纸上不得分。一、选择题:给下列各题选择一个合适的答案(每题2分,共20分)1.若要求在if后的一对圆括号中表示y不等于0的关系,则能正确表示这一关系的表达式为()。A)y<>0B)yC)!yD)y=12.下列描述正确的是()。A)任何函数若是先调用后定义,则必须在调用之前说明;B)指向函数的指针作为函数的形参时,对应的实参可以是—
2、个任意类型的指针;C)用return(表达式)语句,或通过传地址调用,或用外部变量,都可以实现函数之间的信息传递;D)main()函数的参数argc的值是命令行参数的个数。3.下述程序段的输出结果是()。intx=20,y=++x;printf("%d,%d",(x++,y),y++);A)22,21B)20,20C)21,22D)21,214.下列描述不正确的是()。A)宏定义是将一个标识符定义为单词串,宏替换是用单词串替换、标识符;B)预处理语句是在编译之前执行的;C)宏定义仅减少程序的源文件长度,而不减少执行
3、文件代码:D)宏定义中标识符必须大写。5.若在C程序中有以下说明和语句,则都是a数组元素地址(其中0<=k<4,0<=j<3)的是()。inta[4][3]={0},*p[4],**pp,k,j;for(k=0;k<10;k+=2)p[k]=a[k];pp=p;A)&a[k][j],p[k]+j,pp[k][j]B)*(pp+k)+j,p[k],*(p+k)+jC)&a[j],&p[k],*(*(pp+k)+j)D)**pp,a,p6.若有下面的程序片段,则对数组元素的错误引用是()。inta[12]={0},*p
4、[3],**pp,k;for(k=0;k<3;k++)P[k]=&a[k*4];pp=p;A)pp[0][1]B)a[10]C)p[3][0]D)*(*(p+2)+2)7.若有如下说明,叙述正确的命题是()。structa{inta;intb[4];}a;A)结构体变量a和结构体成员a同名,不合法;B)结构变量a和结构名同名,不合法;C)程序运行时不为结构名a分配内存单元;D)结构体成员名与结构名同名,不合法。8.以下定义、说明或语句中没有错误的是()。A)unionuB)unionC)unionuD)union{
5、intk;{intk;{intk;{intk;charch;charch;charch;charch;)x={0,'A'};}x={0};}a,b;}a;a.k=10:a.ch='a';a.ch='A';b=a;9.已知:chars[3]={'a','d','s'};执行语句printf("%d",strlen(s+1));后,输出结果为()。A)2B)3C)1D)不确定值10.已知:intk;chars="a 45+045'b";执行语句for(k=0;s++;k++);之后,变量k的值为()。A)8B)
6、9C)7D)以上答案都不对二,读程序:给出程序执行以后的输出结果。(每题5分,共40分)#include"stdio.h"main(){char*t="23142";inta=0,b=0,c=0,d=0,k;for(k=0;t[k];k++)switch(t[k]){default:d++;case'1':a++;case'2':b++;case'3':c++;}printf("%d,%d,%d,%d",a,b,c,d);}2.写出以下程序的输出结果。#include"stdio.h"#include"stri
7、ng.h"main(){charx[][10]={"ABCD","EFGH","IJKL","MNOP"};inta;for(a=1;a<3;a++)printf("%s",*(x+a)+a);}3.写出以下程序的输出结果。#include"stdio.h"main(){inta[2][2]={1,2,3,4},b[2][2]={4,5,6,7};intk,j;for(k=0;k<2;k++)for(j=0;j<2;j++)*(&a[0][0]+k*2+j)+=(*(b+1-k))[1-j];for(k=0;k<2
8、;k++)for(j=0;j<2;j++)printf("%d,",a[k][j]);4.若输入x的值为5,写出以下程序的输出结果。#include"stdio.h"c(f,k)int(*f)(),k;{return((*f)(k));}s(k){intj,s=0;for(j=1;j<=k;j++)s+=j;return(s);}m(t)intt;{intj