點(diǎn)擊查看:2018年9月計(jì)算機(jī)二級(jí)C語(yǔ)言考試章節(jié)習(xí)題及答案匯總
第2章 C程序設(shè)計(jì)的初步知識(shí)
2.6 賦值表達(dá)式
1 [單選題] 以下能正確定義且賦初值的語(yǔ)句是( )。
A.int n1=n2=10;
B.char c=32;
C.float f=f+1.1;
D.double x=12.3E2.5;
收藏本題
參考答案:B
2 [單選題] 有以下程序
main( )
{ unsigned char a,b;
a=4|3;
b=4&3;
printf(“%d %d\n”,a,b(;
}
執(zhí)行后輸出結(jié)果是( )
A.7 0
B.0 7
C.1 1
D.43 0
參考答案:A
3 [單選題] 以下程序段中,不能正確賦字符串(編譯時(shí)系統(tǒng)會(huì)提示錯(cuò)誤)的是( )
A.char s[10]=”abcdefg”;
B.char t[]=”abcdefg”,*s=t;
C.char s[10];s=”abcdefg”;
D.char s[10];strcpy(s,”abcdefg”);
參考答案:C
4 [單選題] 有以下定義語(yǔ)句
double a,b; int w; long c;
若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是( )
A.a=a+b=b++
B.w%(int)a+b
C.(c+w)%(int)a
D.w=a==b;
收藏本題
參考答案:C
5 [單選題] 以下選項(xiàng)中非法的表達(dá)式是( )
A.0<=x<100
B.i=j==0
C.(char)(65+3)
D.x+1=x+1
參考答案:D
6 [單選題] 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
執(zhí)行后輸出結(jié)果是( )
A.n,two
B.t,one
C.w,one
D.o,two
參考答案:C
7 [單選題] 已知字母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
8 [單選題]
參考答案:D
參考解析:
C語(yǔ)言中*和/處于同一優(yōu)先級(jí)中,且按由左向右結(jié)合順序,由此判斷本題D選項(xiàng)不符合。
收起筆記 9 [單選題] 若有定義語(yǔ)句:int a=3,b=2,c=1;,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是( )。
A.a_(b=4)=3;
B.a=b=c+1;
C.a=(b=4)+c;
D.a=1+(b=c=4):
收藏本題
參考答案:A
參考解析:
這道題目主要考察賦值表達(dá)式,對(duì)于賦值表達(dá)式來(lái)說(shuō),賦值號(hào)“=”的左邊一定為變量名,右邊為一個(gè)C語(yǔ)言合法的表達(dá)式。
10 [單選題] 若有定義語(yǔ)句:intk1=10,k2=20;,執(zhí)行表達(dá)式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分別為( )。
A.0和1
B.0和20
C.10和1
D.10和20
收藏本題
參考答案:B
參考解析:
由于k1等于10,k2等于20,所以關(guān)系表達(dá)式k1>k2的值為假,即等于0,所以在執(zhí)行邏輯表達(dá)式(k1=k1>k2)&&(k2=k=2>k1)的第一個(gè)賦值表達(dá)式k1=k1>k2執(zhí)行后,k1的值等于0。又因?yàn)樵谶壿嬇c表達(dá)式中只要第表達(dá)式的值為假時(shí),整個(gè)邏輯表達(dá)式的值就為假,第二表達(dá)式不執(zhí)行,k2值不改變。
11 [單選題] 下列關(guān)系表達(dá)式中,結(jié)果為“假”的是
A.(3+4)>6
B.(3!=4)>2
C.3<=4||3
D.(3<4)==1
參考答案:B
參考解析:
由于3!=4 的結(jié)果為1,而1>2 的結(jié)果為假。
12 [單選題] 有以下程序
#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'。
13 [單選題] 若有定義語(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。
14 [填空題]
若X和n均是int型變量,且x=12,n=5,則執(zhí)行y=x%=(n%=2)表達(dá)式后Y的值為________ 。
本題型不支持在線作答,請(qǐng)電腦操作演示,部分試題“考生文件夾”是指考試時(shí)答題指定的保存位置。
參考解析:
O 【解析】 n%=2等價(jià)于n=n%2,結(jié)果為1;x%=1等價(jià)于x=x%1,結(jié)果為0。
15 [單選題] 以下程序的運(yùn)行結(jié)果是( )。
A.0
B.1
C.2
D.3
收藏本題
參考答案:A
參考解析:
邏輯與(&&)運(yùn)算符的功能是:當(dāng)“&&”運(yùn)算符兩邊的運(yùn)算對(duì)象均為l時(shí),整個(gè)表達(dá)式的值為1,否則為0。因?yàn)閍=3
16 [單選題] 下列程序段選擇項(xiàng),使i的運(yùn)行結(jié)果為3的程序段是( )。
A.int i=0,j=0; (i=2,(j++)+i);
B.int i=1,j=0; j=i=((i=3)*2);
C. int i=0,j=1; (j==1)?(i=1):(i=3);
D.int i=1,j=1; i+=j+=1;
收藏本題
參考答案:D
參考解析:
要解答本題,必須一項(xiàng)一項(xiàng)計(jì)算出語(yǔ)句的運(yùn)算結(jié)果,才能選擇正確的答案。選項(xiàng)A):i被賦初值為2,在后面的運(yùn)算中沒(méi)有發(fā)生任何變化還是2;選項(xiàng)B)的運(yùn)算結(jié)果為:i=3*2=6:選項(xiàng)C):初始時(shí)給i賦值為1,即j=1為真,所以取第一個(gè)表達(dá)式的值,即i=1作為返回值:選項(xiàng)D)的運(yùn)算結(jié)果為:i=i+(j+1)=3。
17 [單選題] 若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是( )。
A.x=y==5;
B.x=n%2.5;
C.x+n=i;
D.x=5=4+1;
參考答案:A
參考解析:
本題考查賦值運(yùn)算符及賦值表達(dá)式。賦值運(yùn)算符左側(cè)的操作數(shù)必須是一個(gè)變量,而不能是表達(dá)式或者常量,選項(xiàng)C)和D》錯(cuò)誤。”%”運(yùn)算符兩側(cè)都應(yīng)當(dāng)是整型數(shù)據(jù),選項(xiàng)B)錯(cuò)誤。
18 [單選題] 有以下程序:
程序運(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。
19 [單選題] 有以下定義: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)。
20 [單選題] 設(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)椤弊宰笾劣摇薄)選項(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)。
21 [單選題] 以下選項(xiàng)中非法的表達(dá)式是( )。
A.a+1=a+1
B.a=b==0
C.(Char.(100+100.
D.7<=X<60
參考答案:A
參考解析:
賦值運(yùn)算符的左邊只能是變量,而不能是常量或表達(dá)式。
22 [單選題] 在以下選項(xiàng)中,不正確的賦值語(yǔ)句是( )。
A.i++;
B.n1=(n2=(n3=0..;
C.m+n=1;
D.i=k==j;
收藏本題
參考答案:C
賦值運(yùn)算符的左邊只能是變量,而不能是常量或表達(dá)式。
23 [單選題] 若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。
24 [單選題] 若運(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。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(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)蒙古 |