C语言练习题(带详解答案) 下载本文

执行printf(\因此屏幕上输出8 13

执行if语句。3%2不为0,if语句的条件表达式不成立,不执行printf(\执行x1=x1+x2=8+13=21;此时x1中的值已变为21 执行x2=x2+x1=21+13=34。

转向表达式3,执行i++, i为4。循环条件i<=4成立,进入第4次循环 第2次循环

执行printf(\因此屏幕上输出21 34

执行if语句。4%2==0,if语句的条件表达式成立,执行printf(\换行 执行x1=x1+x2=21+34=55;此时x1中的值已变为55 执行x2=x2+x1=34+55=89。

转向表达式3,执行i++, i为5。循环条件i<=4不成立,结束循环 20

#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

21.

#include #define N 4 main( )

{ int i,j;

for(i=1;i<=N;i++) { for(j=1;j

运行结果为: * *

* *

详见教材P41符号常量

用宏处理指令定义符号常量N为4,在编译过程中,遇到N即视为整数4。

外层for循环,表达式1为i=1,表达式2(循环条件)为i<=N,表达式3为 i++ 内层for循环,表达式1为j=1,表达式2(循环条件)为j

首先计算外层循环的表达式1,i为1,使得循环条件i<=4成立,进入外层for循环体

外层for循环第1次 此时i为1

内层循环j=1,使得循环条件j

执行printf(\换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为2. 使得循环条件i<=4

成立,再次进入外层for循环体

外层for循环第2次 此时i为2

内层循环j=1,使得循环条件j

第1次执行内层循环体printf(\

执行内层循环表达式3,j++为2,j

执行printf(\

执行printf(\换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为3. 使得循环条件i<=4

成立,进入外层for循环体

外层for循环第3次 此时i为3

内层循环j=1,使得循环条件j

第1次执行内层循环体printf(\

执行内层循环表达式3,j++为2,j

执行内层循环表达式3,j++为3,j

执行printf(\

执行printf(\换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为4. 使得循环条件i<=4

成立,进入外层for循环体

外层for循环第4次 此时i为4

内层循环j=1,使得循环条件j

第1次执行内层循环体printf(\

执行内层循环表达式3,j++为2,j

执行内层循环表达式3,j++为3,j

执行内层循环表达式3,j++为4,j

执行printf(\

执行printf(\换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为5. 使得循环条件i<=4

不成立,跳出外层for循环体

数组 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

详见p143-146. 例题6.1一定看懂!

首先定义整型变量i,整型数组a, a的长度为10,即a中包含10个整型元素(整型变量) 执行for循环语句

初值i=9, 使得循环条件i>=0成立,执行循环体 第1次循环

执行a[i]=10-i 等价于a[9]=10-9=1

计算表达式3,即i--,i为8,使得循环条件i>=0成立,继续执行循环体 第2次循环

执行a[i]=10-i 等价于a[8]=10-8=2

计算表达式3,即i--,i为7,使得循环条件i>=0成立,继续执行循环体 第3次循环

执行a[i]=10-i 等价于a[7]=10-7=3

计算表达式3,即i--,i为6,使得循环条件i>=0成立,继续执行循环体 第4次循环

执行a[i]=10-i 等价于a[6]=10-6=4

计算表达式3,即i--,i为5,使得循环条件i>=0成立,继续执行循环体 第5次循环

执行a[i]=10-i 等价于a[5]=10-5=5

计算表达式3,即i--,i为4,使得循环条件i>=0成立,继续执行循环体 第6次循环

执行a[i]=10-i 等价于a[4]=10-4=6

计算表达式3,即i--,i为3,使得循环条件i>=0成立,继续执行循环体 第7次循环

执行a[i]=10-i 等价于a[3]=10-3=7

计算表达式3,即i--,i为2,使得循环条件i>=0成立,继续执行循环体 第8次循环

执行a[i]=10-i 等价于a[2]=10-2=8

计算表达式3,即i--,i为1,使得循环条件i>=0成立,继续执行循环体 第9次循环

执行a[i]=10-i 等价于a[1]=10-1=9

计算表达式3,即i--,i为0,使得循环条件i>=0成立,继续执行循环体 第10次循环

执行a[i]=10-i 等价于a[0]=10-0=10

计算表达式3,即i--,i为-1,使得循环条件i>=0不成立,跳出循环体 2.

#include main()

{ int i,a[6];

for (i=0; i<6; i++)

a[i]=i;

for (i=5; i>=0 ; i--)

printf(\

}

运行结果为:

5 4 3 2 1 0

首先定义整型变量i,整型数组a, a的长度为6,即a中包含6个整型元素(整型变量) 执行第一个for循环语句

初值i=0, 使得循环条件i<6成立,执行循环体 第1次循环

执行a[i]= i 等价于a[0]=0

计算表达式3,即i++,i为1,使得循环条件i<6成立,继续执行循环体 第2次循环

执行a[i]= i 等价于a[1]=1

计算表达式3,即i++,i为2,使得循环条件i<6成立,继续执行循环体 第3次循环

执行a[i]= i 等价于a[2]=2

计算表达式3,即i++,i为3,使得循环条件i<6成立,继续执行循环体 第4次循环

执行a[i]= i 等价于a[3]=3

计算表达式3,即i++,i为4,使得循环条件i<6成立,继续执行循环体 第5次循环

执行a[i]= i 等价于a[4]=4

计算表达式3,即i++,i为5,使得循环条件i<6成立,继续执行循环体 第6次循环

执行a[i]= i 等价于a[5]=5

计算表达式3,即i++,i为6,使得循环条件i<6不成立,结束循环