1、 if (A =c1 & c1=Z) 运行结果: 67,D printf(“%d,%c”,c1,c1+1); else printf(“%c”,c1);程序3 viod main ( ) int a=0, n=5; 1,5,4,3,2,0 for ( ; ; ) a+; n-; printf(“%d,”,a); a=n; if (n=0) break; printf(“%d”,a);程序4 main ( ) int i, j; 1,2,4,8,16,32,64,128,256,512 static int a10=1,1,1,1,1,1,1,1,1,1; for (i=0;i10;i+) fo
2、r (j=0;ji;j+) ai=ai+aj; printf(“%d,”,ai);程序5 int k=2; f (int m) 运行结果: 6,8 m+=k;k+=m; 5,9 printf(“%d,%d n”,m,k+); int i=4; for (i+); printf(“%d,%d n”,i,k);程序6 static int a10,i; 1 3 5 7 9 ai=i+1;i=i+2) printf(“%d”,*(a+i);三、阅读分析下列程序,在 处填上适当的内容使程序(或函数)完整(共21分,每空3分) (一) 以下程序输出所有大写字母和其对应的ASCII码值。void main
3、 ( ) int ch; for (ch=A;ch=Z;ch+) printf(“字母%c的ASCII码值是:%dn”,ch, 1 ); 答案: ch (二)以下函数的功能是将一个字符串S的内容颠倒过来。 void reserve( 2 ) 答案: char s int i, j, k; for (i=0,j=strlen(s)-1; 3 ;i+,j-) 答案: i float a, b, c, s, s1; scanf(“%f%f%f”, 4 ); &a,&b,&c if (a+b)c & (a+c) b & (b+c) a) s=(a+b+c)/2; s1=s*(s-a)*(s-b)*(s
4、-c); s= 5 ; sqrt(s1) printf(“n 三角形面积为:%f n”,s); else printf(“ n 不是三角!n”);(四)从键盘输入一个字符串,把它输出到文件中,文件名由键盘输入。 FILE *fp; char ch, *fn; scanf(“%s”,fn); if (fp=fopen(fn, 6 )=NULL) 答案: “w” printf(“打开文件出错 n”); exit(1); while (ch=getchar( )!=EOF) fputc( 7 ); ch,fp putchar (ch); fclose (fp);四、编程题(共21分) 1. 从键盘输
5、入3个整数,输出其中最大数。(5分) int i=0, x, mx=-32768; while ( i+mx) mx=x; printf (“n %d n”,mx);2. 编写一函数uf(s),将字符串s中的第一个和最后一个字母改写成大写字母(如原来不是字母或已是大写字母,则不变)。 uf (char *s) int i; i=strlen(s); if (i=0) return; if (s0 = a & s0 si-1 = z) si-1 +=A a; char s =”asdfgh”; uf (s); printf(“ n%sn”,s);3. 从键盘输入10个浮点数,输出其平均值及所有低
6、于平均值的数。#include main ( ) float a10, ave=0; int i;scanf(“%f”,&ai); ave +=ai; ave /=10;if (ai7) if(b8) if(c9) x=2;else x=3;后x的值是 。A)0 B)2 C)1 D)3(五)有如下程序main() int x=23; do printf(“%d”,x-); while(!x);该程序的执行结果是 。A)321 B)23C)不输出任何内容 D)陷入死循环(六)定义一个具有8个元素的整型数组,应使用语句 。 A)int a8; B)int a2,4; C)int a; D)int
7、*a8;(七)设int x=4,3,2,1,q,*p=&x1;q(*-p)+后,变量q的值为 。 A)4 B)3 C)2 D)1(八)函数调用时,下列说法中不正确的是 。实际参数和形式参数可以同名 若用值传递方式,则形式参数主调函数和被调函数可以不在同一个文件中函数间传递数据可以使用全局变量(九)下列数据类型中不属于构造类型的是 。 A)数组型 B)结构型 C)共用型 D)枚举型(十)存储整型数据7856时,在二进制文件和文本文件中占用的字节数分别是 。 A)3,2 B)2,5 C)5,5 D)5,2二、阅读下列程序,写出运行结果(共20分,每题4分) 【程序1】 #include =1;i-
8、) space(i);printf(“*”); for (j=3;j=2*(i/5)+2;j-) space(4-i); printf(“*”); printf(“n”); 运行结果:【程序3】 long ff(int n) if (n3) return (ff(n-1)+ff(n-2); else return(3); main() printf(“%dn”,ff(4);【程序4】 int i,a5; for (i=0;5;i+) ai=9*(i-2+4*(i2)%5; for (i=4;=0; printf(“%3d”,ai);【程序5】 union pw int i; char ch2
9、a; a .ch0=13; a .ch1=0; printf(“%dn”,a .i);三、阅读下列程序,在 处填上适当的内容使程序(或函数)完整。(共20分,每空2分) (一)下面程序用于计算n!的值。 int i,s,n; s=1; printf(“enter n:”);scanf(“%d”,&n); for (i=1;=n; ( 1 ); printf(“s=%d”,s); (二)下面函数pi()的功能是根据以下公式求值(直到最后一项小于10-5为止) double pi() double s=0.0,t=1.0;int n; for ( 2 );t=1e-5;n+) s+=t;t= 3
10、; return (2.0* 4 );(三)从键盘上输入一行字符(不多于40个,以会车换行符作为输入结束标记),将其中的大写字母该为小写字母,其它字符不变,然后逆向输出。 char a40; int n=0; do scanf(“%c”,&an); if ( 5 ) an+=32; n+; while ( 6 !=n); n=n-2; while (n=0) printf(“%c”,an-);(四)从终端读入的文本(用作为文本结束标志)复制到一个名字C.DAT的新文件中。FILE *fp; char ch; if (fp= 7 )=NULL) exit(0); while (ch=getcha
11、r()!=) fpute( 8 ); fclose(fp);(五)输入10个整数存入一维数组,从中查找某个整数(该数从键盘上读取),查到则输出其是第几个数,查不到则输出“Not Find!”。 int a10, *p=a,x,n,flag=0; for (;pa+10;p+) scanf(“%d”,p); scanf(“%d”,& for (n=1,p=a; 9 ;p+,n+) if ( 10 ) flag=1;break; if (!flag) printf(“Not Find! n”); else printf(“%dn”,n);四、编程题(共20分) 1、按下列公式s(n)=12+22+
12、.+n2编写计算并输出s值,其中的n值由键盘输入。(7分)2、编写一程序,从键盘输入10个实数,计算并输出算术平均值。3、求两个整数m和n最大公约数。(6分)习题二参考答案 一、语言基础 (一)单项选择题1. A 2. B 3. A 4. C 5. B6. A 7. A 8. B 9. D 10. B(二)运行程序 【程序1】 a=1,b=1【程序2】 * * * * * * * *【程序3】 6【程序4】 4 0 0 -4 -3【程序5】 13(三)填空 s=s*1n=1n*t/(2*n+1)s(A=an)&(any? 10:11y+?a:z (三)若所有变量都已正确定义为int型则执行下列
13、程序段后x 的值为 79 。x=80;a=10b=16;y=9;z=0;if (ab) if(b!=15) if(!y) x=81;else if(!z) x=79; (四)i,j为int型的变量,则下面程序中的循环体的执行次数为 5 。i=1;j=0; while(i+jj j=j+2);else i=i+2; (五)若有数组a10,类型为int型,元素及值如下所示:数组元素:a0a1a2a3a4a5a6a7a8a9元素中的值:9 4 8 3 2 6 7 0 1 5则*(a+a9 )的值为 6 。 (六)以下函数调用语句中实参的个数为 3 .Sub (x1,x2) ,(x3,x4,x5),x
14、6) (七)若有以下函数定义: int (*hs ) () /*函数体*/则函数hs返回的值是 整形 。(八)某C编译程序规定,int型数据存储占个字节,float型数据存储占个字节,char型数据存储占个字节,现有记录描述如下:struct stuunion char bj5; int bh2; class; char xm8;float cj;xs;则sizseof(xs)的值为 17 。(九)设有以下定义:define a 6 #define b a+4 则执行语句c=b*10(c为int型数据)后,c的值为 46 。(十)在C中,文件指针变量的类型只能是 FILE 。二、阅读下列程序,
15、写出运行结果(共分,每题分) 程序1#include int i;i= 18,J=29.44 float j; i=18; j=29.4361; printf(“i=%4d,j=%2.2f”,i,j );程序2 int k=10; char c=b; do swith(c+) 运行结果:12 case a:k+; case b:k-; case c:k+=3; case d:k=k%4; while(c!=c); printf(“%dn”,k );程序3char a=”computer”; char t; int i,j=0;utrpomec for(i=0;I8;I+) for(j=i+1;j+) if(aiy &xz ) return(x);else if (y=x &yz) return(y) ; return(z);int a,b,c,I=1,j,s; scanf(“%d%d%d”,&a,&b,&c);s= max(a,b,c) ;while(1)j=s*i; if( (j%a=0)&(j%b=0)&(j%c=0) ) break; i+;prinf
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1