哈尔滨工业大学2003-2006年C语言 考试题答案.doc
《哈尔滨工业大学2003-2006年C语言 考试题答案.doc》由会员分享,可在线阅读,更多相关《哈尔滨工业大学2003-2006年C语言 考试题答案.doc(54页珍藏版)》请在冰豆网上搜索。
哈工大2003年春季学期C语言考试题参考答案
一、填空题:
(24分)
(1)将变量a的地址存入(9)floata[10]
指针变量p中
(2)自动变量(10)j<10
(3)7 (11)j<=8
(4)&x,&y (12)k<=9-j
(5)float*x,*y (13)a[k]>a[k+1]
(6)*x (14)a[k]=a[k+1]
(7)*x=*y(15)j<=9
(8)*y=temp(16)j%5==0
二、单选题:
(20分)
1、B2、A3、D4、B5、D
6、D7、D8、D9、A10、A
三、判断题:
(16分)
1、Ö 2、Ö3、4、Ö
5、6、7、Ö8、
四、写出程序运行结果(20分)
1、a=8,x=1252、ad
b=1,y=1abcdef
ghimno
hino
3、04、a=6
1a=7
2
3
五、编程:
1、main()
{
inta[3][4],i,j,max,m,n;
for(i=0;i<3;i++)
for(j=0 ;j<4 ;j++)
scanf("%d",&a[n]);
}
max=a[0][0];
m=n=0;
if(max { max=a[i][j]; m=i ;n=j ; } } printf("max=%d\n",max); printf("m=%d\tn=%d\n",m,n);2、#includemain(){intx,n,tt,f1(intint);scanf(“%d,%d”,&x,&n);tt=f1(x,n);printf(“%d”,tt);}intf1(intx,inty){inttemp=1,I;for(I=1;I<=y;I++)temp*=x;return(tmp);}哈工大2002/2003学年秋季学期C语言试题答案一、选择题1、D,2、B,3、A,4、B,5、A,6、A,7、D,8、D,9、B,10、B二、给出下列程序的运行结果1、17,1022、13.7000003、d=204、135、s=12346、10三、阅读程序,在标有下滑线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。1、(year%4==0&&year%100!=0)||year%400==0)leap2、continue3、break4、max=a[0][0]row=i+1colum=j+15、s++*treturn(p)四、编程1、#includemain(){inti;floatsum,sign;i=1;sum=0;sign=1.0;while((1.0/i)>=1e-4) {sum+=sign/i;i++;sign=-sign; }printf("sum=%.4f",sum);}2、#includemain(){charstr[81];inti;intletter,space,num,other;charc;printf("Pleaseenterastring:");gets(str); letter=space=num=other=0;for(i=0;str[i]!='\0';i++) { c=str[i];if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))letter++;elseif(c>='0'&&c<='9')num++;elseif(c=='')space++;elseother++; }printf("Inthisstring:letter=%d,space=%d,num=%d,other=%d",letter,space,num,other);}3、#includemain(){ intnum[10];inti,j,k;inttemp;printf("Pleaseenter10numbers:\n");for(i=0;i<10;i++)scanf("%d",&num[i]);for(i=0;i<9;i++) {k=i;for(j=i+1;j<10;j++) { if(num[k]>num[j])k=j;if(k!=i) { temp=num[i]; num[i]=num[k]; num[k]=temp; } }printf("Aftersorted:\n");for(i=0;i<10;i++)printf("%5d",num[i]); }}哈工大2003秋季学期C语言程序设计试题参考答案一、判断题:(12分)1、错2、对3、错4、错5、错6、错二、选择题:(共20分,每题2分)1、C2、C3、B4、C5、D6、A7、A8、D9、D10、B三、填空题:(共24分,每空2分)1、num=0,word=0 2、c=str[I]3、word==0 4、num++;5、intI,j,k,t; 6、k=I;7、k!=I8、sort(b,10);9、k=sqrt(m); 10、break11、s[i]<=200 12、y[i]++;四、读程序,写出程序的运行结果(共24分,每题4分)1、1010912、m=13、8524、2.5000006.0000005、sum=256、817五、编程:(20分)略1、#includemain(){inta,b,*pa,*pb;scanf(“%d%d”,&a,&b);pa=&a;pb=&b;if(*pa>*pb)printf(“%d\t%d”,*pa,*pb);elseprintf(“%d\t%d”,*pb,*pa);}2、#include#includevoidMyStrcat(chars1[],chart1[]);main(){chars[80],t[40];gets(s);gets(t);MyStrcat(s,t);puts(s);}voidMyStrcat(chars1[],chart1[]){inti,j;i=strlen(s1);for(j=0;j<=strlen(t1);j++,i++){s1[i]=t1[j];}}哈工大2004年秋季学期C语言考试题参考答案说明:考试成绩分为三部分:实验成绩占10分,卷面笔试成绩占45分,机考成绩占45分,满分为100分。本试卷为卷面笔试部分,卷面满分为45分。一、填空题(6分,每题2分)1.C语言中基本数据类型包括整型、实型、字符型、枚举类型。2.已知能被4整除而不能被100整除的或者能被400整除的年份是闰年,则判断某一年year是否是闰年的表达式为:year%4==0&&year%100!=0||year%400==0。3.设有下列登记表,采用最佳方式对它进行类型定义。姓名性别出生年月家庭收入状况家庭收入状况标记年月日低收入中等收入高收入姓名用name表示,性别用sex表示,出生年月用birthDay表示,年用year表示,月用month表示,日用date表示,家庭收入状况用salary表示,低收入用low表示,中等收入用middle表示,高收入用high表示,家庭收入状况标记用salaryMark表示。struct{ charname[10]; charsex; struct { intday; intmonth; intday; }birthDay; union{ intlow; intmiddle; inthigh;}salary;intsalaryMark;};二、判断下列问题描述正确与否,正确的打“√”,错误的打“×”。(3分,每题1分)1.#definePI=3.14159;不是C语句。(√)2.在C语言中,可以用typedef定义一种新的类型。(× )3.共用体所占的内存空间大小取决于占空间最多的那个成员变量。(√)三、选择题:(10分,每题1分)1.以下不正确的C语言标识符是(D)。A.AB1B.a2_bC._ab3D.4ab2.若有定义int(*p)[4],则标识符p
max=a[i][j];
m=i ;
n=j ;
printf("max=%d\n",max);
printf("m=%d\tn=%d\n",m,n);
2、#include
main()
{intx,n,tt,f1(intint);
scanf(“%d,%d”,&x,&n);
tt=f1(x,n);
printf(“%d”,tt);
intf1(intx,inty)
{inttemp=1,I;
for(I=1;I<=y;I++)
temp*=x;
return(tmp);
哈工大2002/2003学年秋季学期C语言试题答案
一、选择题
1、D,2、B,3、A,4、B,5、A,6、A,7、D,8、D,9、B,10、B
二、给出下列程序的运行结果
1、17,102
2、13.700000
3、d=20
4、13
5、s=1234
6、10
三、阅读程序,在标有下滑线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
1、(year%4==0&&year%100!
=0)||year%400==0)
leap
2、continue
3、break
4、max=a[0][0]
row=i+1
colum=j+1
5、s++
*t
return(p)
四、编程
1、
#include
inti;
floatsum,sign;
i=1;
sum=0;
sign=1.0;
while((1.0/i)>=1e-4)
sum+=sign/i;
i++;
sign=-sign;
printf("sum=%.4f",sum);
2、
charstr[81];
intletter,space,num,other;
charc;
printf("Pleaseenterastring:
");
gets(str);
letter=space=num=other=0;
for(i=0;str[i]!
='\0';i++)
c=str[i];
if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
letter++;
elseif(c>='0'&&c<='9')
num++;
elseif(c=='')
space++;
elseother++;
printf("Inthisstring:
letter=%d,space=%d,num=%d,other=%d",letter,space,num,other);
3、
intnum[10];
inti,j,k;
inttemp;
printf("Pleaseenter10numbers:
\n");
for(i=0;i<10;i++)
scanf("%d",&num[i]);
for(i=0;i<9;i++)
k=i;
for(j=i+1;j<10;j++)
if(num[k]>num[j])
k=j;
if(k!
=i)
temp=num[i];
num[i]=num[k];
num[k]=temp;
printf("Aftersorted:
printf("%5d",num[i]);
哈工大2003秋季学期C语言程序设计试题参考答案
一、判断题:
(12分)
1、错2、对3、错4、错5、错6、错
二、选择题:
(共20分,每题2分)
1、C2、C3、B4、C
5、D6、A7、A8、D
9、D10、B
三、填空题:
(共24分,每空2分)
1、num=0,word=0 2、c=str[I]3、word==0 4、num++;
5、intI,j,k,t; 6、k=I;7、k!
=I8、sort(b,10);
9、k=sqrt(m); 10、break11、s[i]<=200 12、y[i]++;
四、读程序,写出程序的运行结果(共24分,每题4分)
1、1010912、m=13、852
4、2.5000006.0000005、sum=256、817
(20分)略
1、#include
{inta,b,*pa,*pb;
scanf(“%d%d”,&a,&b);
pa=&a;pb=&b;
if(*pa>*pb)printf(“%d\t%d”,*pa,*pb);
elseprintf(“%d\t%d”,*pb,*pa);
voidMyStrcat(chars1[],chart1[]);
chars[80],t[40];
gets(s);
gets(t);
MyStrcat(s,t);
puts(s);
voidMyStrcat(chars1[],chart1[])
inti,j;
i=strlen(s1);
for(j=0;j<=strlen(t1);j++,i++)
s1[i]=t1[j];
哈工大2004年秋季学期C语言考试题参考答案
说明:
考试成绩分为三部分:
实验成绩占10分,卷面笔试成绩占45分,机考成绩占45分,满分为100分。
本试卷为卷面笔试部分,卷面满分为45分。
一、填空题(6分,每题2分)
1.C语言中基本数据类型包括整型、实型、字符型、枚举类型。
2.已知能被4整除而不能被100整除的或者能被400整除的年份是闰年,则判断某一年year是否是闰年的表达式为:
year%4==0&&year%100!
=0||year%400==0。
3.设有下列登记表,采用最佳方式对它进行类型定义。
姓名
性别
出生年月
家庭收入状况
家庭收入状况标记
年
月
日
低收入
中等收入
高收入
姓名用name表示,性别用sex表示,出生年月用birthDay表示,年用year表示,月用month表示,日用date表示,家庭收入状况用salary表示,低收入用low表示,中等收入用middle表示,高收入用high表示,家庭收入状况标记用salaryMark表示。
struct
charname[10];
charsex;
intday;
intmonth;
}birthDay;
union
intlow;
intmiddle;
inthigh;
}salary;
intsalaryMark;
};
二、判断下列问题描述正确与否,正确的打“√”,错误的打“×”。
(3分,每题1分)
1.#definePI=3.14159;不是C语句。
(√)
2.在C语言中,可以用typedef定义一种新的类型。
(× )
3.共用体所占的内存空间大小取决于占空间最多的那个成员变量。
三、选择题:
(10分,每题1分)
1.以下不正确的C语言标识符是(D)。
A.AB1B.a2_bC._ab3D.4ab
2.若有定义int(*p)[4],则标识符p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1