C语言程序设计 ( 第3次 )

  • 格式:doc
  • 大小:38.50 KB
  • 文档页数:20

.

精品 第3次作业

一、程序阅读题(本大题共50分,共 5 小题,每小题 10 分)

1.

#include

#define F(x) x*x

int main()

{

double n;

n=F(3.5+5)/F(3);

printf("n=%.2lf\n",n);

return 0;

}

2. (写出下面程序执行的结果)

#include

int main()

{

int x,b1,b2,b3;

x=300;

b3=x/100;

b2=(x-b3)/100;

b1=x%10;

x=b1+b2+b3;

printf("%d\n",x);

return 0;

}

3.

写出下面程序执行的结果)

#include .

精品 int main()

{

char c,str[]="SSSWILTCH2\2\223WALL";

int k;

for(k=2;(c=str[k])!='\0';k++)

{ switch(c)

{ case 'A': putchar('a');

continue;

case '2': break;

case 2: while((c=str[k++])!='\2'&&c!='\0')

;

case 'T': putchar('*');

case 'L': continue;

default: putchar(c);

continue;

}

putchar('#');

}

printf("\n");

return 0;

}

4. (写出下面程序执行的结果) .

精品 #include

int main()

{

char c1='a',c2='b',c3='c',c4='\101',c5='\x4a';

printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c %c\n",c4,c5);

return 0;

}

5. .

精品 (写出下面程序执行的结果)

#include

int a,b,c,d;

int main( )

{

void p(int a,int b);

printf("%d,%d,%d,%d\n",a,b,c,d);

p(a,b);

printf("%d,%d,%d,%d\n",a,b,c,d);

return 0;

}

void p(int a,int b)

{

static int c;

a++,b++;

c-=1,d+=1;

if(a<3).

精品 {

p(a,b);

printf("%d,%d,%d,%d\n",a,b,c,d);

}

}

二、程序设计题(本大题共40分,共 5 小题,每小题 8 分)

1. 编程序实现功能:将一个10行5列数组a每一行中最大值取出存放到一个一维数组b中,输出数组a和数组b的值,要求所有数组操作通过两种以上的指针方式表示。

2. 编写程序实现功能:分别统计键盘输入流上接收字符串中每种数字字符的个数,要求使用数组表示所有计数器集合,并且在数组的下标表达式中使用枚举型数据。

3. 编程序实现功能:求出在1~1000之间的整数中能同时被3、5、7整除的数,输出满足条件的数以及它们的和。

4. 编程序实现华氏温度到摄氏温度的转换,其转换公式是: ,式中f表示华氏温度,c表示摄氏温度。

5.

编写一个递归函数计算Hermite多项式,Hn(x)定义为:

三、填空题(本大题共10分,共 5 小题,每小题 2 分)

1. .

精品 下面程序的功能是:求两个实数之和的平方根,请选择合适选项填空完成程序。

#include

#include < >

int main()

{

double a,b;

scanf("%lf,%lf",&a,&b);

printf("%lf\n",sqrt(a+b));

return 0;

}

A string.h

B stdlib.h

C math.h

D mathematics.h

2.

下面程序的功能是:挑选输入流中的数字字符按序组成整数(例如输入流为ab3c5g8,获取的整数为358), 请选择合适选项填空完成程序。

#include

int main()

{

char c;.

精品 int n=0;

while((c=getchar())!='\n')

if( )

n=n*10+c-'0';

printf("n=%d\n",n);

return 0;

}

A c>='0'&&c<='9'

B c>'0'&&c<'9'

C c>=0&&c<=9

D c>'0'||c<'9'

3. 下面程序的功能是:求从键盘输入的3个整数之和。请选择合适选项填空完成程序。

#include

int add( ① );

int main()

{

int a,b,c,sum;

printf("?a,b,c: ");

scanf("%d,%d,%d",&a,&b,&c);

sum=add( ② );

printf("sum=%d\n",sum);

return 0;

}

int add(int a,int b)

{

return a+b;

}

A add(a,b),c

B a,b,c .

精品 C int a;int b

D int,int

4. .

精品 下面程序的功能是:将从键盘上输入的一个字符串数据写入到指定的文件中,然后将其读出进行校验,正确输出OK,错误输出ERROR。请选择合适选项填空完成程序。

#include

#include

int main()

{

FILE *fpt ;

char str[100],str1[100]="",fn[20];

printf("Input the filename:");

gets(fn);

if((fpt= ① )==NULL)

{

printf("Can't open file %s\n",fn);

return -1;

}

gets(str);

fwrite(str,sizeof(char),strlen(str),fpt);

fseek( ② );

fread(str1,sizeof(char),strlen(str),fpt);

if(strcmp(str,str1)==0).

精品 printf("OK\n");

else

printf("ERROR\n");

puts(str1);

fclose(fpt);

return 0;

}

A fopen(fn,"w+")

B fpt,-1*strlen(str),SEEK_CUR

C fpt,-1*strlen(str),SEEK_END

D fopen(fn,"r+"))

5.

下面程序的功能是:取出变量a从右端开始的4~7位,存放到变量d中并输出。请选择合适选项填空完成程序。

#include

int main()

{

unsigned short a,b,c,d;

a=0x29;

b=a>>4;

c= ① ;

d=b&c;.

精品 printf("%x\n%x\n",a,d);

return 0;

}

A (~0<<4)

B ~(0<<4)

C ~(~0>>4)

D ~(~0<<4)

答案:

一、程序阅读题(50分,共 5 题,每小题 10 分)

1.

参考答案:

n=24.00

解题方案:

评分标准:

2.

参考答案:

5

解题方案:

评分标准:

3.