大一c语言期末试题及参考答案Word下载.docx

上传人:b****3 文档编号:14487057 上传时间:2022-10-23 格式:DOCX 页数:16 大小:20.04KB
下载 相关 举报
大一c语言期末试题及参考答案Word下载.docx_第1页
第1页 / 共16页
大一c语言期末试题及参考答案Word下载.docx_第2页
第2页 / 共16页
大一c语言期末试题及参考答案Word下载.docx_第3页
第3页 / 共16页
大一c语言期末试题及参考答案Word下载.docx_第4页
第4页 / 共16页
大一c语言期末试题及参考答案Word下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

大一c语言期末试题及参考答案Word下载.docx

《大一c语言期末试题及参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《大一c语言期末试题及参考答案Word下载.docx(16页珍藏版)》请在冰豆网上搜索。

大一c语言期末试题及参考答案Word下载.docx

(1)f=b/c(3.0)

(2)!

(a+b)+c-1&

&

b+c/2

(1)

(3)(a^b)+(c>

>

1+d)(0x1b)

(4)a+=b%=a=b(17)

(5)a=2,b=a*++b

(2)

三程序改错10分

(1)求两个浮点数的平方和及平方差

#include<

floatcalculate(floatx,floaty,float*sub);

添加函数原型声明

main()

{

floata,b;

floatadd_reasult,sub_result;

scanf(“%f,%f”,a,b);

add_result=calculate(a,b,&

sub_result);

printf(“a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result);

}

floatcalculate(floatx,floaty,float*sub)添加函数类型

float*temp;

应该直接定义为变量floattemp;

sub=a*a-b*b;

*sub=a*a-b*b;

temp=a*a+b*b;

return*temp;

returntemp

(2)统计N个字符中大写字母和数字字符的个数

#include<

#defineN5

Count(char*str,int*result);

添加函数声明

main()

{

charstring[N][80];

chari;

intCapital_Count=0,Num_Count=0;

需要初始化为0

for(i=0;

i<

N;

i++)

scanf(“%s”,&

string[i]);

去掉&

for(I=0;

I<

I++)

Capital_Count+=Count(string[I],&

Num_Count);

Printf(“Capitalcount:

=%d,numbercount=%d\n”

Capital_Count,Num_Count);

Count(char*str,int*result)

inttemp,I;

inttemp=0,i;

temp应该初始化为0

for(I=0;

80;

If(str[I]>

=’A’&

str[I]<

=’Z’)

Temp++;

’0’||str[I]<

’9’)

*result++;

returntemp;

}

四程序填空10分

(答案参考书中p85~86)

(1)利用公式sinx=x-x/3!

+x

x=0.5,n=20

#include<

main()

floaty,s,x,d,t;

intn,I,j;

scanf(“%d%f”,&

n,&

x);

s=1.0;

____________________________;

for(I=2;

n;

d=t=__________________________;

for(j=1;

_______________;

j++)

d=________________;

t=________________;

s=(-1)*s;

y+=_____________________;

(2)利用库函数char*strstr(char*sl,char*s2)在给定字符串中查找子串最后(最右)一次出现的位置。

如果S2并没有出现在S1的任何地方,函数返回一个NULL

指针。

如果第二个参数是一个空字符串,函数就返回S1;

注:

库函数charstrstr(char*s1,char*s2),这个函数在S1中查找子字符串S2第一次出现的起始位置,并返回一个指向该位置的指针。

如果S2并没有出现在S1的任何地方,函数返回一个NULL指针。

如果第二个参数是一个空字符串,函数返回S1;

(答案见书中p196~197)

string.h>

voidmain(void)

charstr[80]=”ABCdabcdfgabc”;

char*p;

p=my_strrstr(str,”abc”);

printf(“%s\n”,p);

p=my_strrstr(str,”“);

printf(“%s\n”,p);

char*my_strrstr(char*s1,char*s2)

char*last;

char*current;

_________________________;

if(________________________)

last=current=_____________;

While(______);

last=current;

current=_______;

returnlast;

五.写输出结果(20分)

(1)

voidfun(int*,int);

voidmain()

inta[]={5,6,7,8},i;

fun(a,4);

4;

printf("

%d\n"

a[i]);

voidfun(int*b,intn)

inti;

b[i]=i*2;

return;

}

2

4

6

(2)

inti,j,max;

introw=0,column=0;

inta[3][3]={{1,2,3},{2,-3,4},{9,4,7}};

max=a[0][0];

3;

for(j=0;

j<

{

if(a[i][j]>

max)

{

max=a[i][j];

row=i+1;

column=j+1;

}

}

printf("

max=%d,row=%d,column=%d\n"

max,row,column);

(书中例题5.5,p123)

max=9,row=3,column=1

(3)

intn=1;

voidfunc();

staticintx=5;

inty;

y=n;

main:

x=%d,y=%d,n=%d\n"

x,y,n);

func();

voidfunc()

staticintx=4;

inty=10;

x=x+2;

n=n+2;

y=y+n;

func:

x=5,y=1,n=1

x=6,y=13,n=3

x=5,y=1,n=3

(4)

structperson

charname[20];

intcount;

};

structpersonleader[3]={{"

li"

0},{"

zhang"

wang"

0}};

charname[20],m,n;

for(m=1;

m<

7;

m++)

scanf("

%s"

name);

for(n=0;

n<

n++)

if(!

strcmp(name,leader[n].name))

leader[n].count++;

break;

\n"

);

for(m=0;

m<

%s:

leader[m].name,leader[m].count);

当程序运行时,键入情况如下:

Li

Wang

Lei

Zhang

写出程序的输出结果。

(基本上是书中例题)

Li:

Zhang:

1

Wang:

(5)

char*name[]={"

capital"

"

index"

large"

small"

inta,b,n=4;

char*temp;

for(a=0;

a<

n-1;

a++)

for(b=a+1;

b<

b++)

if(strcmp(name[a],name[b])>

0)

temp=name[a];

name[a]=name[b];

name[b]=temp;

}在此之前是书中的例题7.19

%s\n"

name[a]+a);

输出时应该能够识别指针及偏移情况

capital

ndex

rge

ll

六、编写程序(35分)

(1)求一元二次方程ax+bx+c=0的根,实系数a,b,c从终端输入,只考虑两个不同实根和两个相同的实根(9分)

(书中例题3.4,p66`67)

math.h>

floata,b,c;

floatx1,x2;

floatx3,x4;

floatm;

inputthenumbers:

a,b,c"

scanf("

%f%f%f"

&

a,&

b,&

c);

if(a==0)

theinputiserror!

return;

m=b*b-4*a*c;

if(m>

x1=(-b+sqrt(m

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1