<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看