第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 string.h
B stdlib.h
C math.h
D mathematics.h
2. 下面程序的功能是:从键盘上输入3个结构体变量到数组a中,然后将数组a的内容写入文件mydata.txt中。请选择合适选项填空完成程序。 #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("mydata.txt","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
C c>=0&&c<=9
D c>'0'||c
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
??????? a[i]=rand()%100+rand()%100*1e-2;
??? p=a;
??? while(p??? ①???? )
??? {
??????? printf("%7.2lf",???? ②???? );
??????? 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",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,i