點(diǎn)擊查看:2018年9月計(jì)算機(jī)二級(jí)C語(yǔ)言考試章節(jié)習(xí)題及答案匯總
第2章 C程序設(shè)計(jì)的初步知識(shí)
2.5 算術(shù)表達(dá)式
1 [單選題] 以下不能正確計(jì)算代數(shù)式 值的C語(yǔ)言表達(dá)式是( )。
A.1/3*sin(1/2)*sin(1/2)
B.sin(0.5)*sin(0.5)/3
C.pow(sin(0.5),2)/3
D.1/3.0*pow(sin(1.0/2),2)
參考答案:A
2 [單選題] 若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)的值是( )。
A.1
B.0
C.2
D.不知道a的值,不能確定
參考答案:A
參考解析:
邏輯或”||”要求只要兩邊的運(yùn)算對(duì)象有一個(gè)非零,結(jié)果就為真。雖然不知道a的值,但是若a為l,則左邊運(yùn)算對(duì)象為1;若a的值不是1,則右邊運(yùn)算對(duì)象的值為1,所以總能保證一邊非零,所以結(jié)果為真,即1。
3 [單選題] 設(shè)變量x為float型且已賦值,則以下語(yǔ)句中能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第三位四舍五入的是( )
A.x=x*100+0.5/100.0;
B.x=(x*100+0.5)/100.0;
C.x=(int)(x*100+0.5)/100.0;
D.x=(x/100+0.5)*100.0;
4 [單選題] 表達(dá)式3.6-5/2+1.2+5%2的值是( )。
A.4.3
B.4.8
C.3.3
D.3.8
參考答案:D 。
參考解析:
此題考核的是算術(shù)運(yùn)算符的運(yùn)算規(guī)則,算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇保劝催\(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,同時(shí)在C中兩個(gè)整數(shù)相除或求余數(shù)其結(jié)果依舊為整數(shù)。計(jì)算后結(jié)果為3.8。
5 [單選題] 已知字母A的ASCIl代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是
A.kk>='A'&&kk<='Z'
B.!(kk>='A'||kk<='Z')
C.(kk+32)>='a'&&(kk+32)<='z'
D.isalpha(kk)&&(kk<91)
參考答案:B
6 [單選題] 當(dāng)變量 c 的值不為 2、4、6時(shí),值也為“真”的表達(dá)式是
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)&&(c%2!=1)
參考答案:B
參考解析:
條件語(yǔ)句if(a>B.不成立,所以語(yǔ)句a=b;不執(zhí)行,語(yǔ)句c=a;執(zhí)行后, c=3,此時(shí)條件語(yǔ)句if(C!=A.不成立,所以語(yǔ)句c=b;不執(zhí)行。結(jié)果為a=3,b=5,c=3。
7 [單選題]
參考解析:
C語(yǔ)言中*和/處于同一優(yōu)先級(jí)中,且按由左向右結(jié)合順序,由此判斷本題D選項(xiàng)不符合。
8 [單選題] 若有表達(dá)式(w)?(--x):(++y),則其中與w等價(jià)的表達(dá)式是 ( )
A.w=-1
B.w=-0
C.w!=1
D.w!=0
參考答案:D
參考解析:
由條件表達(dá)式:的執(zhí)行情況來(lái)判斷,表達(dá)式(W)和表達(dá)式W!=0的邏輯值是一致的,所以本題選D選項(xiàng)。
9 [單選題] 有以下程序
( )
A.21
B.11
C.6
D.1
參考答案:A
參考解析:
a左移兩位與b值求或,a左移兩位結(jié)果為20,b值為1,a和b求或得值為21。所以A為正確選項(xiàng)。
10 [單選題] 表達(dá)式:(int)((double)9/2)-(9)%2的值是 ( )
A.0
B.3
C.4
D.5
收藏本題
參考答案:B
參考解析:
(int)((double)9,/2)的值為4,(9)%2的值為1,則整個(gè)表達(dá)式的值為3。
11 [單選題] 若有定義語(yǔ)句:intx=10;則表達(dá)式x-=x+X的值為 ( )
A.-20
B.-10
C.0
D.10
參考答案:B
參考解析:
x-=x+X,即x=x-(x+x),x=-X,故x=-10。
12 [單選題] 有以下程序:
#include
void main()
{
int s;
scanf("%d",&s);
while(s>0)
{
switch(s)
{
case 1:printf("%d",s+5);
case 2:printf("%d",s+4);break;
case 3:printf("%d",s+3);
default:printf("%d",s+1);break;
}
scanf("%d",&s);
}
}
運(yùn)行時(shí),若輸入1 2 3 4 5 0<回車>,則輸出結(jié)果是
A.6566456
B.66656
C.66666
D.6666656
參考答案:A
參考解析:
這道試題主要考察了switch和break語(yǔ)句,當(dāng)變量S的值為1時(shí),執(zhí)行case1、case 2兩條語(yǔ)句,輸出65;當(dāng)變量S的值為2時(shí),執(zhí)行case 2語(yǔ)句,輸出6;變量s的值為3時(shí),執(zhí)行case3、default兩條語(yǔ)句,輸出64;變量S的值為4時(shí),執(zhí)行defauR語(yǔ)句,輸入5;變量s的值為5時(shí),執(zhí)行default語(yǔ)句,輸出6;變量S的值為0時(shí),程序運(yùn)行結(jié)束。
13 [單選題] 有以下程序
#include
main()
{
char a='H';
a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;
printf("%c\n",a);
}
程序運(yùn)行后的輸出結(jié)果是
A.A
B.a
C.H
D.h
參考答案:D
參考解析:
由于a 的值為'H',符合(a>='A'&&a<='Z'),所以條件表達(dá)式的值等于(a-'A'+'a'),即'h'。
14 [單選題] 若有定義語(yǔ)句 int b=2; 則表達(dá)式(b<<2)/(3||b)的值是
A.4
B.8
C.0
D.2
參考答案:B
參考解析:
變量b 的值等于2,其向左移動(dòng)2 位,其值等于8,即b<<2 的值等于8。而3||b 做或運(yùn)算的結(jié)果等于1。所以表達(dá)式(b<<2)/(3||b)的值等于8。
15 [填空題]
本題型不支持在線作答,請(qǐng)電腦操作演示,部分試題“考生文件夾”是指考試時(shí)答題指定的保存位置。
參考解析:1-a
16 [填空題]
下列 y 的值是 。
int y;y=sizeof(2.25*4);
參考解析:
解析:sizeof(2.25*4)為sizeof(9.00)值為8,C語(yǔ)言規(guī)定浮點(diǎn)型常量當(dāng)雙精度處理,雙精度實(shí)數(shù)的存儲(chǔ)單元為 8 個(gè)字節(jié)。
17 [填空題]
若int x=1,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=x*=y后的y值是_________。
參考解析:0
【解析】對(duì)表達(dá)式從右向左進(jìn)行計(jì)算x+=y得x=2,則Y+=y.=2,右邊即y一.2得y=0,則y+=0得y=0。
18 [填空題]
若S是int型變量,且s=8,則s%3+(s+1)%3表達(dá)式的值為________。
參考解析: 2
【解析】考查基本表達(dá)式的計(jì)算,“%”運(yùn)算符的功能是取余。題中條件s=8,則s%3=2,(s+1)%3=9%3=0,所以表達(dá)式s%3+ (s+1)%3=2+0=2。
19 [填空題]
以下程序的輸出結(jié)果是( )。
#include
main()
{ int a=37;
a+=a%=9; printf(“%d\n”,a);
}
參考解析:
2 a+=a%=9;其中a%=9等價(jià)于a=a%9;結(jié)果為1,所以a+=a%=9等價(jià)于a=a+1,故答案為2.
20 [填空題]
請(qǐng)寫出與 !(a<=B)等價(jià)的C語(yǔ)言表達(dá)式 。
參考解析:
(a<=b)||(a>b) 表達(dá)式!(a<=b)含義是對(duì)a 小于等于b 取非,所以與其等價(jià)的表達(dá)式是(a<=b)||(a>b)。
21 [單選題] 下面程序段的輸出結(jié)果是( )。
#include
main()
{
float x = 1.236547;
printf("%f\n",(int)(x*1000+0.5)/(float)1000);
}
A.1.237000
B.輸出格式說(shuō)明與輸出項(xiàng)不匹配,輸出無(wú)定值
C.1.236000
D.1.24
參考答案:A
參考解析:
本題中,(int)(x*1000+0.5)的結(jié)果為1237,(float)1000是將1000強(qiáng)制轉(zhuǎn)換成float類型;整個(gè)表達(dá)式(int)(x*1000+0.5)/(float)1000的結(jié)果為1.237000,再以實(shí)數(shù)(6位小數(shù))形式輸出。
22 [單選題] 以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式為( )。
A.x%2==1
B.x/2
C.x%2!=0
D.x%2==0
參考答案:D
參考解析:
當(dāng)x為大于1的奇數(shù)時(shí),x對(duì)2求余的結(jié)果為1,不為0,所以選項(xiàng)D)中表達(dá)式的值為0。
23 [單選題] 若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,X的值為( )。
A.4
B.16
C.32
D.52
參考答案:C
參考解析:
本題考查逗號(hào)表達(dá)式的運(yùn)用。x=(i--4,j=16,k=32)中的i=4j=16,k=32構(gòu)成一個(gè)逗號(hào)表達(dá)式,整個(gè)表達(dá)式的值取最后一項(xiàng)的值,即32,所以x的值為32。
24 [單選題] 以下不能正確表示代數(shù)式4cd/ab的C語(yǔ)言表達(dá)式縣( ).
A.4*c*d/a/b
B.c*d/a/b*4
C.c/a/b*d*4
D.4*c*d/a*b
收藏本題
參考答案:D
參考解析:
c語(yǔ)言中算術(shù)運(yùn)算符的結(jié)合性均為自左向右。選項(xiàng)D中表達(dá)式計(jì)算結(jié)果是4cdb/a,和題目要求的代數(shù)式不一致,因此選項(xiàng)D不能正確表示題目所給代數(shù)式的內(nèi)容。
25 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.0
B.-1
C.1
D.7
參考答案:B
參考解析:
a--的含義是先用后減1,所以當(dāng)a的值為0時(shí),跳出循環(huán),但是仍要執(zhí)行a--,a的值變?yōu)?1。
26 [單選題] 已有定義:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判斷e中的字符是否為大寫字母的表達(dá)式是( )。
A.isupper(c)
B.'A' <= c <= 'Z'
C.'A'<= c&&c <= 'Z'
D.c <= ('z' - 32)&&('a' - 32) <= c
參考答案:B
參考解析:
解析:在本題中,選項(xiàng)B,實(shí)際是先計(jì)算關(guān)系表達(dá)式“‘A <= c’” 的值是0還是1,再比較該值與字符‘Z’之間的大小關(guān)系,顯然不能實(shí)現(xiàn)題目所要求的功能,而選項(xiàng) A,C,D都可以。
27 [單選題] 有以下定義:int a;long b;double x,y;則以下選項(xiàng)中正確的表達(dá)式是( )。
A.a%(int)(x-y)
B.a=x!=y;
C.(a*y)%b
D.y=x+y=x
參考答案:B
參考解析:
選項(xiàng)中如果x與Y的值相等那么取余時(shí)就會(huì)有除數(shù)為0的情況。C)選項(xiàng)中取余的兩個(gè)數(shù)據(jù)都應(yīng)為整數(shù),不能有一方為實(shí)型變量,而a*y的結(jié)果為double型。 D)選項(xiàng)表達(dá)式本身就錯(cuò)誤,不能給表達(dá)式賦值。所以,本題答案為B)。
收起筆記 28 [單選題] 設(shè)有定義:int x=3;,以下表達(dá)式中,值不為l2的是( )。
A.x*=x+1
B.x++,3*x
C.x*=(1+x)
D.2*x.x+=6
參考答案:D
參考解析:
本題考查逗號(hào)運(yùn)算符的運(yùn)算方式,逗號(hào)運(yùn)算符的作用是將若干表達(dá)式連接起來(lái),它的優(yōu)先級(jí)別在所有運(yùn)算符中是最低的,結(jié)合方向?yàn)椤弊宰笾劣摇。A)選項(xiàng)和c)選項(xiàng)的結(jié)果是一樣的,可展開為:x=x*(x+1)=3*4=12;B)選項(xiàng)中先執(zhí)行x++,因?yàn)?+運(yùn)算符有自加功能,逗號(hào)之前執(zhí)行后x的值為4,逗號(hào)后的值就是整個(gè)表達(dá)式的值,即12;D)選項(xiàng)逗號(hào)之前并未給x賦值,所以表達(dá)式的值就是x+=6的值,即9。因此,本題答案為D)。
29 [單選題]
參考答案:A
參考解析:
本題考查的是C語(yǔ)言表達(dá)式。如果算術(shù)運(yùn)算符”/”中參與運(yùn)算的變量都是整型變量,則”/”表示整除運(yùn)算,所以”l/3”的值應(yīng)為0,故選項(xiàng)A)的表達(dá)式值為0,而事
能正確計(jì)算題目所要求的代數(shù)式。
30 [單選題] 下面程序的運(yùn)行結(jié)果是( )。
main()
{
int y = 5, x = 14 ; y = ((x=3*y,x+6),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
收藏本題
參考答案:C
參考解析:本題考查的是逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號(hào)表達(dá)式的值就是最后一個(gè)表達(dá)式N的值。表達(dá)式(x=3 * y,x+6)中,x=15。表達(dá)式y(tǒng)=x—1=14。
31 [單選題] 執(zhí)行語(yǔ)句X=(a=10,b=a--.后,x、a、b的值依次為( )。
A.10,10,9
B.10,9,9
C.9,10,9
D.10,9,10
參考答案:D
參考解析:
表達(dá)式a一一的值為10,a的值遞減為9,所以b=10,x的值為逗號(hào)表達(dá)式的值,x=10。因此x=10,a=9.b=10。
32 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,0
B.0,1
C.0,0
D.1,1
參考答案:A
參考解析:
n=b>a,n=1,判斷到此,邏輯或?yàn)檎?后面的J=a
33 [單選題] 表示關(guān)系M<=N<=P的C語(yǔ)言表達(dá)式為( )。
A.(M<=N.AND(N<=P.
B.(M<=N.&&(N<=P.
C.(M<=N<=P.
D.(M<=N.&(N<=P.
參考答案:B
參考解析:
M<=N和N<=P是邏輯與的關(guān)系,應(yīng)使用運(yùn)算符&&。
34 [單選題] 若x=4,y=5,則x&y的結(jié)果是( )。
A.0
B.4
C.3
D.5
參考答案:B
參考解析:
本題主要考查按位與運(yùn)算的知識(shí)點(diǎn)。按位與足對(duì)兩個(gè)運(yùn)算最相應(yīng)的位進(jìn)行邏輯與, “&”的規(guī)則與邏輯與“&&”相同。x=4的二進(jìn)制為00000100,y=5的二進(jìn)制為00000101,x&y=00000100,轉(zhuǎn)化為十進(jìn)制即為4。
35 [單選題] 若運(yùn)行時(shí)給變量X輸入12,則以下程序的運(yùn)行結(jié)果是( )
main()
{
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
參考答案:A
參考解析:
本題考查三目運(yùn)算符“?:”。表達(dá)式“x>127x+10:x.12”即,如果x>12成立,則x+10的值即為此表達(dá)式的值,否則x.12即為此表達(dá)式的值。因?yàn)閤=12,所以x>12不成立,所以執(zhí)行y=x-12=0。
36 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2
B.4
C.6
D.8
參考答案:D
參考解析:
本題考查位運(yùn)算符,題目中將a向左移兩位,左移兩位表示乘以4,所以答案為8,選項(xiàng)D正確。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年9月全國(guó)計(jì)算機(jī)等級(jí)考試試題匯總(各科目)
2018年全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)
2018年全國(guó)計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |