哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc

上传人:wj 文档编号:377404 上传时间:2023-04-28 格式:DOC 页数:54 大小:550.50KB
下载 相关 举报
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第1页
第1页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第2页
第2页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第3页
第3页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第4页
第4页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第5页
第5页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第6页
第6页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第7页
第7页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第8页
第8页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第9页
第9页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第10页
第10页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第11页
第11页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第12页
第12页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第13页
第13页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第14页
第14页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第15页
第15页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第16页
第16页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第17页
第17页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第18页
第18页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第19页
第19页 / 共54页
哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc

《哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc》由会员分享,可在线阅读,更多相关《哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc(54页珍藏版)》请在冰点文库上搜索。

哈尔滨工业大学2003-2006年C语言 考试题答案Word文件下载.doc

}

max=a[0][0];

m=n=0;

i++)

for(j=0 

if(max<

a[i][j])

{

max=a[i][j];

m=i 

n=j 

}

}

printf("

max=%d\n"

max);

m=%d\tn=%d\n"

m,n);

2、#include<

stdio.h>

main()

{intx,n,tt,f1(intint);

scanf(“%d,%d”,&

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<

main()

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];

inti;

intletter,space,num,other;

charc;

printf("

Pleaseenterastring:

"

);

gets(str);

letter=space=num=other=0;

for(i=0;

str[i]!

='

\0'

c=str[i];

if((c>

='

A'

c<

Z'

)||(c>

a'

c<

z'

))

letter++;

elseif(c>

0'

&

9'

num++;

elseif(c=='

'

space++;

elseother++;

Inthisstring:

letter=%d,space=%d,num=%d,other=%d"

letter,space,num,other);

3、

{

intnum[10];

inti,j,k;

inttemp;

Pleaseenter10numbers:

\n"

for(i=0;

i<

10;

i++)

scanf("

num[i]);

for(i=0;

9;

k=i;

for(j=i+1;

{

if(num[k]>

num[j])

k=j;

if(k!

=i)

{

temp=num[i];

num[i]=num[k];

num[k]=temp;

}

printf("

Aftersorted:

for(i=0;

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);

#include<

string.h>

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;

struct

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是一个D。

A、指向整型变量的指针变量

B、指向函数的指针变量

C、指向有四个整型元素的一维数组的指针变量

D、指针数组名,有四个元素,每个元素均为一个指向整型变量的指针

3.若用数组名作为函数调用时实参,则实际上传递给形参的是(A)。

A.数组首地址 B.数组的第一个元素值

C.数组中全部元素的值 D.数组元素的个数

4.C语言中规定函数的返回值的类型是由(B)。

A.return语句中的表达式类型所决定

B.在定义该函数时所指定的函数类型所决定

C.调用该函数时系统临时决定

D.调用该函数时的主调用函数类型所决定

5.以下错误的描述是(D)。

A.不同的函数中可以使用相同的变量名

B.形式参数是局部变量

C.一个函数内部定义的变量只能在本函数范围内有效

D.在一个函数内部的复合语句中定义的变量可以在本函数范围内有效

6.为了判断两个字符串s1和s2是否相等,应当使用(D)。

A. if(s1==s2)B.if(s1=s2)

C. if(strcpy(s1,s2))D.if(strcmp(s1,s2)==0)

7.在while(x)语句中的x与下面条件表达式等价的是:

A。

A.x!

=0B.x==1C.x!

=1D.x==0

8.若有以下说明和语句:

structstu

{

intno;

char*name;

}student,*p=&

student;

则以下引用方法不正确的是(D)。

A.student.noB.(*p).no

C.p->

noD.student->

no

9.以下对二维数组进行正确初始化的是(C)。

A.inta[2][3]={{1,2},{3,4},{5,6}};

B.inta[2][3]={{1,2},{},{4,5}};

C.inta[][3]={1,2,3,4,5,6};

D.inta[2][]={{1,2},{3,4}};

10.二维数组a有m行n列,则在a[i][j]之前的元素个数为(B)。

A.j*n+iB.i*n+jC.i*n+j-1D.i*n+j+1

四、写出下列程序的运行结果。

(4分,每题1分)

1.#include<

voidfun(intx)

{

x=20;

intx=10;

fun(x);

printf("

x=%d\n"

x);

运行结果是:

x=10

2.#include<

voidfun(intb[4])

{

intj;

for(j=0;

j<

4;

j++)

b[j]=j;

}

inta[4]={1,2,3,4},k;

fun(a);

for(k=0;

k<

k++)

%d\n"

a[k]);

}

1

2

3

3.#include<

main()

inti=10;

switch(i)

case9:

i+=10;

case10:

i+=10;

case11:

i+=10;

break;

default:

i+=10;

i=%d\n"

i);

i=30

4. #include<

voidfun()

{

staticinta=5;

a++;

printf("

a=%d\n"

a);

main()

intm;

for(m=0;

m<

=1;

m++)

fun();

a=6

a=7

五、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。

(3分,每空1分)

从键盘输入10个整型数据,放入数组a中,求其最大值及其所在元素的下标位置,并输出。

inta[10],n,pos,max;

for(n=0;

n<

n++)

&

max=a[0];

pos=0;

n++)

if(a[n]>

max)

max=a[n];

pos=n;

max=%d,pos=%d\n"

max,pos);

六、下面程序是有错误的程序,请找出其中的错误,并将正确的语句写在相应错误语句的右方空白处。

(5分)

math.h>

intisprime(intm)intisprime(intm);

intn,flag;

printf("

Inputn:

"

scanf("

n);

scanf("

flag=isprime(n);

if(flag)

printf(Yes!

)printf("

Yes!

else

No!

/*函数功能:

判断m是否为素数

函数参数:

整型变量m

返回值:

返回1时,表示m是素数;

返回0时,表示m不是素数

*/

intisprime(int*m)intisprime(intm)

inti;

for(i=2;

=sqrt(m);

if(m%i=0)return0;

if(m%i==0)return0;

return1;

七、在下面任意选择2道题编程(14分,每题7分)

1.从键盘任意输入某班30个学生的成绩,将成绩按照由高到低顺序打印。

答案1:

#include<

floatscore[30],temp;

intn=30,i,j;

printf("

Pleaseenterthenumberandscore:

for(i=0;

n;

i++)

scanf("

%f"

score[i]);

/*用交换法按成绩由高到低对学生成绩排序*/

n-1;

i++)

for(j=i+1;

j++)

{

if(score[j]>

score[i])/*按成绩由高到低排序*/

{

temp=score[j];

score[j]=score[i];

score[i]=temp;

}

}

}

Sortedresults:

i++)/*打印排序结果*/

printf("

%4.0f\n"

score[i]);

}

答案2:

intn=30,i,j,k;

/*用选择法按成绩由高到低对学生成绩排序*/

k=i;

score[k])

k=j;

if(k!

=i)

{

temp=score[i];

score[i]=score[k];

score[k]=temp;

2.自己定义一个函数,以实现和函数strlen相同的功能,即任意输入一个字符串,调用该函数可以计算输入字符串的实际长度,然后打印

intMystrlen(charstr[]);

charstr[80];

intlen;

gets(str);

len=Mystrlen(str);

len=%d\n"

len);

intMystrlen(charstr[])

intlen=0,i;

for(i=0;

str[i]!

=0;

len++;

3.编程计算1!

+2!

+3!

+4!

+….+10!

的值

longterm=1,sum=0;

inti;

for(i=1;

i<

=10;

term=term*i;

sum=sum+term;

1!

+2!

+...+10!

=%ld\n"

sum);

longterm,sum=0;

inti,j;

term=1;

for(j=1;

=i;

term=term*j;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2