重要注释:题中"________"下划线是用来填正确答案的。
1.若定义函数char*fun( ){...},则该函数的返回值类型是
________字符指针或字符型地址。
我的想法:是不是定义的是什么,返回什么。还不懂C中为什么要返回值,这里返回*fun( ){...}对不?
2.若函数调用语句为f(a,b,f(a+b,a-b,b));则函数f的参数个是________ 3。
我的想法:数据类型里有几个表达式,就有几个参数对吗?
3.设int a=10;则执行语句a+=a-=a+a;后a的值是________ -20。
我的想法是:a+=a-=(a+a) ,最后等于0。请问错在哪里?
4.int f(int n)
{static int m=5;
return ++m+n;
}
main( )
{int i:
for(i=0;i<3;i++)printf("%5d",f(i));
printf("\n");
}
这题的输出是6,8,10。不懂的问题是int f(int n);{static int m=5;
return ++m+n;
}
这些句子。
5.#define SIZE 4
main( )
{int n[SIZE]={8,3,4,1};
int i,j;
for (i=0;i<SIZE;i++)
{printf("%d",n[i]);
for(j=1;j<=n[i];j++)printf("*");
printf("\n");
}
}
这题的输出是8********
3***
4****
1*
对#define SIZE 4
main( )
{int n[SIZE]={8,3,4,1};这些句子不懂,对输出结果意外,这结果是怎么输出的啊?
6.对程序填充提,摸不着头脑。
(1).从键盘输入一串字符(”#“作为结束标志),将其写入文本文件file.dat中保存。
#include<stdio.h>
#include<stdlib.h>
main( )
{char ch;
FILE*fp;
if((fp=fopen("file.dat","________w"))= =NULL)
{printf("Can not open file\n");exit(0);}
ch=getchar( );
while (ch!=‘#’)
{fputc(________ch,fp);
ch=getchar( );
}
fclose(________fp);
}
请讲解一下这个程序。
7.从键盘输入100个整数,计算并输出大于等于零的数的平均值(保留小数点后两位)
#include<stdio.h>
#define N 100
main0
{int a[N],i,n=0;
float sum=0,aver;
for(i=0;i<N;i++)scanf("%d",&a[i]);
for(i=0;i<N;i++)
if(a[i]>=0)
{
sum=sum+a[i];
n++;
}
if(n= =0)printf("All numbers are negative!\n");
else
{aver=sum\n;
printf("aver=%7.2f\n",aver);
}
}
此题的得分点是:宏定义、变量和数组定义及初始化;数字输入; if(a[i]>=0)
{
sum=sum+a[i];
n++;
};aver=sum\n。
对这种程序设计题不懂,对要分的几个要点都不懂设计。
8.(1)编写一个计算梯形面积的函数。函数头是:float area(float t,float b,float h)
其中变量t、b和h分别表示梯形的上底、下底和高。
(2)编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积(保留小数点后两位)。
#include<stdio.b>
float area(float t,float b,float h)
{
return(t+b)*h*0.5;
}
main( )
{float t1,b1,h1;
scanf("%f%f%f",&t1,&b1,&h1);
printf("area=%7.2f\n",area(t1,b1,h1));
}
此题的得分点是:函数定义;主函数定义变量正确;输入正确;输出、调用正确;
唉,,我该怎么做这种题啊。
呵呵,请添加为好友好追问。
呵呵,这题我整理了一下。baiduhi的提问还没懂。请看一下。
呵呵,请加为好友。好追问哦。
呵呵,这题我整理了一下。baiduhi的提问还没懂。请看一下。
呵呵,请添加为好友好追问。