2021年C语言练习题.docx
读程序,写成果1.#include <stdio. h>main() int a=l, b=4, c=6if (c=a+b)printf("truenn);elseprintf("falsen");)运行成果为:false=示意判断符号两边的值是否相等:=示意将符号右边的值赋给左边的变量本题考点是 挑选结构3种根基形式的第二种挑选结构三种样形式中的“语句皆为复合语句,复合语句要用括起来,只有当复 合语句中只包罗一条语句时可以省略 ,此题即如此,是以两个printf操纵没有加若 c=a+b 成立,则执行 printf("truen");否则(即c=a+b不成立),执行printf("fn");+的 优先级髙于=,是以先算a+b,值为5, 表达式5=6不成立,是以执行 printfCfakeW);即输出字符串false2.#include <stdio. h>main() int a=12, b= -34, c=56, min=O;min=a;if(min>b)min=b;if(min>c)min=c;printf(Hmin=%dH, min);)运行成果为:min=-34本题考点是 挑选结构3种根基形式的第一种共包含了两个挑选结构(两个if语句) 定义变量,并赋值此时a=12, b= -34, c=56, min=O 将a中值拷贝,赋给min,覆盖了 min中的0,此时min中的值被更新为12。若min>b成立,则执行min二b;若min>c成立,则执行min=c;输出min中的值12大于34,第一个if语句的表达式成立,是以执行min=b;执行后min中的值被更新为 -34.34小于56,第二个if语句的表达式不成立,是以不执行min二c;末了输出min中的值,为-34.3.#include <stdio. h>main() int x=2, y= -1, z=5;if(x<y)if(y<0)z=0;elseprintf("%drr, z);运行成果为:5遇到挑选结构,起首要明白前提表达式成立时执行哪些操纵。本题中,第一个if语句, 其后的复合语句没有大括号( 说明复合语句中只包含一条语句,进而省略了。内层 的if.else.是 挑选结构的第二种根基形式,在 结构上 视为一条语句。是以内层 的if.else. .作为 第一个if语句的 复合语句。若表达式x<y成立,则继续判断若y<0,则执行z=0;否则(即y>=0),执行z=z+l;输出z2>-1,表达式x<y不成立,是以不执行内层的ifelse.进而z中的值没有被改变。输出z中的值为54.#include <stdio. h>main() float a, b, c, t;a=3;b=7;c=l;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(H%5. 2f, %5. 2f, %5. 2f*, a, b, c);运行成果为:1.00,2.00,7. 00本题包含了 3个if语句,每个if语句后的(都不可省略,因为每个1中都包含了多条 语句若表达式a>b成立,则执行(仁a;a=b;b=t;若表达式a>c成立,则执行t=a;a=c;c=t;l若表达式b>c成立,则执行(匸b;b=c;c=l;输出a, b, c中的值, 对齐要求输出的每个数据宽度为5个空格,小数部分保留2位,数据右3小于7,是以表达式a>b不成立,是以不执行t二a;a二b;b=t;3大于1,是以表达式a>c成立,则执行t二a;a二b;b二t;。第一句,将a中的3拷贝,粘 贴到I中;第二句,将c中的1拷贝,粘贴到a中,覆盖掉先前的3:第三句。将t中的 3拷贝到c中,覆盖掉c中先前的1.执行完复合语句后实现了 a, c元素的值的交流,a 为1, c为3, t为3。大于c中的3,是以b>c成立,执行则执行t=b;b=c;c=t;,过程同上,执行后b为3, c为7, I为7此时输出a, b, c中的 值为1. 00,2. 00,7. 005.#include < stdio . h > main () float c=3. 0 , d=4. 0;if ( c>d ) c=5. 0;elseif ( c=d ) c=6. 0;else c=7.0;printfC6%. IfXnc);)运行成果为:7. 0此题为if. else.语句的 嵌套,第二if. else.作为 第一个if. else.语句else部 分的复合语句。若表达式c>d成立,则执行c=5.0;否则(表达式c>d不成立)若表达式c=d成立,则执行c=6. 0;否则,执行c=7. 0;输出c中的值3. 0小于4. 0,是以表达式c>d不成立,执行第二个ifelse。3.0不等于4.0,是以表达式c=d不成立,执行c=7.0,将7.0赋给c,覆盖掉c中的3.0,此时c中的值为7.0输出此时的c中的值6.#include <stdio. h>main()int m;scanf(M%dM, &m);if(m >= 0)if (m%2 = 0) printf(H%d is a positive evennn, m);else priniir'%d is a positive oddnM, m); | else if (m % 2 = 0) printf("%d is a negative evennu, m);else printf(0%d is a negative oddn", m);若键入9,则运行成果为:-9 is a negative odd7.#include <sldio. h> main() ini num=0; while(num<=2) num+; printf(M%dn' num) ; 运行成果为:当循环前提numv=2成立的时辰,执行循环体 num+; prinlf("dn”, num) ; )中的 语句。循环初值num为0;循环前提num<=2成立第1次循环:执行num+;即将num中的 值加1,执行后num为!;执行prinlf("dn”, num);在 屏幕上 输出num中的 值,即输出I,之后换 行此时num中的 值为1,循环前提num<=2成立第2此循环:执行num+;即将num中的 值加!,执行后num为2;执行printf("dn”, num);在屏幕上输出num中的值,即输出2,之后换 行此时num中的值为2,循环前提num<=2成立第3此循环:执行num+;即将num中的值加1,执行后num为3;执行prinlf("dn”, num):在屏幕上输出num中的值,即输出3,之后换 行此时num中的值为3,循环前提num<=2不成立,结束循环。#include <stdio. h> main() int sum=10, n=l;while(n<3) sum=sum-n; n+; )printf(t%d, %d", n, sum);)运行成果为:3, 7当循环前提n<3成立的时辰,执行循环体sum=sum-n; n+; 中的语句。循环初值sum为10, n为1;循环前提n<3成立第 ! 次循环:执行 sum=sum-n=10-l=9;执行n+,即将n中的值加1,执行后n为2;此时n中的值为2, sum中的值为9,循环前提n<3成立,继续执行循环第2次循环:执行sum=sum-n=9-2=7:执行n+,即将n中的值加1,执行后n为3; 输出此时n, sum中的值,即为3,70需要注重,在printf(kt%d, %dM, n, sum);中要求输 出的数据彼此间用逗号间隔,是以成果的两个数据间必然要有逗号9.#include <stdio. h>main() int num, c;scanf("%d", &num);do c=num%10; printf(,%d", c); while(num/=10) >0);printf(nnn);1从键盘输入23,则运行成果为:32do while(表达式);先无前提执行循环体,再判断循环前提。注重while (表达式)后有分号定义整型变量num, c;为num赋一个整型值;执行(c二num%10; printf(n%d", c); )直到循环前提(num/=10) >0 不成立;输出换行已知为num赋值23第1次执行循环体执行 c=num% 10=23% 10=3;执行 printf("%d", c);输出 3判断循环前提num/=10等价于num=num。;是以num=230=2, 2大于0,是以循环前提 (num/=10) >0成立,继续执行循环体。执行完第1次循环时,num为2, c为3第2次执行循环体执行 c=2%10=2;执行 printf("%d", c);再输出 2判断循环前提num=20=0,0等于,是以循环前提(num/=10) >0不成立。结束循环10#include <stdio. h> main() int s=0, a=5, n;scanf("d”,&n);do s+=l; a=a-2; while(a!=n);printf(H%d, %dnH, s, a);)若输入的值1«运行成果为:2, 1执行 s+=l; a=a-2; 直到循环前提a!=n不成立;已知为n赋值l,s为0, a为5第1次执行循环体执行s+=l;等价于s=s+1 =0+1执行 a=a-2; a=5-2=3判断循环前提,3不等于!,是以循环前提a!=n成立,继续执行循环体。执行完第1次循环时,s为1, a为3第2次执行循环体执行 s+=l;等价于 s=s+l=l+l=2执行 a=a-2; a=3-2= 1判断循环前提,1等于1,是以循环前提a!=n不成立,结束循环。执行完第2次循环时,s为2, a为1输出此时s, a中的值,成果为2, 111.include Mstdio. h"main()chare;c=getchar();while©='?')putchar(c); c=getchar(); 1参加从键盘输入abede? fgh (回车)运行成果为:abede12.#include <stdio. h>main() char c;while(c=getchar() !='$') ifCA'v=c&&cv='Z') putchar(c);else ifi('a'v=c&&cv='z') putchar(c-32); 当输入为ab*AB%cd#CD$时,运行成果为:ABABCDCD13.#include <stdio. h>main() int x, y =0;for(x=l;x<=10;x+) if(y>=10)break;y=y+x;printfC'%d %d”, y, x);运行成果为:105for(表达式1;表达式2;表达式3)(1)先求解表达式1(2)求解表达式2.若其值为真,执行循环体,然后执行(3).若为假,则结束循环, 转到(3)求解表达式3(4)转回上面继续执行(5)循环结束,执行for语句下面的个语句break,跳出循环体;continue,结束本次循环(第i次循环),继续执行下一次循环(第i+1 次循环)此题表达式1为x=l,表达式2 (循环前提)为x<=10,表达式3为x+初值x为1, y为0,循环前提(即表达式2) x<=10成立,进入循环体第1次循环执行if语句。小于10, if语句的 前提表达式不成立,不执行break;执行 y=y+x; y=O+l=l转向表达式3,执行x+, x=x+l=l+l=2o循环前提x<=10成立,进入第2次循环第2次循环执行if语句。1小于10, if语句的前提表达式不成立,不执行break;执行 y=y+x;y=l+2=3转向表达式3,执行x+, x=x+2+1=3。循环前提x<=10成立,进入第3次循环第3次循环执行if语句。3小于10, if语句的前提表达式不成立,不执行break;执行 y=y+x; y=3+3=6转向表达式3,执行x+,x=x+l=3+l=4。循环前提x<=10成立,进入第4次循环第4次循环执行if语句。6小于10, if语句的前提表达式不成立,不执行break;执行 y=y+x;y=6+4=10转向表达式3,执行x+,x=x+l=4+l=5。循环前提x<=10成立,进入第5次循环执行if语句。10等于10, if语句的 前提表达式成立,执行break,跳出循环。从break跳出至for语句的 下一条语句。执行printf("%d %d”, y, x);输出当前的y与x.成果为!0514.#include<stdio. h>main() char ch;ch=getchar();switch(ch) case 'A': printf(“c",'A');case 'B': printfC'%c", 'B'); break;default: printfC%siT, “other");) )当从键盘输入字母A时,运行成果为:ABswitch (表达式)case常量1 :语句1case常量2 :语句2case常量n :语句ndefault :语句 n+1其中表达式,常量1常量n都为整型或字符型case相当于给出执行程序的入口和起始位置,若找到匹配的常量,则从此处最先往下执 行程序,不再匹配常量,直至遇到break或switch结束本题过程:起首从键盘接收个字符A,并将其放在变量ch中。执行switch语句。Switch背面的前提表达式为ch,是以表达式的值即为字符A: 用字符'依次与下面的case中的常量匹配。与第1个case后的常量匹配,则从其后的语句最先往下执行程序(在执行过程中不 再进行匹配。)是以先执行printf("%c", 'A'),屏幕上输出A!再往下继续执行 printf("c”, B),屏幕上 输出B:再继续执行break, 此时跳出switch语句。#include <stdio. h>main() int a=l, b=0;scanf("%d”, &a);switch(a) case 1: b=l ; break;case 2: b=2; break;default: b=10; printf(M%db);)若键盘输入5,运行成果为:10本题过程:起首用scanf函数为 变量a赋值为5.执行switch语句。switch背面的前提表达式为a,是以表达式的值即为5.用5依 次与下面case中的常量匹配。没有找到匹配的常量,是以两个case后的语句都不执 行。执行default背面的语句b= 10:将10赋给变量b。输出变量b,成果为!0#inciude <stdio. h>main() _ char grade=,C,;switch(grade)case 'A': printf(“90100n”);case 'B': print.“8090n");case C: printf(“70-80n");case D: printf(“60-70n”); break;case 'E': printf(“<60n");default: printf("error!n'');)运行成果为:70-8060-70本题过程:起首从键盘接收个字符C并将其放在变量grade中。执行switch语句。switch背面的前提表达式为grade,是以表达式的值即为字符,C. 用字符C依次与下面的case中的常量匹配。与第3个case后的常量匹配,则从其后的语句最先往下执行程序(在执行过程中不 再进行匹配。)是以先执行printfir70-80n");,屏幕上输出70-80,并换行;再往下继续 执行printf(“60-70n"),屏幕上输出60-70,并换行;再继续执行break, 此时跳出switch 语句。17.#include <stdio. h>main() int y=9;for(;y>0;y-)if(y%3=0) print食d”, -y);I运行成果为:852此题表达式1被省略,表达式2 (循环前提)为y>0,表达式3为y- 初值y为9,循环前提(即表达式2) y>0成立,进入循环体第1次循环执行if语句。9%3=0, if语句的前提表达式成立,执行printq%d”, -y),即y先 自减1变为8,然后在输出,是以屏幕上输出8转向表达式3,执行y-,y=y-l=8-l=7«循环前提y>0成立,进入第2次循环第2次循环执行if语句。%3不为, if语句的前提表达式不成立,不执行printf(%d”, -y)转向表达式3,执行y-,y=y-l=7-l=6。循环前提y>0成立,进入第3次循环第3次循环执行if语句。6%3=O, if语句的 前提表达式成立,执行print出d”, -y),即y先 自减1变为5,然后在输出,是以屏幕上输出5转向表达式3,执行y-,y=y-l=5-l=4«循环前提y>0成立,进入第4次循环第4次循环执行if语句。4%3不为0, if语句的前提表达式不成立,不执行printf(%d", y)转向表达式3,执行y-,y=4-l=3o循环前提y>0成立,进入第5次循环第5次循环执行if语句。3%3=O, if语句的前提表达式成立,执行printfi(%d",y),即y先 自减1变为2,然后在输出,是以屏幕上输出2转向表达式3,执行y, y=y-l=2-l=lo循环前提y>0成立,进入第5次循环第6次循环执行if语句。1%3不为0, if语句的 前提表达式不成立,不执行printf(%d",-y)转向表达式3,执行y-, y=l-l=0o循环前提y>0不成立,循环结束。18.#include <stdio. h>main() int i, sum=0; i=l;do sum=sum+i; i+; while(i<=10);printfi("d'', sum);运行成果为:5519.#include <stdio. h>#define N 4main() int i;int xl=l, x2=2;printfC'nM);for(i=l;i<=N;i+) printf(n%4d%4dn, xl,x2);if(i%2=0)printf(,nM);xl=xl+x2;x2=x2+xl;运行成果为:1235813 21 34此题 起首为整型变量赋初值xl=l,x2=2表达式1为i=l,表达式2 (循环前提)为i<=N即i<=4,表达式3为i+循环变量初值i为1,循环前提(即表达式2) i<=4成立,进入第1次循环第1次循环执行printf("%4d%4d", xl, x2);是以屏幕上 输出12执行if语句。1%2不为0, if语句的前提表达式不成立,不执行printf("n");执行xl=xl+x2=l+2=3;此时xl中的 值已变为3执行 x2=x2+xl =2+3=5。转向表达式3,执行i+, i为2。循环前提i<=4成立,进入第2次循环第2次循环执行printf("%4d%4d", xl,x2);是以屏幕上 输出35执行if语句。2%2=0, if语句的前提表达式成立,执行printf("n");换行执行xl=xl+x2=3+5=8;此时xl中的 值已变为8执行 x2=x2+x 1 =5+8=13 转向表达式3,执行i+, i为3。循环前提i<=4成立,进入第3次循环第3次循环执行printf("%4d%4d", xl, x2);是以屏幕上 输出813执行if语句。3%2不为0, if语句的前提表达式不成立,不执行printf("n");执行xl=xl+x2=8+13=21;此时xl中的 值己变为21执行 x2=x2+xl=21 + 13=34。转向表达式3,执行i+, i为4。循环前提i<=4成立,进入第4次循环第2次循环执行printf("%4d%4d", xl, x2);是以屏幕上 输出2134执行if语句。4%2=0, if语句的前提表达式成立,执行printf("n");换行执行xl=xl+x2=21+34=55;此时xl中的 值已变为55执行 x2=x2+x 1=34+55=89。转向表达式3,执行i+, i为5。循环前提i<=4不成立,结束循环20#include <stdio. h>main() inty;for(x=30, y=0; x>=10, y<10; x-, y+) x/=2, y+=2;printfTx=%d, y=%dn”, x, y);)运行成果为:x=0, y=1221.#include <stdio. h>#define N 4main() int i,j;for(i=l;i<=N;i+) fbr(j=l;j<i;j+)printff H);printfC*");)运行成果为:*用宏处理指令定义符号常量N为4,在编译过程中,遇到N即视为整数4。外层for循环,表达式1为i=l,表达式2(循环前提)为i<=N,表达式3为i+内层for循环,表达式1为j=l,表达式2(循环前提)为j<i, 表达式3为j+起首计算外层循环的表达式1, i为1,使得循环前提i<=4成立,进入外层for循环体外层for循环第1次 此时i为1内层循环j=l,使得循环前提j<i不成立,是以不执行内层循环体(不输出空格)执行 printf("*");执行 printf("n");换行至此外层循环体执行完,计算外层循环的表达式3, i+,此时i为2.使得循环 前提i<=4成立,再次进入外层for循环体外层for循环第2次此时i为2内层循环j=l,使得循环前提j<i成立第1次执行内层循环体printf("");执行内层循环表达式3, j+为2, j<i不成立,跳出内层循环执行 printf("*");执行 printf("n");换行至此外层循环体执行完,计算外层循环的表达式3, i+,此时i为3.使得循环 前提i<=4成立,进入外层for循环体外层for循环第3次此时i为3内层循环j=l,使得循环前提j<i成立第1次执行内层循环体printf("");执行内层循环表达式3, j+为2, j<i成立,再次执行内层循环第2次执行内层循环体printf("");执行内层循环表达式3, j+为3, j<i不成立,跳出内层循环执行 printf("*");执行 printf("n");换行至此外层循环体执行完,计算外层循环的表达式3, i+,此时i为4.使得循环 前提i<=4成立,进入外层for循环体外层for循环第4次此时i为4内层循环j=l,使得 循环前提j<i成立第1次执行内层循环体printf("");执行内层循环表达式3, j+为2, j<i成立,再次执行内层循环第2次执行内层循环体printf("");执行内层循环表达式3, j+为3, j<i成立,再次执行内层循环第3次执行内层循环体printf("");执行内层循环表达式3, j+为4, j<i不成立,跳出内层循环执行 printf("*");执行 printf("n");换行至此外层循环体执行完,计算外层循环的表达式3, i+,此时i为5.使得循环 前提i<=4不成立,跳出外层for循环体21.#include <stdio. h>main() int i, a10;for(i=9;i>=0;i)ai=10-i;prin氓"d%d%d”, a2, a5, a8);运行成果为:852起首定义整型变量i,整型数组a, a的 长度为10,即a中包含10个整型元素(整型变 量)执行for循环语句初值i=9,使得循环前提i>=0成立,执行循环体第1次循环执行a=10-i等价于a9=10-9=l计算表达式3,即i-, i为8,使得循环前提i>=0成立,继续执行循环体第2次循环执行 ai=10-i 等价于 a8=10-8=2计算表达式3,即i-, i为7,使得循环前提i>=0成立,继续执行循环体第3次循环执行 ai=10-i 等价于 a7=10-7=3计算表达式3,即i-,i为6,使得循环前提i>=0成立,继续执行循环体第4次循环执行 ai=10-i 等价于 a6=10-6=4计算表达式3,即i-, i为5,使得循环前提i>=0成立,继续执行循环体第5次循环执行a=10-i等价于a5=10-5=5第6次循环执行 ai=10-i 等价于 a4=10-4=6计算表达式3,即i-,i为3,使得循环前提i>=0成立,继续执行循环体第7次循环执行 ai=10-i 等价于 a3=10-3=7计算表达式3,即i-, i为2,使得循环前提i>=0成立,继续执行循环体第8次循环执行ai=10-i等价于a=10*2=8计算表达式3,即,i为1,使得循环前提i>=0成立,继续执行循环体第9次循环执行 ai=10-i 等价于 al=10-l=9计算表达式3,即i-, i为0I使得循环前提i>=0成立,继续执行循环体第10次循环执行 ai=10-i 等价于 a0=10-0=10计算表达式3,即,i为1,使得循环前提i>=0不成立,跳出循环体22.#include <stdio. h> main() int i, a6;for (i=0; i<6; i+)ai=i;for (i=5; i>=0 ; i-)printf("%3d", ai);运行成果为:5 4 3 2 10起首定义整型变量i,整型数组a, a的长度为6,即a中包含6个整型元素(整型变量)执行第一个for循环语句初值i=0,使得循环前提i<6成立,执行循环体第1次循环执行ai= i等价于a0=0计算表达式3,即i+, i为1,使得循环前提i<6成立,继续执行循环体第2次循环执行ai=i等价于al=l第3次循环执行ai=i等价于a=2计算表达式3,即i+, i为3,第4次循环执行ai=i等价于a3=3计算表达式3,即i+, i为4,第5次循环执行ai= i等价于a4=4计算表达式3,即i+, i为5,第6次循环执行ai=i等价于a5=5计算表达式3,即i+, i为6,执行第二个for循环语句初值i=5,使得 循环前提i>=0成立,第1次循环使得 循环前提i<6成立,使得循环前提i<6成立,继续执行循环体继续执行循环体使得 循环前提i<6成立,继续执行循环体使得循环前提i<6不成立,结束循环执行循环体执行 printf("%3d", ai);即输出 a5的 值第2次循环执行 printf("%3d", ai);即输出 a4的值计算表达式3,即i-,i为3,使得循环前提i>=0成立,继续执行循环体第3次循环执行 printf("%3d", ai);即输出 a3的 值计算表达式3,即i-, i为2,使得循环前提i>=0成立,继续执行循环体第4次循环执行printf("%3d", ai);即输出a的值计算表达式3,即,i为1,使得循环前提i>=0成立,继续执行循环体第5次循环执行 printf("%3d”, ai);即输出 al的 值计算表达式3,即i-, i为0I使得循环前提i>=0成立,继续执行循环体第6次循环执行 printf("%3d", ai);即输出 a0的 值计算表达式3,即,i为6,使得循环前提i>=0不成立,结束循环23.#include <stdio. h> main() int i, k, a10,p3;k=5;for(i=0; i<10; i+)ai=i;for(i=0; i<3; i+)pi=ai*(i+l);for(i=0; i<3; i+)k+=pi*2;printf(H%dn k);)运行成果为I21起首定义整型变量i, k,整型数组a, a的长度为10,整型数组p, p的长度为3k初值为5第一个for循环语句为 数组a进行初始化执行完第一个 for 语句后,a0=0, al=l, a2=2, a3=3, a4-4, a5-5, a6=6, a=7, a8=8, a网=9(循环过程略)第二个for循环语句为数组p进行初始化 初值i=0,使得循环前提i<3成立,执行循环体第1次循环执行 pi=ai*(i+l);即 p0=a0*(0+l) =a0=0计算表达式3,即i+, i为1,使得循环前提i<3成立,继续执行循环体第2次循环执行 pi=ai*(i+l);即 pl=al*(l+l) =a2=2计算表达式3,即i+, i为2,使得循环前提i<3成立,继续执行循环体第3次循环执行 pi=ai*(i+l);即 p2=a2*(2+l) =a6=6计算表达式3,即i+, i为3,使得循环前提i<3不成立,结束循环第三个for循环语句初值i=0,使得循环前提i<3成立,执行循环体第1次循环执行 k+=pi*2;即 k=5+pO*2=5+O=5计算表达式3,即i+, i为1,使得循环前提i<3成立,继续执行循环体第2次循环执行 k+=pi*2;即 k=5+p 1 *2=5+2*2=9计算表达式3,即i+, i为2,使得循环前提i<3成立,继续执行循环体第1次循环执行 k+=pi*2;即 k=9+p2*2=9+6*2=21计算表达式3,即i+, i为3,使得循环前提i<3不成立,结束循环24.#include <stdio. h>int m33=l,2,3);int n33=l,2,3);main() printf(“d, ”, mL0+n00);printfT%dn”, mOl+nlO);1运行成果为:3,0起首定义整型二维数组m, m为3行,3列的二维矩阵,并对其以行的形式初始化mOO=lml0=2m 0=3mOl=OmlHl=Om川=0ml2=0m=0m=0定义整型二维数组n,m为3行,3列的二维矩阵n00=lnl0=0n2(0=0n0|l=2nlH=0n2|l=0nl2=3n22=0n22=0是以 ml0+n00=2+l=3m0l+nl0=0+0=025.#include <stdio. h>main() int i;intx33=l,2, 3,4, 5, 6, 7, 8,9);printf("%d ", xi3-i);1运行成果为:6 8起首按存储次序为数组x初始化x00=l x0l=2 x02=3xl0=4 xll=5 xl2=6x20=7 x2l=8 x22=9初值i=l,使得循环前提i<3成立,执行循环体第1次循环执行 printf("%d ", xi3-i),打印出 xi3-i,即 xl的值计算表达式3,即i+, i为2,使得循环前提i<3成立,继续执行循环体第2次循环执行 printf("%d ", xi3-i).打印出 x皿3-i,即 的 值计算表达式3,即i+, i为3,使得循环前提i<3成立,结束循环26.#include <stdio. h>main() intn33, i, j;for(i=0; i<3; i+)for(j=0; j<3; j+)niU=i+j;printed ”, nij);)运行成果为:0 1 21 2 3循环变量i为0,循环前提i<3成立,执行循环体外层for第1次循环相当于输出第1行内层for循环j初值为0,循环前提j<3成立,执行循环体内层for第1次循环执行 nij=i+