一、選擇題
(1)當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是
A)k%2
B)k%2==1
C)(k%2)!=0
D)!k%2==1
(2)設(shè)有定義:int k=1,m=2; float f=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是
A)k=k>=k
B)-k++
C)k%int(f)
D)k>=f>=m
(3)設(shè)有定義:int a=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是
A)(!a==1)&&(!b==0)
B)(a C)a && b
D)a||(b+b)&&(c-a)
(4)設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語句
if (a if(c==d) y=0;
else y=1;
該語句所表示的含義是
(5)有以下程序
main()
{
int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是
A)6,1
B)2,1
C)6,0
D)2,0
(6)有以下程序
main()
{ int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d\n",i,j,k);
}
程序運(yùn)行后的輸出結(jié)果是
A)1 2 3
B)2 3 4
C)2 2 3
D)2 3 3
(7)若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是
A) abs(x-y)<10
B) x-y>-10&& x-y<10
C) @(x-y)<-10||!(y-x)>10
D) (x-y)*(x-y)<100
(8)有以下程序
main()
{
int a=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d++ +1);
else
printf("%d",++d +1);
printf("%d\n",d);
}
程序運(yùn)行后的輸出結(jié)果是
A) 2
B) 3
C) 43
D) 44 9)下列條件語句中,功能與其他語句不同的是
A) if(a) printf("%d\n",x); else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);
(10)以下4個(gè)選項(xiàng)中,不能看作一條語句的是
A) {;}
B) a=0,b=0,c=0;
C) if(a>0);
D) if(b==0) m=1;n=2;
(11)以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價(jià)的是
A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1
else k=0;
C) if(a<=B) k=0; D) if(a>B) k=1;
else if(b<=C) k=1; else if(b>C) k=1;
else k=0;
(12) 有以下程序
main()
{int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a printf("%d,%d\n",k,m);
}
程序運(yùn)行后的輸出結(jié)果是
A) 0,0
B) 0,1
C) 1,0
D) 1,1
(13) 有定義語句:int a=1,b=2,c=3,x; 則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是
A) if (c else if (b else x=3; else x=1;
C) if (a<3) x=3; D) if (a if (a<2) x=2; if (b if (a<1) x=1; if (c
(14)有以下程序
main()
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
執(zhí)行后輸出結(jié)果是
A) 1,1,2
B) 2,2,1
C) 2,2,2
D) 2,2,3
(15)有以下程序
main()
{ int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else if((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2)
}
執(zhí)行后輸出結(jié)果是
A) 2 B) 3 C) 4 D) 編譯時(shí)有錯(cuò),無結(jié)果
(16) 已有定義:int x=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1 && y+z/2的值是
A) 6 B) 0 C) 2 D) 1
(17) 有一函數(shù), ,以下程序段中不能根據(jù)x值正確計(jì)算出y值的是
A) if(x>0) y=1; B) y=0;
else if(x==0) y=0; if(x>0) y=1;
else y=-1; else if(x<0) y=-1;
C)y=0; D)if(x>=0)
if(x>=0); if(x>0) y=1;
if(x>0) y=1 ; else y=0;
else y=-1; else y=-1; (18) 有以下程序
main()
{ int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;break;
}
}
printf(“%d\n”,m);
}
程序運(yùn)行后的輸出結(jié)果是
A) 1 B) 2 C) 3 D) 4
(19) 以下程序的輸出結(jié)果是
main()
{ int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?(a>c?a:c):(b));
}
A) 5 B) 4 C) 6 D) 不確定
(20) 以下程序的輸出結(jié)果是
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A) 1 B) 0 C) 非0的數(shù) D) -1
(21) 設(shè) a、b、C、d、m、n均為 int型變量,且 a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式 (m=a>b)&&(n=c>d)運(yùn)算后,n的值位為
A) 0 B) 1 C)2 D) 3
(22) 閱讀以下程序:
main()
{ int x;
scanf(“%d”,&x);
if(x--<5) printf(“%d”’x);
else printf(“%d”’x++);
}
程序運(yùn)行后,如果從鍵盤上輸人5,則輸出結(jié)果是
A)3 B) 4 C) 5 D) 6
(23) 假定w、x、y、z、m均為int型變量,有如下程序段:
w=1; x=2; y=3; z=4;
m=(w 則該程序運(yùn)行后,m的值是
A) 4 B) 3 C) 2 D) 2
(24) 設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,y的值為
A) 不定值 B) 4 C) 3 D) 1
(25) 若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是
A) 11 B) 10 C) 9 D) 8
Main0
{ int n;
scanf(“%d”,&n);
if(n++<10) printf(“%d\n”,n);
else printf(“%d\n”,n--);
}
(26) 若a、 b、c1、c2、x、y、均是整型變量,正確的switch語句是
A) swich(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 c1 :y=a-b; break {default:y=a*b;break
case c2: x=a*d; break case 3:case 4:x=a+b;break
default:x=a+b; case 10:case 11:y=a-b;break;
} } (27) 能正確表示邏輯關(guān)系:“a≥=10或a≤0”的C語言表達(dá)式是
A) a>=10 or a<=0
B) a>=0|a<=10
C) a>=10 &&a<=0
D) a>=10‖a<=0
(28) 有如下程序
main0
{ 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
(29) 有如下程序
main0
{ float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.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
(30) 有如下程序
main0
{ int a=2,b=-1,c=2;
if(a if(b<0) c=0;
else c++
printf(“%d\n”,c);
}
該程序的輸出結(jié)果是
A) 0 B) 1 C) 2 D) 3
(31) 設(shè) int x=1, y=1; 表達(dá)式(!x||y--)的值是
A) 0 B) 1 C) 2 D) -1
(32) 與 y=(x>0?1:x<0?-1:0);的功能相同的if語句是
A) if (x>0) y=1; B) if(x)
else if(x<0)y=-1; if(x>0)y=1;
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;
(33) 語句:printf("%d",(a=2)&&(b= -2);的輸出結(jié)果是
A) 無輸出
B) 結(jié)果不確定
C) -1
D) 1
(34) 當(dāng)c的值不為0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是
A) c=b=a;
B) (a=c) ‖(b=c) ;
C) (a=c) &&(b=c);
C) a=c=b;
(35) 能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是
A) (a>=0‖b>=0)&&(a<0‖b<0)
B) (a>=0&&b>=0)&&(a<0&&b<0)
C) (a+b>0)&&(a+b<=0)
D) a*b>0
(36) 以下程序的輸出結(jié)果是
A) -1 1 B) 0 1 C) 1 0 D) 0 0
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);
}
(37) 以下程序輸出結(jié)果是
A) 7 B) 6 C) 5 D) 4
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
esle printf("%d\n",m- -);
}
(38) 當(dāng)a=1,b=3,c=5,d=5時(shí),執(zhí)行下面一段程序后,x的值為
A) 1 B) 2 C) 3 D) 6
if(a if(c else
if(a if(b else x=3;
else x=6;
else x=7;
(39) 表示關(guān)系x<=y<=z的c語言表達(dá)式為
A) (X<=Y)&&(Y<=Z)
B) (X<=Y)AND(Y<=Z)
C) (X<=Y<=Z)
D) (X<=Y)&(Y<=Z)(40) 有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
輸出結(jié)果是
A) 2,1
B) 3,2
C) 4,3
D) 2,-1
(41) 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:1010&&a>15
D)!(a<=10)&&!(a>=15)
(42) 若有以下定義:
float x;int a,b;
則正確的switch 語句是
A)switch(x) B)switch(x)
{ case1.0:printf("*\n"); { case1,2:printf("*\n");
case2.0:printf("**\n"); case3:printf("**\n");
} }
C)switch (a+b) D)switch (a+b);
{ case 1:printf("\n"); { case 1:printf(."*\n");
case 1+2:printf("**\n"); case 2:printf("**\n");
} }
(43) 假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是
a=b=c=0;x=35;
if(!a)x--;
else if(b);
if(c)x=3;
else x=4;
A)34 B)4 C)35 D)3
(44) 在以下一組運(yùn)算符中,優(yōu)先級(jí)的運(yùn)算符是
A)<= B)= C)% D)&&
(45) 表達(dá)式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(46) 在下列選項(xiàng)中,不正確的賦值語句是
A) ++t;
B) n1=(n2=(n3=0));
C) k=i==j;
D) a=b+c=1;
(47) 能正確表示a≥10或a≤0的關(guān)系表達(dá)式是
A)a>=10 or a<=0
B)a>=10│a<=0
C)a>=10││a<=0
D)a>=10 ││a<=0
(48) 為表示關(guān)系x≥y≥z,應(yīng)使用C語言表達(dá)式
A) (x>=y)&&(y>=z)
B(x>=y)AND(y>=z)
C)(x>=y>=z)
D)(x>=y)&(y>=z)
(49) 兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5
B) 6和3
C) 7和4
D) 6和4
(40) 有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
輸出結(jié)果是
A) 2,1
B) 3,2
C) 4,3
D) 2,-1
(41) 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:1010&&a>15
D)!(a<=10)&&!(a>=15)
(42) 若有以下定義:
float x;int a,b;
則正確的switch 語句是
A)switch(x) B)switch(x)
{ case1.0:printf("*\n"); { case1,2:printf("*\n");
case2.0:printf("**\n"); case3:printf("**\n");
} }
C)switch (a+b) D)switch (a+b);
{ case 1:printf("\n"); { case 1:printf(."*\n");
case 1+2:printf("**\n"); case 2:printf("**\n");
} }
(43) 假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是
a=b=c=0;x=35;
if(!a)x--;
else if(b);
if(c)x=3;
else x=4;
A)34 B)4 C)35 D)3
(44) 在以下一組運(yùn)算符中,優(yōu)先級(jí)的運(yùn)算符是
A)<= B)= C)% D)&&
(45) 表達(dá)式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(46) 在下列選項(xiàng)中,不正確的賦值語句是
A) ++t;
B) n1=(n2=(n3=0));
C) k=i==j;
D) a=b+c=1;
(47) 能正確表示a≥10或a≤0的關(guān)系表達(dá)式是
A)a>=10 or a<=0
B)a>=10│a<=0
C)a>=10││a<=0
D)a>=10 ││a<=0
(48) 為表示關(guān)系x≥y≥z,應(yīng)使用C語言表達(dá)式
A) (x>=y)&&(y>=z)
B(x>=y)AND(y>=z)
C)(x>=y>=z)
D)(x>=y)&(y>=z)
(49) 兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5
B) 6和3
C) 7和4
D) 6和4 (50) 以下程序的輸出結(jié)果是
main( )
{ int a=-1,b=4,k;
k=(+ +a〈0)&&!(b - -〈=0);
printf("%d%d%d\n",k,a,b); }
A) 104
B) 103
C) 003
D) 004
(51) 下面的程序
A) 有語法錯(cuò)誤不能通過編譯
B) 輸出* * * *。
C) 可以通過編譯,但是不能通過連接,因而不能運(yùn)行。
D) 輸出# # # #。
main()
{ int x=3,y=0,z=0;
if(x=y+z)printf("* * * *");
else printf("# # # #");}
(52) 若執(zhí)行下面的程序時(shí)從鍵盤上輸入5,則輸出是
A) 7 B) 6 C) 5 D) 4
main()
{ int x;
scanf("%d",&x);
if(x++>5) printf("%d\n",x);
else printf("%d\n",x--);}
(53) 下面程序的輸出是
A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2
main()
{ int a=-1, b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d %d %d\n",k,a,b);}
(54) 下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是上面程序片段的輸出結(jié)果是
(55) 下面程序的輸出是
A) -1 B) 0 C) 1 D) 不確定的值
main()
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(a if(b!=15)
if(! ok1)
x=1;
else
if(ok2)x=10;
x=-1;
printf("%d\n",x);}
(56) 設(shè)a、b和c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為0的表達(dá)式是
A) ’a’&&’b’
B) a<=b
C) a||b+c&&b-c
D) !((a (57) 請(qǐng)讀程序:
#include
main()
{ float x,y;
scan("%f",&x);
if(x<0.0) y=0.0
else if((x<5.0)&&(x!=2.0))
y=1.0/(x+2.0);
else if (x<10.0) y=1.0/x;
else y=10.0;
printf("%f\n",y);
}
若運(yùn)行時(shí)從鍵盤上輸入2.0(表示回車),則上面程序的輸出結(jié)果是
A) 0.000000
B) 0.250000
C) 0.500000
D) 1.000000
(58) 請(qǐng)讀程序:
#include
main()
{ 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);
}
上面程序的輸出結(jié)果是
A) a=2, b=1
B) a=1, b=1
C) a=1, b=0
D) a=2, b=2
(59)以下程序的輸出結(jié)果是 【59】 。
# include
main()
{ int a ,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b); }
A) 6,1
B) 2,1
C) 6,0
D) 2,0
(60) 若k是int型變量,且有下面的程序片段:
k=-3
if(k<=0) printf("####")
else printf("&&&&");
上面程序片段的輸出結(jié)果是
A) ####
B) &&&&
C) ####&&&&
D) 有語法錯(cuò)誤,無輸出結(jié)果 二、填空題
(1)以下程序運(yùn)行后的輸出結(jié)果是 【1】 。
main()
{ int a=1,b=2,c=3;
if(c=a) printf("%d\n",c);
else printf("%d\n",b);
}
(2)以下程序運(yùn)行后的輸出結(jié)果是
main()
{
int a=3,b=4,c=5,t=99;
if(b if(a printf("%d%d%d\n",a,b,c);
}
(3)以下程序運(yùn)行后的輸出結(jié)果是
main()
{
int a,b,c
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c);
}
(4)以下程序運(yùn)行后的輸出結(jié)果是 【4】 。
main()
{ 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("%d %d\n",a,b);
}
(5)有以下程序
main( )
{ int n=0,m=1,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf(“%d\n”,x);
}
執(zhí)行后輸出結(jié)果是【5】 。
(6) 以下程序運(yùn)行后的輸出結(jié)果是 【6】 。
main()
{ int p=30;
printf (“%d\n”,(p/3>0 ? p/10 : p%3));
}
(7) 以下程序運(yùn)行后的輸出結(jié)果是【7】 。
main()
{ int a=1, b=3, c=5;
if (c=a+b) printf("yes\n");
else printf("no\n");
}
(8)若有以下程序
main()
{ int p,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
執(zhí)行后輸出結(jié)果是 【8】 。
(9)若有以下程序
main()
{ int a=4,b=3,c=5,t=0;
if(a if(a printf("%d %d %d\n",a,b,c);
}
執(zhí)行后輸出結(jié)果是 【9】 。
(10)以下程序運(yùn)行后的輸出結(jié)果是 [10] 。
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(“%d,%d \n”,x,y);
}
(11) 若從鍵盤輸入58,則以下程序輸出的結(jié)果是 【11】 。
main()
{ int a;
scanf("%d",&a);
if(a>50) printf("%d",a);
if(a>40) printf("%d",a);
if(a>30) printf("%d",a);
}
(12) 以下程序輸出的結(jié)果是【12】 。
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
(13)設(shè)y是int型變量,請(qǐng)寫出判斷y為奇效的關(guān)系表達(dá) 【13】 。
(14) 表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語言表達(dá)式是 [14] 。
(15) 若x為int類型,請(qǐng)以最簡(jiǎn)單的形式寫出與邏輯表達(dá)式!x等價(jià)的C語言關(guān)系表達(dá)式 [15] 。
(16)表示條件:10 (17) 條件“20 一、選擇題
01) D 02) C 03) A 04) C 05) B
06) D 07) C 08) A 09) D 10) D
11) A 12) C 13) C 14) C 15) B
16) D 17) C 18) A 19) C 20) A
21) C 22) B 23) D 24) C 25) B
26) D 27) D 28) A 29) C 30) C
31) B 32) A 33) D 34) C 35) D
36) C 37) B 38) B 39) A 40) A
41) A 42) C 43) B 44) C 45) D
46) D 47) D 48) A 49) A 50) D
51) D 52) B 53) C 54) C 55) A
56) D 57) C 58) A 59) B 60) D
二、填空題
(1) 1
(2) 4599
(3) 10 20 0
(4) 2 1
(5) -4
(6) 3
(7) yes
(8) 1
(9) 5 0 3
(10) 20,0
(11) 585858
(12) 0
(13) (y%2)!==1或y%2或(y%2)!=0
(14) x>5||x<-5
(15) x==0||x==1
(16) (x>10 && x<100)││x<0 或(1010 && x<100) 或 0>x││(10< && x<100)
(并且括號(hào)有無都可以)
(17) ((20
(1)當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是
A)k%2
B)k%2==1
C)(k%2)!=0
D)!k%2==1
(2)設(shè)有定義:int k=1,m=2; float f=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是
A)k=k>=k
B)-k++
C)k%int(f)
D)k>=f>=m
(3)設(shè)有定義:int a=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是
A)(!a==1)&&(!b==0)
B)(a C)a && b
D)a||(b+b)&&(c-a)
(4)設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語句
if (a if(c==d) y=0;
else y=1;
該語句所表示的含義是
(5)有以下程序
main()
{
int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是
A)6,1
B)2,1
C)6,0
D)2,0
(6)有以下程序
main()
{ int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d\n",i,j,k);
}
程序運(yùn)行后的輸出結(jié)果是
A)1 2 3
B)2 3 4
C)2 2 3
D)2 3 3
(7)若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是
A) abs(x-y)<10
B) x-y>-10&& x-y<10
C) @(x-y)<-10||!(y-x)>10
D) (x-y)*(x-y)<100
(8)有以下程序
main()
{
int a=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d++ +1);
else
printf("%d",++d +1);
printf("%d\n",d);
}
程序運(yùn)行后的輸出結(jié)果是
A) 2
B) 3
C) 43
D) 44 9)下列條件語句中,功能與其他語句不同的是
A) if(a) printf("%d\n",x); else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);
(10)以下4個(gè)選項(xiàng)中,不能看作一條語句的是
A) {;}
B) a=0,b=0,c=0;
C) if(a>0);
D) if(b==0) m=1;n=2;
(11)以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價(jià)的是
A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1
else k=0;
C) if(a<=B) k=0; D) if(a>B) k=1;
else if(b<=C) k=1; else if(b>C) k=1;
else k=0;
(12) 有以下程序
main()
{int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a printf("%d,%d\n",k,m);
}
程序運(yùn)行后的輸出結(jié)果是
A) 0,0
B) 0,1
C) 1,0
D) 1,1
(13) 有定義語句:int a=1,b=2,c=3,x; 則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是
A) if (c else if (b else x=3; else x=1;
C) if (a<3) x=3; D) if (a if (a<2) x=2; if (b
(14)有以下程序
main()
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
執(zhí)行后輸出結(jié)果是
A) 1,1,2
B) 2,2,1
C) 2,2,2
D) 2,2,3
(15)有以下程序
main()
{ int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else if((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2)
}
執(zhí)行后輸出結(jié)果是
A) 2 B) 3 C) 4 D) 編譯時(shí)有錯(cuò),無結(jié)果
(16) 已有定義:int x=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1 && y+z/2的值是
A) 6 B) 0 C) 2 D) 1
(17) 有一函數(shù), ,以下程序段中不能根據(jù)x值正確計(jì)算出y值的是
A) if(x>0) y=1; B) y=0;
else if(x==0) y=0; if(x>0) y=1;
else y=-1; else if(x<0) y=-1;
C)y=0; D)if(x>=0)
if(x>=0); if(x>0) y=1;
if(x>0) y=1 ; else y=0;
else y=-1; else y=-1; (18) 有以下程序
main()
{ int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;break;
}
}
printf(“%d\n”,m);
}
程序運(yùn)行后的輸出結(jié)果是
A) 1 B) 2 C) 3 D) 4
(19) 以下程序的輸出結(jié)果是
main()
{ int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?(a>c?a:c):(b));
}
A) 5 B) 4 C) 6 D) 不確定
(20) 以下程序的輸出結(jié)果是
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A) 1 B) 0 C) 非0的數(shù) D) -1
(21) 設(shè) a、b、C、d、m、n均為 int型變量,且 a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式 (m=a>b)&&(n=c>d)運(yùn)算后,n的值位為
A) 0 B) 1 C)2 D) 3
(22) 閱讀以下程序:
main()
{ int x;
scanf(“%d”,&x);
if(x--<5) printf(“%d”’x);
else printf(“%d”’x++);
}
程序運(yùn)行后,如果從鍵盤上輸人5,則輸出結(jié)果是
A)3 B) 4 C) 5 D) 6
(23) 假定w、x、y、z、m均為int型變量,有如下程序段:
w=1; x=2; y=3; z=4;
m=(w
A) 4 B) 3 C) 2 D) 2
(24) 設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,y的值為
A) 不定值 B) 4 C) 3 D) 1
(25) 若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是
A) 11 B) 10 C) 9 D) 8
Main0
{ int n;
scanf(“%d”,&n);
if(n++<10) printf(“%d\n”,n);
else printf(“%d\n”,n--);
}
(26) 若a、 b、c1、c2、x、y、均是整型變量,正確的switch語句是
A) swich(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 c1 :y=a-b; break {default:y=a*b;break
case c2: x=a*d; break case 3:case 4:x=a+b;break
default:x=a+b; case 10:case 11:y=a-b;break;
} } (27) 能正確表示邏輯關(guān)系:“a≥=10或a≤0”的C語言表達(dá)式是
A) a>=10 or a<=0
B) a>=0|a<=10
C) a>=10 &&a<=0
D) a>=10‖a<=0
(28) 有如下程序
main0
{ 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
(29) 有如下程序
main0
{ float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.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
(30) 有如下程序
main0
{ int a=2,b=-1,c=2;
if(a if(b<0) c=0;
else c++
printf(“%d\n”,c);
}
該程序的輸出結(jié)果是
A) 0 B) 1 C) 2 D) 3
(31) 設(shè) int x=1, y=1; 表達(dá)式(!x||y--)的值是
A) 0 B) 1 C) 2 D) -1
(32) 與 y=(x>0?1:x<0?-1:0);的功能相同的if語句是
A) if (x>0) y=1; B) if(x)
else if(x<0)y=-1; if(x>0)y=1;
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;
(33) 語句:printf("%d",(a=2)&&(b= -2);的輸出結(jié)果是
A) 無輸出
B) 結(jié)果不確定
C) -1
D) 1
(34) 當(dāng)c的值不為0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是
A) c=b=a;
B) (a=c) ‖(b=c) ;
C) (a=c) &&(b=c);
C) a=c=b;
(35) 能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是
A) (a>=0‖b>=0)&&(a<0‖b<0)
B) (a>=0&&b>=0)&&(a<0&&b<0)
C) (a+b>0)&&(a+b<=0)
D) a*b>0
(36) 以下程序的輸出結(jié)果是
A) -1 1 B) 0 1 C) 1 0 D) 0 0
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);
}
(37) 以下程序輸出結(jié)果是
A) 7 B) 6 C) 5 D) 4
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
esle printf("%d\n",m- -);
}
(38) 當(dāng)a=1,b=3,c=5,d=5時(shí),執(zhí)行下面一段程序后,x的值為
A) 1 B) 2 C) 3 D) 6
if(a if(c
if(a
else x=6;
else x=7;
(39) 表示關(guān)系x<=y<=z的c語言表達(dá)式為
A) (X<=Y)&&(Y<=Z)
B) (X<=Y)AND(Y<=Z)
C) (X<=Y<=Z)
D) (X<=Y)&(Y<=Z)(40) 有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
輸出結(jié)果是
A) 2,1
B) 3,2
C) 4,3
D) 2,-1
(41) 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:1010&&a>15
D)!(a<=10)&&!(a>=15)
(42) 若有以下定義:
float x;int a,b;
則正確的switch 語句是
A)switch(x) B)switch(x)
{ case1.0:printf("*\n"); { case1,2:printf("*\n");
case2.0:printf("**\n"); case3:printf("**\n");
} }
C)switch (a+b) D)switch (a+b);
{ case 1:printf("\n"); { case 1:printf(."*\n");
case 1+2:printf("**\n"); case 2:printf("**\n");
} }
(43) 假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是
a=b=c=0;x=35;
if(!a)x--;
else if(b);
if(c)x=3;
else x=4;
A)34 B)4 C)35 D)3
(44) 在以下一組運(yùn)算符中,優(yōu)先級(jí)的運(yùn)算符是
A)<= B)= C)% D)&&
(45) 表達(dá)式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(46) 在下列選項(xiàng)中,不正確的賦值語句是
A) ++t;
B) n1=(n2=(n3=0));
C) k=i==j;
D) a=b+c=1;
(47) 能正確表示a≥10或a≤0的關(guān)系表達(dá)式是
A)a>=10 or a<=0
B)a>=10│a<=0
C)a>=10││a<=0
D)a>=10 ││a<=0
(48) 為表示關(guān)系x≥y≥z,應(yīng)使用C語言表達(dá)式
A) (x>=y)&&(y>=z)
B(x>=y)AND(y>=z)
C)(x>=y>=z)
D)(x>=y)&(y>=z)
(49) 兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5
B) 6和3
C) 7和4
D) 6和4
(40) 有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
輸出結(jié)果是
A) 2,1
B) 3,2
C) 4,3
D) 2,-1
(41) 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:1010&&a>15
D)!(a<=10)&&!(a>=15)
(42) 若有以下定義:
float x;int a,b;
則正確的switch 語句是
A)switch(x) B)switch(x)
{ case1.0:printf("*\n"); { case1,2:printf("*\n");
case2.0:printf("**\n"); case3:printf("**\n");
} }
C)switch (a+b) D)switch (a+b);
{ case 1:printf("\n"); { case 1:printf(."*\n");
case 1+2:printf("**\n"); case 2:printf("**\n");
} }
(43) 假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是
a=b=c=0;x=35;
if(!a)x--;
else if(b);
if(c)x=3;
else x=4;
A)34 B)4 C)35 D)3
(44) 在以下一組運(yùn)算符中,優(yōu)先級(jí)的運(yùn)算符是
A)<= B)= C)% D)&&
(45) 表達(dá)式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(46) 在下列選項(xiàng)中,不正確的賦值語句是
A) ++t;
B) n1=(n2=(n3=0));
C) k=i==j;
D) a=b+c=1;
(47) 能正確表示a≥10或a≤0的關(guān)系表達(dá)式是
A)a>=10 or a<=0
B)a>=10│a<=0
C)a>=10││a<=0
D)a>=10 ││a<=0
(48) 為表示關(guān)系x≥y≥z,應(yīng)使用C語言表達(dá)式
A) (x>=y)&&(y>=z)
B(x>=y)AND(y>=z)
C)(x>=y>=z)
D)(x>=y)&(y>=z)
(49) 兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5
B) 6和3
C) 7和4
D) 6和4 (50) 以下程序的輸出結(jié)果是
main( )
{ int a=-1,b=4,k;
k=(+ +a〈0)&&!(b - -〈=0);
printf("%d%d%d\n",k,a,b); }
A) 104
B) 103
C) 003
D) 004
(51) 下面的程序
A) 有語法錯(cuò)誤不能通過編譯
B) 輸出* * * *。
C) 可以通過編譯,但是不能通過連接,因而不能運(yùn)行。
D) 輸出# # # #。
main()
{ int x=3,y=0,z=0;
if(x=y+z)printf("* * * *");
else printf("# # # #");}
(52) 若執(zhí)行下面的程序時(shí)從鍵盤上輸入5,則輸出是
A) 7 B) 6 C) 5 D) 4
main()
{ int x;
scanf("%d",&x);
if(x++>5) printf("%d\n",x);
else printf("%d\n",x--);}
(53) 下面程序的輸出是
A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2
main()
{ int a=-1, b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d %d %d\n",k,a,b);}
(54) 下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是上面程序片段的輸出結(jié)果是
(55) 下面程序的輸出是
A) -1 B) 0 C) 1 D) 不確定的值
main()
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(a if(b!=15)
if(! ok1)
x=1;
else
if(ok2)x=10;
x=-1;
printf("%d\n",x);}
(56) 設(shè)a、b和c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為0的表達(dá)式是
A) ’a’&&’b’
B) a<=b
C) a||b+c&&b-c
D) !((a (57) 請(qǐng)讀程序:
#include
main()
{ float x,y;
scan("%f",&x);
if(x<0.0) y=0.0
else if((x<5.0)&&(x!=2.0))
y=1.0/(x+2.0);
else if (x<10.0) y=1.0/x;
else y=10.0;
printf("%f\n",y);
}
若運(yùn)行時(shí)從鍵盤上輸入2.0
A) 0.000000
B) 0.250000
C) 0.500000
D) 1.000000
(58) 請(qǐng)讀程序:
#include
main()
{ 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);
}
上面程序的輸出結(jié)果是
A) a=2, b=1
B) a=1, b=1
C) a=1, b=0
D) a=2, b=2
(59)以下程序的輸出結(jié)果是 【59】 。
# include
main()
{ int a ,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b); }
A) 6,1
B) 2,1
C) 6,0
D) 2,0
(60) 若k是int型變量,且有下面的程序片段:
k=-3
if(k<=0) printf("####")
else printf("&&&&");
上面程序片段的輸出結(jié)果是
A) ####
B) &&&&
C) ####&&&&
D) 有語法錯(cuò)誤,無輸出結(jié)果 二、填空題
(1)以下程序運(yùn)行后的輸出結(jié)果是 【1】 。
main()
{ int a=1,b=2,c=3;
if(c=a) printf("%d\n",c);
else printf("%d\n",b);
}
(2)以下程序運(yùn)行后的輸出結(jié)果是
main()
{
int a=3,b=4,c=5,t=99;
if(b if(a
}
(3)以下程序運(yùn)行后的輸出結(jié)果是
main()
{
int a,b,c
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c);
}
(4)以下程序運(yùn)行后的輸出結(jié)果是 【4】 。
main()
{ 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("%d %d\n",a,b);
}
(5)有以下程序
main( )
{ int n=0,m=1,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf(“%d\n”,x);
}
執(zhí)行后輸出結(jié)果是【5】 。
(6) 以下程序運(yùn)行后的輸出結(jié)果是 【6】 。
main()
{ int p=30;
printf (“%d\n”,(p/3>0 ? p/10 : p%3));
}
(7) 以下程序運(yùn)行后的輸出結(jié)果是【7】 。
main()
{ int a=1, b=3, c=5;
if (c=a+b) printf("yes\n");
else printf("no\n");
}
(8)若有以下程序
main()
{ int p,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
執(zhí)行后輸出結(jié)果是 【8】 。
(9)若有以下程序
main()
{ int a=4,b=3,c=5,t=0;
if(a if(a
}
執(zhí)行后輸出結(jié)果是 【9】 。
(10)以下程序運(yùn)行后的輸出結(jié)果是 [10] 。
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(“%d,%d \n”,x,y);
}
(11) 若從鍵盤輸入58,則以下程序輸出的結(jié)果是 【11】 。
main()
{ int a;
scanf("%d",&a);
if(a>50) printf("%d",a);
if(a>40) printf("%d",a);
if(a>30) printf("%d",a);
}
(12) 以下程序輸出的結(jié)果是【12】 。
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
(13)設(shè)y是int型變量,請(qǐng)寫出判斷y為奇效的關(guān)系表達(dá) 【13】 。
(14) 表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語言表達(dá)式是 [14] 。
(15) 若x為int類型,請(qǐng)以最簡(jiǎn)單的形式寫出與邏輯表達(dá)式!x等價(jià)的C語言關(guān)系表達(dá)式 [15] 。
(16)表示條件:10
01) D 02) C 03) A 04) C 05) B
06) D 07) C 08) A 09) D 10) D
11) A 12) C 13) C 14) C 15) B
16) D 17) C 18) A 19) C 20) A
21) C 22) B 23) D 24) C 25) B
26) D 27) D 28) A 29) C 30) C
31) B 32) A 33) D 34) C 35) D
36) C 37) B 38) B 39) A 40) A
41) A 42) C 43) B 44) C 45) D
46) D 47) D 48) A 49) A 50) D
51) D 52) B 53) C 54) C 55) A
56) D 57) C 58) A 59) B 60) D
二、填空題
(1) 1
(2) 4599
(3) 10 20 0
(4) 2 1
(5) -4
(6) 3
(7) yes
(8) 1
(9) 5 0 3
(10) 20,0
(11) 585858
(12) 0
(13) (y%2)!==1或y%2或(y%2)!=0
(14) x>5||x<-5
(15) x==0||x==1
(16) (x>10 && x<100)││x<0 或(1010 && x<100) 或 0>x││(10< && x<100)
(并且括號(hào)有無都可以)
(17) ((20