C语言程序设计作业2答案Word文件下载.docx

上传人:b****8 文档编号:21913585 上传时间:2023-02-01 格式:DOCX 页数:13 大小:56.01KB
下载 相关 举报
C语言程序设计作业2答案Word文件下载.docx_第1页
第1页 / 共13页
C语言程序设计作业2答案Word文件下载.docx_第2页
第2页 / 共13页
C语言程序设计作业2答案Word文件下载.docx_第3页
第3页 / 共13页
C语言程序设计作业2答案Word文件下载.docx_第4页
第4页 / 共13页
C语言程序设计作业2答案Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言程序设计作业2答案Word文件下载.docx

《C语言程序设计作业2答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计作业2答案Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

C语言程序设计作业2答案Word文件下载.docx

,fun(5)*w);

 

A)360B)3600C)1080

D)1200

7.以下程序的输出结果是()。

#include<

f(inta)

{intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

{inta=2,i;

for(i=0;

i<

3;

i++)printf("

%d"

f(a));

A)777B)710138.以下程序的输出结果是()。

C)7911

D)789

{inta[]={1,2,3,4,5,6},*p;

p=a;

*(p+3)+=2;

%d,%d\n"

*p,*(p+3));

A)0,5B)1,5C)0,6

9.以下程序的输出结果是()。

#include<

#definePT5.5

#defineS(x)PT*x*x

{inta=1,b=2;

%4.1f\n"

S(a+b));

A)49.5B)9.5C)12.5

D)1,6

D)33.5

10.下面程序段的输出结果是()

#defineLETTER1main()

{charstr[20]="

Language"

c;

inti=0;

while((c=str[i])!

='

\0'

已正确说明并赋值)元素值的正确引用为()

D)*(a+i)+j

D)p[1]+2

echo.exe,若希望在系统的命令状态下输入某一命令行后得到的输

D)(*p).age

#if(LETTER)

if(c>

a'

&

c<

z'

)c=c-32;

#else

A'

Z'

)c=c+32;

#endif

%c"

c);

A)LanguageB)languageC)LANGUAGED)lANGUAGE

11.若有说明:

char*s[]={“FORTRAN”,“BASIC”,”PASCAL”,”JAVA”,”C”};

则表达式*s[1]>

*s[3]比较的是()

A)字符F和字符PB)字符串BASIC和字符串JAVA

C)字符B和字符JD)字符串FORTRAN和字符串PASCAL

12.如下程序的输出结果是()。

{chara[20]="

chinese"

;

char*p=a;

for(;

p<

a+7;

p+=2)putchar(*p);

A)chineseB)cieeC)chineD)cie

13.若有定义:

inta[2][3];

则对a数组的第i行第j列(假设i,jA)*(*(a+i)+j)B)(a+i)[j]C)*(a+i+j)

14.若有以下定义和语句,则对a数组元素的正确引用为()。

inta[2][3],(*p)[3];

A)(p+1)[0]B)*(*(p+2)+1)C)*(p[1]+1)

15.若以下main函数经过编译、连接后得到的可执行文件名为出是chiantianjin,则命令行的内容应是()。

A)chiantianjin

B)echochiantianjin

C)echo

D)echo

chiantianjin

china

tianjin

16.以下对结构体变量stu中成员age的非法引用是()<

structstudent

{intage;

intnum;

}stu,*p;

p=&

stu;

A)stu.ageB)student.ageC)p->

age

17.已知学生记录描述为:

structDATE

{intyear;

intmonth;

intday;

};

{intno;

/*学号*/

charname[10];

/*姓名*/charsex;

/*性别*/structDATEbirth;

structstudents;

设变量s中的“生日”应该是“1984年11月11日”,下列对“生日

的正确赋值方式是()

A)year=1984;

month=11;

day=11;

C)s.year=1984;

s.month=11;

s.day=11;

18.若有以下定义的语句:

uniondata

B)birth.year=1984;

birth.month=11;

birth.day=11;

D)s.birth.year=1984;

s.birth.month=11;

s.birth.day=11;

{inti;

charc;

floatf;

}a;

intn;

则以下语句正确的是()

A)a.i=5B)a={2,'

1.2}C)printf(“%d”,a)

19.表达式a<

b||~c&

d的运算顺序是()。

A)~,&

,<

,||B)~,||,&

C)~,&

,||,<

20.若执行fopen函数时发生错误,则函数的返回值为()。

A)地址值B)0C)1D)EOF

D)n=a

D)~,<

,&

||

填空题答案

1.[&

arr[i],arr+i]

2.[

(1)a[0]=1a[1]=2

(2)

实参和形参是值传递]

3.[

(1)0

(2)6]4.[*(s+j++)=*(s+i);

]5.[

(1)i<

=7

(2)j=i+7]

6.[123]

7.

[EFGH

IJKL]

8.[n1=1,n2=6]

9.[

(1)longnum

(2)num!

=0]

10.[120]

11.[FO]

12.[

(1)FILE*fp

(2)fname(3)fp]

填空题(本大题共11小题,每空2分,共30分)

1.intarr[20];

贝Uarr[i]的地址可表示为_

2•函数swap(intx,inty)可完成对x和y值的交换。

在运行调用函数中的如下语句后,a[0]

和a[1]的值分别为_和,原因是swap(a[0],a[1])只是将形参的值交换,实参a[0]和a[1]

并不交换.。

a[0]=1;

a[1]=2;

swap(a[0],a[1]);

3.若有定义inta[3][4]={{1,2},{0},{4,6,78,10}};

则初始化后a[1][2]得到的初值是_0,a[2][1]得到的初值

是6。

4•函数delete_string(chars[],charc)将字符串s中所出现的与变量c相同的字符删除,请填空。

delete_string(char*s,charch)/*定义外部函delete_string*/

{inti,j;

for(i=j=0;

*(s+i)!

;

i++)

if(*(s+i)!

=ch)*(s+(j++))=*(s+i)

*(s+j)='

5.下面程序段将输出computer,请填空

inti,j=0;

charc[for(i=0;

j=7,i<

8;

]=”it'

sacomputer”;

+=i;

{_printf("

c[j]);

_rintf(%c,c[j];

6.如下程序段的输出结果是123

{charstr[]="

1a2b3c"

inti;

str[i]!

if(str[i]>

0'

str[i]<

9'

)printf("

str[i]);

7•如下程序段的输出结果是_EFGH

IJKL。

{charstr[][10]={"

ABCD"

"

EFGH"

IJKL"

MNOP"

},k;

for(k=1;

k<

k++)

%s\n"

str[k]);

8.如下程序段的输出结果是—n1=1,n2=6

#include<

{inta[]={1,2,3,4,5,6},*p,i;

*(P+3)+=2;

n仁%4,n2=%d\n"

*p,*(p+3));

9阅读下面函数func,其功能是计算用户输入的整数num的各位数字之积。

填空使程序完整。

longfunc(longnum

{longk=1;

if(num<

0)num=-num;

do{

k*=num%10;

num/=10;

}while(num!

=0

return(k);

{longn;

Pleaseinputanumber"

scanf("

%ld"

&

n);

Resultis:

%ld"

func(n));

10•以下程序的输出结果是120

fun(intb[],intn)

{inti,r=1;

=n;

i++)r=r*b[i];

return(r);

{intx,a[]={2,3,4,5,6,7,8,9};

x=fun(a,3);

x);

11.下面程序段的输出结果是FO

{char*p[]={"

LOOK"

"

OUT"

A"

FM"

inti;

for(i=3;

i>

=0;

i--,i--)

*p[i]);

12•建立一个磁盘文件,文件名和内容由键盘输入。

stdlib.h>

voidmain()

{charch,fname[20];

_____________FILE*fp;

%s"

fname);

if((fp=fopen(fname

w"

))==NULL)

exit(O);

ch=getchar();

while(ch!

{fputc(ch,fp);

putchar(ch);

ch=getchar();

fclose(fp

);

三、程序设计题

1.定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每5个数求出一个平均值,放在另一个数组中并输出。

2.从键盘输入一个字符串和一个字符,把此字符串中偶数位的字符变为输入的字符,要求用函数实现字符串偶数位字符的改变,在主函数中输入字符串和字符,并输出偶数位改变的字符串。

3.编程将一个输入的字符串逆序显示输出。

在主函数中输入字符串并输出逆序存放的字符串,在函数中实现字符串的逆序存放。

例如:

输入“abcdef'

输出"

fedcba"

(此题是书上p202页的8.5题)

4.用递归方法求n阶勒让德多项式的值,递归公式为:

1n0

pn(x)xn1

((2n1)?

xpn1(x)(n1)*pn2(x))/nn1

(此题是书上p202页的8.13题)

5.从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件上去。

voidmain()

{inta[31];

floatb[6];

inti,k=1;

while(k<

31){

a[k]=2*k;

k++;

k=1;

i=1;

while(i<

=5){

b[i]=(a[k]+a[k+1]+a[k+2]+a[k+3]+a[k+4])/5;

k=k+5;

i++;

for(i=1;

=5;

%f\n"

b[i]);

2.

string.h>

#defineMAX80

voidconvert(chars[],charch)

{inti=0;

while(s[i]!

){

if(i%2==0)s[i]=ch;

voidmain()

{chars[MAX],ch;

gets(s);

&

ch);

convert(s,ch);

puts(s);

3.

voidinv(char*x,intn)

{char*p,m,temp,*i,*j;

m=(n-1)/2;

i=x;

j=x+n-1;

p=x+m;

p;

i++,j--)

{temp=*i;

*i=*j;

*j=temp;

{charstr[80];

gets(str);

inv(str,strlen(str));

puts(str);

4.

{intx,n;

floatp(int,int);

\ninputn&

x:

"

%d,%d"

n,&

x);

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

n,x);

printf("

P%d(%d)=%6.2f\n"

n,x,p(n,x));

floatp(intn,intx)

{if(n==0)

return

(1);

elseif(n==1)

return(x);

else

return((2*n-1)*x*p((n-1),x)-(n-1)*p((n-2),x))/n;

5.

#defineSIZE5

structstudent_type

{charname[10];

intnum;

intage;

charaddr[15];

}stud[SIZE];

voidsave()

{FILE*fp;

if((fp=fopen("

stu-list"

wb"

{printf("

cannotopenfile\n"

return;

for(i=0;

i<

SIZE;

if(fwrite(&

stud[i],sizeof(structstudent_type),1,fp)!

=1)printf("

filewriteerror\n"

fclose(fp);

i++)scanf("

%s%d%d%s"

stud[i].name,&

stud[i].num,&

stud[i].age,stud[i].addr);

save();

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

当前位置:首页 > 医药卫生 > 临床医学

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

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