《c语言程序阅读填空、运行结果、改错题(共26页).doc》由会员分享,可在线阅读,更多相关《c语言程序阅读填空、运行结果、改错题(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上三、读程序题1、float f=3.;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是 3.,3.1416,3.142 .2、int x=6, y=7;printf(“%d,”,x+);printf(“%dn”,+y);程序的输出结果是 6,8 3、a=3;a+=(a1)?a:1;printf(“%d”,a);结果是. 4 4、for (a=1,b=1;a=20) break;if(b%3=1)b+=3; continue;b-=5; 程序的输出结果a的值为 22 .5、int y=1, x, *p, a =2,4,6,8,10;p=&
2、a1;for(x=0;x3;x+)y + = * (p + x);printf(“%dn”,y);程序的输出结果y的值是 19 .四、程序填空题1、从键盘上输入10个数,求其平均值。main()int i;float f,sum;for(i=1,sum=0.0;i11;i+) scanf(“%f”,&f); Sum+=f ; printf(“average=%fn”,sum/10); 2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#include main() FILE *fp;char c;fp= ;doc=getchar();f
3、puts(c,fp);while(c!=EOF) ;3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。main() float x,amax,amin;scanf(“%f”,&x);amax=x; amin=x;while( x=0.0 ) if(xamax) amax=x;if( x=0.0 x=amin三、阅读程序题1、int x=6,y=7;printf(“%d,”,x+);printf(“%dn”,+y);程序的输出结果是_.2、float f=3.;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输
4、出结果是_.3、a=3;a+=(a1)a:1; printf(“%d”,a);结果是_.4、main( ) int a5=2,4,6,8,10,*P,* *k;p=a; k=&p;printf(“%d,”,*(p+);printf(“%dn”,* *k);程序的输出结果是_.5、main()int a,b;for (a=1,b=1;a=20) break;if(b%3=1)b+=3;continue;b-=5; 程序的输出结果a的值为_.四、程序填空题1、求主次对角线之和。main()static int a 3=9,7,5,1,2,4,6,8;int I,j,s1=0,s2=0;for(I=
5、0;I3;I+)for(j=0;j3;j+)if( )s1=s1+aIj;if( )s2=s2+aIj;printf(“%dn%dn”,s1,s2);2、从键盘上输入10个数,求其平均值。main()int i;float f,sum;for(i=1,sum=0.0;i11;i+) scanf(“%f”,&f) ; Sum+=f ;printf(“average=%fn”,sum/10);3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#include main()FILE *fp;char c;fp= ;doc=getchar();
6、fputs(c,fp);while(c!=EOF); ;三、阅读程序题(1) 6,8(2) 3.,3.1416,3.142(3) 4(4) 2,4(5) 8四、程序填空题1、I=j I+j=22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w)fclose(fp);四、读出程序1. 改正下列程序中不正确的语句。main() int a=8 , b=1;a=a+b;b=a*b;printf(“%d, %d”,a,b); 2.写出下列程序的运行结果。fun(int a, int b) if(ab) return (a);Else return (b); main(
7、) int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(“%dn”,r); 3. 改正下列程序中不正确的语句。main() int n ;float s=1.0;for(n=10;n1;n- -)s=s+1.0/n;printf(“%6.1fn”,s); 4. 写出下列程序的运行结果。main() int n;For(n=3; nb) return (a);Else return (b); main() int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z); printf(“%dn”,r); 3. 改正下列程序中不正确的语句。main
8、() int n ;float s=1.0;for(n=10;n1;n- -)s=s+1/n;printf(“%6.1fn”,s); 4. 写出下列程序的运行结果。main() int n;For(n=3; n=10; n+) if(n%6= =0) break; Printf(“%d”,n); 5.写出下列程序的运行结果。#include “stdio.h”Main() int a=1,2,3,-4,5;int m,n,*p; p=&a0; m=*(p+1); n=*(p+4);printf(“%d %d %d ”,*p,m,n); 四、读出程序1 printf(“%d,”,&a); if
9、(a=1) 2 123 s=s+1.0/n4. 3 4 55 1 2 5三、读出下列程序,写出程序的运行结果1. main() int a=8 , b=1;a=a+b;b=a*b;printf(“a=%d,b=%d”,a,b); 该程序的运行结果是_.2. main() int i,num5;for(i=0;i5;i+)numi=i*10 - 2;printf(“%d”,num3); 该程序的运行结果是_.3. main() float c,f;c=30.0;f=(6*c)/5+32;printf(“f=%f”,f); 该程序的运行结果是_.4. main() int a=6095 , b ;
10、b=a%1000 ;printf(“%d”, b) ; 该程序的运行结果是_.5. # include “stdio.h”main( ) int a=8,2,9,4,1, *p;p=a;*(p+2)+=2;printf(“%d, %d ”, *p, *(p+2);该程序的运行结果是_.四、将下列程序中不正确的语句改正1. main( ) int k ;k=35555 ;printf ( “%d ”, k) ; 2. main ( ) int a , b ;scanf ( “input a ,b:”,a , b );printf (“a=%d, b=%d”,a,b); 3. main( ) in
11、t sum , k ;sum=0 ;k= 1 ;while (k =100 )sum = sum+k ;k + + ;printf (“ sum=%dn”, sum) ; 4. main( ) int k , a( 8 ) ;for( k=0; k10 ; k+)scanf(“%d”, &a(k); 5. main( )scanf(“%d”, a);if (a = 1)printf(“Onen”);三、读出下列程序,写出程序的运行结果1.a=9,b=92. 283. f=684. 955. 8,11四、将下列程序中不正确的语句改正1.long int k ; printf ( “%ld ”,
12、k) ; 2.scanf ( “%d,%d”,a , b );3.while (k =100 )sum = sum+k ;k + + ; 4.int k,a8 ;scanf(“%d”, &ak);5.if (a = = 1)二、写出下列程序的运行结果1. main ( ) int x=10,y=10;printf(“%d %dn”,x,y); 该程序的运行结果是_.2.main( ) int j , k , p, s;s=0 ;for (j=1; j=3; j+) p=1;for(k=1; k=j; k+)p=p*k;s=s+p;printf(“s=%dn”,s); 该程序的运行结果是_.3.
13、 # include “stdio.h”main( ) int a=1,2,3,4,5, *p;p=a;*(p+2)+=2;printf(“%d, %d ”, *p, *(p+2); 该程序的运行结果是_.4.main( ) int a=2,4,6,8,10;int y=1,x,*p;p=&a1;for(x=0;x3;x+)y + =*(p+x);printf(“%dn”,y); 该程序的运行结果是_.5.main() int a5, k;for(k=0;k5;k+)ak=10*k ;printf(“%d”, ak-1) ; 该程序的运行结果是_.二、写出下列程序的运行结果1.10 9 2.S
14、=9 3. 1,5 4.19 5.40四、程序填空题1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整。main() int i , j , k;for(i=1;_; i+)bsp; for(_; j=i ; j+)printf(“%d*%d=%d”,_);printf(_);2.设计一个自定义函数,实现如下功能:求两个数的平方和,并且返回该和。自定义函数如下:int max(x,y)3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:学生信息:包括(姓名,性别,年龄,分数:根据合适情况选择各项类型)struct student4. 根据给出的程序段,请写
15、出正确的结果x=1 ; p=1 , sum=0 ;for (x=1 ; x=5 ; x+) p=p*x;sum=sum+p ; 上面的程序段实现的功能是计算下面的式子_ ;其运行结果为_.五、阅读程序,写出下列程序段的结果1. int *p,i;i=100;p=&i;i=*p+10; 执行完上面的语句段后, i的值是 _2. int A,B,C,m=1,n=0;A=(m=n+)?- -m:+n;B=+m;C=n;执行完上面的语句段后,A的值为 B的值为 C的值为3. main() int c1=10,c2=10;printf(“c1=%d,c2=%d n c1=%d”,+c1,c2+,c1);
16、该程序的运行结果是_.4.main() int i;for(i=3;i10;i+) if(i%4=0)continue;elseprintf(“%d,”,i); 该程序输出的结果是 _5. main() int x;x=3;do printf(“%d”,x);while(!x); 该程序运行的结果是_四、程序填空题1.i=9 j=1 i , j , i*j “n”2 2 2.int max(x,y)int x,y;sp; int x,y; int z;z=x*x+y*y;return(z); 3. struct student char xm 10;char sex;int age;float
17、 score; 4. 1!+2!+3!+4!+5! 1+2+6+24+120=153五、阅读程序,写出下列程序段的结果1.1102.1 0 13.c1=10 ,c2=10 ,c1=104.3,5,6,7,95.3四、程序填空题1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。main() int i , j , k;for(i=1;_; i+) for(j=1;_; j+)printf(“%d*%d=%d”,_);printf(_);2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:int max(x,y)int x , y ;3.设有如
18、下面的结构体,请用C语言的语句定义出正确的结构体形式:学生信息:包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud130struct student4. 根据给出的程序段,请写出正确的结果x=1 ; sum=1 ;for (x=1 ; x=5 ; x+)sum=sum*x;上面的程序段实现的功能是:_ ;其运行结果为_.5.设有如下的语句。int a=43,b,c;b=23;c=a+ * b;(1)上面的语句段执行后a= b= c= ;(2)简述a+和+a的相同点和不同点:6.设有如下的程序:main( ) int i=3,*p1;int a3=15,30,45,*p2;p1=
19、&i; p2=a;p1=p2+2;printf(“%d,%dn”,*p1,*p2);程序运行结果是: 四、程序填空题1. i=9 j=y) z=x;else z=y;return z;3. char name20;char sex;int age;float score;4. 实现功能:计算连续数之积, 即sum=1*2*3*4*5 ;运行结果:sum=1205. 44 22 946a+:先加1,后使用表达式的值;+a表示先加1,后使用表达式的值,它们最后的结果使a加1.6.45,15三、程序填空与算法题1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。#include main(
20、) int a,b,c,i;a=c=0;for(i=1;i=10;i+) scanf(“%d”,&b);canf(“%d”,&b);printf(“偶数的和=%dn”,a);printf(“奇数的和=%dn”,c); 2.编写一个自定义函数,实现求两个实数的平方和3. 以下程序运行后的输出结果是 .main() char s =“GFEDCBA”;int p=6;while(sp!=D) printf(“%c ”, p);p=p-1; 4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。5.以下程序输出的结果是 .int ff(int n) static int f=l;f=
21、f*n;return f; main() int i;for(i=1;i=5;i+) printf(“%dn”,ff(i); 6. 设有以下程序:main() int n1,n2;scanf(“%d”,&n2);while(n2!=0) n1=n2%10;n2=n2/10;printf(“%d ”,n1); 程序运行后,如果从键盘上输入1298;则输出结果为 7.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。Includestdio.hmain() int i, j;for(i=1; _; i+)if (_)printf(“%d”, j); 8
22、.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C.所需要的语句为:(如果用到指针,在图中标出指针的位置)ABHeadDZ三、程序填空与阅读程序题(参考答案)1. if (b%2=0) a=a+b else c=c+b2. float sum(float x,float y) return x*x+y*y; 3. A B C4. struct studentchar name10;char sex;int age;float score; 5. 1 2 6 24 1206.8 9 2 17.iNEXT=Q-NEXT; P-NEXT=NEW;三、读程序(30分)1.
23、 main() int a=10,b=4,c=3;if (ab) a=b;if (a0;y)if (y%3= = 0) printf (“%d”,y);continue;3. main() int x,y;for (y=1,x=1;y=10) break;if (x%2= =1) x+=5;continue;x-=3; printf (“%d”,y);4. main() static int a3=9,7,5,3,1,2,4,6,8;int i,j,s1=0,s2=0; i,j,s1=0,s2=0;for (i=0;i3;i+)for (j=0;j3;j+) if (i= =j )s1=s1+
24、aij;if (i+j= =2) s2=s2+aij;printf (“%dn%dn”,s1,s2);5. main()static char a=*,*,*,*,*;int i,j,k;for (i=0;i5;i+)printf (“n”);for (j=0;ji;j+) printf (“%c”, );for (k=0;k5;k+) printf (“%c”,ak); 6. int fac(int n)static int f=1;f=f*n; return(f);main()int i;for (i=1;ib) c=1;else if (a= =b) c=0;else c=-1;prin
25、tf (“%dn”,c); 运行结果:2.main()int a=2,b=7,c=5;switch (a0) case 1: swithch (b0)case 1:printf(“”);break;case 2:printf(“!”);break;case 0: switch (c= =5) case 0:printf(“*”);break;case 1:printf(“#”),break;default:printf(“#”);break;default:printf(“&”); 运行结果: printf (“n”);3.#include main() int i;for (i=1;i=5;
26、i+)switch (i%5) case 0:printf(“*”);break;case 1:printf(“#”);break;default:printf(“n”);case 2:printf (“&”); 运行结果:4.main() int i,b,k=0;for (i=1;i=0) k+; 运行结果:printf (“%d,%d”,k,b);5.#include main() char ch7=“12ab56”;int i,s=0;for (i=0;chi=0&chi=9;i+=2)s=s*10+chi-0; 运行结果:printf (“%dn”,s);6. main() int a
27、=2,i;for (i=0;i3;i+)printf (“%4d”,f(a);f(int a) int b=0;static int c=3;b+;c+; 运行结果:return(a+b+c);三、读程序(30分)1.-1 2.&3.#&4.8,-2 5.1 6.7 8 9二、读程序(结果写在试卷的右边)1. 写出下列程序段的输出结果:main()int x=5; int y=10;printf(“%dn”,x+);printf(“%dn”,+y); 2. 下面程序的输出结果是什么?#include “stdio.h”main() int x=3;switch(x) case 1:case 2
28、:printf(“x3n”);default:printf(“x unknown”); 16.执行语句“x=(a=3,b=a)”后,x,a,b的值依次为_A. 3, 3, 2 B. 3,2,2 C.3,2,3 D.2,3,217.如果X=5,执行语句X*=X+=X*3后,则X的值为_A.100 B. 400 C. 450 D. 90018.下列常量中哪个是不合法的_A.2e32.6 B. 0.2e-5 C. “basic” D. 0x4b0019.下列标识符错误的是_A. x1y B._123 C. 2ab D. _ab20. c语言中int型数-8在内存中的存储形式为_A.11000 B.0
29、1000C.01000 D.10111二、读程序(结果写在试卷的右边)1. 写出下列程序段的输出结果:main()int x=5; int y=10;printf(“%dn”,x+);printf(“%dn”,+y); 2. 下面程序的输出结果是什么?#include “stdio.h”main() int x=3;switch(x) case 1:case 2:printf(“x3n”);default:printf(“x unknown”); 3.根据源程序,写出相应的数学表达式#include “stdio.h”main() int x,y;scanf(“%d”,&x);if (x0) y= -1;else if (x= = 0)y=0;else y=1;printf(“x=%d,y=%dn”,x,y); 4. 读出下列程序的输出结果:main() int a=1,b=1,c=1;printf(“