当前位置:文档之家› 基本阅读程序题及答案

基本阅读程序题及答案

基本阅读程序题及答案
基本阅读程序题及答案

北京石油化工学院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

Java复习题阅读程序题_软件

《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); } } }

C语言程序的设计填空题及答案复习用

导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #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); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ①; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;pamax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数, 所得的二进制数放在一个一维数组中返回,二进制数的 最低位放在下标为0的元素中。 fun(int x,int b[]) { int k=0,r; do { r=x% ①; b[k++]=r; x/= ②; }while(x); } 【3.8】下面程序的功能是输出1到100之间每位数的乘 积大于每位数的和的数。例如数字26,数位上数字的乘 积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; ①; while( ② ) 页脚

程序阅读及填空(答案)

一.程序阅读题 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++;

C语言程序设计阅读程序题库及答案

阅读程序题 【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 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 【2.3】以下程序的输出结果是___B_。 main()

{ 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;

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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语言程序设计-----阅读程序题库及答案

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语言程序填空题及答案

C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

程序填空题 1、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++; _____2_____; n=n/10 } printf("%d\n",k); } 2、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max);

} 3、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、 #include void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= ______1______; // m%2

基本阅读程序题及答案

北京石油化工学院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

模块化程序设计练习题及答案

第四章模块化程序设计练习题及参考答案 一、填空题 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)只用当实参和与其对应的形参同名时才共占用存储单元。

c语言程序填空题完整

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #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); }

【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

-程序填空部分试题及答案

第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include main() { long int f,s; int i,j,n; /***********SPACE***********/ 【?】; scanf("%d",&n); /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】; s=s+f; } printf("n=%d,s=%ld\n",n,s); } 第2题./*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序是用选择法对10个整数按升序排序。 -------------------------------------------------------*/ #include /***********SPACE***********/ 【?】 main()

阅读程序题10分

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 main() { int x, ①; scanf("%d",&x); y= ②; printf("%d\n",y); } 3.下列程序的功能是输出1~100之间能被7整除的所有整数。将程序补充完整,填在空内。 main() { int i; for(i=1; ③;i++) { if(i%7) ④; printf("%d ",i); } } 4.以下程序用以删除字符串中所有的空格,请填空。 main() { char s[100]={"Our teacher teach C language!"}; int i,j; for(i=j=0;s[i]!= '\0';i++) if(s[i]!= ' ') { ⑤;j++;} s[j]= ⑥; printf("%s\n",s); } 5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。 struct man

C++程序设计练习题与答案

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.当函数调用在前定义在后时,必须先对函数进行( )说明。

Java复习题(三)阅读程序题_软件

《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 #include /***********SPACE***********/ double f(【?】) { /***********SPACE*********** 答案: =======(答案1)======= float x =======(答案2)======= double y =======(答案3)======= x<=2 =======(答案4)======= return y 题目:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序 每五个元素求一个平均值, 并将该值存放在数组w中。 程序中有4个空,填空使程序完整。 答案: =======(答案1)======= s[i]=k; =======(答案2)======= if( ( i + 1 )%5 == 0 ) =======(答案3)======= sum=0; =======(答案4)======= fun2(s,w); 五、程序改错共1题(共计6分) 第1题(6.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目:函数fun的功能是:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项

数不得多于或少于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)=======

c语言程序填空(含答案)

【程序填空】 功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 len=length(str ...); I.nt length ........(p) N.++..; P.++..; 【程序改错】 功能:将一个字符串中的大写字母转换成小写字母。 bool (char) ......fun(char *c) fun= c;(return *c) .......... puts(*p);(putchar(*p)) ............. 【程序设计】 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include void wwjt(); void swap(int *a,int *b) { /**********Program**********/ /********** End **********/ } main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(xn2 .....)

相关主题
文本预览
相关文档 最新文档