《C语言程序设计》模拟试卷二
一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2;
则执行下述printf语句的输出结果是___1.000000___ _____。 printf(\ 2.执行下述程序
#include
int x,y;
scanf(\ printf(\ } 若从键盘输入
12345671
则程序的输出结果是__17______。
3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include
float x,amax,amin; scanf(\ amax=x; amin=x;
while ( X>0&&X<=100 ) {
if (x>amax) amax=x; else if (x printf(\ } 4.设n是整型变量,且已具有某正整数值。根据下述数学式 12?12?13?13?1114???n?n?1求s的值并输出。 可编写如下之程序段实现之。请填空。 int k; double s,d; s=0.0; d=1.0; K=0; do { s=s+d; _k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf(\ 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf(\ } printf(\ } 6.执行下述程序时的输出结果是____6_____ ________。 #include int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y) 欢迎下载 —— 2 —— printf(\ } 7.执行下述程序的输出结果是____60_ _______。 #include int a[][2]={10,20,30,40,50,60},(*p)[2]; p=a; printf(\ } 8.执行以下程序的输出结果是___s=10 ______。 #include int s,i,sum(); for (i=1;i<=10;i++) s=sum(i); printf(\ } sum(int k) { int x=0; return (x+=k); } 9.下述函数定义用来求出两个整数之和,并通过函数的模拟传地址调用,传回两整数相加之和值,请填空。 void add(int x,int y,___int *z_ ___) { *z=x+y; } 10.函数func的功能是将整型变量x的值转换成二进制数,并将该二进制数的每一位存入由整型指针b所指向的一维数组a,最低位存放于a[0]中,次低位存放于a[1]中,依此类推。请填空。 void func(int x,int *b) { int r; do 欢迎下载 3 —— { r=x%2; ____*b++___=r; x/=2; } while (x); } 11.以下程序中函数invert实现将数组内所有数组元素的值逆置。比如,执行本程序将输出 10 9 8 7 6 5 4 3 2 1 请填空。 #include int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10; invert(a,n-1); for (i=0;i<10;i++) printf(\ printf(\ } invert(int *s,int num) { int *t,k; t=s+num; while (____t>=s ________) { k=*s; *s=*t; *t=k; s++; t--; } } 12.若有以下定义和说明,则结构体变量w在内存中所占的字节数是_18__ union aa { float x; 欢迎下载 4 float y; char c[6]; }; struct st { union aa v; float w[5]; double ave; } w; 13.执行下述程序的输出结果是__95,Li____ _______。 #include float x; char *y; } *m; struct str group[3]={ 95.0,\ 82.5,\ 73.5,\ }; main() { m=group; printf(\ } 14.下面的程序用来统计某文件文件中字符的个数。请填空。 #include 欢迎下载 —— 5