<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>
            試題

            全國計算機二級《C語言》預測試題及答案

            時間:2025-05-02 16:40:51 試題 我要投稿
            • 相關推薦

            全國計算機二級《C語言》預測試題及答案2016

              (1)有以下程序:

            全國計算機二級《C語言》預測試題及答案2016

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

              A、1*1=1 1$2=2 1*3=3

              (2)有以下程序:

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

              A,*2*6

              B.}3*5一

              C.}5

              D.*7

              (3)有以下程序:

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

              A.500

              B.401

              C.503

              D.1404

              (4)若有以下函數首部:

              int fun(double x[10],int*n)

              則下面針對此函數的函數聲明語句中正確的是( )。

              int fun(double,int);

              B.int fun(double木,int*);

              C.int mn(double*x,int n);

              D.int fun(double x,intint*n)

              (5)有以下程序:

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

              A.2,1,1,2

              B.1,2,1,2

              C.2,1,2,1

              D.1,2,2,1

              (6)若有以下定義:

              int x[10],* pt=x;

              則對x數組元素的正確引用是( )。

              A.pt+3

              B.}&x[10]

              C.*(pt+10)

              D.*(x+3)

              (7)有以下程序:

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

              A.20

              B.25

              C.45

              D.36

              (8)有以下程序:

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

              A.1,O,7,0,

              B.1,2,3,4,

              C.1,4,5,9,

              D.3,4,8,10,

              (9)設有定義:char*C;以下選項中能夠使C正確指向一個字符串的是( )。

              A.char str( )=”strin9”;C=str;

              B.scanf(”%s”,C.;

              C.c=getchar( );

              D.*c=”strin9”;

              (10)若有定義語句:

              char S[10]=”1234567\0\0”;則strlen(s)的值是( )。

              A.7

              B.8

              C.9

              D.10

              (11)有以下程序:

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

              A.11

              B.9

              C.6

              D.7

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

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

              A.BT

              B.YE

              C.YT

              D.BY

              (13)有以下程序:

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

              A.120

              B.11

              C.6

              D.21

              (14)有以下程序:

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

              A.A B E F

              B.C D E F

              C.A B C D

              D.C D A B

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

              A.用typedef可以增加新類型

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

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

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

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

              若有以下程序段:

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

              A.刪除尾結點

              B.尾結點成為首結點

              C.刪除首結點

              D.首結點成為尾結點

              (17)有以下程序:

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

              A.33

              B.197

              C.143

              D.28

              (18)若有以下程序段:

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

              A.16

              B.8

              C.4

              D.2

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

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

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

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

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

              (20)有以下程序:

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

              A.China

              B.Chinang

              C.ChinaBeijing

              D.BeijingChina

              參考答案與解析

              (1)A

              【解析】外循環第一次i的值為1,內循環第一次j的初值為1,打印1 *1=1;內循環第二次j的值為2,打印1$2=2;內循環第三次J的值為3,打印1}3=3,打印回車換行,退出內循環。外循環第二次i的值為2,內循環第一次j的初值為2,打印2*2=4;內循環第二次j的值為3,打印2。3=6,打印回車換行,退出內循環。外循環第三次i的值為3,內循環第一次j的初值為3,打印3*3=9,打印回車換行,退出內循環。

              (2)D

              【解析】d0...whi1e語句是先執行后判斷,所以第一次先執行循環體,判斷i%3==1的條件,由于i為5,所以余數為2,條件不成立,執行i++,i的值為6,判斷whi1e條件為真;第二次執行循環體,同第一次循環的執行過程一樣,i的值變為7,判斷whi1e條件為真;第三次執行循環體,此時i%3==1,條件成立,再判斷i%5==2也成立,打印*與i的值,即*7,然后執行break語句,跳出循環。所以選擇D選項。

              (3)C

              【解析】本題重點考察函數的定義和調用,第一次循環,a=0,i=0,返回值a=0*0+1+0=1;第二次循環,a=1,i=10,返回值a=10*10+1+1=102;第三次循環,a=102,i-20,返回值a=20*20+1十102=503;第四次循環,a=503,i=30;不符合i<30,跳出循環,最后結果輸出a=503。

              (4)B

              【解析】函數聲明的一般形式為:“類型說明符被調函數名(類型形參,類型形參,……);”或“類型說明符被調函數名(類型,類型,……);”由于函數首部為int fun(doub1e x[10],int*n),因此B選項正確。

              (5)D

              【解析】intm=1,n=2,* P=&m,。q=&I1,*r;即指針變量P指向m,指針變量q指向n,r=P;P=q;q=。;即

              通過指針變量r,將指針P和指針q的指向交換。因此最后輸出1,2,2,1。

              (6)D

              【解析】沒有A選項的引用形式。+與&放在一起作用抵消,所以B選項錯誤,最大只能引用到X[9]。+(pt+i)表示引用指針pt所指元素后的第i個元素,所以c選項錯誤,最大只能為+(pt+9)。因此D選項正確。

              (7)B

              【解析】統計1~9九個數中的奇數和,此題考察指向數組的指針。C語言規定數組名代表數組的首地址,也就是第一個元素的地址。因此·(t+i)代表數組的第i+1個元素。程序運行的結果是1+3+5+7+9=25。

              (8)A

              【解析】該程序首先在定義變量時,對二維數組a[][N]進行賦值操作;調用函數fun,函數fun的功能是將二維數組中的a[0兒0]、a[1][1]、a[2][2]和a[3][3]賦值給一維數組,最后將一維數組元素1,0,7,0,輸出。

              (9)A

              【解析】A選項為正確用法,先將字符串存于字符數組中,然后將數組名賦給字符指針(數組名代表數組首地址,定義數組時為其分配確定地址)。C選項錯誤,getchar()函數只能輸入一個字符給字符型變量,而不是字符指針。B選項和D選項有類似的錯誤,兩個選項并無語法錯誤,但運行時可能會出現問題。因為在B選項和D選項中,字符指針沒有被賦值,是個不確定的值,指向一個不確定的內存區域,這個區域可能存放有用的指令或數據。在這個不確定的區域重新存放字符串,可能會發生無法預知的錯誤。因此A選項正確。

              (10)A

              【解析】str1en()函數在計算字符串長度時,遇到結束標識為止,且長度不包括結束標識。本題中字符串,從第一個字符開始,遇到第一個結束標識‘\0’為止,注意‘\0’不占字符串長度,所以字符串長度為7。因此A選項正確。

              (11)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選項正確。

              (12)B

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

              (13)D

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

              (14)B

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

              (15)A

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

              (16)D

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

              (17)C

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

              (18)C

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

              (19)B

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

              (20)B

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

            【全國計算機二級《C語言》預測試題及答案】相關文章:

            計算機二級C語言預測試題及答案10-30

            計算機二級《C語言》預測試題及答案06-10

            全國計算機二級《C語言》鞏固試題及答案06-10

            2015計算機二級《C語言》預測試題及答案05-21

            計算機二級《C語言》預測試題及答案201611-08

            2016計算機二級《C語言》預測試題及答案10-27

            2017全國計算機二級《C語言》操作試題及答案06-11

            全國計算機二級《C語言》測試題及答案10-28

            全國計算機二級《C語言》操作試題與答案201607-26

            <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>
                      黄色视频在线观看