scanf(\,&x,&y,&o); switch(o)
{case '+':r=x+y;break; case '-':r=x-y;break; case '*':r=x*y;break; case '/':r=x/y;break; }
printf(\}
当运行下面程序时,从键盘键入right?<回车>,则下面程序的运行结果是【 】。 有如下程序 main()
{ float x=2.0,y; if(x<0.0) y=0.0; else if(x<5.0) y=1.0/x; else y=1.0; printf(\}
该程序的输出结果是( )
A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000 #include
while((c=getchar())!='?') putchar(++c); }
下面程序段的运行结果是【 】。 x=2;
do { printf(\
当运行以下程序时,从键盘键入1 2 3 4 5 -1 <回车>,则下面程序的运行结果是【 】。
#include
do { scanf(\ printf(\ }
下面程序段的运行结果是【 】。 for( a=1,i=-1;-1<=i<1;i++) { a++;
printf(\}
printf(\
以下程序输出结果为【 】。 main() {
int x=-5; do
{ printf(\ while (!(x++)); }
设x和y均为int型变量,则执行下的循环后,y值为【 】。 for(y=1,x=1;y<=50;y++) { if(x>=10)break; if (x%2==1) { x+=5; continue;} x-=3; }
C语言(分支和循环结构)三
若 w = 1, x = 2, y=3, z=4, 则条件表达式 w>x? w : y C)2 D)1 若i为int型,且有程序如下,则输出结果是( ) i=322; if(i%2==0) printf(\else printf(\ A) #### B) **** C) ####**** D) 有语法错误, 无输出结果 有程序如下,若由键盘输入70,则输出结果是( ) {int n; scanf(\ if(n<=90) printf(\ else if(n<=80) printf(\ else if(n>=60) printf(\ else printf(\} A) A B) B C) C D) D 选择运行结果为4的表达式( ) A) int i=0, j=0; (i=3,(j++)+i); B) int i=1, j=0; j=i=((i=3)*2); C) int i=0, j=1; i=(j==1)?(i=1):(i=3); D) int i=1,j=1; i+=j=2; 以下程序段输出为( ) int a=1,b=2,c=3; if(a>b)a=b, b=c; c=a; printf(\A)a=1 b=2 c=1 B)a=1 b=2 c=3 C)a=1 b=3 c=1 D)a=2 b=3 c=2 请问读以下程序: main() {int a=5,b=0,c=0; if(a=b+c)printf(\ else printf(\} 以上程序( ) A)有语法错不能通过编译 B)可以通过编译但不能连接 C)输出&&& D)### 以下程序的输出结果是( ) main() { int x=2,y=-1,z=2; if(x A)0 B)1 C)2 D)3 以下程序的运行结果是( ) main() {int x,y,z; x=0;y=1;z=3; x=++y<=x||x+y!=z; printf(\,%d\,y); } A)0,1 B)1,2 C)0,2 D)1,1 有如下程序 main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf(\} 该程序的输出结果是( ) A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 写出下面程序输出结果( ) {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) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 在下列选项中,没有构成死循环的程序段是( ). A. int i=100 while (1) {i=i0+1; if(i>100)break; } B. for(;;); C. int k=1000; do{--k} while (k) D. int s=36 While(s>=0);++s; 语句while (!e);中的条件!e等价于( )。 A) e==0; B) e!=1 C) e!=0 D) ~e 在C语言中( )。 A) 不能使用do_while语句构成的循环 B) do_while语句构成的循环必须用break语句才能退出 C) do_while语句构成的循环,当while语句中的表达式为非0时结束循环 D) do_while语句构成的循环,当while语句中的表达式为0时结束循环 有如下程序 #include while(putchar(getchar())!='?'); } 当输入\时,程序的执行结果是( )。 A) china B) dijob C) dijob? D) china? 定义如下变量: int n=25; 则下列循环的输出结果是( )。 While(n>22) { n--; printf(\} A) 22 B) 24 C) 23 D) 1 21 23 22 2 20 22 21 0 下列程序段的运行结果是( ) x=y=0; while(x<10) x++;y++; printf(\ A. 0,0 B. 10,1 C. 10,10 D. 1,10 下面程序段的运行结果是( )。 int n=0; while(n++<=2); printf(\A) 2 B) 3 C) 4 D) 有语法错 以下描述中正确的是( )。 A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) 在do-while循环体中,一定要有能使while后面表达式的值变为“假”的操作 D) do-while循环中,根据情况可以省略while 以下程序段的输出结果是( ) main() { int x,i; for (i=1;i<=100;i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7=0) printf(\ } } A. 39 81 B. 42 84 C. 26 68 D. 28 70 以下for循环的执行次数是( )。 for(x=0,y=0;(y=123)&&(x<4);x++); A) 是无限循环 B) 循环次数不定 C) 执行4次 D) 执行3次 下面程序段的运行结果是( )。 for(x=3;x<6;x++) printf((x%2)?(\A) **3 B) ##3 C) ##3 D) **3##4 ##4 **4 **4##5 **5 **5 ##5 下面有关for循环的正确描述是( ) A. for循环只能用于循环次数已经确定的情况。 B. for循环是先执行循环体语句,后判断表达式。 C. 在for循环中,不能用break语句跳出循环体。 D. for循环的循环体语句中,可以包含多条语句。 执行语句for(i=1;i++<4; );后变量i的值是( )。 A) 3 B) 4 C) 5 D) 不定 下面程序段( )。 x=3; do { y=x--; if (!y) {printf(\printf(\} while (1<=x<=2); A) 将输出## B) 将输出##* C) 是死循环 D) 含有不合法的控制表达式 以下描述正确的是( )。 A) goto语句只能用于退出多层循环 B) switch语句中不能出现continue语句 C) 只能用continue语句来终止本次循环 D) 在循环中break语句不能独立出现 与下面呈现等价的是( )。 for(n=100;n<=200;n++) { if (n%3==0) continue; printf(\} A) for(n=100;(n%3)&&n<200;n++) printf(\B) for(n=100;(n%3)||n<200;n++) printf(\C) for(n=100;n<=200;n++) if (n%3!=0) printf(\D) for(n=100;(n%3)&&n<200;n++) {if (n%3) printf(\ else continue; break; } 下列程序段的运行结果是( ) a=2;b=1;c=1; while (a>b>c) { t=a;a=b;b=t;c--} printf(\ A)1,2,0 B)2,1,0 C)1,2,1 D. 2,1,1 case后如果有多语句不需要用花括号括住。 case语句后一定要加break语句 continue语句的功能就是结束本层循环。 C语言的while、do-while和for几个循环语句中,for循环语句最灵活、功能最强。 用do-while语句构成循环时,只有在while后的表达式为非0时结束循环。 for(表达式1;表达式2;表达式3)中,表达式1和表达式3可以同时都为逗号表达式。 for后的一对圆括号中,可以出现各种形式的与循环控制无关的表达式。 while循环和do-while循环的while()后一定不能加上一个分号。 若i为整型变量,则以下循环 i=0; while(i=0)i++;一次也不执行。 执行语句 for(i=1;++i<10; )后,i的值是10. 执行语句:for(i=1;i++<4;++i);后;变量i的值是3. 以下程序段的输出结果是987。 int n=10; while (n>7) { n--;printf(\以下程序的运行结果是【 】 main() {int a,b; int i=5,j=7,k=0; a=k&&j; b=k||j; printf(\,b); } 阅读下列程序 main() {int t,h,m; scanf(\,&t); h=(t/100); if(h==0)h=12; printf(\,h); m=t0; if(m<10)printf(\; printf(\,m); if(t<1200 ||t==2400) printf(\ else printf(\} 若运行时输入:1605<回车>时,程序的运行结果是【 】 以下程序的运行结果是【 】 main() {int a=2,b=3,c; c=a; if(a>b)c=1; else if(a==b)c=0; printf(\,c); } 以下程序段的运行结果是【 】 int x=1,y=0; switch(x) {case 1: switch (y) { case 0:printf(\ case 1:printf(\ case 2:printf(\ } 下面程序的运行结果是【 】。 #include { int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7) { n=n*a; s=s+n; ++count; } printf(\} 下面程序段的运行结果是【 】。 i=1; a=0; s=1; do { a=a+s*i; s=-s; i++; } while(i<=10); printf(\ 下面程序段是找出整数的所有因子,请填空。 scanf(\i=1; for( ; 【 】; ) { if (x%i==0) printf(\i++; } 以下程序输出结果为【 】。 #include\ main() { int i; for(i=0;i<10;i++); printf(\ } 以下程序段中,不是无限循环的是【 】。 A. i=100 B. for(;;) while (1) { i=i0; i++; if (i>100) break; } C. k=10; D. s=100 do while (s) s-=3; { k++; k++;} while (k>0); 有以下程序 main() { int i, j; for(j=10;j<11;j++) { for(i=9;i==j-1;i++)printf(\ } } 输出结果是【 】。 C语言(数组)一 设有程序: main() { int i,a[11]; printf(\给数组赋值:\\n\; for (i=0;i<=10;i++) scanf(\,( )); ... ... printf(\输出数组:\\n\; for(i=0;i<=10;i++) printf(\; } 则在程序中的两个园括号中分别应填入: A) &a[i]和&a[i] B) a[i]和&a[i] C) &a[i]和a[i] D) a[i]和a[i] 设已定义:int a[15]; 则数组a占用的内存单元数是( ). A) 15 B) 16 C) 30 D) 32 阅读程序: main() { int a[2]={0},i,j,k=2; for(i=0;i for(j=0;j printf(\} 以上程序的输出结果是( ). A) 1 B) 3 C) 2 D) 不确定的值 阅读程序: f(int b[],int n) { int i,r=1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf(\} 以上程序的输出结果是( ). A) 720 B) 6 C)24 D) 120 以下定义语句中,错误的是( ). A) int a[ ] = {6,7,8}; B) int n=5, a[n]; C) char a[ ]= \ D) char a[5 ]={'0','1','2','3','4'}; 以下描述中正确的是( ). A) 数组名后面的常量表达式用一对圆括弧括起来