<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    9月計算機二級C語言沖刺試題及答案

    時間:2024-12-24 17:52:04 試題 我要投稿

    2016年9月計算機二級C語言沖刺試題及答案

      (1)計算機能直接執行的程序是( )。

    2016年9月計算機二級C語言沖刺試題及答案

      A.源程序

      B.目標程序

      C.匯編程序

      D.可執行程序

      (2)以下敘述中正確的是( )。

      A.c語言規定必須用main作為主函數名,程序將從此開始執行

      B.可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行

      C.c語言程序將從源程序中第一個函數開始執行、

      D.main的各種大小寫拼寫形式都可以作為主函數名,如MAIN,Main等

      (3)以下選項中可用做c程序合法實數的是( )。、、

      A.3.0e0.2

      B..1e0

      C.E9

      D.9.12E

      (4)下列定義變量的語句中錯誤的是( )。

      A.int jnt;

      B.double int_;

      C.char For;

      D.float US$;

      (5)表達式:(im)((double)9/2)一9%2的值是( )。

      A.0

      B.3

      C.4

      D.5

      (6)設變量均已正確定義,若要通過

      scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2);

      語句為變量al和a2賦數值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是( )。(注:口代表空格字符)

      (7)以下選項中不能作為c語言合法常量的是( )。.

      A.0.1e+6

      B.’cd’.

      C.”、a”

      D.’\011

      (8)if語句的基本形式是:if(表達式)語句,以下關于“表=迭式”值的敘述中正確的是( )。

      A.必須是邏輯值

      B.必須是整數值

      C.必須是正數

      D.可以是任意合法的數值

      (9)有如下嵌套的if語句:

      以下選項中與上述if語句等價的語句是( )。

      A.k=(a

      B.B.:((b>C.?b:

      C.;B.k=(a

      D.k=(a

      (10)有以下程序:

      程序執行后的輸出結果是( )。

      A.1

      B.2

      C.4

      D.死循環

      (11)以下關于結構化程序設計的敘述中正確的是( )。

      A.結構化程序使用goto語句會很便捷

      B.在c語言中,程序的模塊化是利用函數實現的

      C.一個結構化程序必須同時由順序、分支、循環三種結構組成

      D.由三種基本結構構成的程序只能解決小規模的問題

      (12)對于一個正常運行的C程序,以下敘述中正確的是( )。

      A.程序的執行總是從main函數開始,在程序的最后一個函數中結束

      B.程序的執行總是從程序的第一個函數開始,在main函數結束.

      C.程序的執行總是從main函數開始、

      D.程序的執行總是從程序的第一個函數開始,在程序的最后一個函數中結束

      (13)以下選項中能表示合法常量的是( )。

      A.1,200

      B.1.5E2.0

      C.”\”

      D.”\007”

      (14)以下定義語句中正確的是( )。

      A.int a=b=0;

      B.char A=65+1,b=’b’;

      C.float a=1,*b=*a,*C=&b;

      D.double a=0.0;b=1.1;

      (15)若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是( )。

      A.X+1=y

      B.++X.Y=X一一

      C.X=X+10=X+Y

      D.double(X)/10

      若變量已正確定義為int型,要通過語句:scanf(”%d,%d,%d”,&a,&b,&C.;給a賦值l、給b賦值2、給C賦值3,以下輸入形式中錯誤的是( )。(注:口代表一個空格符)

      (17)以下不能輸出字符A的語句是( )。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)

      若a是數值類型,則邏輯表達式(a==1)I l(a!=1)的值是( )。.

      A.1

      B.0

      C.2

      D.不知道a的值,不能確定

      (19)設有定義:

      int a=1,b=2,C=3;

      以下語句中執行效果與其他三個不同的是( )。

      if(a>B.C=a,a=b,b=C;

      B.if(a>B.{C=a,a=b,b=C;}

      C.if(a>B.C=a;a=b;b=c;

      D.if(a>B.{C=a;a=b;b=c;}

      (20)有以下程序:

      程序執行后的輸出結果是( )。

      A.y=OS)y=一1

      B.0

      C.y=1

      D.while構成無限循環

      (21)有以下程序:

      程序運行后的輸出結果是( )。

      (22)有以下程序:

      程序運行后的輸出結果是( )。

      A.02356

      B.0235

      C.235

      D.2356

      以下關于retllm語句的敘述中正確的是( )。

      A.一個自定義函數中必須有一條return語句

      B.一個自定義函數中可以根據不同情況設置多條retum語句

      C.定義成void類型的函數中可以有帶返回值的return語句

      D.沒有return語句的自定義函數在執行結束時不能返回到調用處

      (24)已定義以下函數:

      fun函數的返回值是( )。

      一個整數

      B.不確定的值

      C.形參P中存放的值

      D.形參P的地址值(25)以下程序段完全正確的是( )。

      int * p;scanf(”%d”,&p);

      B.int*p;scanf(”%d”,P);

      C.int k,* P:&k;scanf(’’%d”,P);

      D.int k,*p;*P=&k;scanf(”%d”,P);

      (26)設有定義:

      double a[10],*s=a;

      以下能夠代表數組元素a[3]的是( )。

      A.($s)[3]

      B.}(s+3)

      C.*s[3]

      D.}s+3

      27、有以下程序

      程序運行后的輸出結果是( )。

      A.6,2,3,4,5,

      B.2,2,3,4,5,

      C.1,2,3,4,5,

      D.2,3,4,5,6,

      (28)有以下程序:

      程序運行后的輸出結果是( )。

      A.4

      B.34

      C.31

      D.32

      (29)以下選項中正確的語句組是( )。

      A.char*s;8={1.BOOK!”}i

      B.char*s;8=”BOOK!”;

      C.char S[10];S=”BOOK!”;

      D.char S[];S=”BOOK!”;

      (30)若有定義語句:

      char}sl=‘’0K”,:It s2=”ok”;

      以下選項中,能夠輸出“OK”的語句是( )。

      A.if(strcmp(sl,s2)!=0)puts(s2);

      B.if(strcmp(sl,s2)!=0)puts(s1);

      C.if(strcmp(sl,s2)==1)puts(s1);

      D.if(strcmp(sl,s2)==0)puts(s1);

      (31)有以下程序:

      程序運行后的輸出結果是( )。

      A.11

      B.9

      C.6

      D.7

      (32)有以下程序(說明:字母A的ASCIl碼值是65):

      程序運行后的輸出結果是( )。

      A.BT

      B.YE

      C.YT

      D.BY

      (33)有以下程序:

      程序運行后的輸出結果是( )。

      A.120

      B.11

      C.6

      D.21

      (34)有以下程序:

      程序運行后的輸出結果是( )。、

      A.A B E F

      B.C D E F

      C.A B C D

      D.C D A B

      (35)以下關于typedef的敘述錯誤的是( )。

      A.用typedef可以增加新類型

      B.typedef只是將已存在的類型用一個新的名字來代替

      C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名

      D.用typedef為類型說明一個新名,通常可以增加程序的可讀性

      (36)程序中已構成如下圖所示的不帶頭結點的單向鏈表結構,指針變量s、p、q均已正確定義,并用于指向鏈表結點,指針變量s總是作為指針指向鏈表的第一個結點。

      若有以下程序段:

      該程序段實現的功能是( )。

      A.刪除尾結點

      B.尾結點成為首結點

      C.刪除首結點

      D.首結點成為尾結點

      (37)有以下程序:

      程序運行后的輸出結果是( )。

      A.33

      B.197

      C.143

      D.28

      (38)若有以下程序段:

      程序運行后的輸出結果是( )。

      A.16

      B.8

      C.4

      D.2

      (39)以下敘述中錯誤的是( )。

      A.gets函數用于從終端讀人字符串

      B.getehar函數用于從磁盤文件讀人字符

      C.fputs函數用于把字符串輸出到文件

      D.fwrite函數用于以二進制形式輸出數據到文件

      (40)有以下程序:

      以上程序執行后abc.dat文件的內容是( )。

      A.China

      B.Chinang

      C.ChinaBeijing

      D.BeijingChina

      參考答案與解析

      (1)D

      【解析】計算機能直接執行的程序是二進制的可執行程序,擴展名為.exe。所以選擇D選項。

      (2)A

      【解析】C語言中的主函數只能是main()函數,不能任意指定,所以B選項錯誤。C語言從主函數main()開始,到主函數main()結束,所以C選項錯誤。主函數必須寫成小寫的main,不能混淆大小寫,所以D選項錯誤。

      (3)B

      【解析】A選項中e后面的指數必須為整數,所以錯誤。C語言規定,E之前必須要有數字,所以c選項錯誤。E后面必須要有數字,且必須為整數,所以D選項錯誤。

      (4)D

      【解析】C語言規定,變量命名必須符合標識符的命名規則。D選項中包含了非法字符“$”,所以錯誤。標識符由字母、數字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數字。大寫字符與小寫字符被認為是兩個不同的字符,所以For不是關鍵字for。

      (5)B

      【解析】先將整型數據9強制轉換成doub1e型,然后除以2得到的結果與doub1e型保持一致,即為4.5,然后將4.5強制轉換成整型數據4,然后計算9%2的值為1,最后計算4一1的值為3,所以選擇B選項。

      (6)C

      【解析】輸入數據的格式必須與scanf()的格式控制串完全匹配,如果A、B、c選項中在數字10后面均輸入了空格,則會將空格賦給變量c1,而不是把x賦給c1,所以選擇C選項。

      (7)B

      【解析】要想表示字符串常量應該用雙引號表示,即“cd”,單引號用于表示字符常量,所以B選項中的表示方法錯誤。

      (8)D

      【解析】if語句中的表達式可以是任意合法的數值,如常量、變量表達式。所以D選項正確。

      (9)B

      【解析】題目中嵌套語句的含義是當a

      (10)A

      【解析】一一k先自減再使用,所以第一次判斷條件即為whi1e(4),條件為真,執行打印k的值k=4—3,結果為1;第二次判斷條件即為whi1e(0),條件為假,結束循環,打印回車換行符。所以選擇A選項。

      (11)B

      【解析】濫用90t0語句將使程序的流程毫無規律,可讀性差,對于初學者來說盡量不要使用,所以A錯誤。—個結構化程序可以包含順序、分支、循環結構中的一種或多種,所以C錯誤。由三種基本結構構成的程序可以解決任何復雜的問題,所以D錯誤。

      (12)C

      【解析】任何一個c程序都是從主函數main開始,至主函數main結束,所以選擇c選項。

      (13)D

      【解析】A選項中整型常量應表示為1200,不能包含“。”。B選項中E后面的指數必須為整數。C選項中轉義字符以“、”開始,若要表示字符“、”,應寫為“、、”。

      (14)B

      【解析】A選項語句中b變量還沒有定義不能直接用于給a變量賦值。c選項語句中·b、-c表示的是一個實句中a=0.0后面應該為逗號,不能是分號。

      (15)B

      【解析】A選項中不能將變量Y賦給表達式,c選項中錯誤與A選項一樣,D選項中強制類型轉換表達式應寫成(doub1e)x/10。

      (16)D

      【解析】scanf()的格式控制串可以使用其他非空白字符,如本題中的逗號,但在輸入時必須輸入這些字符;以保證匹配。所以逗號必須輸入。

      (17)B

      【解析】B選項輸出的格式為%d,即為整型格式,所以輸出字符A的ASCI1碼值65,而不是字符A。由于大寫字母比與其對應的小寫字母的ASCI1碼值小32,所以A正確。字符A的ASCI1碼值就是65,所以以%C格式輸出可以輸出字符A,所以c正確。由于字符A的ASCI1碼值比字符B的小1,所以D正確。

      (18)A

      【解析】邏輯或”I|”要求只要兩邊的運算對象有一個非零,結果就為真。雖然不知道a的值,但是若a為1,則左邊運算對象為1;若a的值不是1,則右邊運算對象的值為1,所以總能保證一邊非零,所以結果為真,即1。

      (19)C

      【解析】由于a小于b,所以所有選項中的條件都為假,C選項中實際執行了a=b;b=c;兩個操作。而A、B、D選項由于條件不成立,所以什么也沒有做,所以選擇C選項。

      (20)B

      【解析】執行Y一一直到值為0,由于Y一一是先用再減,所以退出循環時,y的值為一1。

      (21)B

      【解析】第一次執行外循環,i的值為3,第一次執行內循環j的值為1,j<=2條件成立,打印i+j的值,即4;第二次執行內循環J的值為2,j<=2條件成立,打印i+j的值,即5;再判斷條件不成立,打印回車換行符,跳出內循環。第二次執行外循環,i的值為2,內循環的執行同第一次一樣,所以打印3和4,打印回車換行,結束內循環。第三次執行外循環i的值為1,同理內循環中打印2和3,打印回車換行符,結束內循環。

      (22)C

      【解析】k的值為5,逐個對caBe語句進行匹配,均不匹配,執行defau1t下的語句n=0;k一一。再執行case2:ca804:后面的語句n+=2;k一一;。執行break語句跳出switch判斷,打印n的值,即2。經過第一次循環后,k的值為3,然后進行k>0&&11<5條件判斷為真。第二次執行循環體,執行case3:后面的語句n+=1;k一一;。再執行break語句跳出循環,此時打印n的值3,此時k的值為2。第三次執行循環體k的值為2,滿足條件,執行case2:case4:后面的語句n+=2;k一一;。執行break語句跳出循環體。打印n的值5。此時n不滿足條件k>0&&n<5,所以結束循環。整個程序的打印結果為235。

      (23)B

      【解析】在函數中允許有多個Iett1r11語句,但每次調用只能有一個return語句被執行,因此只能返回一個函數值。定義成void類型的函數,不允許從該函數取得返回值,也不允許使用return語句,c選項描述錯誤。沒有return語句的函數在執行到函數的最后一條語句后會自動返回到調用處,A、D選項描述錯誤。因此B選項正確。

      (24)A

      【解析】返回值為指針變量指向的數據,該數據已被定義為整型。因此A選項正確。

      (25)C

      【解析】A選項中錯在沒有對指針進行初始化,是無效指針,并且在scanf(”%d”,&p)中無需再進行取地址操作;B選項中沒有對指針進行初始化,是無效指針;D選項中語句+P=&k;的左端t pt是指針所指內存空間的值,&k是地址,應為P=&k。因此C選項正確。

      (26)B

      【解析】語句·s=a;表示指針變量s指向一維數

      組a的首地址。a[3]表示引用數組a的第4個元素,+(s+i)表示引用指針8所指數組a的第i+1個元素,選項A、C、D的表示方法錯誤,只有B選項正確。

      (27)A

      【解析】本題考查的是函數的地址調用,將數組名作為數組首地址進行傳遞,然后取首個數組元素值進行加1運算,循環5次。因此A選項正確。

      (28)C

      【解析】本題重點考察二維數組名作為實參進行參數傳遞,在主函數中調用了fun函數,實參為二維數組名a和兩個整數4.0,這樣對應定義fun函數首部有三種形式,這里采用了第一種形式——行指針,這樣在fun函數對s[i][j]進行操作實際上就是對主函數中的a[i][j]進行操作,再分析fun函數的作用便可知,是求二維數組第0列中最大的那個元素。因此C選項正確。

      (29)B

      【解析】A選項去掉大括號就正確了;c選項和D選項應在定義時賦初值。因此B選項正確。

      (30)B

      【解析】strcmp(s1,s2)是字符串比較函數,比較規則是兩個字符串自左向右逐個字符相比(按照ASCI1碼值大小),-以第一個不相同的字符的大小作為比較結果。因為。O。<10.,所以strcmp(s1,s2)為負值,只有B選項正確。

      (31)C

      【解析】strcpy:字符串拷貝函數;str1en:求字符串長度函數(注意:不包含字符串結束標識符‘、0’);strcat:字符串連接函數。執行完語句strcat(P,r);后,P數組中存儲的元素為a,b,c,d,a,b,C,d,8;執行語句strcpy(P+str1en(q),q);得到的結果是將q所指向的字符串拷貝至P+str1en(q)開始的存儲位置,因為str1en的值為3,即從P+3開始存儲q中的元素。所以執行完strcpy(P+str|en(q),q)語句后,字符數組P[20]的存儲元素為a,b,c,a,b,o;所以str1en(P)的結果為6。因此C選項正確。

      (32)B

      【解析】本題中執行fun(a)時,會取字符串a的第一個字母B,因為字母B的ASCI1碼值為66,所以不會輸出字母8,函數只會輸出ASCI1碼值為奇數的字母,字母Y的ASCI1碼值為89,字母T的ASCI1碼值為84,字母E的ASCII碼值為69。因此B選項正確。

      (33)D

      【解析】fun函數中的變量X為靜態局部變量,占用固定的內存單元,下一次調用時仍可以保留上次調用時的值。也就是說,如果多次調用fun函數,x的定義只在第一次調用時有效,從第二次調用開始,x的定義相當于不存在,直接使用上次X的值。fun函數被調用了5次,每次調用后的返回值累加到s上。5次調用后,x的值為6,8的值為1+2+3+4+5+6=21。因此D選項正確。

      (34)B

      【解析】本題考察的是變量的作甩范圍。如果在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內,外部變量被“屏蔽”,即不起作用:奉題中,在fun1()和main()函數內訪問的是全局變量a和b,在fun2()函數中訪問的是形參變量a和b。所以,main()函數中的prinff()函數輸出的是在fun1()函數中被改變的全局變量a和b的值c、D,而fun2()函數中輸出的是傳遞給它的實參值E、F。因此B選項正確。

      (35)A

      【解析】typedef并不是增加了新類型,面是用一個新名字替代已存在的類型,不能為變量說明一個新名,使用typedef可以增強程序的可移植性。所以A選項錯誤:

      (36)D

      【解析】本題考查鏈表的操作,本題中首先是s指向了它的下個結點,題目中說明了s總是指向鏈表的第一個結點,然后whi1e循環找到鏈表的最后一個元素,然后最后一個元素指向了之前鏈表的頭結點,之前頭結點指向了空結點,所以本題實現的功能是使首結點成為尾結點。選項D正確。

      (37)C

      【解析】本題考查帶參數的宏定義,s為帶參數的宏定義,運行S(k+j)為4*(k+j)*k+j+1=143,選項C正確。

      (38)C

      【解析】本題考查位運算,屬于基礎知識,題目中將整型變量8,二進制表達為00(301000,右移一位為00000100,即4,選項c正確。

      (39)B

      【解析】本題考查字符處理函數和文件操作函數。屬于基礎知識,其中B選項9etchar函數是用于從終端讀人一個字符。

      (40)B

      【解析】本題考查文件操作函數,fwrite和rewind函數,題目中先是將s2字符串寫入adc.dat中,然后將寫指針回到文件開頭,然后寫入s1字符串,那么s1字符串就將前5個字符覆蓋,所以最終結果為Chinan9,選項B正確。

    【9月計算機二級C語言沖刺試題及答案】相關文章:

    2016年9月計算機二級《C語言》沖刺試題及答案10-12

    計算機二級C語言上機沖刺試題及答案08-29

    2017年3月計算機二級C語言考試沖刺試題及答案07-08

    2016年9月計算機二級《C語言》試題及答案07-21

    2016年9月計算機二級《C語言》試題與答案06-10

    計算機二級《C語言》考試沖刺試題及答案202410-30

    2017年9月計算機二級C語言基礎試題及答案08-08

    9月計算機二級c語言試題庫(附答案)11-05

    2016年9月計算機二級C語言基礎試題及答案08-17

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人