北京石油化工学院12级复习题
基本输入输出
7.
#include
main()
{ int a=1,b=2;
a=a+b;
b=a-b;
a=a-b;
printf(“a=%d,b=%d\n”,a,b);
}
运行结果为:
a=2,b=1
13.
#include
main( )
{ int a=3, b=4;
int z=a+b;
printf(“z=%d\n”,z);
}
运行结果为:
z=7
17.
#include
main()
{ int x, b0, b1, b2;
printf("Please enter an integer x:");
scanf("%d", &x);
b2 = x / 100;
b1 = (x - b2 * 100) / 10;
b0 = x % 10;
printf("bit0=%d, bit1=%d, bit2=%d\n", b0, b1, b2); }
若输入352,运行结果为:
bit0=2, bit1=5, bit2=3
程序控制结构(顺序,分支,循环)1.
#include
main()
{ int a=1,b=3,c=5;
if (c==a+b)
printf("yes\n");
else
printf("no\n");
}
运行结果为:
no
2.
#include
main()
{ int a=12, b= -34, c=56, min=0; min=a;
if(min>b)
min=b;
if(min>c)
min=c;
printf("min=%d", min);
}
运行结果为:
min=-34
3.
#include
main()
{ int x=2,y= -1,z=5;
if(x if(y<0) z=0; else z=z+1; printf(“%d\n”,z); } 运行结果为: 5 计算机程序设计基础(c语言)习题读程序写结果 4. #include main() {int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c); } 运行结果为: a=10 b=30 c=10 5. #include main() { float a,b,c,t; a=3; b=7; c=1; if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("%5.2f,%5.2f,%5.2f",a,b,c); } 运行结果为: 1.00, 2.00, 7.00 6. #include main() {int a=2; float num=3.12,x; if(num<4) x=2*num*a; 3共33页 printf("result is%f\n",x); } 运行结果为: "result is12.4800 7. #include main( ) { char c=’A’; if ((‘0’<=c ) &&(c<=’9’)) printf(“YES”); else printf(“NO”); } 运行结果为: NO 8. #include < stdio .h > main ( ) { float c=3.0 , d=4.0; if ( c>d ) c=5.0; else if ( c==d ) c=6.0; else c=7.0; printf ( “%.1f\n”,c ) ; } 运行结果为: 7.0 9. #include main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) 计算机程序设计基础(c语言)习题读程序写结果if(!c) d=15; else d=25; printf("d=%d\n",d); } 运行结果为: d=20 10. #include main() { int a=2,b=3,c=1; if (a>b) if (a>c) printf (“%d \n”,a); else printf (“%d \n”,c); printf (“over! \n”); } 运行结果为: over! 11. #include main() { int m; scanf("%d", &m); if (m >= 0) { if (m%2 == 0) printf("%d is a positive even\n", m); else printf("%d is a positive odd\n", m); } else { if (m % 2 == 0) printf("%d is a negative even\n", m); else printf("%d is a negative odd\n", m); } 5共33页 } 若键入-9,则运行结果为: -9 is a negative odd 13. #include main( ) { int x , y , z; x=20, y=40, z=60; while(x x+=4, y=y-4; z/=2; printf(“%d,%d,%d”,x,y,z); } 运行结果为: 32,28,30 14. #include main() { int num=0; while(num<=2) { num++; printf("%d\n",num);} } 运行结果为: 1 2 3 15. #include main() { int n=9; while(n>6) {n--; printf(“%d,”,n); } } 运行结果为: 计算机程序设计基础(c语言)习题读程序写结果8,7,6 16. #include main( ) { int sum=10,n=1; while(n<3) {sum=sum-n; n++; } printf(“%d,%d”,n,sum); } 运行结果为: 3,7 17. #include main() { int num,c; scanf("%d",&num); do {c=num%10; printf("%d",c); }while((num/=10)>0); printf("\n"); } 从键盘输入23,则运行结果为: 32 18 #include main() { int s=0,a=5,n; scanf("%d",&n); do { s+=1; a=a-2; }while(a!=n); printf("%d,%d\n",s,a); 7共33页 } 若输入的值1,运行结果为: 2,1 19. #include main() { int n1,n2; scanf(“%d”,&n2); while(n2!=0) { n1=n2%10; n2=n2/10; printf(“%d”,n1); } } 若在运行时输入1298,运行结果为:8921 21. #include "stdio.h" main() {char c; c=getchar(); while(c!='?') {putchar(c); c=getchar(); } } 如果从键盘输入abcde?fgh(回车) 运行结果为: abcde 22. #include main() { char c; while((c=getchar())!=’$’) { if(‘A’<=c&&c<=‘Z’) putchar(c); else if(‘a’<=c&&c<=‘z’) putchar(c-32); 计算机程序设计基础(c语言)习题读程序写结果} } 当输入为ab*AB%cd#CD$时,运行结果为: ABABCDCD 23. #include main() {int i=0,s=0; do { if(i%2) { i++; continue; } i++; s +=i; }while(i<7); printf("%d\n",s); } 运行结果为: 16 24. #include main() {int x=1, y =0; while(x<=10) { y+=x*x; if (y>=10) break; x++; } prin tf(“%d %d”,y,x); } 运行结果为: 14 3 25. #include 9共33页 main() { int x, y =0; for(x=1;x<=10;x++) { if(y>=10) break; y=y+x; } printf(“%d %d”,y,x); } 运行结果为: 10 5 26. #include main( ) { char ch; ch=getchar( ); switch(ch) { case ‘A’ : printf(“%c”,’A’); case ‘B’ : printf(“%c”,’B’); break; default: printf(“%s\n”,”other”); } } 当从键盘输入字母A时,运行结果为: AB 27. #include main( ) { int a=1,b=0; scanf(“%d”,&a); switch(a) { case 1: b=1;break; case 2: b=2;break; default : b=10;} printf("%d ", b); } 若键盘输入5,运行结果为: 10 28. 计算机程序设计基础(c语言)习题读程序写结果#include main( ) { int n=0; while(n<=3) switch(n) { case 0 : ; case 1 : printf(“%d,”,n); case 2 : printf(“%d,”,n); n=n+3; break; default: printf(“**”);n=n+1;; } } 运行结果为: 0,0,** 29. #include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) {case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; } printf(“a=%d, b=%d”,a,b); } 运行结果为: a=2,b=1 30. #include main()_ { char grade=’C’; switch(grade) { case ‘A’: printf(“90-100\n”); case ‘B’: printf(“80-90\n”); case ‘C’: printf(“70-80\n”); case ‘D’: printf(“60-70\n”); break; 11 共33页 case ‘E’: printf(“<60\n”); default : printf(“error!\n”); } } 运行结果为: 70-80 60-70 33. #include main( ) { int sum=0;i=0; while(i<=100) sum=sum+i; printf(“i=%d\n”,i); printf(“sum=%d\n”,sum); } 运行结果为: 死循环,无结果 34. #include main() { int i,sum=0; i=1; do {sum=sum+i; i++; }while(i<=10); printf(“%d”,sum); } 运行结果为: 55 36. #include main() { int i; printf("\n"); for(i=0;i<6;i++) { printf("%d",i); 计算机程序设计基础(c语言)习题读程序写结果if (i%2==0) printf("\n"); } } 运行结果为: 12 34 5 40. #include main() { int i, n, sum = 0, counter = 0; printf("Input 4 Numbers:\n"); for (i = 0; i < 4; i++) { scanf("%d", &n); if (n >= 0) { sum += n; counter++; } } printf("sum=%d,counter=%d\n", sum,counter); } 若键入3 -5 7 -9 运行结果为: sum=10,counter=2 41. #include main() { int y=9; for(;y>0;y- -) if(y%3==0) { printf(%d”,- -y); continue; } 13 共33页 } 运行结果为: 852 42. #include main() { int i=5; do { switch (i%2) { case 4: i- -; break; case 6: i- -; continue; } i- -; i- -; prin tf(“i=%d\n”,i); } while(i>0); } 运行结果为: i=3 i=1 i=-1 43. #include #define N 4 main() { int i; int x1=1,x2=2; printf("\n"); for(i=1;i<=N;i++) { printf("%4d%4d",x1,x2); if(i%2==0) printf("\n"); x1=x1+x2; x2=x2+x1; } } 运行结果为: 1 2 3 5 8 13 21 34 计算机程序设计基础(c语言)习题读程序写结果45 #include main( ) { int x, y; for(x=30, y=0; x>=10, y<10; x--, y++) x/=2, y+=2; printf(“x=%d,y=%d\n”,x,y); } 运行结果为: x=0,y=12 46. #include #define N 4 main( ) { int i,j; for(i=1;i<=N;i++) { for(j=1;j printf(" "); printf("*"); printf("\n"); } } 运行结果为: * * * * 15 共33页 函数 1. #include int Sub(int a, int b) {return (a- b); } main() {int x, y, result = 0; scanf("%d,%d", &x,&y ); result = Sub(x,y ) ; printf("result = %d\n",result); } 当从键盘输入:6,3运行结果为: result =3 2. #include int min( int x, int y ) { int m; if ( x> y ) m = x; else m = y; return(m); } main() { int a=3,b=5,abmin ; abmin = min(a,b); printf(“min is %d”,abmin);} 运行结果为: min is 5 5. #include func(int x) { x=10; 计算机程序设计基础(c语言)习题读程序写结果printf(“%d, ”,x); } main( ) { int x=20; func(x); printf(“%d”, x); } 运行结果为: 10, 20 6. #include int m=4; int func(int x,int y) {int m=1; return(x*y-m); } main() {int a=2,b=3; printf("%d\n",m); printf("%d\n",func(a,b)/m); } 运行结果为: 4 1 7. #include int fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=15, y=8, r; r= fun(x,y); printf("r=%d\n", r); } 17 共33页 运行结果为: r=15 8. #include int fac(int n) { int f=1,i; for(i=1;i<=n;i++) f=f * i; return(f); } main() { int j,s; scanf(“%d”,&j); s=fac(j); printf("%d!=%d\n",j,s); } 如果从键盘输入3,运行结果为:3!=6 11. #include unsigned fun6(unsigned num) { unsigned k=1; do { k*=num%10; num/=10; }while(num); return k; } main() { unsigned n=26; printf(“%d\n”,fun6(n)); } 运行结果为: 12 13 #include int max(int x, int y); 计算机程序设计基础(c语言)习题读程序写结果main() { int a,b,c a=7;b=8; c=max(a,b); printf("Max is %d",c); } max(int x, int y) { int z; z=x>y? x : y; return(z) ; } 运行结果为: Max is 8 19 共33页 数组 1. #include main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf(“%d%d%d”,a[2],a[5],a[8]); } 运行结果为: 852 2. #include main() { int i,a[6]; for (i=0; i<6; i++) a[i]=i; for (i=5; i>=0 ; i--) printf("%3d",a[i]); } 运行结果为: 5 4 3 2 1 0 3. #include main( ) { int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; printf("%d\n",k); } 运行结果为: 21 《JA V A程序设计》复习题之(三)阅读程序题三、程序阅读题 1.阅读以下程序 import .*; public class Reverse2 { public static void main(String args[ ]){ int i,n=10; int a[] = new int[10]; try { BufferedReader br = new BufferedReader( new InputStreamReader); a[i] = () ); } catch (IOException e) { }; for (i= n-1; i >= 0; i=i-2) " "); } } 请写出该程序的功能: 该程序使用字符缓冲输入流从键盘输入10个数,然后倒序并间隔打印出来。 2.阅读以下程序 import .* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[] = { 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120 }; for ( i = 0 ; i< ; i++ ) if (i % 3 == 0) s += a[i]; "s=" + s); } } 请写出该程序的输出结果: s=260 3、阅读以下程序: import .*; public class TestRandomAccess { public static void main(String args[]) { int data_arr[]={65,66,56,23,27,1,43,65,4,99}; try { RandomAccessFile randf=new RandomAccessFile("","rw"); for (int i=0; i<; i++) (data_arr[i]); ("Good morning!"); ' for(int i=; i>=0; i=i-2) { (i*4); System,(" "+()); (40); (); } catch (IOException e) { "File access error: "+e); } } } 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 一.程序阅读题 1.若运行时输入100↙,写出以下程序的运行结果。main ( ) { int a ; scanf(“%d”,&a); printf(“%s”,(a%2!=0)?”No”:”Yes”); } 答案: Yes 2.写出以下程序的运行结果。 main ( ) { int a=2,b=7,c=5; switch (a>0) { case 1: switch (b<0) { case 1: printf(“”); break ; case 2: printf(“!”); break ; } case 0: switch (c==5) { case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; } default : p rintf(“&”); } printf(“\n”); } 答案: *& 3.写出下面程序运行的结果。 main ( ) { int i,b,k=0 ; for (i=1; i<=5 ; i++) { b=i%2; while (b--==0) k++ ; } printf(“%d,%d”,k,b); } 答案:2 0 4.写出下面程序运行的结果。 main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k); } 答案:36 5.写出下面程序运行的结果。 { int a=10,y=0 ; do { a+=2 ; y+=a ; if (y>50) break ; } while (a=14) ; printf(“a=%d y=%d\n”,a,y) ; } 答案:a=16 y=60 数组部分: 1.写出下面程序的运行结果。 main ( ) 答案: { int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++) printf(“%2d”,a[i][j]) ; printf(“\n”); } } 2.写出下面程序的运行结果。 main ( ) { int i=0; char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=’\0’ && b[i]!=’\0’) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; } c[i]=’\0’; puts(c); } 答案:AQM 3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( ) { char s[80]; int i=0; gets(s); while (s[i]!=’\0’) { if (s[i]<=’z’ && s[i]>=’a’) s[i]=’z’+’a’-s[i] ; i++; 阅读程序题 【2.1】以下程序的输出结果是。 main(D ) { float a; printf("%g",a); } A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0 【2.2】下面程序的输出结果是B____。 #include { unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }//变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理。 【2.4】以下程序的输出结果是。 main(D ) { int x=10, y=10; printf("%d %d\n", x――, ――y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 【2.5】以下程序的输出结果是___B。 main() { int n=1; printf("%d %d %d\n",n,n++,n--); } // C语言在执行printf()时,对函数中的表达式表列的处理顺序是从后向前,即先处理n- -,再处理n++,最后处理n, A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1 【2.6】以下程序的输出结果是____。 main() { int x=0x02ff,y=0x0ff00; 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p C语言程序设计-----阅读程序题库及答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY- 阅读程序题 【】以下程序的输出结果是。 main(D ) { float a; printf("%g",a); } A) +00 B) C) D) 0 【】下面程序的输出结果是B____。 #include <> main( ) { int x=10; { int x=20; printf ("%d,", x); } printf("%d\n", x); } A) 10,20 B) 20,10 C) 10,10 D) 20,20 【】以下程序的输出结果是___B_。 main() { unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }s",s); } A) a book! B) a book!<四个空格》 C) a bo D) 格式描述错误,输出不确定 【】下面程序的输出结果是____。 main() { int a,b; scanf("%2d%3d",&a,&b); printf("a=%d b=%d\n",a,b); } A) a=12 b=34 B) a=123 b=45 C) a=12 b=345 D) 语句右错误 【】以下程序段的输出结果是。 int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c); A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 【】以下程序的输出结果是。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d\n",d); } A) d=10 B) d=15 C) d=20 D) d=25 【】下面程序的输出结果为。 main() C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289- 程序填空题 1、 #include } 3、 #include 北京石油化工学院12级复习题 基本输入输出 7. #include 程序控制结构(顺序,分支,循环)1. #include 第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40) 则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include 第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include 1.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果MOV A,10H (A)= 0FFH, ANL A,#01H (A)= 01H , MOV A,11H (A)= 00H , ORL A,#01H (A)= 01H , MOV A,12H (A)= 0FFH , XRL A,#01H (A)= 01H , MOV A,13H (A)= 00H , XRL A,#0AA (A)= 0A , (10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H 2.MOV 30H,#60H MOV R0,#60H MOV A,30H MOV B,A MOV @R0,B (A)= 60H ,(R0)= ,(B)= , 3.MOV SP,#60H MOV A,#01H (A)= , MOV B,#02H (B)= , PUSH A (SP)= , PUSH B (SP)= , POP A POP B (60H)= , 4.改正下列指令 MOV A,DPTR MOV DPTR,10H MOV DPTR,40H MOVX 40H,#30H ADD 20H,#10H 2.MOV A,#10H (A)= MOV B,A (B)= MOV A,B (A)= ADD A,B (A)= MOV 20H,A (20H)= INC A (A)= MOV 21H,A (21H)= INC A (A)= MOV 22H,A (22H)= 2.MOV DPTR,#2000H (DPTR)= MOV A,#80H (A)= MOVX @DPTR,A (2000H)= INC DPTR (DPTR)= MOV A,#90H (A)= 1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "stdio.h" main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*用户输入存在磁盘上的文件名*/ if((fp= ⑦(filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } while((ch=getchar())!='#') ⑧; fclose(fp); } 2.下列程序的功能是输出一个整数x的绝对值。将程序补充完整,填在空内。 #include C++程序设计练习题 一、填空题 1.对象的三大基本特性分别为多态性、( )、封装性。 2.赋值运算符应重载为( )函数。 3.用( )声明的基类称为虚基类。 4.用( )声明的函数称为虚函数。 5.派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的( )。 6.静态成员是对象的成员,( )函数不是类的成员。 7.在函数体之前加( )关键字可以防止覆盖函数改变数据成员的值。 8.一个const对象只能访问( )成员函数。 9.使用友元函数是为了提高程序效率,且节约了( )开销。 10.类名为“ClassName”的类,其拷贝构造函数的原型说明是( )。 11.由关键字private、public和protected限定成员的访问权限分别是( )、( )和( )。缺省关键字时成员的访问权限为( )。 12.如果想要公共基类在派生类中只有一个拷贝,就要将公共的基类说明为( );如果虚基类没有默认构造函数,就必须在每一个派生类的构造函数中都要调用虚基类的( )函数。 13.静态成员函数是使用关键字( )说明的成员函数。 14.一个函数的原型声明为“void FunName(int=0, double=0, char='x');”,则调用FunName函数的方法共有( )种。 15.编译时多态性是通过( )实现的;运行时多态性是通过( )实现的。 16.C++通过( )实现编译时多态性,通过( )实现运行时多态性。 17.在C++中,声明类的关键字是( )。 18.声明C++模板的关键字是( )。 19.调用函数原型声明为“void FunName(short, int=0, float=1.0);”的方法有( )种。 20.处理C++异常的方法:采用( )结构。 21.用关键字( )、( )和( )限定的成员,其访问权限分别为:公有的、私有的和保护的。缺省关键字时,成员的访问权限为( )。 22.在C++中,处理( )的方法是采用try-catch结构。 23.在C++中,用关键字( )说明内置函数。 24.在C++中,声明友元函数的关键字是( )。 25.将公共基类说明为( )时,多重派生过程中公共基类在派生类中就只有一个拷贝了。 26.在C++中,如果函数调用在前、定义在后,就必须先对函数进行( )。 27.在成员函数头之后、函数体之前加( )修饰的成员函数称为类的常成员函数。 28.包含纯虚函数的类称为抽象类,这种类只能用作( )来派生新类。由于抽象类的特殊性,我们可以说明抽象类的( ),但不能说明抽象类的( )。 29.说明函数类型为“double”、函数名为“virfun”且无参数的纯虚函数的表达形式为( )。 30.说明静态成员要使用关键字( )。 31.当函数调用在前定义在后时,必须先对函数进行( )说明。 《JA V A程序设计》复习题之(三)阅读程序题 三、程序阅读题 1.阅读以下程序 import java.io.*; public class Reverse2 { public static void main(String args[ ]){ int i,n=10; int a[] = new int[10]; try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine() ); } catch (IOException e) { }; for (i= n-1; i >= 0; i=i-2) System.out.print(a[i]+" "); System.out.println(); } } 请写出该程序的功能: 该程序使用字符缓冲输入流从键盘输入10个数,然后倒序并间隔打印出来。 2.阅读以下程序 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[] = { 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120 }; for ( i = 0 ; i< a.length ; i++ ) if (i % 3 == 0) s += a[i]; System.out.println("s=" + s); } } 请写出该程序的输出结果: s=260 3、阅读以下程序: import java.io.*; public class TestRandomAccess { public static void main(String args[]) { int data_arr[]={65,66,56,23,27,1,43,65,4,99}; try { RandomAccessFile randf=new RandomAccessFile("temp.dat","rw"); for (int i=0; i 模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0; while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况 #include 数不得多于或少于20。 请改正程序中的4个错误,使它能得出正确的结果。 -------------------------------------------------------- 答案: =======(答案1)======= printf("%8.0f",f1); =======(答案2)======= for(i=1;i<20;i++) =======(答案3)======= f1=f2; =======(答案4)======= f2=f3; 题目:要求输出结果为: A,B 65,66 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 答案 n>0 i=2 r=n%i n=n/i 题目:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄) 答案: =======(答案1)======= 【程序填空】 功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 len=length(str ...); I.nt length ........(p) N.++..; P.++..; 【程序改错】 功能:将一个字符串中的大写字母转换成小写字母。 bool (char) ......fun(char *c) fun= c;(return *c) .......... puts(*p);(putchar(*p)) ............. 【程序设计】 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #includeJava复习题阅读程序题_软件
C语言程序的设计填空题及答案复习用
程序阅读及填空(答案)
C语言程序设计阅读程序题库及答案
C语言程序设计程序填空题库及答案
C语言程序设计-----阅读程序题库及答案
C语言程序填空题及答案
基本阅读程序题及答案
模块化程序设计练习题及答案
c语言程序填空题完整
-程序填空部分试题及答案
阅读程序题10分
程序填空题
C++程序设计练习题与答案
Java复习题(三)阅读程序题_软件
循环程序设计习题及答案
程序填空
c语言程序填空(含答案)