文档介绍:第3次作业
一、填空题(本大题共30分,共 10 小题,每小题 3 分)
1.
下面程序的功能是:求两个实数之和的平方根,请选择合适选项填空完成程序。
#include <>
#include <         >
int main()
{  
    double a,b;
    scanf("%lf,%lf",&a,&b);
    printf("%lf\n",sqrt(a+b));
    return 0;
}
A
B
C
D
2. 下面程序的功能是:从键盘上输入3个结构体变量到数组a中,。请选择合适选项填空完成程序。
#include <>
struct test
{
double x;
int y;
};
int main()
{
FILE *f;
struct test a[3]={0};
int i;
for(i=0;i<3;i++)
scanf("    
①       ",&a[i].x,&a[i].y);
f=fopen("","wb");
if(f==NULL)
{
printf("Can't create file.\n");
return -1;
}
fwrite(     ②     );
fclose(f);
return 0;
}
A  a,sizeof(double+int),3,f
B  a,sizeof(struct test),3,f
C  %lf,%d
D  %d,%lf
3.
下面程序的功能是:挑选输入流中的数字字符按序组成整数(例如输入流为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'
4.
下面程序的功能是:随机产生20个实数存放到一维数组a中,并通过指向数组a的指针移动的方式输出所有数组元素值。请选择合适选项填空完成程序。
#include <>
#include <>
#include <>
#define N 20
int main()
{
    double a[N],*p;
    int i;
    srand(time(NULL));
    for(i=0;i<N;i++)
        a[i]=rand()%100+rand()%100*1e-2;
    p=a;
    while(p<     ①     )
    {
        printf("%",     ②     );
        p++;
    }
    printf("\n");
    return 0;
}
A  a
B  a+N
C  p
D  *p
5.
下面程序的功能是:求实型变量b的小数部分,请选择合适选项填空完成程序。
#include <>
int main()
{  
    double b;
    scanf("%lf",&b);
    printf("%lf\n",           );
    return 0;
}
A b%(int)b
B (int)b/b
C (int)b-b
D b-(int)b
6. 下面程序的功能是:求从键盘输入的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"