(含答案)程序设计基础与语言_复习提纲2014-2015-2- 下载本文

; //此处循环为空循环,当y--表达式为0时,跳出循环;y=-1.

printf(\ } 3.10

#include #define PT 3.5 #define S(x) PT*x*x int main() {int a=1,b=2;

printf(\ return 0; } 3.11

#include main()

{ int a=6, b=0, c=0;

1○4 for ( ;a&&(b==0); ) ○

//将a+b替代x再计算3.5*a+b*a+b = 7.5

{

2 b += a; ○3 a -= c++;○

}

printf(\

}

16&&(0==0)为真,进入循环. ○

2b=0+6=6 ○3a=6-c++=6-0=6, c=1 ○

46&&(6==0)为假,跳出循环,输出结果。 ○

3.11

#include

main()

{ int a=1,b=2,c=3,d=0;

1(1==1 && 2==2) 成立,b=3,执行语句 ○2 if (a==1 && b++==2) //○

23!=2 表达式为真,造成||短路,执行语句○3. if (b!=2||c--!=3) ○

printf(\

else

3 printf(\○

else

printf(\

} 3.12

#include main()

{ int a=1,b=2,c=3,d=4;

if ((a=2) || (b=1)) //a=2表达式为真,造成||短路,即不对b赋值1。

c=2;

if ((c==3) && (d=-1) //2==3假.造成&&短路,即不对d赋值-1.

a=5;

printf(\

} 3.13

#include main()

{ int a=1,b=2,c=3,d=4;

1 if ((a=2) && (b=1)) //a=2真,b=1真,执行语句○

1 c=2; ○

2 if ((c==3) || (d=-1)) //2==3假 d=-1 真,执行语句○

2 a=5; ○

printf(\

}

3.14

func(a,b) int a,b;

{ static int m=0,i =2;

2○5 i+=m+1;○3 m=i+a+b;○

return(m); } main()

1 { int k=4,m=1,p;○

4 p=func(k,m); ○

printf(“%d”,p);

6 p=func(k,m); ○

printf(“%d\\n”,p); }

1k=4,m=1 ○2i=i+m+1=2+0+1=3 ○3m=3+4+1=8 ○4p=8,输出 ○

5i=i+m+1=3+8+1=12 ,m=12+4+1=17○6p=17,输出. ○

3.16

#include void main( void ) { char ss[20]; int i;

gets(ss);

for( i=0; ss[i]!='\\0'; i++)

if( ss[i]>='A' && ss[i]<='Z') //将大写字母替换为对应的小写字母 ss[i] = ss[i]+32 ; puts(ss);

} 3.17

#include void main(void)

{ int a[10]={78,89,98,66,54,76,45,82,62,95 }; int ka, ki, j; ka = ki = 0; for(j=1; j<10; j++) {

if ( a[ki]>a[j] ) ki=j ; // a[ki]存储的是最小值

if (a[ka]

printf(“%d, %d\\n %d, %d\\n”, ki, a[ki], ka, a[ka] );//2,98,6,45 } 6.1

# include int main(void) { int i; float temp, a, b, s; a = 2; b = 1; s = 0; for(i=0; i<20; i++) { s += a / b; temp = a; a += b; b = temp; } printf(\结果为%.4f\\n\ return 0; }

6.2 /*

2.采用do??while语句实现计算并输出s=1+2+3+??+100 */

# include int main(void) {

int i,s; i=100; s=0;