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.