計(jì)算機(jī)二級(jí)C語(yǔ)言考前模擬試題及答案2016
(1)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.852
B.963
C.741
D.875421
(2)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.let=4
B.m=2
C.m=6
D.m=5
(3)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.6
B.3
C.8
D.12
(4)有以下程序:
則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是( )。
A.k:f(a,B.;
B.k:add(a,B.;
C.k=(*f)(a,B.;
D.k=*(a,B.;
(5)有以下程序
(6)下列定義數(shù)組的語(yǔ)句中,正確的是( )。
(7)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.0 3 0 4
B.2 0 5 0
C.3 3 4 4
D.3 0 4 0
(8)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.3
B.4
C.l
D.9
(9)以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是( )。
(10)以下不能將s所指字符串正確復(fù)制到t所指存儲(chǔ)空間的是( )。
A.do{*t++=*8++;}while(*s);
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++;}
D.for(i=0,j=0;t[i++]=s[j++];);
(11)有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.321,cba
B.abc,l23
C.123,abc
D.lbe,a23
(12)有以下函數(shù):
函數(shù)的功能是( )。
A)將Y所指字符串賦給x所指存儲(chǔ)空間
B.查找x和y所指字符串中是否有
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
D.統(tǒng)計(jì)x和Y所指字符串中相同的字符個(gè)數(shù)
(13)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A)Lo
B.30
C.0
D.64
(14)在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)? )。
A.由具體定義位置和extem說(shuō)明來(lái)決定范圍
B.所在程序的全部范圍
C.所在函數(shù)的全部范圍
D.所在文件的全部范圍
(15)以下敘述中錯(cuò)誤的是( )。
A.可以通過(guò)typedef增加新的類型
B.可以用typedef將已存在的類型用一個(gè)新的名字來(lái)代表
C.用typedef定義新的類型名后,原有類型名仍有效
D.用typedef可以為各種類型起別名,但不能為變量起別名
(16)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.10
B.11
C.20
D.21
(17)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.7.5
B.31.5
C.程序有錯(cuò)無(wú)輸出結(jié)果
D.14.0
(18)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.3
B.4
C.5
D.6
(19)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1.1.3
B.2,2,3
C.1,2,3
D.3,3,3
(20)以下敘述中正確的是( )。;
A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)
D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù).
參考答案與解析
(1)A
【解析】第一次for循環(huán),y的值為9,y%3的值為3,滿足條件打印一一Y,即先減一后打印,所以打印8;第二次for循環(huán),Y的值為7,y%3的值為1,不執(zhí)行打印語(yǔ)句;第三次for循環(huán),y的值為6,y%3的值為0,滿足條件打印一一Y,即先減一后打印,所以打印5;第四次for循環(huán),Y的值為4,不滿足if條件,不執(zhí)行打印語(yǔ)句;第五次for循環(huán),Y的值為3,滿足if條件,打印輸出2;第六次for循環(huán),Y的值為1,不滿足條件,不執(zhí)行打印語(yǔ)句。
(2)C
【解析】第一次外循環(huán)i的值為l,第一次內(nèi)循環(huán)j的值為3,不滿足條件執(zhí)行in}=i}j即m的值為3;第二次j的值為2,不滿足條件執(zhí)行m·=i*j,即m的值為6;第三次j的值為1,不滿足條件執(zhí)行nl*=i*j,即m的值仍為6。第二次外循環(huán)i的值為2,j的值為3,滿足條件,執(zhí)行break語(yǔ)句,跳出循環(huán)。
(3)A
【解析】本題中第一次調(diào)用為fun(8,fun(5,6)),因?yàn)閒un(5,6)返回值為5,所以第二次調(diào)用為fun(8,5)=6。所以選擇A。
(4)D
【解析】D選項(xiàng)中+f(a,b)表示調(diào)用后返回一個(gè)指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類型,所以不能將其賦值給整形變量k。
(5)A
【解析】選項(xiàng)8的正確寫(xiě)法應(yīng)為P=&n;選項(xiàng)c的正確寫(xiě)法應(yīng)為scanf(”%d”,P);選項(xiàng)D的正確寫(xiě)法應(yīng)為printf(”%d\n”,* P)。
(6)A
【解析】數(shù)組說(shuō)明的一般形式為:類型說(shuō)明符
數(shù)組名[常量表達(dá)式]。B選項(xiàng)中N是變量,不能用變量定義數(shù)組長(zhǎng)度。c選項(xiàng)中數(shù)組長(zhǎng)度是非法的一串?dāng)?shù)字。定義數(shù)組時(shí)必須為其指明長(zhǎng)度,D選項(xiàng)中數(shù)組長(zhǎng)度為空,所以非法。
(7)D
【解析】第一次循環(huán)i為0,i%2為o,執(zhí)行switch(a[O]%2)中的ca∞0語(yǔ)句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)i的值為l,i%2為1,執(zhí)行ca∞1:a[i]=0;所以a[1]的值變成0;第三次循環(huán)i的值為2,i%2為0,執(zhí)行switch(a[2]%2)中的ca∞1語(yǔ)句后的內(nèi)容a[2]一一,8[2]的值變成4;第四次循環(huán)i的值為3,i%2為1,執(zhí)行casel:a[i]=0;所以a[3]的值變成0。
(8)B
【解析】每次內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第一次外循環(huán)時(shí)t=t+b[0][b[0][0]]=1+b][0]=1+0=第二次外循環(huán)時(shí)t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第三次外循環(huán)時(shí)t=t+b[2][b[2][2]]=2+b[2][2]=2+2=4。
(9)A
【解析】數(shù)組定義后,不可以對(duì)數(shù)組整體賦值,s是二維數(shù)組,因SS[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用strcpy(SS[1],”right”);這樣的形式,而選項(xiàng)A中對(duì)二維數(shù)組中的第…l維(相當(dāng)于一個(gè)一維數(shù)組)賦值,是不可以的。選項(xiàng)8和D是定義時(shí)對(duì)數(shù)組初始化,這是可以的。選項(xiàng)c中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素,這是可以的。
(10)A
【解析】do{*t++=}S++;}while(*S);不能因?yàn)楫?dāng)*s=’、0。時(shí),while(* s)跳出循環(huán),這樣字符串結(jié)束標(biāo)志’、0’沒(méi)有復(fù)制給}t,造成}t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進(jìn)行t=t+1,s=s+1。B、C、D都能將。\0’復(fù)制過(guò)去
(11)D
【解析】字符串是一個(gè)特殊的數(shù)組,所以按照數(shù)組的規(guī)則,sl應(yīng)該指向的是數(shù)組的首地址,即“abc”的第一個(gè)字符的地址。s2指向的是“123”的第一個(gè)字符的地址。調(diào)用swap函數(shù)之后交換的是兩個(gè)字符串的第一個(gè)字符‘a’和‘1’的內(nèi)容,所以打印輸出為D)。
(12)C
【解析】本題中由循環(huán)條件可知遇到‘\0’或x與y所指的字符的值不等中的一個(gè)條件時(shí)就結(jié)束,所以功能是統(tǒng)計(jì)x和Y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。
(13)D
【解析】本題目中靜態(tài)局部變量x,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。所以第一次循環(huán)s的值為2,第二次循環(huán)中,返回的x的值為4,所以s的值為8,第三次循環(huán),返回的x的值為8,所以S的值為64.
(14)A
【解析】全局變量的作用域是從聲明處到文件的結(jié)束。所以選擇A)。
(15)A
【解析】關(guān)鍵字typedef的作用只是將C語(yǔ)言中的已有的數(shù)據(jù)類型作了置換,并不是增加新的類型,所以A錯(cuò)誤。
(16)D
【解析】聲明data是結(jié)構(gòu)S數(shù)組。初始化data『0].a=10;data[0].b=100;data[1].a=20;data[1].b=200。主函數(shù)中P=data[1];即P.a=data[1].a;P.b=data[1].b;執(zhí)行語(yǔ)句prinff(”%d\n”,++(P.a));打印輸出時(shí)p.a先增l再打印。P.a=data[1].a=20,先增1等于21。
(17)C
【解析】宏定義不是C語(yǔ)句,末尾不需要有分號(hào)。所以語(yǔ)句printf(”%4.1f\n”,S(8+b));展開(kāi)后為parintf(”%4.1f\n”,3.5;*a+b}a+b;);所以程序會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。
(18)B
【解析】&按位與,如果兩個(gè)相應(yīng)的二進(jìn)制位都為l,則該位的結(jié)果值為1,否則為0。l按位或,兩個(gè)相應(yīng)的二1進(jìn)制位中只要有一個(gè)為l,該位的結(jié)果值為l。2的二進(jìn)制為1 00000010,4的二進(jìn)制為00000100,所以做或運(yùn)算結(jié)果為1 00000110,該數(shù)與5即00000101做與操作結(jié)果為00000100,1即4。
(19)D
【解析】maUoc函數(shù)動(dòng)態(tài)分配一個(gè)整型的內(nèi)存空間,然后把函數(shù)返回的地址用(int{)強(qiáng)制類型轉(zhuǎn)換為整型指針,再把它賦給a,b,c,即讓指針變量a,b,c都指向剛申請(qǐng)的內(nèi)存空間。所以只有最后一個(gè)賦值語(yǔ)句+C=3的值保留在了該空間內(nèi),因?yàn)閍、b、C三個(gè)指針變量均指向該空間,所以打印該空間內(nèi)的數(shù)值為3。
(20)A
【解析】B選項(xiàng)中打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。C選項(xiàng)中在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,不用先關(guān)閉該文件然后再打開(kāi),才能讀到第l個(gè)數(shù)據(jù),可以用fseek()函數(shù)進(jìn)行重新定位即可。D選項(xiàng)中,C語(yǔ)言中的文件可以進(jìn)行隨機(jī)讀寫(xiě)。
【計(jì)算機(jī)二級(jí)C語(yǔ)言考前模擬試題及答案】相關(guān)文章:
C語(yǔ)言考前模擬試題03-25
計(jì)算機(jī)二級(jí)《C語(yǔ)言》模擬試題及答案07-29
計(jì)算機(jī)二級(jí)C語(yǔ)言模擬試題及答案07-04
計(jì)算機(jī)二級(jí)《C語(yǔ)言》模擬試題及答案201703-26
計(jì)算機(jī)二級(jí)《C語(yǔ)言》考試模擬試題與答案07-21
2016計(jì)算機(jī)二級(jí)《C語(yǔ)言》模擬試題及答案05-25
C語(yǔ)言模擬試題及答案06-17
C語(yǔ)言模擬試題及答案03-26