2022年C语言期末复习填空题部分 2.pdf
期末复习填空题部分一、填空题1 设 x 为 int型变量 , 写出描述“ x 是偶数与y 是奇数”的表达式是 x%2=0 & y%2=1 。2 以下程序的输出结果是 -27 。#include void main() char c; c=0345; printf(%d n,c); 3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量 a 的值是 -12 。4 若 float x;以下程序段的输出结果是 5. x=3.; printf(%fn,(int)(x*1000+0.5)/(float)1000); 5 下面的程序运行时从键盘上输入,程序的输出结果是a=123,b=456.0,c=789。#include void main() int a; float b,c; scanf(%3d%3f%3f,&a,&b,&c); printf(a=%d,b=%.1f,c=%.0f,a,b,c); 6 若输入字符串:abcdefg,则以下 while循环体将执行 0 次。while(ch=getchar()=g) printf(*); 7 下面程序的输出结果是67,D。main() char ch1,ch2; ch1=A+5- 3; ch2=A+6- 3; printf(%d,%cn,ch1,ch2); 8 执行下面的语句:printf(%dn,(a=3*5,a*4,a+5);,输出是 20 。9 下列程序的输出结果是 3,2 -1 。main() int x=0,y=5,z=3; while(z-0 & +x5) y=y-1; printf(%d,%d,%dn,x,y,z); 10 下列程序的输出结果是 54 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - #include void main() int s=0,i=1; for(;i=0;i-) ai=10-i; printf(%d%d%dn ,a2,a5,a8); 13 下列程序运行的结果是 6 。main() char ch7=65ab21; int i,s=0; for(i=0;chi=0 & chi=9;i+=2) s=10*s+chi-0; printf(%dn,s); 14 运行下面程序,其输出结果是 15,35 。#include int x,y; one() int a,b; a=25,b=10; x=a-b;y=a+b; main() int a,b; a=9,b=5; x=a+b;y=a-b; one(); printf(%d,%dn,x,y): 15 运行下面程序,其输出结果是 321 。#include main() void printd() int n=123; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 3printd(n); void printd(int n) int i; if(n0) n=-n; putchar(- ); putchar(n%10+ 0); if(i=n/10)!=0) printd(i); 16 以下程序的输出结果是 abb 。#include void main() char ch=abc,x33; int i; for(i=0;i3;i+) strcpy(xi,ch); for(i=0;i3;i+) printf(%s,&xii); printf(n); 17 运行下面程序,从键盘输入三个字符ab#, 其输出是 ab#ba 。#include void recursion() char c; c=getchar(); putchar(c); if(c!=#) recursion(); putchar(c); void main() void recursion(); recursion(); 18 以下程序的输出结果是_55_。#define M 5 #define N M+M main() int k; k=N*N*5; printf(%dn,k); 19 以下程序的输出结果是 12 15 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - #include void swap(int *a, int *b) int *t ; t=a; a=b; b=t; void main() int i=12, j=15, *p=&i, *q=&j; swap(p,q); printf(%d %dn, *p,*q); 20 以下程序的输出结果是 15 12 。#include void swap(int *a, int *b) int t ; t=*a; *a=*b; *b=t; void main() int i=12, j=15, *p=&i, *q=&j; swap(p,q); printf(%d %dn, *p,*q); 二、程序填空题1 下列程序的输出结果是16.00 ,请填空。main() int a=9,b=2; float x= 6 .6【1】 ,y=1.1,z; z=a/2+b*x/y+1/2; printf(%5.2fn ,z); 2 下列程序是求的值。#include stdio.hmain() int i=2; float sum=1; while( i=50 【1】 ) sum=sum+1.0/i; i+2 【2】 ; printf(sum=%fn, sum 【 3】 ); 3 以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为50141211名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 5负数时,结束输入。请填空使程序完整。#include void main() float x,max,min; scanf( %f,&x); max=min= x 【1】 ; do if(xmax) max=x; if(x=o【3】 ); printf(%f,%f,max,min); 4 以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,并输出低于平均分的学生成绩。请填空。#include stdio.hmain() int n=0,i; float x1000,sum=0.0,ave,a; printf(Enter mark:n); scanf(%f,&a); while(a=0.0 & n1000) sum+=a 【1】 ; xn= a 【2】 ; n+; scanf(%f,&a); ave= sum/n 【3】 ; print(Output:n); printf(ave=%fn ,ave); for(i=0;in;i+) if( xiave【4】 ) printf(%fn ,xi); 5 以下程序,数组a 中存放一个递增数列。输入一个整数,并将它插入到数组a 中,使之仍为一个递增数列。请填空。#include void main() int a【1】11=1,10,20,30,40,50,60,70,80,90,x,i,p; scanf(%d,&x); for(i=0,p=10;i10;i+) if(x=p;i-) ai+1=ai; 【3】ap=x ; for(i=0;i=10;i+) printf(%5dn,ai); printf(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 6 以下程序的功能是:将t 数组的内容连接到s 数组内容的后面,使s 数组保存连接后的新字符串。main() static char s30=abcdefg ,t=abcd; int i=0,j=0; while(si!=0) 【1】 i+ ; while(tj!=0) si+j=tj; j+; 【2】 si=j=0 ; printf(%sn,s); 7 一个整数称为完全平方数,是指它的值是另一个整数的平方。例如81 是个完全平方数,因为它是9 的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是完全平方数,且三位数字中又有两位数字相同:例如144(12*12) 、676(26*26)等,程序找出并输出所有满足上述条件的三全数。程序如下:main() int n,k,a,b,c; for(k=1;k+) n=k*k【1】if(n999) 【3】 break ; a=n/100; b= n/10%10 【4】 ; c=n%10; if(flag(a,b,c) printf(n=%d=%d*%dn ,n,k,k); flag intx,inty,intz 【5】 return(!(x-y)*(x-z)*(y-z); 8 以下程序的功能是:将任意十进制正整数转换成二进制数,请填空使程序完整。 #includestdio.h int dtob(int n,int *p) int m,i=0; do m=n%2; *(p+i)=m; 【1】 ; 【2】 ; while(n!=0); return i; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 7void main() int n,j,a20; printf(Input the umber: n); scanf(%d,&n); j=dtob(n,a); for(;j0;j-) printf(%d, 【3】 ); 9 下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。void fun(char str1081,char *sp) int i; *sp = str0 【1】 ; for(i=1;i10; i+) if(strlen(*sp)strlen(stri) *sp=stri 【2】 ; 10 下面程序的功能是将一个整数字符串转换为一个整数,例如:“-1234 ”转换为1234,请填空。#include #include int chnum(char *p) int num=0,k,len,j ,sign=1; len = strlen(p) ; if(*p =- ) sign = -1 ;p+; len-; for ( ; *p【1】; p+) k=*p-0【2】; j=(-len) ; while (j-【3】) k=k*10 ; num = num + k ; return (num*sign); void main() int a; char p10; gets(p); a=chnum(p); printf(“ %dn” ,a); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -