?2022年遼寧專升本C語言程序設(shè)計(jì)習(xí)題練習(xí)(2)
摘要:本文是2022年遼寧專升本C語言程序設(shè)計(jì)習(xí)題練習(xí)(2),內(nèi)容主要為C語言(分支和循環(huán)結(jié)構(gòu))三套練習(xí),包含選擇題、填空題。供大家2022年遼寧專升本報(bào)考參考,下面是具體內(nèi)容。
C語言(分支和循環(huán)結(jié)構(gòu))一
1.以下程序輸出結(jié)果是( )
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
else printf("%d\n",m--);
A)7 B)6 C)5 D)4
2以下程序的輸出結(jié)果為( )
# include
main ( )
{ int i=0, j=0, a=6;
if ((++i>0)&&(++j>0)) a++;
printf ("i=%d, j=%d, a=%d\n", i,j,a);}
A) i=0, j=0, a=6 B) i=1, j=1, a=7
C) i=1, j=0, a=7 D) i=0, j=1, a=7
3有如下程序
main()
{ int a=2,b=-1,c=2;
if(a<b)< p="">
if(b<0) c=0;
else c++;
printf("%d\n",c);
}
該程序的輸出結(jié)果是( )
A) 0 B) 1 C) 2 D) 3
4若i為int型,且有程序如下,則輸出結(jié)果是( )
i=111;
if(i%3==0)
printf("####");
printf("****");
A) #### B) **** C) ####**** D) 無輸出結(jié)果
5若運(yùn)行時(shí)x=12,則運(yùn)行結(jié)果為( )
{int x, y;
scanf("%d", &x);
y=x>12 ? x+10:x-12;
printf("%d\n", y);}
A) 0 B) 22 C) 12 D) 10
6以下程序的輸出結(jié)果是( )
main()
{ int i=0, j=0, k=6;
if ((++i>0)||(++j>0)) k++;
printf("%d, %d, %d\n", i, j, k);
}
A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7
7若變量都已正確說明,則以下程序段輸出為( )
int a=1,b=2,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
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
8當(dāng)a=1,b=3,c=5,d=4時(shí),執(zhí)行完下面一段程序后x的值是( )
if(a<b)< p="">
if(c<d)x=1;< p="">
else
if(a<c)< p="">
if(b<d)x=2;< p="">
else x=3;
else x=6;
else x=7;
A) 1 B)2 C)3 D)6
9以下不正確的語句為( )
A)if(x>y);
B)if(x==y)&&(x!=0)x+=y;
C)if(x!=y)scanf("%d",&x);else scanf("%d",&y);
D)if(x<y){x++;y++;}< p="">
10有以下程序:
#include"stdio.h"
main( )
{char i;
for (; (i=getchar ())!='\n';)
{switch (i-'a')
{case 0: putchar (i);
case 1: putchar (i+1);break;
case 2: putchar (i+2);
case 3: break;
default: putchar (i);break;
}
}
printf ("\n");
}
輸入下列數(shù)據(jù)后,程序的輸出結(jié)果是( )
abcde
A) abcde B) abcee
C) abbde D) abccdd
11若a、 b、c1、c2、x、y、均是整型變量,正確的switch語句是( )
A) switch(a+b); B) switch(a*a+b*b)
{ case 1:y=a+b; break; {case 3:
case 0:y=a-b; break; case 1:y=a+b;break;
} case 3:y=b-a,break;
}
C) switch a D) switch(a-b)
{ case 1 :y=a-b; break {
case 2: x=a*d; break case c1:case 4:x=a+b;break;
default:x=a+b; case c2:case 11:y=a-b;break;
} default:y=a*b;break;
}
12寫出下面程序輸出結(jié)果( )
{int x=1, y=0, a=0, b=0;
switch(x)
{case 1:
switch(y)
{case 0: a++;
case 1: b++; }
case 2: a++; b++;
}
printf("a=%d, b=%d\n", a, b) ;
}
A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2
13C語言的for語句中的表達(dá)式可以部分或全部省略,但兩個(gè)( )不可省略。但當(dāng)三個(gè)表達(dá)式
均省略后,因缺少判斷條件,循環(huán)會無限制地進(jìn)行下去,形成死循環(huán)。
A) < B) ++ C) ; D) ,
14下面有關(guān)for循環(huán)的正確描述是( )。
A) for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B) for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達(dá)式
C) 在for循環(huán)中,不能用break語句跳出循環(huán)體
D) for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來
15以下程序段( )。
x=-1;
do
{ x=x*x;}
while(!x)
A) 是死循環(huán) B) 循環(huán)執(zhí)行2次 C) 循環(huán)執(zhí)行一次 D) 有語法錯(cuò)誤
16如下的數(shù)組中,數(shù)組array占用的內(nèi)存空間是( )個(gè)字節(jié)。
char array[]={'c','h','i','n','a'};
A. 1 B. 5 C. 6 D. 不確定
17設(shè)有程序段
int k=10;
while(k=0) k=k-1;
則下面描述正確的是( )。
A) while 循環(huán)執(zhí)行10次 B) 循環(huán)是無限循環(huán)
C) 循環(huán)體語句一次也不執(zhí)行 D) 循環(huán)體語句執(zhí)行一次
18下列程序段的運(yùn)行結(jié)果是( )
int n=0;
while(n++<3);
printf("%d",n)
A. 2 B. 3 C. 4 D. 以上都不對
19設(shè)有程序段
t=0;
while(printf("*"));
{ t++;
if (t<3) break;
}
下面描述正確的是( )。
A) 其中循環(huán)控制表達(dá)式與0等價(jià) B) 其中循環(huán)控制表達(dá)式與'0'等價(jià)
C) 其中循環(huán)控制表達(dá)式是不合法的 D) 以上說法都不對
20下面程序的運(yùn)行結(jié)果是( )。
#include
main()
{ int y=10;
do { y--;} while(--y);
printf("%d\n",y--);
}
A) -1 B) 1 C) 8 D) 0
21以下程序段的輸出結(jié)果是( ).
main()
{ int i=5;
for ( ;i<=15; )
{ i++;
if (i%4==0) printf("%d ",i);
else continue;}
}
A. 8 12 16 B. 8 12 C. 12 16 D. 8
22以下不是無限循環(huán)的語句為( )。
A) for(y=0,x=1;x>++y;x=i++) i=x;
B) for( ; ;x++=i);
C) while(1){x++;}
D) for(i=10; ; i--) sum+=i;
23有如下語句
int x=3;
do
{ printf("%d\n",x-=2);} while(!(--x));
則上面程序段( )
A. 輸出的是1 B. 輸出的是1和-2
C. 輸出的是3和0 D. 是死循環(huán)
24以下不是無限循環(huán)的是( )
A. for(y=0,x=1;x>++y;x=i++) i=x;
B. for( ; ;x++=i);
C. while(1) x++;
D. for(i=10; ;i--) s+=i;
25以下正確的描述是( )。
A) continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行
B) 只能在循環(huán)體內(nèi)和switch語句內(nèi)使用break語句
C) 在循環(huán)體內(nèi)使用break語句或continue語句的作用相同
D) 從多層循環(huán)嵌套中退出時(shí),只能使用goto語句
26以下程序輸出結(jié)果為( )
#include "stdio.h"
main()
{int i,b,k=0;
for(i=1;i<=5;i++)
{ b=i%2;
while (b-->=0) k++;}
printf("%d,%d\n",k,b);
}
A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2
27以下程序段中循環(huán)體總的執(zhí)行次數(shù)是( )
int i,j;
for(i=7;i;i--)
for(j=0;j<6;j++)
{......}
A) 42 B) 21 C) 13 D) 36
28以下不正確的描述是( )
A. break 語句不能用于循環(huán)語句和switch語句外的任何其他語句
B. 在switch語句中使用break語句或continue語句的作用相同
C. 在循環(huán)語句中使用continue語句是為了結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行
D. 在循環(huán)語句中使用break語句是為了使流程跳出循環(huán)體,提前結(jié)束循環(huán)
1else語句總是和靠它最近的if匹配。
2switch語句中一定有default分支
3case后只能跟常量,不能跟變量
4break語句的作用就是結(jié)束本層循環(huán)。
5do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。
6用do-while語句構(gòu)成循環(huán)時(shí),只要while后的表達(dá)式為0時(shí)就結(jié)束循環(huán)。
7for(表達(dá)式1;表達(dá)式2;表達(dá)式3)中,表達(dá)式1和表達(dá)式3不能同時(shí)都是逗號表達(dá)式。
8for循環(huán)中,如果表達(dá)式2為空,則該循環(huán)一定是死循環(huán)。
9while循環(huán)的while()后沒有分號,而do-while循環(huán)的while()后一定要有一個(gè)分號。
10for(i=0,j=10;i<=j;i++,j--) k=i+j;執(zhí)行完后,k的值為50。
1若a、b均為int型變量,且a=100,則以下的for循環(huán)是死循環(huán).
for (b=100;a!=b;++a,b++) printf("----\n");
執(zhí)行語句:for(i=1;i++<4;++i);后;變量i的值是5。
2以下程序的運(yùn)行結(jié)果是【 】
main()
{int x,y,z;
x=1;y=2;z=3;
x=y--<=x||x+y!=z;
printf("%d,%d",x,y);
}
3以下程序的運(yùn)行結(jié)果是【 】
main()
{int x,y,z;
x=1;y=1;z=0;
x=x||y&&z;
printf("%d,%d",x,x&&!y||z);
}
4以下程序的運(yùn)行結(jié)果是【 】
main()
{int a,b,c;
int s,w=0,t;
a=-1;b=3;c=3;
if(c>0)s=a+b;
if(a<=0)
{if(b>0)
if(c<=0)w=a-b;
}
else if(c>0)w=a-b;
else t=c;
printf("%d,%d,%d\n",s,w,t);
}
5閱讀下面程序:
main()
{ int s, t, a, b;
scanf("%d%d",&a, &b);
s=1;
t=1;
if(a>0) s=s+1;
if(a>b) t=s+t;
else if (a==b) t=5;
else t=2*s;
printf("s=%d, t=%d", s, t);
}
6為了使輸出結(jié)果t=4, 輸入量a和b應(yīng)滿足的條件是【 】
7下面程序的功能是在輸入的一批整數(shù)中求出最大者,輸入0結(jié)束循環(huán)。
#includemain()
{ int a,max=0;
scanf("%d",&a)
while(【 】){ if (max
scanf("%d",&a);
}
printf("%d",max);
}
8執(zhí)行下面的程序段后,k值是【 】。
k=1; n=263;
do { k*=n%10; n/=10; } while(n);
9等差數(shù)列的第一項(xiàng)a=2,公差d=3,下面程序的功能是在前n項(xiàng)和中,輸出能被4整除的所有的和。請?zhí)羁铡?/p>
#include
main()
{ int a,d,sum;
a=2;d=3;sum=0;
do
{ sum+=a;
a+=d;
if (【 】) printf("%d\n",sum);
} while(sum<200);
}
10雞兔共有30只,腳共有90個(gè),下面程序段是計(jì)算雞兔各有多少只,請?zhí)羁铡?/p>
for(x=1;x<=29;x++)
{ y=30-x;
if (【 】) printf("%d,%d\n",x,y);
}
11寫出下面程序的運(yùn)算結(jié)果【 】。
# include
main ( )
{ int a=14, b=63;
while (a!=b)
{while (a>b) a-=b;
while (a
}
printf ("%d\n",a);
}
12下列程序的輸出為【 】。
#include
main()
{
int i,j,x=0;
for(i=0;i<3;i++)
{ if(i%3==2) break;
x++;
for(j=0;j<4;j++)
{ if(j%2) break;
x++;
}
x++;
}
printf("x=%d\n",x);
}
C語言(分支和循環(huán)結(jié)構(gòu))二
以下程序的輸出結(jié)果是( )
main( )
{ int a=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d %d\n",a,b);
else
printf("%d %d\n",b,a);
}
A) -1 1 B) 0 1 C) 1 0 D) 0 0
與 y=(x>0?1:x<0?-1:0);的功能相同的if語句是( )
A) if (x>0) y=1; B) if(x)
else if(x
else y=0; else if(x<0)y=-1;
else y=0;
C) y=-1 D) y=0;
if(x) if(x>=0)
if(x>0)y=1; if(x>0)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是( )
main()
{ int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
}
A) 11 B) 10 C) 9 D) 8
若i為int型,且有程序如下,則輸出結(jié)果是( )
i=111;
if(i%3==0);
printf("####");
printf("****");
A) #### B) **** C) ####**** D) 無輸出結(jié)果
請讀下面程序:
main()
{int x=1, y=2, z=3;
x+=y+=z;
printf("%d\t", x<y p="" x);
printf("%d\t", x<y p="" ?="" x++:y++);
}
程序輸出結(jié)果為( )
A) 5 4 B) 4 5 C) 5 6 D) 6 5
在C語言的if語句中,用作判斷的表達(dá)式為( )
A) 關(guān)系表達(dá)式 B) 邏輯表達(dá)式
C) 算術(shù)表達(dá)式 D) 任意表達(dá)式
若變量都已正確說明,則以下程序段輸出為( )
int a=1,b=2,c,d;
if (a=b) c=d=a;
else c=b;d=b;
printf("%d,%d",c,d);
A)c=1,d=1 B)c=1,d=2
C)c=2,d=1 D)c=2,d=2
以下程序的輸出結(jié)果是( )
main()
{int a=100,x=10,y=20,a1=5,a2=0
if(x<y)< p="">
if(y !=10)
if(!a1) a=1;
else
if(a2) a=10;
a=-1;
printf("%d\n",a)
A)1 B) 0 C) 10 D)-1
若w、x、y、z、m均為int型變量,則執(zhí)行下面語句后的m值是( )
w=1;x=2;y=3; z=4;
m=(w<x)?w:x;< p="">
m=(m<y)?m:y;< p="">
m=(m<z)?m:z;< p="">
A)1 B)2 C)3 D)4
若有定義: float w; int a, b; 則合法的switch語句是( )
A) switch(w) B) switch(a);
{ case 1.0: printf("*\n"); { case 1 printf("*\n");
case 2.0: printf("**\n"); case 2 printf("**\n");
} }
C) switch(b) D) switch(a+b);
{ case 1: printf("*\n"); { case 1: printf("*\n");
default: printf("\n"); case 2: printf("**\n");
case 1+2: printf("**\n"); default: printf("\n");
} }
若輸入B,以下程序的運(yùn)行結(jié)果為 ( )
main()
{ char grade;
scanf("%c", &grade);
switch(grade)
{ case 'A': printf(">=85");
case 'B':
case 'C': printf(">=60");
case 'D': printf("<60");
default: printf("error.");}
}
A) >=85 B) >=60 C) >=60 D) error.
<60
error.
選擇出i的正確結(jié)果( )
int i=10;
switch(i)
{
case 9: i++;
case 10: i+=1;
case 11:i++;
default: i+=1;
}
A) 10 B) 11 C) 12 D) 13
C語言的do_while循環(huán)中,循環(huán)由do開始,用while結(jié)束;而且在while表達(dá)式后面的( )
不能丟,它表示d0_while循環(huán)的結(jié)束。
A) \n B) ; C) % D) ,
C語言的do_while循環(huán)中,循環(huán)由do開始,用while結(jié)束;而且在while表達(dá)式后面的( )
不能丟,它表示d0_while循環(huán)的結(jié)束。
A) \n B) ; C) % D) ,
以下程序的輸出結(jié)果是( )。
#include
main()
{
int num=0;
while(num<=2)
{
num++;
printf("%d\n",num);
}
}
A) 1 B) 1 C) 1 D) 1
2 2 2
3 3
4
以下程序的輸出為( )
# include
main( )
{ int y=10;
while (y--);
printf ("y=%d\n", y);}
A. y=0 B. 無限循環(huán),無結(jié)果輸出
C. y=1 D. y=-1
設(shè)有程序段
int x=0,s=0;
while(!x!=0) s+=++x;
printf("%d",s);
則( )。
A) 運(yùn)行程序段后輸出0 B) 運(yùn)行程序段后輸出1
C) 程序段中的控制表達(dá)式是非法的 D) 程序段執(zhí)行無限次
下面程序段的運(yùn)行結(jié)果是( )。
a=1;b=2;c=2;
while(a<b<c)< p="">
{t=a; b=a; a=t; c--; }
printf("%d ,%d,%d",a,b,c);
A) 1,2,0 B) 2,1,0 C) 1,2,1 D) 2,1,1
以下能正確計(jì)算1×2×3×4...×10的程序段是( )。
A) do {i=1; s=1; s=s*i; i++; } while(i<=10)
B) do {i=1; s=0; s=s*i; i++; } while(i<=10)
C) i=1; s=1;
do {s=s*i; i++; } while(i<=10)
D) i=1; s=0;
do {s=s*i; i++; } while(i<=10)
下面程序的運(yùn)行結(jié)果是( )。
#include
main()
{ int a=1,b=10;
do {b-=a; a++;} while(b--<0);
printf("a=%d,b+%d\n";a,b);
}
A) a=3,b=11 B) a=2,b=8 C) a=1,b=-1 D) a=4,b=9
若i為整型變量,則以下循環(huán)執(zhí)行的次數(shù)是( )。
for(i=2;i==0;) printf("%d",i--);
A) 無限次 B) 0次 C) 1次 D) 2次
下面程序段的運(yùn)行結(jié)果是( )。
for(y=1;y<10;) y=((x=3*y, x+1), x-1);
printf("x=%d,y=%d",x,y);
A) x=27,y=27 B) x=12,y=13 C) ) x=15,y=14 D) x=y=27
以下的for循環(huán)( )
for(x=0,y=0;(y!=123)&&(x<4);x++);
A. 執(zhí)行3次 B. 執(zhí)行4次
C. 循環(huán)次數(shù)不定 D. 是無限循環(huán)
下列程序段不是死循環(huán)的是( )。
A) int i=100;
while(1) {i=i%100+1; if (i>100) break;}
B) for( ; ; );
C) int k=0;
do { ++k;} while(k>=0);
D) int s=36;
while(s) ;--s;
下面程序段( )。
for(t=1;t<=100;t++)
{scanf("%d",&x);
if (x<0) continue;
printf("%3d",t);
}
A) 當(dāng)x<0時(shí)整個(gè)循環(huán)結(jié)束
B) x>=0時(shí)什么也不輸出
C) printf函數(shù)永遠(yuǎn)也不執(zhí)行
D) 最多允許輸出100個(gè)非負(fù)整數(shù)
以下為死循環(huán)的程序段是( )。
A) for(i=1; ; )
{if (++i%2==0) continue;
if (++i%3==0) break;
}
B) i=32767;
do { if (i<0) break;} while(++i);
C) for(i=1; ; ) if (++i<10) continue;
D) i=1; while(i--);
若有如下程序段
int m=15;
while(!m==0)
{m+=m; printf("test..."); }
以下說法中正確的是( )。
A) 循環(huán)體語句執(zhí)行一次。 B) 循環(huán)執(zhí)行無限次
C) 循環(huán)體語句一次也不執(zhí)行 D) 循環(huán)執(zhí)行兩次
下面程序的運(yùn)行結(jié)果是( ).
#include
main()
{ int i,b,k=0;
for(i=1;i<=5;i++)
{ b=i%2;
while(b-->=0) k++;
}
printf("%d,%d",k,b);
}
A) 3,-1 B) 8,-1 C) 3,0 D) 8,-2
語句if(a) x=1;與 if(a==0)x=1;等價(jià)
switch語句中的default分支一定放在最后
while語句do-while語句無論什么情況下,二者的執(zhí)行結(jié)果都一樣。
C語言的while、do-while和for幾個(gè)循環(huán)語句,可以進(jìn)行相互嵌套。
do-while語句構(gòu)成的循環(huán)只能用break語句退出。
for( ; ; ) {循環(huán)體} 永遠(yuǎn)是一個(gè)死循環(huán)。
要使for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體}不形成死循環(huán),表達(dá)式2一定不能為空。
while循環(huán)和do-while循環(huán)的while()后一定要有一個(gè)分號。
C語言程序的三種基本結(jié)構(gòu)是嵌套結(jié)構(gòu)、遞歸結(jié)構(gòu)、順序結(jié)構(gòu)。
C語言中while與do-while語句的主要區(qū)別是do-while的循環(huán)體至少無條件執(zhí)行一次。
語句 x=3; do {printf("%2d",x--);} while(!x); 的執(zhí)行結(jié)果是3。
以下循環(huán)for (i=0; i<10;printf("*"));
i++;
printf("\n");
是死循環(huán)。
以下程序的運(yùn)行結(jié)果是【 】
main()
{int a,b;
int i=5,j=7,k=0;
a=!k;
b=i!=j;
printf("a=%d,b=%d\n",a,b);
}
以下程序的運(yùn)行結(jié)果是【 】
main()
{if(2*1==2<2*2==4)
printf("##");
else
printf("**");
}
以下程序的運(yùn)行結(jié)果是【 】
main()
{int a,b,c,d;
a=c=0;
b=1;
d=20;
if(a)d=d-10;
else if(!b)
if(! c)d=15;
else d=25;
printf("%d",d);
}
若運(yùn)行時(shí)輸入:3 5 /
main()
{float x,y;
char o;
double r;
scanf("%f%f%c",&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("%f",r);
}
當(dāng)運(yùn)行下面程序時(shí),從鍵盤鍵入right?
#include
main()
{ char c;
while((c=getchar())!='?') putchar(++c);
}
下面程序段的運(yùn)行結(jié)果是【 】。
x=2;
do { printf("*"); x--; } while(!x==0)
當(dāng)運(yùn)行以下程序時(shí),從鍵盤鍵入1 2 3 4 5 -1
#include
main()
{ int k=0,n;
do { scanf("%d",&n); k+=n; } while(n!=-1);
printf("k=%d n=%d\n",k,n);
}
下面程序段的運(yùn)行結(jié)果是【 】。
for( a=1,i=-1;-1<=i<1;i++)
{ a++;
printf("%2d",a);
}
printf("%2d",i);
以下程序輸出結(jié)果為【 】。
main()
{
int x=-5;
do
{ printf("%3d",x+=2);}
while (!(x++));
}
設(shè)x和y均為int型變量,則執(zhí)行下的循環(huán)后,y值為【 】。
for(y=1,x=1;y<=50;y++)
{ if(x>=10)break;
if (x%2==1)
{ x+=5; continue;}
x-=3;
}
C語言(分支和循環(huán)結(jié)構(gòu))三
若 w = 1, x = 2, y=3, z=4, 則條件表達(dá)式 w>x? w : y<z? p="" )
A)4 B)3 C)2 D)1
有如下程序
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("%f\n",y);
}
該程序的輸出結(jié)果是( )
A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000
若i為int型,且有程序如下,則輸出結(jié)果是( )
i=322;
if(i%2==0) printf("####");
else printf("****");
A) #### B) **** C) ####**** D) 有語法錯(cuò)誤, 無輸出結(jié)果
有程序如下,若由鍵盤輸入70,則輸出結(jié)果是( )
{int n;
scanf("%d\n", &n);
if(n<=90) printf("A\n");
else if(n<=80) printf("B\n");
else if(n>=60) printf("C\n");
else printf("D\n");
}
A) A B) B C) C D) D
選擇運(yùn)行結(jié)果為4的表達(dá)式( )
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=%d b=%d c=%d\n",a,b,c);
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)有語法錯(cuò)不能通過編譯 B)可以通過編譯但不能連接
C)輸出&&& D)###
以下程序的輸出結(jié)果是( )
main()
{ int x=2,y=-1,z=2;
if(x<y)< p="">
if(y<0) z=0;
else z+=1;
printf("%d\n",z);
A)0 B)1 C)2 D)3
以下程序的運(yùn)行結(jié)果是( )
main()
{int x,y,z;
x=0;y=1;z=3;
x=++y<=x||x+y!=z;
printf("%d,%d",x,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=%d,b=%d\n",a,b);
}
該程序的輸出結(jié)果是( )
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
寫出下面程序輸出結(jié)果( )
{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\n", a, b) ;
}
A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2
在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的程序段是( ).
A. int i=100
while (1)
{i=i%100+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等價(jià)于( )。
A) e==0; B) e!=1 C) e!=0 D) ~e
在C語言中( )。
A) 不能使用do_while語句構(gòu)成的循環(huán)
B) do_while語句構(gòu)成的循環(huán)必須用break語句才能退出
C) do_while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式為非0時(shí)結(jié)束循環(huán)
D) do_while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式為0時(shí)結(jié)束循環(huán)
有如下程序
#include
main()
{
while(putchar(getchar())!='?');
}
當(dāng)輸入"china?"時(shí),程序的執(zhí)行結(jié)果是( )。
A) china B) dijob C) dijob? D) china?
定義如下變量:
int n=25;
則下列循環(huán)的輸出結(jié)果是( )。
While(n>22)
{ n--;
printf("%d\n",n);
}
A) 22 B) 24 C) 23 D) 1
21 23 22 2
20 22 21 0
下列程序段的運(yùn)行結(jié)果是( )
x=y=0;
while(x<10)
x++;y++;
printf("%d,%d\n",x,y);
A. 0,0 B. 10,1 C. 10,10 D. 1,10
下面程序段的運(yùn)行結(jié)果是( )。
int n=0;
while(n++<=2);
printf("%d",n);
A) 2 B) 3 C) 4 D) 有語法錯(cuò)
以下描述中正確的是( )。
A) 由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句。
B) do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號
C) 在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)椤凹佟钡牟僮?/p>
D) do-while循環(huán)中,根據(jù)情況可以省略while
以下程序段的輸出結(jié)果是( )
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("%d ",x);
}
}
A. 39 81 B. 42 84 C. 26 68 D. 28 70
以下for循環(huán)的執(zhí)行次數(shù)是( )。
for(x=0,y=0;(y=123)&&(x<4);x++);
A) 是無限循環(huán) B) 循環(huán)次數(shù)不定 C) 執(zhí)行4次 D) 執(zhí)行3次
下面程序段的運(yùn)行結(jié)果是( )。
for(x=3;x<6;x++)
printf((x%2)?("**%d"):("##%d\n"),x);
A) **3 B) ##3 C) ##3 D) **3##4
##4 **4 **4##5 **5
**5 ##5
下面有關(guān)for循環(huán)的正確描述是( )
A. for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況。
B. for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式。
C. 在for循環(huán)中,不能用break語句跳出循環(huán)體。
D. for循環(huán)的循環(huán)體語句中,可以包含多條語句。
執(zhí)行語句for(i=1;i++<4; );后變量i的值是( )。
A) 3 B) 4 C) 5 D) 不定
下面程序段( )。
x=3;
do { y=x--;
if (!y) {printf("*"); continue;}
printf("#");
} while (1<=x<=2);
A) 將輸出## B) 將輸出##* C) 是死循環(huán) D) 含有不合法的控制表達(dá)式
以下描述正確的是( )。
A) goto語句只能用于退出多層循環(huán)
B) switch語句中不能出現(xiàn)continue語句
C) 只能用continue語句來終止本次循環(huán)
D) 在循環(huán)中break語句不能獨(dú)立出現(xiàn)
與下面呈現(xiàn)等價(jià)的是( )。
for(n=100;n<=200;n++)
{ if (n%3==0) continue;
printf("%4d",n);
}
A) for(n=100;(n%3)&&n<200;n++) printf("%4d",n);
B) for(n=100;(n%3)||n<200;n++) printf("%4d",n);
C) for(n=100;n<=200;n++) if (n%3!=0) printf("%4d",n);
D) for(n=100;(n%3)&&n<200;n++)
{if (n%3) printf("%4d",n);
else continue;
break;
}
下列程序段的運(yùn)行結(jié)果是( )
a=2;b=1;c=1;
while (a>b>c)
{ t=a;a=b;b=t;c--}
printf("%d,%d,%d\n",a,b,c);
A)1,2,0 B)2,1,0 C)1,2,1 D. 2,1,1
case后如果有多語句不需要用花括號括住。
case語句后一定要加break語句
continue語句的功能就是結(jié)束本層循環(huán)。
C語言的while、do-while和for幾個(gè)循環(huán)語句中,for循環(huán)語句最靈活、功能最強(qiáng)。
用do-while語句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為非0時(shí)結(jié)束循環(huán)。
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)中,表達(dá)式1和表達(dá)式3可以同時(shí)都為逗號表達(dá)式。
for后的一對圓括號中,可以出現(xiàn)各種形式的與循環(huán)控制無關(guān)的表達(dá)式。
while循環(huán)和do-while循環(huán)的while()后一定不能加上一個(gè)分號。
若i為整型變量,則以下循環(huán) i=0; while(i=0)i++;一次也不執(zhí)行。
執(zhí)行語句 for(i=1;++i<10; )后,i的值是10.
執(zhí)行語句:for(i=1;i++<4;++i);后;變量i的值是3.
以下程序段的輸出結(jié)果是987。
int n=10; while (n>7) { n--;printf("%d ",n);}
以下程序的運(yùn)行結(jié)果是【 】
main()
{int a,b;
int i=5,j=7,k=0;
a=k&&j;
b=k||j;
printf("a=%d b=%d\n",a,b);
}
閱讀下列程序
main()
{int t,h,m;
scanf("%d",&t);
h=(t/100)%12;
if(h==0)h=12;
printf("%d:",h);
m=t%100;
if(m<10)printf("0");
printf("%d",m);
if(t<1200 ||t==2400)
printf("AM");
else printf("PM");
}
若運(yùn)行時(shí)輸入:1605
以下程序的運(yùn)行結(jié)果是【 】
main()
{int a=2,b=3,c;
c=a;
if(a>b)c=1;
else if(a==b)c=0;
printf("%d\n",c);
}
以下程序段的運(yùn)行結(jié)果是【 】
int x=1,y=0;
switch(x)
{case 1:
switch (y)
{ case 0:printf("*1*");break;
case 1:printf("*2*");break;}
case 2:printf("*3*");break;
}
下面程序的運(yùn)行結(jié)果是【 】。
#include
main()
{ int a,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7) { n=n*a; s=s+n; ++count; }
printf("%d",s);
}
下面程序段的運(yùn)行結(jié)果是【 】。
i=1; a=0; s=1;
do { a=a+s*i; s=-s; i++; } while(i<=10);
printf("a=%d",a);
下面程序段是找出整數(shù)的所有因子,請?zhí)羁铡?/p>
scanf("%d",&x);
i=1;
for( ; 【 】; )
{ if (x%i==0) printf("%3d",i);}
i++;
}
以下程序輸出結(jié)果為【 】。
#include"stdio.h"
main()
{
int i;
for(i=0;i<10;i++);
printf("%d",i);
}
以下程序段中,不是無限循環(huán)的是【 】。
A. i=100 B. for(;;)
while (1)
{ i=i%100; 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("%d",j);
}
}
輸出結(jié)果是【 】。
延伸閱讀
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(九)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(八)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(七)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(六)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(五)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(四)
專升本微信公眾號
掃碼添加
專升本備考資料免費(fèi)領(lǐng)取
去領(lǐng)取