國家二級C語言機試(選擇題)模擬試卷16(共255題)_第1頁
國家二級C語言機試(選擇題)模擬試卷16(共255題)_第2頁
國家二級C語言機試(選擇題)模擬試卷16(共255題)_第3頁
國家二級C語言機試(選擇題)模擬試卷16(共255題)_第4頁
國家二級C語言機試(選擇題)模擬試卷16(共255題)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

家二級C語言機試(選擇題)模擬試

卷16(共9套)

(共255題)

家二級C語言機試(選擇題)模擬試

卷第1套

一、選擇題(本題共40題,每題1.0分,共40分。)

1、下列敘述中正確的是()。

A、算法的復雜度包括時間復雜度與空間復雜度

B、算法的復雜度是指算法控制結構的復雜程度

C、算法的復雜度是指算法程序中指令的數(shù)量

D、算法的復雜度是指算法所處理的數(shù)據(jù)量

標準答案:A

知識點解析:算法復雜度是指算法在編寫成可執(zhí)行程序后,運行時所需要的資源,

資源包括時間資源和內(nèi)存資源。算法的復雜度包括時間復雜度與空間復雜度。算法

的時間復雜度是指執(zhí)行算法所需要的計算工作量;算法的空間復雜度是指算法在執(zhí)

行過程中所需要的內(nèi)存空間。

2、下列排序方法中,最壞情況下比較次數(shù)最少的是

A、冒泡排序

B、簡單選擇排序

C、直接插入排序

D、堆排序

標準答案:D

知識點解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)

為:n(n-l)/2o而堆排序法在最壞的情況下需要比較的次數(shù)為O(nlog2n).其中堆排

序的比較次數(shù)最少。

3、下列數(shù)據(jù)結構中,屬于非線性結構的是()。

A、循環(huán)隊列

B、帶鏈隊列

C、二叉樹

D、帶鏈棧

標準答案:C

知識點解析:樹是簡單的非線性結構,所以二叉樹作為樹的一種,也是一種非線性

結構。

4、數(shù)據(jù)庫中對概念模式內(nèi)容進行說明的語言是()。

A、數(shù)據(jù)控制語言

B、數(shù)據(jù)操縱語言

3數(shù)據(jù)定義語言

D、數(shù)據(jù)并發(fā)語言

標準答案:c

知識點解析:概念模式主要描述數(shù)據(jù)的概念記錄類型以及它們間的關系,它還包括

一些數(shù)據(jù)間的語義約束,對它的描述可用DDL語言(數(shù)據(jù)定義語言)定義。

5、定義學生、教師和課程的關系模式S(S#,Sn,Sd,De,Sa)(其屬性分別為學

號、姓名、所在系、所在系的系主任、年齡);C(C#,Cn,P#)(其屬性分別為課程

號、課程名、先修課);SC(S#,C#,G)(其屬性分別為學號、課程號和成績),則該

關系為()u

A、第一范式

B、第二范式

C、第三范式

D、BCNF范式

標準答案:B

知識點解析:本題中關系s中的“學號”列可決定“所在系”列,“所在系”列又可決定

“所在系的系主任“,存在傳遞函數(shù)依賴,不滿足第三范式。

6、下面屬于白盒測試方法的是()。

A、等價類劃分法

B、邏輯覆蓋

C、邊界值分析法

D、錯誤推測法

標準答案:B

知識點解析:白盒測試的主要方法有邏輯覆蓋、基本路徑測試等,所以答案選B。

7、若函數(shù)調(diào)用時的實參為變量,下列關于函數(shù)形參和實參的敘述中正確的是()。

A、函數(shù)的形參和實參分別占用不同的存儲單元

B、形參只是形式上的存在,不占用具體存儲單元

C、同名的實參和形參占同一存儲單元

D、函數(shù)的實參和其對應的形參共占同一存儲單元

標準答案:A

知識點解析:本題重點考查的是函數(shù)的形參和實參。在定義函數(shù)時,函數(shù)名后面括

弧中的變量名稱為“形式參數(shù)”(簡稱形參),在主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名

后面括弧中的參數(shù)(可以是一個表達式)稱為“實際參數(shù)''(簡稱實參)。C語言規(guī)定,

實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而

不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元,因此A

選項正確。

8、有以下程序#includevoidmain。{charb,c;inti;b=,a,;c='A';for(i=0:

i<6.i++){if(i%2)putchar(i+b);elseputchar(i+c);}printf("\n");}程序運行后

的輸出結果是

A、ABCDEF

B、aBcDeF

C>abcdcf

D、AbCdEf

標準答案:D

知識點解析:循環(huán)變量i從。依次遞增到5,依次輸出字母A,b,C,d,E,fo

9、C語言中的標識符分為關鍵字、預定義標識符和用戶標識符,以下敘述正確的

A、關鍵字可用作用戶標識符,但失去原有含義

B、在標識符中大寫字母和小寫字母被認為是相同的字符

C、用戶標識符可以由字母和數(shù)字任意順序組成

D、預定義標識符可用作用戶標識符,但失去原有含義

標準答案:D

知識點涵析:預定義標:只符是C語言中的標識符,在C語言中也有特定的含義,

如函數(shù)prinff、scanf>sin等和編譯預處理命令名(如define和include)。預定義標識

符可以作為用戶標識符使用,只是這樣會失去系統(tǒng)規(guī)定的原義。

,,,

10、若intk,則關于for(k=-l;k<0;k++)printfC****\n);語句執(zhí)行情況的

敘述中正確的是()。

A、循環(huán)體不執(zhí)行

B、循環(huán)體執(zhí)行一次

C、循環(huán)體執(zhí)行二次

D、構成無限循環(huán)

標準答案:B

知識點解析:本題考查for循環(huán)的使用。在程序中,for循環(huán)的初始值k=-l,循環(huán)

結束條件是kVO,每次循環(huán)k增加1,第一次進入循環(huán)的時候k為一1,k小于

0,執(zhí)行打印,然后k的值變成0,下次進入循環(huán)k不小于0,循環(huán)結束,因此循環(huán)

只能執(zhí)行一次。

RST

crqprq

11、有三個關系R、s和T如下:LZ-LTJI31H由

關系R和S通過運算得到關系T,則所使用的運算為

A、笛卡爾積

B、交

C、并

D、自然連接

標準答案:D

知識點解析:在實際應用中,最常用的連接是一個叫自然連接的特例。它滿足下面

的條件:兩關系間有公共域;通過公共域的相等值進行連接。通過觀察三個關系

R,S,T的結果可知關系T是由關系R和S進行自然連接得到的。

12、有以下程序#includevoidmain(){chars[]-'012xy\08s34f4w2";inti,n=0;

for(i=0;s[i]!=0;i++)if(S[i]>=,0,&&S[i]<=,9,)n++;printf(n%d\n",n);}程序

運行后的輸出結果是

A、0

B、7

C、3

D、8

標準答案:C

知識點解析:在主函數(shù)中的for循環(huán)語句中,當s[i]的值不等于。?9之間的數(shù)字

時,結束循環(huán)語句的執(zhí)行。由字符數(shù)組s的初值可以得到for循環(huán)語句執(zhí)行了三

次,所以變量n的值等于3。

13、設fp為指向某二進制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返

回值為()。

A、0

B、,\0,

C、非0值

D、NULL

標準答案:c

知識點解析:本題考查文件的定位。feof函數(shù)的用法是從輸入流讀取數(shù)據(jù),如果到

達文件末尾(遇文件結束符),eof函數(shù)值為非零值,否則為0,所以C選項正確。

14、下面屬于系統(tǒng)軟件的是

A、瀏覽器

B、數(shù)據(jù)庫管理系統(tǒng)

C、人事管理系統(tǒng)

D^天氣預報的app

標準答案:B

知識點解析:系統(tǒng)軟件是指控制和協(xié)調(diào)計算機及外部設備,支持應用軟件開發(fā)和運

行的系統(tǒng),是無需用戶干預的各種程序的集合,主要功能是調(diào)度,監(jiān)控和維護計算

機系統(tǒng);負責管理計算機系統(tǒng)中各種獨立的硬件,使得它們可以協(xié)調(diào)工作。有代表

性的系統(tǒng)軟件有:操作系統(tǒng)、語言處理程序、數(shù)據(jù)庫管理和輔助程序。

15、C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為()。

A、1

B、2

C、3

D、4

標準答案:A

知識點。析:C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為1個字節(jié),這個值可以用

sizcof(char)求得。答案選A。

16、以下敘述中正確的是

A、在包含文件中,不得再包含其他文件

B、#includc命令行不能出現(xiàn)在程序文件的中間

C、在一個程序中,允許使用任意數(shù)量的include命令行

D、雖然包含文件被修改了,包含該文件的源程序也可以不重新進行編譯和連接

標準答案:C

知識點解析:#include文件包含命令,使用時應注意以下5個規(guī)則:①包含文件

的#吊日血?命令行通常應書寫在所用源程序文件的開頭,故有時也把包含文件稱作

“頭文件頭文件名可以由用戶指定,其后綴不一定用h”。②包含文件中,一

般包含有一些公用的。#deflne命令行、外部說明或?qū)Γ◣欤┖瘮?shù)的原型說明。⑧當

包含文件修改后,對包含該文件的源程序必須重新進行編譯連接。④在一個程序

中,允許有任意多個枷牌也加命令行。⑤在包含文件中還可以包含其他文件。

17、有三個關系R,S和T如下圖所示:

通過運算得到,則該運算是

A、選擇

B、投影

C、交

D、并

標準答案:D

知識點解析:由關系T中的數(shù)據(jù)可以看出,其數(shù)據(jù)由關系R和S的數(shù)據(jù)組成。所

以關系T是由關系R和T通過并運算得到的。

18、有以卜程序#includemain。{ints[12]={l,2,3,4,4,3,2,l,l?l,2,3),c[5]={0},i;

for(i=0;i<12;i++)c[s[i]]++;for(i=l;i<5;i++)printf("%d",c[i]);printf("\n");)程序的

運行結果是

A、2344

B、4332

C>1234

D、1123

標準答案:B

知識點解析:在for(i=0;iV12;i++)c[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的

下標,當退出循環(huán)時,數(shù)組c的4個元素的值分別為4、3、3、20因此B選項正

確。

19、以下正確的字符串常量是()。

標準答案:A

知識點解析:字符串常量是由兩個雙引號引起來的若干字符所構成的字符序列,而

且?\\\?不是C語言合法字符,所以“\\\"也不是合法的字符串常量,答案選A。

20、有以下程序,己知字母A的ASCII碼為65,程序運行后的輸出結果是

main(){charcl,c2:cl='A'+'g'-'4'c2='A'+'g'—'5';printf("%c,%\n”,

cl,c2);)

A、D,69

B、E,68

C、E,D

D、輸出無定值

標準答案:B

知識點解析:字符變量cl的AsCII值等于69,而字符變量c2的AsCH值等于

68,當分別以字符和整型輸出cl和c2的ASCII碼7a時,其結果為E,68。

21、以下敘述中正確的是

A、continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)

B、break語句只能用在循環(huán)體內(nèi)和swilch語句體內(nèi)

C^在循環(huán)體內(nèi)使用break語句和continue語句的作用相同

D、break語句只能用于switch語句體中

標準答案:B

知識點解析:只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句。continue語句的

作用是結束本次循環(huán),即跳過本次循環(huán)體中continue語句后面的語句,立刻進行下

一次的循環(huán)條件判斷,可以理解為僅結束本次循環(huán)。而break語句可以使程序流程

跳出switch語句體,也可用break語句在循環(huán)結構中終止循環(huán)體。

22、下列條件語句中,輸出結果與其他語句不同的是

A、if(a==O)printf(M%d\nM,x);elseprintf("%d\n",y);

B>if(a==O)printf("%d\n",y);elseprintff1%d\n",x);

C>if(a!=O)printf("%d\n",x);elseprintf("%d\n',y);

D^if(a)printf(M%d\n",x);elseprintf(H%d\n",y);

標準答案:A

知識點解析:選項B)、C)、D)這三條語句都是在變量不等于0的情況下,輸出

x;等于0的情況下輸出y,而選項A)則正好相反。

23、有以下程序段structst{intx;int*y;)*pt;inta[]={1,2),b[]={3,4};struct

stc[2]={10,a,20,b};pt=c;以下選項市表達式的值為11的是

A、pt->x

B>*pt->y

C^++pt->x

D、(pt++)->x

標準答案:C

知識點解析:由題目的已知條件可知,pt指向結構體數(shù)組c[2]的第一元素c[0],所

以pt,x=10,執(zhí)行自加運算后為11。

24、有以下程序,程序運行后的輸出結果是main()[intx=35,B;charz=,B,;

B=((x)&&(zv'b'));printf(n%d\n",B);}

A、0

B、35

C、1

D、66

標準答案:C

知識點解析:表達式((x)&&(zv,b?x為35非零,考慮表達式z<&,成立,則B

的值為1。

25、以下敘述中正確的是

A、函數(shù)的返回值不能是結構體類型

B、函數(shù)的返回值不能是結構體指針類型

C、在調(diào)用函數(shù)時,可以將結構體變量作為實參傳給函數(shù)

D、結構體數(shù)組不能作為參數(shù)傳給函數(shù)

標準答案:C

知識點解析:和普通變量相似,結構體變量也可以作為函數(shù)實參或者形參,函數(shù)的

返回值也可以是結構體類型。

26、若有以下程序#includeintk=7,m=5;voidf(int**s){int*t=&k;s=&t;

*s=&m;printf("%d,%d,%d,",k,*t,**s);}main(){inti=3,*p=&i,

++r=&p;f(r);printf(M%d,%d,%d\n",i,*p,**r);}則程序的輸出結果是

A、7,5?7,3?3,3,

B、7,5,7,3,5,7,

C、7,5,5,3,3,3,

D、7,7,5,3,3,3,

標準答案:C

知識點解析:本題考查二級指針作為函數(shù)的參數(shù),可以通過函數(shù)調(diào)用來改變主函數(shù)

中一級指針的指向。主函數(shù)中指針變量P指向i,r指向P,調(diào)用f函數(shù),形參指針

s指向p,流程轉(zhuǎn)到f函數(shù)執(zhí)行,指針變量I指向k,s指向3此時更改了s的指

向,s指向了3更改了s指向的地址空間內(nèi)容為m的地址,同時I也指向變量m,

因此的值為m的值,4為m的值,k為7。流程返回到主函數(shù),沒有對主函數(shù)

空間的數(shù)據(jù)和指向作出更改,因此全部為3。

27、有以下程序段intn,t=l,s=0:scanf("%d",&n);do{s=s++;t=t-2;}

whilc(t!=n);為使此程序段不陷入死循環(huán),從鍵盤編入的數(shù)據(jù)應該是

A、任意正奇數(shù)

B、任意負偶數(shù)

C、任意正偶數(shù)

D、任意負奇數(shù)

標準答案:D

知識點解析:本題考查基本輸入和循環(huán)。程序代碼的功能是通過scanf給變量n賦

值,在do...while循環(huán)中,s變量自增,t變量每次減2,I的初值為1,循環(huán)執(zhí)行執(zhí)

行一次后t的值變成.1,然后是-3、-5…,直到t的值和n的值相同循環(huán)結束,從

I的值的變化可知,【是一個變化的負奇數(shù),囚此輸入的n如果是負奇數(shù),則循環(huán)能

退出,否則是死循環(huán)。

28、程序中已構成如下圖所示的不帶頭結點的單向鏈表結構,指針變量S、P、q

均已正確定義,并用于指向鏈表結點,指針變量S總是作為頭指針指向鏈表的第

>b---------?cNULL

一個結點?!?_hl-----------------------若有以下程序

段:q=s;S=S->next;p=s;while(p->next)p=p->next;p->next=q;q->

next=NULL:該程序段實現(xiàn)的功能是

A,尾結點成為首結點

B、首結點成為尾結點

C、刪除首結點

D、刪除尾結點

標準答案:B

知識點解析?:分析程序可知,程序段首先讓q指向鏈表的首結點,s指向鏈表的第

二結點,p此時指向鏈表的第二個結點。然后在while循環(huán)中,當p的后繼結點非

空時,讓p指向鏈表的最后一個結點,退出循環(huán)。然后讓尾結點指向首結點,并使

首結點的后繼結點為NULLo所以最終實現(xiàn)鏈表的首結點成為尾結點。

29、若有以下語句lypedefstniclS{intg;charh;}T;以下敘述中正確的是

A、可用S定義結構體變量

B、S是struct類型的變量

C、T是siruciS類型的變量

D、可用T定義結構體變量

標準答案:D

知識點解析:本題考查typedef,T是structS的新名稱,因此可用T定義結構體變

量,但是T并不是變量,只是scructS的新名稱。

30、有以下程序#includeVstdio.h>main(){inty=9;for(;y>0;y-)if(y%

3==0)printf(n%dt",-y);}程序的運行結果是

A、963

B、852

C>741

D、875421

標準答案:B

知識點解析:y的值的初值為9,所以在for循環(huán)中,當y的值為9、6或3時,if

語句的條件成立,執(zhí)行輸出語句,輸出表達式一y的值。因為自減符號在y的前

面,所以首先y的自減1,然后再輸出y的值,故輸出結果為852。

31、有以下程序intf(inlm)main(){intn=0;{staticintn=0;printf(n%d,",

f(++n));n+=m;returnn;)printf("%d\n",f(n++));}程序運行后的輸出結果是

A、1,1

B、1,2

C、2,3

D、3,3

標準答案:B

知識點解析:由于在函數(shù)f中,變量n為靜態(tài)局部變量,所以在主函數(shù)中第一次調(diào)

用函數(shù)f后,變量n的值等于I,當?shù)诙{(diào)用函數(shù)f時,在函數(shù)f的內(nèi)部靜態(tài)局部

變量n的值仍然保留等于1,所以返回函數(shù)值等于2。

32>有以下程序#include#includevoidfun(char*s){chara[10];strcpy(a,

“STRING");s=a;}main(){char*p="PROGRAMfun(p);printf("%s\nM,p);)程序

運行后的輸出結果是(此處□代表空格)

A、STRING

B、STRING□口□口

C、STRING□□口

D、PROGRAM

標準答案:D

知識點解析:本題考查字符串指針作為函數(shù)參數(shù),本題中p作為字符串指針傳入

fun中,p指向的內(nèi)容并沒有發(fā)生變化,所以選項D正確。

33、有以下程序,程序運行后的輸出結果是鈉nclude#defineSUB(X,Y)(X+1)*Y

main(){inta=3,b=4:printf(M%d\n",SUB(a++>b++));)

A、20

B、12

C、16

D、25

標準答案:C

知識點解析:宏展開的結果(a+++l)*b++,后綴自加表達式參加運算,先用a和b

的初值得到表達式的值,進行計算,然后a和b在自加。因此計算結果為16。

34、下列關于棧的敘述正確的是()。

A、棧按“先進先出”組織數(shù)據(jù)

B、棧按“先進后出”組織數(shù)據(jù)

C、只能在棧底插入數(shù)據(jù)

D、不能刪除數(shù)據(jù)

標準答案:B

知識點露析:棧是按“先進后出''的原則組織數(shù)據(jù)的,數(shù)據(jù)的插入和刪除都在棧頂進

行操作。

35、下面關于位運算符的敘述,正確的是

A、#表示“按位異或”的運算

B、||表示“按位或”的運算

C、?表示“按位異或”的運算

D、&表示“按位與”的運算

標準答案:D

知識點解析:C語言提供了6種位運算符,各種位運算符的含義見下表:各種位

運算符含義優(yōu)先級

按位求反1(高)

|?左移2

|?右移2

按位與3

八按位異或4

按位或5(低)

運算符及其含義1

36、若有以下程序#includemain(){inta=O,b=O,c=Oc=(a+=++b,b+=4);

printf("%d,%d,%d\n",a,b.c);)則程序的輸出結果是

A、1,5,1

B、1,5,5

C、-1,4,4

D、-14-1

標準答案:B

知識點解析:逗號運算符的結合性從左到右,因此逗號表達式將從左到右進行計

算。且逗號運算符的優(yōu)先級最低。先計算a+=++b,結果a為l,b為1,然后計算

b+=4,b的值為5。逗號表達式的值為其中最后一個表達式的值,所以將5賦給變量c,

即a為l,b為5,c為5。所以選擇B。

37、在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A、可行性分析報告

B、軟件需求規(guī)格說明書

C、概要設計說明書

D、集成測試計劃

標準答案:B

知識點解析:A)錯誤,可行性分析階段產(chǎn)生可行性分析報告。C錯誤,概要設計說

明書是總體設計階段產(chǎn)生的文檔。D錯誤,集成測試計劃是在概要設計階段編寫的

文檔。B正確,需求規(guī)格說明書是后續(xù)工作如設計、編碼等需要的重要參考文檔。

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

A、可以給指針變量賦一個整數(shù)作為地址值

B、函數(shù)可以返回地址值

C、改變函數(shù)形參的值,不會改變對應實參的值

D、當在程序的開頭包含頭文件stdio.h時,可以給指針變量賦NULL

標準答案:A

知識點解析:不能將一個整數(shù)直接賦給指針變量作為地址,所以A是錯誤的。函

數(shù)的返回值可以是地址,即指針。函數(shù)調(diào)用中形參值的變化不會傳遞給實參。

39、下列敘述中正確的是()。

A、順序存儲結構的存儲一定是連續(xù)的,鏈式存儲結構的存儲空間不一定是連續(xù)的

B、順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構

C、順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表

D、鏈式存儲結構比順序存儲結構節(jié)省存儲空間

標準答案:A

知識點解析:鏈式存儲結構既可以針對線性結構也可以針對非線性結構,所以B

與C錯誤。鏈式存儲結構中每個結點都由數(shù)據(jù)域與指針域兩部分組成,增加了存

儲空間,所以D錯誤.

40、下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A、冒泡排序

B、簡單選擇排序

C、直接插入排序

D、堆排序

標準答案:D

知識點解析:冒泡排序與簡單插入排序與簡單選擇排序法在最壞情況下均需要比較

n(n-l)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlo2g

國家二級C語言機試(選擇題)模擬試

卷第2套

一、選擇題(本題共25題,每題1.0分,共25分。)

1、下列敘述中正確的是

A、算法就是程序

B、設計算法時只需要考慮數(shù)據(jù)結構的設計

C、設計算法時只需要考慮結果的可靠性

D、設計算法時要考慮時間復雜度和空間復雜度

標準答案:D

知識點解析:算法復雜度,即算法在編寫成可執(zhí)行程序后,運行時所需要的資源,

資源包括時間資源和內(nèi)存資源。算法分析的目的在于選擇合適算法和改進算法。

個算法的評價主要從時間復雜度和空間復雜度來考慮。

2、下列敘述中正確的是

A、棧是“先進先出”的線性表

B、隊列是“先進后出”的線性表

C、循環(huán)隊列是非線性結構

D、有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構

標準答案:D

知識點解析:本題主要考查了棧、隊列、循環(huán)隊列的概念,棧是先進后出的線性

表,隊列是先進先出的線性表。根據(jù)數(shù)據(jù)結構中各數(shù)據(jù)元素之間的前后件關系的復

雜程度,一般將數(shù)據(jù)結溝分為兩大類型:線性結構與非線性結構。有序線性表既可

以采用順序存儲結構,又可以采用鏈式存儲結構。

3、在面向?qū)ο蠓椒ㄖ?,不屬于“對象”基本特點的是()。

A、一致性

B、分類性

C、多態(tài)性

D、標識唯一性

標準答案:A

知識點解析:對象有如下一些基本特點:標識唯一性、分類性、多態(tài)性、封裝性、

模塊獨立性好,所以選擇A選項。

4、下面描述中不屬于軟件需求分析階段任務的是()。

A、撰寫軟件需求規(guī)格說明書

B、軟件的總體結構設計

C、軟件的需求分析

D、軟件的需求評審

標準答案:B

知識點解析:軟件需求是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等

方面的期望。需求分析階段的工作可以分為4個方面:需求獲取、需求分析、編寫

需求規(guī)格說明書和需求評審。軟件的總體結構設計屬于軟件設計階段的任務。

5、設一棵樹的度為3,其中沒有度為2的結點,且葉子結點數(shù)為5。該樹中度為3

的結點數(shù)為

A、1

B、2

C、3

D、不可能有這樣的樹

標準答案:B

知識點解析:樹的度是有一棵樹中,最大的結點的度稱為樹的度。本題中樹的度為

3,那么樹中最少有一個結點的度為3。而樹中沒有度為2的結點,葉子結點數(shù)為

5,度為1的結點下面只有一個葉子結點。因此,該樹中含2個度為3的結點滿足

題目要求。

6、若變量均已正確定義并賦值,以下合法的C語言賦值語句是

A、x二n%2.5:

B、x+n=i;

C^x=5=4+l:

D、x=y==5;

標準答案:D

知識點解析:選項D的含義是把關系表達式y(tǒng)==5的值賦給變量x。所以這是一條

正確的賦值語句。因為賦值運算符左側的操作數(shù)必須是一個變量,而不能是表達式

或者常量。因為求余運算符"%''兩側的運算對象都應當是整型數(shù)據(jù)。

7^若在定義語句:inta,b,c,*p=&c;接著執(zhí)行以下選項中的語句,則能正確執(zhí)

行的語句是

A、scanf(''%d%d%dtt,a,b,c);

scanf(''%dt.,a,b,c):

C、scanR''%d'',p);

D、scanf(''%d'',&p);

標準答案:C

知識點解析:程序語句ima,b,c,*p=&c;定義了三個整型變量a,b,c,和一

個整型指針變量p,并且把變量c的地址賦給p。scanf函數(shù)的一般形式

為“scanf(“格式控制字符串”,地址列表廣,其中的地址列表應當是存放輸入數(shù)據(jù)變

量的地址。

8、合法的C語言常量是()。

A、—20.

B、-020

C、-2el.0

D、—20.Oe

標準答案:A

知識點解析:C語言常量指數(shù)表達式中字母e或E之前必須有數(shù)字,且e或E后面

的指數(shù)必須為整數(shù)。

9、若變量已正確定義為int型,要通過語句scanf("%d,%(1,%d",&a,&b,

&c);給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯誤的是(注:□代表

一個空格符)()。

A、1,2,3V回車〉

B、□□□1,2,3V回車〉

C、1,口口口2,口口口3<回車》

D、1口2口3〈回車,

標準答案:D

知識點解析:在輸入整數(shù)或?qū)崝?shù)這類數(shù)值型數(shù)據(jù)時,輸入數(shù)據(jù)之間必須用空格、回

車符、制表符等間隔符隔開,間隔符個數(shù)不限。scanf()的格式控制串也可以使用

其他非空白字符,如本題中的逗號,但在輸入時必須輸入這些字符,以保證匹配,

所以逗號必須輸入。

10、軟件調(diào)試的目的是

A、發(fā)現(xiàn)錯誤

B、改正錯誤

C、改善軟件的性能

D、驗讓軟件的正確性

標準答案:B

知識點解析:軟件調(diào)試的任務是診斷和改正程序中的錯誤。程序調(diào)試活動由兩部分

組成.一是根據(jù)錯誤的跡象確定程序中的錯誤的確切性質(zhì)、原因和位置C二是對程

序進行修改,排除這個錯誤。

11、有以下程序:#include<stdio.h>main(){inti,t[][3]={9,8,7,6,5,4,

3,2,1):for(i=0:i<3;i++)printfC'%d",t[2-i][i]);}程序的運行結果是()。

A、357

B、753

C、369

D、751

標準答案:A

知識點解析:二維數(shù)組山⑶實際上指t[3][3]={{9,8,7),(6,5,4),(3,2,

1}},通過循環(huán)語句for語句可以得到i=0,t⑵[0]=3、i=l,i=2,

t[0]⑵=7、i=3時循環(huán)結束,即t⑵⑼=3、t⑼⑵=7,因此A選項正確。

A、1

B、2

C、3

D、4

標準答案:C

知識點。析:樹中結點的層次從根開始定義起,根為第一層,根的孩子為第二層,

依次累計。樹中結點的最大層次稱為樹的深度。所以由題目中系統(tǒng)結構圖,得到該

樹的深度為3,因此應選C選項。

13、軟件設計一般劃分為兩個階段,兩個階段依次是

A、總體設計(概要設計)和詳細設計

B、算法設計和數(shù)據(jù)設計

C、界面設計和結構設計

D、數(shù)據(jù)設計和接口設計

標準答案:A

知識點解析:軟件設計可以分為概要設計和詳細設計兩個階段。概要設計就是結構

設計,其主要目標就是給出軟件的模塊結構,用軟件結構圖表示。詳細設計的首要

任務就是設計模塊的程序流程、算法和數(shù)據(jù)結構,次要任務就是設計數(shù)據(jù)庫,常用

方法還是結構化程序設計方法。所以選項A正確。

14、不合法的數(shù)組定義是()。

A、inta[4][3]={{l,2,3},{1,2,3},{1,2,3),{1,2,3}}:

B.inta[][3]={{0),{1},{1,2,3}};

C、inta[][3]={l,2,3,4);

Dsinta[4][]={{l,2,3},{I,2,3),{1,2,3},{I,2,3}};

標準答案:D

知識點解析:二維數(shù)組定義和初始化是允許省略行下標,不允許省略列下標,因此

inta[4]H的定義有誤。

15^以下程序的輸出結果是()。voidfun(intn,int*s){intf;if(n==l)*s=n+l;

else{fun(n-1,&f);*s=f;})main(){intx=0;fun(4,&x);printf(''%d\n'‘,

x);)

A、4

B、3

C、1

D、2

標準答案:D

知識點解析:題目中函數(shù)fun為遞歸調(diào)用函數(shù),如果n的值為1,那么后面形參指

向的空間存放n+1,否則繼續(xù)計算fun(n—1)的值。調(diào)用分析過程:fun(4,

&x)一fun(3,&x)-fun(2,&x)一fun(】,&x)在回歸的過程中,對于x內(nèi)的數(shù)據(jù)并沒

有改動。

16、若有以下程序段charstr[4][12]={‘'aa'',''bbb'',''ccccc'‘,''d"),*strp[4];

inti;for(i=0;i<4;i++)strp[i]=str[i];不能正確引用字符串的選項是

A、strp

str[OJ

C、strp[3]

D^*strp

標準答案:A

知識點解析:程序段中定義指針數(shù)組*$嚇,含有4個元素,for循環(huán)s【rp分別保存

了二維數(shù)組str中的4個字符串的首地址,因此stH)為二級地址,不能保存字符串

的首地址*strp或者sirp⑼中存放了字符串“aa”的首地址。所以不能正確引用字符串

的為選項A。

17,程序中對fun函數(shù)有如下說明voidfun():此說明的含義是

A、fun函數(shù)無返回值

B、fun函數(shù)的返同值可以是任意的數(shù)據(jù)類型

C、fun函數(shù)的返回值是無值型的指針類型

D、指針fun指向一個函數(shù),該函數(shù)無返回值

標準答案:A

知識點解析:本題主要考察函數(shù)的聲明,voidfun。表示fun函數(shù)沒有輸入?yún)?shù),函

數(shù)返回void表示函數(shù)無返回值。

18、以下關于函數(shù)的敘述中正確的是

A、每個函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))

B、每個函數(shù)都可以被單獨編譯

C、每個函數(shù)都可以單獨運行

D、在一個函數(shù)內(nèi)部可以定義另一個函數(shù)

標準答案:B

知識點解析:本題主??疾楹瘮?shù)的定義和使用。選項A)錯誤,main函數(shù)可以調(diào)用

其他函數(shù),但是其他函數(shù)不能調(diào)用main函數(shù);選項B)正確:選項C)錯誤,只有

main函數(shù)可以單獨運行,其他函數(shù)只能被調(diào)用;選項D)錯誤,C語言中不能在函

數(shù)內(nèi)部定義函數(shù)。

19、有以下程序^includecharfun(char*c){if(*c<=,Z,&&*c>='A')*c-='A'-'a';

return*c;}main(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);

p++;)printf("\n");}若運行時從鍵盤上輸入OPENTHEDOOR<回車,,程序的輸

出結果是()。

A、openthedoor

B、oPENtHEdOOR

C、OPENTHEDOOR

D、OpenTheDoor

標準答案:A

知識點解析:考查地址與參。函數(shù)fun()的作用是將字符c由大寫轉(zhuǎn)為小寫,地址

傳參中,形參的改變和實參的改變保持同步,所以本程序?qū)⑤斎氲淖址D(zhuǎn)為對應的

小寫形式:openthedoor,答案選A。

2U、下面是有關C語言字符數(shù)組的描述,其中錯誤的是

A、不可以用賦值語句給字符數(shù)組名賦字符串

B、可以用輸入語句把字符串整體輸入給字符數(shù)組

C、字符數(shù)組中的內(nèi)容不一定是字符串

D、字符數(shù)組只能存放字符串

標準答案:D

知識點解析:本題考查字符數(shù)組。選項A、B和C都是正確的,字符數(shù)組存放其他

數(shù)據(jù)。

21、若函數(shù)調(diào)用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是

A、形參只是形式上的存在,不占用具體存儲單元

B、函數(shù)的形參和實參分別占用不同的存儲單元

C、同名的實參和形參占同一存儲單元

D、函數(shù)的實參和其對應的形參共占同一存儲單元

標準答案:B

知識點解析:在C語言中,函數(shù)的實參單元與形參單元在內(nèi)存中分配不同的存儲

單元。在調(diào)用函數(shù)時,給形參分配臨時存儲單元,并將實參對應的值傳遞給形參,

在被調(diào)用函數(shù)中對形參存儲單元中的值進行運算,最后通過return語句把函數(shù)值返

回調(diào)用函數(shù).當調(diào)用結束后.形參單元被釋放,實參單元仍保留并維持原值.

22、若有定義:intw[3][5];則以下不能正確表示該數(shù)組元素的表達式是(),

A、*(w+l)[4]

*(*w+3)

C、*(*(w+l))

D、*(&w[0][0]+l)

標準答案:A

知識點解析:若要訪問第二行第五列的元索需要用(*(w+l))[4],選項A)少了一個

圓括號,如果不加圓括號,根據(jù)結合性,(w+1)會先和[4]結合,這是沒有意義的,

所以答案選A)。

23、若有以下程序typedefstructslu{charname[10],gender;intscore;}STU;void

f(STUa,STUb){b=a;printf(n%s?%c,%d,”,b.name,b.gender,

b.score);}main。{STUa=「Zhao",'m',290},b={"Qian,',T,350);f(a,

b);printf("%s,%c,%d\n",b.name,b.gender,b.score);}則程序的輸出

結果是

A、Zhao,m,290,Zhao,m,290

B、Zhao,m,290,Qian,f,350

C、Qian,f,350,Qian,f,350

D、Zhao,m,290,Zhao,f,350

標準答案:B

知識點解析:函數(shù)f(STUa,STUb)的主要功能是為把結構體變量a的值存放到b

中,然后輸出b中各個成員的值。主函數(shù)中調(diào)用函數(shù)f(a,b),輸出賦值以后b的

數(shù)據(jù),實際為a{“Zhao",'m,,290}的數(shù)據(jù),函數(shù)調(diào)用結束,形參a和b撤銷,流

程到主函數(shù)輸出b{“Qian”,f,350}的數(shù)據(jù)。

24、以下敘述中錯誤的是(),

A、函數(shù)的返回值類型不能是結構體類型,只能是簡單類型

B、只要類型相同,結構體變量之間可以整體賦值

C、可以通過指針變量來訪問結構體變量的任何成員

D、函數(shù)可以返回指向結構體變量的指針

標準答案:A

知識點解析:函數(shù)的返回值類型可以為C語言中任意合法的數(shù)據(jù)結構,不僅可以

為簡單的數(shù)據(jù)類型,也可以為復雜的構造類型和指針類型,選項A)描述錯誤,答

案選A)。

25、以下敘述中正確的是

A、如果p是指針變量,則&p是不合法的表達式

B、如果p是指針變量,則木p表示變量p的地址值

C、在對指針進行加、減算術運算時,數(shù)字1表示I個存儲單元的長度

D、如果p是指針變量,則*p+1和*(p+l)的效果是一樣的

標準答案:C

知識點解析:B選項中,如果p是指針變量,則,①表示變量p所指向的地址的值;

A選項中,如果p是指針變量,則&p表示變量p的地址;D選項中,如果p是指

針變量,*p+l表示將p所指的值加上1,而*(p+l)表示的是先將指針右移一位再取

所指向變量的值。因此C選項正確。

家二級C語言機試(選擇題)模擬試

卷第3套

一、選擇題(本題共25題,每題1.0分,共25分。)

1、對于循環(huán)隊列,下列敘述中止確的是

A、隊頭指針是同定不變的

B、隊頭指針一定大于隊尾指針

C、隊頭指針一定小于隊尾指針

D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針

標準答案:D

知識點解析:所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位

置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear

指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列

的主要操作是:入隊運算和退隊運算。每進行一次入隊運算,隊尾指針就進一。每

進行一次退隊運算,隊頭指針就進一。當rear或front等于隊列的長度加1時,就

把rear或front值置為1。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可

以小于隊尾指針。

2、下列程序的運行結果是()。#includevoidfun(int*s,int*p){staticintt=3;

*P=s[t];t—;}voidmain(){inta[]={2,3,4,5},k,x;for(k=0;k<4;k++)

{fun(a,&x);printf("%d,",x);))

A、5,4,3,2,

B、2,3,4,5,

C、2,2,2,2,

D、5,5,5,5,

標準答案:A

知識點解析:分析fun函數(shù)程序段,可知fun函數(shù)要實現(xiàn)的功能是將s中第(1+1)個

元素以前的元素“逆置”賦給數(shù)組P。由于fun函數(shù)定義了靜態(tài)變量t=3,因此,在

主函數(shù)中調(diào)用函數(shù)fun(a,&x)時,就是要將數(shù)組a中前4個元素逆置賦給數(shù)組x,

最后輸出x數(shù)組。

3、線件表的長度為日在最壞情況下.比較次數(shù)為n-l的算法是()。

A、順序查找

B、同時尋找最大項與最小項

C、尋找最大項

D、有序表的插入

標準答案:C

知識點解析:順序查找要逐個查看所有元素,會比較n次。在最壞情況下,尋找最

大項無論如何需要查看表中的所有元素,n個元素比較次數(shù)為同時尋找最大

項和最小項,需要為判斷較大值和較小值分別進行比較,會有更多的比較次數(shù)。有

序表的插入最壞情況下是插入到表中的最后一個元素的后面位置,則會比較n次。

4、下列序列中不滿足堆條件的是()。

A、(98,95,93,94,89,90,76,80,55,49)

B、(98,95,93,94,89,85,76,64,55,49)

C、(98,95,93,94,89,90,76,64,55,49)

D、(98,95,93,96,89,85,76,64,55,49)

標準答案:D

知識點解析:根據(jù)堆的定義,n個元素的序列(hi,h2,…h(huán)n),當且僅當hi@2i;且

hi@2i+l時為小頂堆,當且僅當h*h2i且哈h2i+i時為大頂堆。D項中,h2=95,

396,h2Vh4,但hs=89,h2>h5,不滿足小頂堆云口大頂堆條件。

5、一個棧的初始狀態(tài)為空?,F(xiàn)將元素1,2,3,A,B,C依次入棧,然后再依次

出棧,則元素出棧的順序是()。

A、1,2,3,A,B,C

B、C,B,A?1,2*3

C、C,B,A,3,2,1

D、1,2,3,C,B,A

標準答案:C

知識點解析:棧的修改是按“后進先出”的原則進行的,所以順序應與入棧順序相

反,故C選項正確。

6、設一棵完全二叉樹共有700個結點,則此二叉樹中的葉子結點數(shù)為

A、85

B、120

C、250

D、350

標準答案:D

知識點解析:①具有n個結點的完全二叉樹的深度為[long2n]+l,計算出該完全二

叉樹的深度為10。②設度為0的結點(即葉子結點)為no,度為1的結點為n”度

為2的結點為n2,總結點數(shù)為n。深度為k。n=ni+n2+no>由于no=n2+l則n2=no-

1,故n=ni+no-l+no=ni+2no-l。由于完全二叉樹中度為1的結點數(shù)只有兩種可能:

0或1。⑨假設度為I的結點數(shù)為0即滿二叉樹,根據(jù)滿二叉樹的定義,其2m.i個

結點,根據(jù)以上計算所得的深度10來計算,應有291=1024-1=1023個結點,顯然

與題目中700個結點不符。因此,度為1的結點數(shù)必然為1。故片m+2110-

l=l+2no-l=2r)o,貝Uno=n/2=700/2=350。

7、T列數(shù)據(jù)結構中,不能采用順序存儲結構的是

A、棧

B、

C、非

D、

標準答案:D

知識點解析:堆中某個結點的值總是不大于或不小于其父結點的值、堆總是一棵完

全二叉樹,可以以順序存儲結構存儲;隊列的存儲結構分為鏈式存儲、順序存儲兩

種;棧作為一種數(shù)據(jù)結溝,是一種只能在一端進行插入和刪除操作的特殊線性表,

可以以順序存儲結構存儲。

8、程序流程圖中帶有箭頭的線段表示的是()。

A、圖元關系

B、數(shù)據(jù)流

C、控制流

D、調(diào)用關系

標準答案:C

知識點解析:在數(shù)據(jù)流圖中,用標有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用

標有名字的箭頭表示控制流。所以選擇C。

9、在面向?qū)ο蠓椒ㄖ?,不屬于“對象”基本特點的是

A、一致性

B、分類性

C、多態(tài)性

D、標識惟一性

標準答案:A

知識點解析:對象具有如下特征:標識惟一性、分類性、多態(tài)性、封裝性、模塊獨

立性。

10、下面不屬于軟件需求分析階段主要工作的是

A^需求變更申請

B、需求分析

C、需求評審

D、需求獲取

標準答案:A

知識點端析:在軟件開發(fā)的過程中,應該盡早的制定測試計劃,其中在需求分析階

段制定系統(tǒng)測試計劃,在概要設計階段制定集成測試計劃,在詳細設計階段制定單

元測試計劃。

11、數(shù)據(jù)流程圖(DFD圖)是

A、軟件概要設計的工具

B、軟件詳細設計的工具

C、結構化方法的需求分析工具

D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>

標準答案:C

知識點解析:DFD(數(shù)據(jù)流圖DaaFlow-Diagram)是描述數(shù)據(jù)處理過程的工具,是

需求理解的邏輯模型的圖形表示。它直接支持系統(tǒng)功能建模。在軟件詳細設計的過

程階段,要對每個模塊規(guī)定的功能以及算法的設計給出適當?shù)乃惴枋觥?/p>

12、有以下程序#includeiniflintx){iniy;if[x==OIIx==l)retulm(3);y=x*x-f(x-

2):returny;)main()(intz:z=f(3);printf(u%d\n",z);}程序的運行結果是

A、9

B、0

C、6

D、8

標準答案:c

知識點解析:主函數(shù)調(diào)用墳)函數(shù),將實參3傳遞給x,進行if條件語句的判斷不

成立,接著執(zhí)行y=3*3-f(l),再執(zhí)行f(l),而f(l)滿足if條件語句,所以f(l)的值為

3,代入y=3*3—f(l)=9—3=6。

13、下列敘述中錯誤的是()。

A、可以給指針變量賦一個整數(shù)作為地址值

B、函數(shù)可以返回地址值

C、改變函數(shù)形參的值,不會改變對應實參的值

D、當在程序的開頭包含頭文件stdio.h時,可以給指針變量賦NULL值

標準答案:A

知識點露析:不能將一個整數(shù)直接賦給指針變量作為地址,所以A選項是錯誤

的。函數(shù)的返回值可以是地址,即指斜。函數(shù)調(diào)用中形參值的變化不會傳遞給實

參。

14、若函數(shù)調(diào)用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是

()0

A、形參只是形式上的存在,不占用具體存儲單元

B、函數(shù)的形參和實參分別占用不同的存儲單元

C、同名的實參和形參占同一存儲單元

D、函數(shù)的實參和其對應的形參共占同一存儲單元

標準答案:R

知識點解析:在C語言中,函數(shù)的實參單元與形參單元在內(nèi)存中分配不同的存儲

單元。在調(diào)用函數(shù)時,如果是值傳遞給形參分配臨時存儲單元,并將實參對應的值

傳遞給形參,在被調(diào)用函數(shù)中對形參存儲單元中的值進行運算,最后通過retum語

句把函數(shù)值返回調(diào)用函數(shù)。當調(diào)用結束后,形參單元被釋放,實參單元仍保留并維

持原值。

15、以下選項中合法的變量是()。

A、_10_

B、5a

C、A%

D、sizeof

標準答案:A

知識點解析:C語言規(guī)定,標識符由字母(A?Z,a~z)、數(shù)字(0?9)或者下劃線

(_)組成,并且第一個字符必須為字母或者下劃線。變量為用戶標識符,命名方

法需要遵循標識符的命名規(guī)則,答案選A。

16、有以下程序,程序運行后的輸出結果是main(){chara=,H,;a=(a>

='A'&&a<='Z')?(a+32):a;printf(H%c\nn,A);}

A、H

B、A

C>h

D、a

標準答案:C

知識點解析:表達式a=(a>=W&&aV=N7?(a+32):a,為條件表達式,如果

a是大寫字符,則轉(zhuǎn)換為小寫字符存放到a中,否則不變。

17、有以下程序voidfun(int*p,int*q){intt;t=*p;*p=*q;*q=t;*q==*p;}

main(){inta=O,b=9;fun(&a,&b);PtintfC%d%d\n",a,b);}程序的輸出

結果是

A、00

B、99

C、90

D、09

標準答案:B

知識點解析:函數(shù):fun的主要功能是交換p和q指向的地址空間的數(shù)據(jù),然后更

改p的指向的地址空間數(shù)據(jù),使之和q指向的數(shù)據(jù)相同。主函數(shù)調(diào)用fun后,p指

向a,q指向b,囚此a和b的數(shù)據(jù)全部為9。

18、若有定義語句:inta=3,b=2,c=l;以下選項中錯誤的賦值表達式是

A、a=b=c+1;

B、a=(b=4)=3;

C、a=(b=4)+c;

D、a=l+(b=c=4);

標準答案:B

知識點解析:本題主要考查賦值表達式,對于賦值表達式來說,賦值號』”的左邊

一定為變量名,右邊為一個C語言合法的表達式。

19、有以下程序#includeVstring.h>main(){charp[20]={,a,,'b','c','d'},

q[]=',abc"?r[]="abcdeM;strcat(p,r);strcpy(p+strlen(q),q);printf("%d\n"?

strlen(p));)程序運行后的輸出結果是

A、9

B、11

C、6

D、7

標準答案:C

知識點解析:字符串連裝函數(shù)strcat(p,r)的功能是把字符數(shù)組p[]和小連接起來,

此時字符數(shù)組p口的有效字符長度為9,再執(zhí)行strcpy(p+stHcn(q),q)字符串復制函

數(shù),把字符數(shù)組q[|復制到字符數(shù)組p|]從p[3]開始到p[5]數(shù)組位置中,由于字符數(shù)

組q[]中的內(nèi)容為字符串“abc”復制時把字符串結束標志、nul「也復制到字符數(shù)組

p□中,這時字符函數(shù)st「len(p)返回字符數(shù)組p口的有效字符長度為6o

20、以下程序的功能是:給r輸入數(shù)據(jù)后計算半徑為r的圓面積s。程序在編譯時

出錯main。/"Beginning*/{intr;floats;scanf("%d",r);s=*7i*r*r:

pnntt("s=%f\n",s);}出錯的原因是

A、注釋語句書寫位置錯誤

B、存放圓半徑的變量r不應該定義為整型

C、輸出語句中格式描達非法

D、計算圓面積的賦值語句使用了非法變量

標準答案:D

知識點解析:本題考查了C語言的基本輸入輸出函數(shù)。選項A錯誤,代碼里面的

注釋是正確的,"/*”和“*/”配對;選項B錯誤,「變量定義為整型是可以的;選

項C輸出語句格式正確;選項D正確,計算s的時候s=*7t*r*r使用了未定義變量

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

A、如果企圖通過一個空指針來訪問一個存儲單元,將會得到一個出錯信息

B、即使不進行強制類型轉(zhuǎn)換,在進行指針賦值運算時,指針變量的基類型也可以

不同

C、設變量p是一個指針變量,則語句p=0;是非法的,應該使用p=NULL;

D、指針變量之間不能用關系運算符進行比較

標準答案:A

知識點解析:空指針意味著該指針沒有指向任何具體的變量,所以不能訪問一個存

儲單元,A)正確。指針的賦值運算只能在同一數(shù)據(jù)類型之間進行,故選項B)

錯。語句p=0和p=NULL是一樣的,都是把一個空指針賦給指針變量p,故選項

C)錯。指針之間能進行關系運算,比較的是地址值的大小,選項D)錯。答案選

A)o

22有以下程序#includevoidmain。{chars[]={"012xy"};inti,n=0;for(i=0;

s[i]!=0;i++)ifi[s[i]>=,a,&&s[i]<=,z,)n++:printf("%d\n",n):}程序運行后的輸

出結果是

A、0

B、3

C、5

D、2

標準答案:D

知識點解析:這段程序的功能求出字符串s中字符在小寫字符a到Z之間字符的個

數(shù)。在程序中字符串sE勺值為"012xy",所以在字符串s中符合要求的字符的個數(shù)

等于2。

23、若有以下程序段structst{intn;structst*next;};structsta|3]={5,

7,&a[2],9,'\(T},*p;p=&a[O];則以下選項中值為6的表達式是

A、++(p—>n)

(*p).n

C>p—>n++

D、B—>n

標準答案:A

知識點解析:選項A中表達式++(p—>n)為前綴芻加表達式,p—>n和a[0].n

等價,其值為5,前綴自加后值為6。選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論