國家二級(C語言)筆試模擬試卷29(共507題)_第1頁
國家二級(C語言)筆試模擬試卷29(共507題)_第2頁
國家二級(C語言)筆試模擬試卷29(共507題)_第3頁
國家二級(C語言)筆試模擬試卷29(共507題)_第4頁
國家二級(C語言)筆試模擬試卷29(共507題)_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

國家二級(C語言)筆試模擬試卷29

(共9套)

(共507題)

國家二級(C語言)筆試模擬試卷第1

一、公共基礎(chǔ)選擇題(本題共10題,每題7.0分,共

10分。)

1、線性表L=(al,a2,a3,...ai,...an),下列說法正確的是()

A、每個元素都有一個直接前件和直接后件

B、線性表中至少要有一個元素

C、表中諸元素的排列順序必須是由小到大或由大到小

D、除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件

和直接后件

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

2、設(shè)樹T的度為4,其中度為1,2,3,4的結(jié)點個數(shù)分別為4,2,1,K則T

中的葉子結(jié)點數(shù)為()

A、8

B、7

C、5

D、5

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

3、設(shè)有下列二叉樹:對此二叉樹前序遍歷的結(jié)果為()

A、ZBTYCPXA

B、ATBZXCYP

C、ZBTACYXP

D、ATBZXCPY

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

4、結(jié)構(gòu)化程序設(shè)計的一種基本方法是()

A、篩選法

B、遞歸法

C、歸納法

D、逐步求精法

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

5、軟件設(shè)計包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計,其中軟件的過程設(shè)計是指()

A、模塊間的關(guān)系

B、系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述

C、軟件層次結(jié)構(gòu)

D、軟件開發(fā)過程

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

6、完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例的

測試方法是()

A、黑箱測試法

B、白箱測試法

C、錯誤推測法

D、安裝測試法

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

7、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)

成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()

A、控制流

B、加工

C、數(shù)據(jù)存儲

D、源和潭

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

8、在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,可實現(xiàn)數(shù)據(jù)共享的是()

A、人工管理階段

B、文件系統(tǒng)階段

C、數(shù)據(jù)庫系統(tǒng)階段

D、系統(tǒng)管理階段

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

9、按條件f對關(guān)系R進(jìn)行選擇,其關(guān)系代數(shù)表達(dá)式是()

A、R|x|R

B、KRR

C、of((R)

D、兀f(R)

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

10、公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有

多名職員,從職員到部門的聯(lián)系類型是()

A、多對多

B、一對一

C、多對一

D、一對多

標(biāo)推答案:4

知識點解析:暫無解析

二、選擇題(1分)(本題共10題,每題,.0分,共10

分。)

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

A、C程序由函數(shù)和過程組成

B、C程序由主函數(shù)組成

C、C程序由函數(shù)組成

D、C程序中,主函數(shù)必須放在其他函數(shù)之前

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

12、下列運算符中,不屬于關(guān)系運算符的是()

A、<

B、>=

C、==

D、!

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

13、下列屬于合法的C語言無符號短整型常數(shù)的選項是()

A、-2

B、65536

C、123L

D、50000

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

14、設(shè)a,b均為float型變量,則以下非法的賦值語句是()

A、b=(a/5)/8;

B、++a

C、a=1.0,b=2.0,

D、a+=3;

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

15、設(shè)有如下變量定義:doublea=3.500000;floatb=2.5;intm=2,n=3;則表

達(dá)式”(float)(m+n)/2+(int)a%(int)b”的值是()

A、2.5

B、3.5

C、4.5

D^表達(dá)式不正確

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

16、先用以下語句定義字符型變量:chare;然后要將字符a賦給變量c,則下列

語句中正確的是()

A^c='a';

B、c="a";

C、c="97”;

D、c='97'

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

17、設(shè)有語句chara=''72';,則變量a()

A、包含1個字符

B、包含2個字符

C、包含3個字符

D、說明不合法

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

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

A、C程序中,賦值運算符的優(yōu)先級最低

B、若a是實型變量,C程序中允許進(jìn)行以下賦值:a=IO,因此,實型變量中允許

存放整型數(shù)

C、若a和b類型相同,在執(zhí)行了賦值a=b后b中的值將放入a中,b中的值將丟

D、在C程序中,除號運算符“尸兩邊的類型相同時才能進(jìn)行相除運算

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

19、已有定義:doublex;inti:,能正確給x賦70000.0的表達(dá)式是()

A、x=7000*10

B、x=70000

C、x=35OOO+35OOO

D、i=700,x=i*100

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

20、若要求在if后一對圓括號中表示a不等于。的關(guān)系,則能正確表示這一關(guān)系的

表達(dá)式為()

A、a<>0

B、!a

C、a=0

D、a

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

三、選擇題(2分)(本題共30題,每題7.0分,共30

分。)

21、下列定義正確的是()

A、staticinta[]={1,2,3,4,5)

B、intb|]={2,5)

C、inta(10)

D^int4e[4]

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

22、下述程序段的執(zhí)行結(jié)果是()#include<stdio.h>voidmain(){intx;for(x=l;x

<=100;x++)if(++x%3==0)if(++x%4==0)if(++x%7==0)printf("%d",x);}

A、75

B、76

C、77

D、84

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

23、有以卜程序#inc1ude<stdio.h>main(){int.i=0,a=0;while(i<20){for(;;)

{if((i%10)==0)break;elsei-;)i+=l1;a+=i;}printf("%d\n'*,a);)程序運行后的

輸出結(jié)果是()

A、21

B、32

C、33

D、11

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

24、有以下程序main。{inly=10;do(y-;)while(-y);printf("%d\n",y--);}程

序運行后的輸出結(jié)果是()

A、-1

B、1

C、8

D、0

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

25、若有如下說明:inta,b=5,九=&a;則能完成a二b賦值功能的語句是()

A、&a=&b;

B、*t=b;

C、%=&b;

D、*a=*t;

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

26、若變量已正確定義并賦值,對庫函數(shù)錯誤調(diào)用的是()

A、k=scanf(u%d%d",&i,&j);

B、printfCAWdWn",k);

C^getchar(ch);

D、putchar(ch);

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

27、若有如下程序:sub(inta,intb,int*z){*z=a-b;return;)main(){inta=1,

b=2,c=3,d,e;sub(a,b,&D);sub?d,&e);printf("%d",e);}則程序運

行后的輸出結(jié)果是

A、3

B、4

C、5

D、6

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

28、若有如下程序;main(){char*p="china,';p+=1;printf("%d\nH,p);}則程序

運行后的輸出結(jié)果是()

A^china

B、字符h的地址

C、hina

D、字符h的ASCII碼值

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

29、一個C程序由函數(shù)A、B、C和函數(shù)P構(gòu)成,在函數(shù)A中分別調(diào)用了函數(shù)B和

函數(shù)C,在函數(shù)B中調(diào)用了函數(shù)A,且在函數(shù)P中也調(diào)用了函數(shù)A,則可以說()

A、函數(shù)B中調(diào)用的函數(shù)A是函數(shù)A的間接遞歸調(diào)用

B、函數(shù)A被函數(shù)B調(diào)用是函數(shù)A間接遞歸調(diào)用

C、函數(shù)P直接遞歸調(diào)用了函數(shù)A

D、函數(shù)P中調(diào)用的函數(shù)A是函數(shù)P的嵌套

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

30、下列程序的輸出結(jié)果是()structabc{inta,b,c;}:main(){structabc

s[2]={{L2,3},{4,5,6)};intt;t=s[0].a+s[l].b;printf(H%d\nn,t);}

A、3

B、4

C、5

D、6

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

31、若以下對fun函數(shù)的調(diào)用是正確的:x=fun(fun(a,b,c),(a+b,a+c),

a+b+c);則fun函數(shù)的形參個數(shù)為()

A、3

B、4

C、5

D、6

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

32、若有說明:ini*p,m=51;n;,以下正確的程序段是()

A、p=&m;scanf("%d",&p)

B、p=&n;scanf("%d",&P)

C、scanf("%d",&p)p=&n;

D^p=&n;p=&m;

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

33、以下程序調(diào)用findmax函數(shù)返回數(shù)組中的最大值findmax(int*a,intn){int

*p,*s;for(p=a,s=a;p-a<n;p++)if()s=p;rcturn(*s);)main(){int

x[5]={12,21,13,6,18};primf("%d\n”,findmax(x,5));}在下劃線處應(yīng)填入

的是()

A、p>s

B、*p>*s

C>a[p]>a[s]

D、p-a>p-s

標(biāo)準(zhǔn)答案.2

知識點露斤:暫無解析

34、若指針p已正確定義,要使p指向兩個連續(xù)的整型動態(tài)存儲單元,則正確語句

是()

A、p=2*(int*)malloc(sizeof(int));

p=(int*)calloc(2*sizeof(int));

C、p=(int*)malloc(2*sizeof(int));

D^p=2*(int*)calloc(sizeof(int));

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

35、下列程序的輸出結(jié)果是()main。{char*pl,*p2,str[50]="xyz";p^^abcd";

p2="ABCD";strcpy(str4-2,strcat(pl+2,p2+l));printf("%s",str);}

A、xyabcAB

B>abcABz

C^Ababcz

D、XycdBCD

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

36、以下敘述中不正確的是()

A、一個變量的作用域完全取決于變量定義語句的位置

B、全局變量可以在函數(shù)以外的任何部位進(jìn)行定義

C、局部變量的、'生存期.'只限于本次函數(shù)調(diào)用,因此不可能將局部變量的運算結(jié)果

保存至下一次調(diào)用

D:一個變量說明為sialic存儲類是為了限制其他編譯單位的引用

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

37、交換兩個變量的值,不允許用臨時變量,應(yīng)該使用下列哪一個位運算符()

A、?

B、&

C、A

D、|

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

38、下面的說法不正確的是()

A、函數(shù)調(diào)用時,先求出實參表達(dá)式,然后帶入形參。而使用帶參的宏只是進(jìn)行簡

單的字符替換

B、函數(shù)調(diào)用是在程序運行時處理的,分配臨時的內(nèi)存單元。而宏展開則是在編譯

時進(jìn)行的,在展開時也要分配內(nèi)存單元,進(jìn)行值傳遞

C、對于函數(shù)中的實參和形參都要定義類型,二者的類型要求一致,而宏不存在類

型問題,宏名有類型

D、調(diào)用函數(shù)只可得到一個返回值,而用宏可以設(shè)法得到幾個結(jié)果

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

39、fscanf函數(shù)的正確調(diào)用形式是()

A、fscanf(fp,格式字符串,輸出表列);

B、fscanf隔式字符串,輸出表列,fp);

C、fscanf(格式字符串,文件指針,輸出表列),

D、fscanf(文件指針,格式字符串,輸入表列);

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

40、以下程序的運行結(jié)果是()#defineMAX10inta[MAX],i;main()

{printf("\n");subl();sub3(A),sub2(),sub3(A);)sub2(){inta[MAX],i,max;

max=5;for(i=0;iVmax;i++)a[i]=i;)sub1(){for(i=0;i<MAX;i++)a[i]=i+i;}

sub3(inta[]){inti;for(i=0;i<MAX,i++)prinlf("%d",a|i));prinlf("\n");}

A、02468101214161801234

B、01234024681012141618

C、012345678901234

D、024681012141618024681012141618

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

41、有以下結(jié)構(gòu)體說明和變量的定義,且如下圖所示指針p指向變量a,指針q指

向變量bo則不能把結(jié)點b連接到結(jié)點a之后的語句是()structnode{chardata;

structnoe*next;)a,b,*p=&a,*q=&b;

dmnext*乃

,5iiq;?\oj

A、a,next=q;

B、p.next=&b;

C、p->ncxt=&b;

D^(*p).next=q;

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

42、若有如下定義:inl(*p)(),*q();則下列說法正確的是()

A、p是一個函數(shù)名,q是一個指針變量

B、p是一個指向整型變量的指針變量,q是一個指向一維數(shù)組的指針變量

C、p和q是等價的,都是指針變量

D、p是指向函數(shù)的指針變量,函數(shù)的返回值是整型數(shù)據(jù);q是帶回指針值的函數(shù)

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

43有以下程序#ineludeVstdio.h>main。{floatx,y;scan{C'%f',&x);if(x<

0.0)y=0.0;elseif((x<5.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x<IO.O)y=1.0/x;

elsey=10.0;y);}若運行時從鍵盤上輸入2.0<CR>(VCR>表示

回車),則上面程序的輸出結(jié)果是()

A、0

B、0.25

C、0.5

D、1

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

44、以下.程序段中,能夠通過調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個

合法的整型單元的是

A、main()|int*p;fun(p);...}intfun(int*p){ints;p=&s;}

B>main{int*p;fun(&p);...}intfun(int**p){ints;*p=&s;}

C、#include<stdlib.h>main(){int*p;fun(&p);...}intfun(int**p)

{*p=(int*)malloc(2);}

D^#includc<stdlib.h>main(){int*p;fun(p);...}intfun(int*p)

{p=(int*)malloc(sizeof(int));}

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

45、執(zhí)行下列程序時輸入:123〈空格>456〈空格>789〈回車〉,輸出結(jié)果是()

main(){chars[100]intc,i;scanf("%c",&C);scanf(H%d",&i);scanf(n%s",s);

printf("%c,%d,%s\n'\c,i,s);)

A、1,456,789

B、1,23,456

C、1,23,456,789

D、123,456,789

標(biāo)準(zhǔn)答案;2

知識點解析:暫無解析

46、有以下程序#includ2<stdio.h>#include<string.h>main(){char

bl[8]=',abcdefg,\b2[8],*pb=bl+3,while(-pb>bl)strcpy(b2,pB);

printf("%d\n",strlen(b2));}程序運行后的輸出結(jié)果是()

A、8

B、3

C、1

D、6

標(biāo)準(zhǔn)答案:8

知識點解析:暫無解析

47、設(shè)有如下定義和聲明:struct3{inta;structs*next);structsx[4]={1,

&x[l],3,&x[2],5,&x[3],7,\(F),*t;t=&x[0];則下列表達(dá)式值為2的是

()

A、++l->a

B、(*t).a++

C、t->a++

D、t++->a

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

48、若有如下程序:main(){inta=6;charch=c;printf(',%d\n,\(a&2)&&(ch

}則程序運行后的輸出結(jié)果是()

A、0

B、1

C、2

D、3

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

49、下列說法不正確的是()

A、下列結(jié)構(gòu)體定義時,占據(jù)了5個字節(jié)的空間slructs{intnum;intage;char

sex;}

B、結(jié)構(gòu)體的成員名可以與程序中的變量名相同

C、對結(jié)構(gòu)體中的成員可以單獨使用,它的作用相當(dāng)于普通變量

D、結(jié)構(gòu)體的成員可以是一個結(jié)構(gòu)體變量

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

50,若要打開A盤中user子目錄下名為aaa.txt的文本文件進(jìn)行讀、寫操作,下

面符合此要求的函數(shù)調(diào)用是()

A、fopen("A:\user\aaa.txt",T')

B、fopen(,'A:\\user\\aaa.txt","r+")

C>fopcn(nA:\uscr\aaa.txt","rb")

D、fopen(nA:\\user\\aaa.txt",nw")

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

四、公共基礎(chǔ)填空題(本題共5題,每題7.0分,共5

分。)

51、實現(xiàn)算法所需的存儲單元多少和算法的工作量大小分別稱為算法的【】。

標(biāo)準(zhǔn)答案:空間復(fù)雜度和時間復(fù)雜度

知識點解析:算法的復(fù)雜性是指對一個在有限步驟內(nèi)終止算法和所需存儲空間大小

的估計。算法所需存儲空間大小是算法的空間復(fù)雜性,算法的計算量是算法的時間

復(fù)雜性。

52、數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。

標(biāo)準(zhǔn)答案:存儲結(jié)構(gòu)

知識點解析:數(shù)據(jù)結(jié)構(gòu)包括3個方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)

據(jù)的操作運算。

53、一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了

軟件的【】。

標(biāo)準(zhǔn)答案:可重用性

知識點解析:繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減

少了程序中的冗余,提高軟件的可重用性。

54、面向刑象的模型中,最基本的概念是對象和【】。

標(biāo)準(zhǔn)答案:類

知識點解析:面向?qū)ο竽P椭?,最基本的概念是對象和類。對象是現(xiàn)實世界中實體

的模型化;將屬性集和方法集相同的所有對象組合在一起,可以構(gòu)成一個類。

55、軟件維護(hù)活動包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性

維護(hù)。

標(biāo)準(zhǔn)答案:完善性

知識點。析:軟件維護(hù)活動包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)

和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需

要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件

的可維護(hù)性。

五、填空題(本題共5題,每題1.0分,共5分。)

56、下列程序的運行結(jié)果為[]o#include<math.h>#include<stdio.h>

main(){ints=l;floatn=1,pi=0;doublet=l;while(fabs(t)>=2e-6){pi+=t;

n+=2;s=-s;t=s/n;)pi*=4;printf('rpi=%.6f\n'\pi);}

標(biāo)準(zhǔn)答案:3.141592

知識點解析:暫無解析

57、下列程序中,字符串中各單詞之間有一個空格,則程序的輸出結(jié)果是【】。

#includemain(){charstrl[]=HHowdoyoudo",*pl=strl;strcpy(strl+strlen(strl)/2,

"esshe");printf("%s\n",pl);}

標(biāo)準(zhǔn)答案:Howdoesshe

知識點解析:暫無解析

58、設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型:請寫出

fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[I0][22];intn;.......fun

標(biāo)準(zhǔn)答案:voidfun(doubleb[10][22])

知識點解析:暫無解析

59、下列程序的功能是計算機(jī)一元二次方程的根。include[]include<stdio.h

>main(){floata,b,c,disc,x1,x2,realpart,imagpart;scanf("%f^)f%f',&a,&b,&c);

printf("Theequation");if([]<=lc-6)printf(nisnotquadratic\n");elsedisc=b*b-

4*a*c;if(fabs(disc)<=le-6)printf("hastwoequalroots:%-8.4f\n,|,-b/(2*a));else

if([]){xl=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf(Hhasdistinctreal

roots:%8.4fand%.4f\n",xl,x2);)else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);

printf("hascomplexroots:\nM);printf(H%8.4f+%.4fi\n",realpart,imagpart);printf

("%8.4f-%.40^'*,realpart,imagpart);))

標(biāo)準(zhǔn)答案:Vmalh.h>fabs(a)fabs(disc)=le-6

知識點解析:暫無解析

60、下列程序的功能是計算機(jī)平均成績并統(tǒng)計90分以上的人數(shù)。main(){intn,m;

floatgrade,average;average-n-m-[];while([]){scanf("%「',&grade);if(grade

<0)break;m++;average+=grade;if(grade<90)[];m++;)if(n)

printf("%.2f%d\n",average/n,m);)

標(biāo)準(zhǔn)答案:0Icontinue

知識點解析:暫無解析

國家二級(C語言)筆試模擬試卷第2

一、選擇題(1分)(本題共70題,每題1.0分,共70

分。)

1、對長度為n的線性表進(jìn)行順序查找,在最壞的情況下所需要的比較次數(shù)為()。

A、log2n

B、n/2

C、n

D、n+1

標(biāo)準(zhǔn)答案:c

知識點0析:在平均情況下,利用順序查找法在線性表中查找一個元素,大約要與

線性表中一半的元素進(jìn)行比較,最壞情況下需要比較n次。

2、對如下二叉樹:ABDECF進(jìn)行后序遍歷的結(jié)果為()。

A、ABCDEF

B、DBEAFC

C、ABDECF

D、DEBFCA

標(biāo)準(zhǔn)答案:D

知識點解析:暫無解析

3、冒泡排序在最壞情況下的比較次數(shù)是()。

A、n(n+l)/2

B、nlog2n

C、n(n-I)/2

D、n/2

標(biāo)準(zhǔn)答案:C

知識點解析:在最壞情況下冒泡排序法需要比較的次數(shù)為n(n-l)/20

4、兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為()。

A、耦合度

B、內(nèi)聚度

c營久后

D:數(shù)冠傳輸特性

標(biāo)準(zhǔn)答案:A

知識點解析:耦合度是模塊間互相連接的緊密程度。

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

A、可行性分析報告

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

C、概要設(shè)計說明書

D、集成測試計劃

標(biāo)準(zhǔn)答案:B

知識點解析:軟件需求規(guī)格說明書是需求分析階段最后的成果,它是作為需求解析

的一部分而制定的可交時文檔。在概要設(shè)計階段,需要編寫的文檔有:概要設(shè)計說

明書、數(shù)據(jù)庫說明書、集成測試計劃等。

6、下列選項中不屬于結(jié)構(gòu)化程序設(shè)計方法的是()。

A、自頂向下

B、逐步求精

C、模塊化

D、可復(fù)用

標(biāo)準(zhǔn)答案:D

知識點解析:結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,

模塊化,限制使用gol。語句。

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

A、圖元關(guān)系

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

C、控制流

D、調(diào)用關(guān)系

標(biāo)準(zhǔn)答案:C

知識點解析:程序流程圖是軟件過程設(shè)計中常用的圖形描述工具之一。構(gòu)成程序流

程圖的最基本符號有:-或1,表示控制流;□表示加工步驟;?表示邏輯條件。

8、在下列關(guān)系運算中,不改變關(guān)系表中的屬性個數(shù)但能減少元組個數(shù)的是()。

A、并

B、交

C、投影

D、笛卡兒乘積

標(biāo)準(zhǔn)答案:B

知識點解析:并運算會增加元組個數(shù),投影運算會減少表中屬性個數(shù),笛卡兒積既

會增加屬性個數(shù),又會增加元組個數(shù)。

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

A、數(shù)據(jù)庫系統(tǒng)是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持

B、數(shù)據(jù)庫系統(tǒng)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

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

D、以上三種說法都不對

標(biāo)準(zhǔn)答案:B

知識點解析:數(shù)據(jù)庫系統(tǒng)(DBS)是由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫

管理員(人員)、硬件平臺(硬件)、軟件平臺(軟件)五個部分構(gòu)成的運行實體。數(shù)據(jù)庫

技術(shù)的根本目標(biāo)是解決數(shù)據(jù)的共享問題。

10、設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),

課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為

()o

A、課號,成績

B、學(xué)號,成績

C、學(xué)號,課號

D、學(xué)號,姓名,成績

標(biāo)準(zhǔn)答案:c

知識點。析:在二維表中凡能唯一標(biāo)識元組的最小屬性集稱為關(guān)鍵字,關(guān)鍵字具有

標(biāo)識元組、建立元組間聯(lián)系等重要作用。此題中,(學(xué)號,課號)是表SC的主鍵,

學(xué)號、課號分別為外鍵,學(xué)號是表S的關(guān)鍵字,課號是表C的關(guān)鍵字。

二、填空題(本題共10題,每題1.0分,共10分。)

II、執(zhí)行以下程序后的輸出結(jié)果是()。main(){inta=10;a=(3*5,a+4);

printf("a=%d\n',>A);

標(biāo)準(zhǔn)答案:a=14

知識點解析:在“逗號表達(dá)式(表達(dá)式1,表達(dá)式21中,其運算方法是先求表達(dá)式1

的值,然后求表達(dá)式2的值,整個逗號表達(dá)式的值是表達(dá)式2的值。首先

3*5=15,a=10,a+4=14,最后輸出的運算結(jié)果為14。

12、以卜程序運行后的輸出結(jié)果是()。main(){charc;intn=100;loatf=10;

doublex;x=f*=n/=(c=50);printf("%d%^nu,n,x);}

標(biāo)準(zhǔn)答案:0

知識點解析:暫無解析

13、以下程序運行后的輸出結(jié)果是()。main(){inta=l,b=2,c=3;

if(c=A)printf(',%d\nM,C);elseprintf(,,%d\nH,B);)

標(biāo)準(zhǔn)答案:1

知識點解析:程序中的if條件是賦值語句,a的值1賦給了變量c,表達(dá)式的

值也為1,條件為真,輸出C的值為1。

14、執(zhí)行以下程序的輸出結(jié)果是()。#include<stdio.h>#defineM5#defineN

M+Mmain(){intk;k=N*N*5;printff'%d\n",k);}

標(biāo)準(zhǔn)答案:55

知識點解析:本題考查的重點是對宏定義的理解。#deflne指令定義一個標(biāo)識符和

一個串,編譯程序在對C源程序處理時.發(fā)現(xiàn)該標(biāo)識符都用該串替換,因此,在

語句k=N*N*5將替換成1<=乂+乂*1^+^1*5后,M被替換成5,從而

k=5+5*5+5*5=55。

15、以下程序中函數(shù)fun的功能是:統(tǒng)計person所指結(jié)構(gòu)體數(shù)組中所有性別(sex)為

M的記錄的個數(shù),存入變量n中,并作為函數(shù)值返回。請?zhí)羁?#include<stdio.h

>#defineN3typedefstruct{intmum,charname|IO];charsex;)SS;intfun(SS

person[]){inti,n=0;for(i=0;i<N;i+4-)if(()==,M,)n—1-;returnn;)main(){SS

W[N]={{1/AA\F},{2,intn;n=fun(W);

printf("n=%d\n",n);}

標(biāo)準(zhǔn)答案:person[i].scx

知識點解析:暫無解析

16、以「程序運行后的輸出結(jié)果是()。#includechar*ss(char*s){char*p,t;

P=s+l;t=*s;while(*p){*(P-1)=*P;P++;}*(P-l)=t;returns;}main()

{char*p,str[10]="abcdcfgh";p=ss(str);printf("%s\n",p);}

標(biāo)準(zhǔn)答案:bcdefgha

知識點解析:暫無解析

17、人員基本信息一般包括:身份證號、姓名、性別、年齡等。其中可以作為主關(guān)

鍵字的是()。

標(biāo)準(zhǔn)答案:身份證號

知識點解析:主關(guān)鍵字是表中區(qū)別不同記錄的標(biāo)識,在該表中只有身份證號能具有

這個作用,所以用其作為主關(guān)鍵字。

18、若有定義語句:inla=5;,則表達(dá)式a++的值是1)。

標(biāo)準(zhǔn)答案:5

知識點解析:表達(dá)式的值是5,而變量a的值為6。這里要注意區(qū)分表達(dá)式的

值和變量a的值。

19、若有語句doublex=17;inty;,當(dāng)執(zhí)行y=(int)(x/5)%2;之后y的值為()。

標(biāo)準(zhǔn)答案:1

知識點解析:(inl)(x/5)=3,3%2=lo

20、以下程序運行后的輸出結(jié)果是()。#include<stdio.h>main(){intx=20;

printf("%d",0<x<20);printf("%d\n",0<x&&x<20);}

標(biāo)準(zhǔn)答案:10

知識點解析:表達(dá)式0<xV20,首先計算OVx,其值為1,再計算1V20,其值為

1,輸出1;表達(dá)式0Vx&&xV20,OVx為1,xV20為0,再計算1&&0,其值

為0,輸出0。所以輸出結(jié)果為10。

國家二級(C語言)筆試模擬試卷第3

一、公共基礎(chǔ)選擇題(本題共9題,每題7.0分,共9

分。)

1、c語言的基本單位是()。

A、函數(shù)

B、過程

C、子程序

D、子函數(shù)

標(biāo)準(zhǔn)答案:A

知識點解析:C語言是函數(shù)式的語言。它的基本組成單位是函數(shù),在C語言中任何

程序都是由一個或者多個函數(shù)組。

2、設(shè)有如下三個關(guān)系表下列操作中正確的是

A、T=RAS

B、T=RUS

C、T=RxS

D、T=R/S

標(biāo)準(zhǔn)答案:C

知識點解析:對于兩個關(guān)系的合并操作可以用笛卡爾積表示。設(shè)有n元關(guān)系R和

m元關(guān)系S,它們分別有p和q個元組,則R與S的笛卡兒積記為RxS它是一個m+n

元關(guān)系,元組個數(shù)是pxq由題意可得,關(guān)系T是由關(guān)系R與關(guān)系S進(jìn)行笛卡爾積運算

得到的。

3、串的長度是()。

A、串中不同字符的個數(shù)

13、串中不同字母的個數(shù)

C、串中所含字符的個數(shù)且字符個數(shù)大于0

D、串中所含字符的個數(shù)

標(biāo)準(zhǔn)答案:8

知識點解析:串的長度是指串中字符的個數(shù),且其字符個數(shù)可以為0。

4、若進(jìn)棧序列為1,2,3,4,進(jìn)棧過程中可以出棧,則下列不可能的一個出棧序

列是。

A、1,4,3,2

B、2,3,4,1

C、3,1,4,2

D、3,4,2,1

標(biāo)準(zhǔn)答案:4

知識點解析:棧是一種后進(jìn)先出表,選項C中,先出棧的是3,說明此時棧內(nèi)必然

有1,2,由于I先于2進(jìn)棧,所以1不可能在2之前出棧,故選項C這種出棧序

列是不可能的。

5、在結(jié)構(gòu)化程序設(shè)計思想提出之前,在程序設(shè)計中曾強(qiáng)調(diào)程序的效率。與程序的

效率相比,人們更重視程序的

A、安全性

B、一致性

C、可理解性

D、合理性

標(biāo)準(zhǔn)答案:4

知識點解析:結(jié)構(gòu)化程序設(shè)計方法設(shè)計出的程序具有明顯的優(yōu)點。其一,程序易于

理解、使用和維護(hù);其二,提交了編程工作的效率,降低了軟件開發(fā)成本。其中,

人們更重視前者。

6、對于n個結(jié)點的單向鏈表(無表頭結(jié)點),需要指針單元的個數(shù)至少為o

A、n-I

n

C、n+1

D、2n

標(biāo)準(zhǔn)答案:4

知識點解析:在n個結(jié)點的單向鏈表(無表頭結(jié)點)中,每個結(jié)點都有一個指針單元

(即指針域),加上頭指針,至少需要n+1個指針單元。

7、兩個或兩個以上的模塊之間關(guān)聯(lián)的緊密程度稱為。

A、耦合度

B、內(nèi)聚度

c箕型庶

D:數(shù)加傳輸特性

標(biāo)準(zhǔn)答案:A

知識點解析:耦合度是模塊間互相連接的緊密程度的度量;內(nèi)聚度是一個模塊內(nèi)部

各個元素間彼此結(jié)合的緊密程度的度量。

8、下列對隊列的敘述正確的是

A、隊列屬于非線性表

B、隊列按“先進(jìn)后出”原則組織數(shù)據(jù)

C、隊列在隊尾刪除數(shù)據(jù)

D、隊列按“先進(jìn)先出”原則組織數(shù)據(jù)

標(biāo)準(zhǔn)答案.D

知識苫3析:隊列是一種操作受限的線性表。它只允許在線性表的一端進(jìn)行插入操

作,另一端進(jìn)行刪除操作。其中,允許插入的一端稱為隊尾(rear),允許刪除的一

端稱為隊首(front)。隊列具有先進(jìn)先出的特點,它是按“先進(jìn)先出”的原則組織數(shù)據(jù)

的,故本題答案為D)。

9、設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課

程C(課號,課名),Q選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為

()。

A、課號,成績

B、學(xué)號,成績

C、學(xué)號,課號

D、學(xué)號,姓名,成績

標(biāo)準(zhǔn)答案:C

知識點解析:關(guān)鍵字是由屬性或?qū)傩缘慕M合,其值能夠唯一地標(biāo)識一個元組,而在

SC中學(xué)號和課號的組合可以對元組進(jìn)行唯一的標(biāo)識。

二、選擇題(1分)(本題共“題,每題7.0分,共〃

分。)

10、兩次運行下列的程序,如果從鍵盤上分別輸入3和1,則輸出結(jié)果是()。

main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);elseprintf(M%d\n",x—);}

A、4和2

B、4和1

C、4和0

D、3和1

標(biāo)準(zhǔn)答案:A

知識點解析:本題考查ifelse語句。首先scanf函數(shù)通過鍵盤讀入x的值。當(dāng)x=3

時,第一個if語句,先判斷條件,取x的值3和2比較,然后將x的值加1,發(fā)現(xiàn)

條件成立,執(zhí)行下列的prinlf語句,輸出x的值4。當(dāng)x=l時,第一個if語句,先

判斷條件,取x的值1和2比較,然后將x的值加l(x的值變?yōu)?),發(fā)現(xiàn)條件不成

立,執(zhí)行下列的else語句,先輸出x的值2,再將x的值減1。

11、在數(shù)據(jù)流圖中,帶有箭頭的線段表示的是()。

A、控制流

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

C、模塊調(diào)用

D、事件驅(qū)動

標(biāo)準(zhǔn)答案:B

知識點解析:數(shù)據(jù)流圖中帶箭頭的線段表示數(shù)據(jù)流,沿箭頭方向傳遞數(shù)據(jù)的通道,

一般在旁邊標(biāo)注數(shù)據(jù)流名。

12、有以下程序//includemain(){inta;scanf("%d”,&a);if(a++<9)printf(44%d\n,\a);

elseprintf("%d\n”,a--);)程序運行時從鍵盤輸入9〈回車〉,則輸出結(jié)果是

A、11

B、10

C、9

D、8

標(biāo)準(zhǔn)答案:B

知識點解析:本題考查的是if…else選擇結(jié)構(gòu)和變量自加?自減運算。從鍵盤輸入9

問車后方的值為9,if語句中,先判斷a<9,再執(zhí)行a自加i(a為10)運算,此時if語句值

為假,執(zhí)行else語句;在else語句中,同樣先執(zhí)行輸入a的值,再執(zhí)行a自減運算,故輸

出結(jié)果為10o

13、若要求從鍵盤讀人含有空格字符的字符串,應(yīng)該使用函數(shù)()。

A、getc()

B、gets()

C^getchar()

D、scanf()

標(biāo)準(zhǔn)答案:2

知識點新斤:gete()函數(shù)是從文件指針指定的文件中讀入一個字符,并把它作為函

數(shù)值返回;getchar。函數(shù)是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個字符,

gelc()和getehar。都不能讀字符串(可以與循環(huán)語句結(jié)合輸入一個字符串):seanf(涵

數(shù)不能輸入帶空格的字符串;gets。函數(shù)可以從鍵盤讀入空格字符。

14、下列程序的運行結(jié)果為omain(){intn;for(n=l;n<=10;n++)

{if(n%3==0)continue;printf("%d",n);))

A、12457810

B、369

C、12

D、12345678910

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

15、C語言中各種基本數(shù)據(jù)類型的存儲空間長度排列為()

A、char<long<int<float<double

B、double<float<long<int<char

C>char<int<long<float<doublc

D、float<int<long<chai<double

標(biāo)準(zhǔn)答案:4

知識點解析:暫無解析

16、以下合法的賦值語句是。

A、X=Y=100

B、D-;

C、X+Y;

D、C=int(A+B)

標(biāo)準(zhǔn)答案:2

知識點解析:本題中的答案A與D都缺少“廣,而答案C中,表達(dá)式是不能獨立成

為語句的,答案B使用了C語言的自減運算符它就相當(dāng)于口=?1,所以答案B為

一賦值語句。

17、設(shè)x為int型變量,執(zhí)行以下語句,x=10;x+=x=x?x;x的值為。

A、10

B、20

C、30

D、40

標(biāo)準(zhǔn)答案:2

知識點解析:本題x=10,表達(dá)式"x+=x=x?x;”的求解步驟如下:先進(jìn)行x?=x?x的

運算,相當(dāng)于x=x-(x-x)=x=10;再進(jìn)行x+=x的運算,HPx=x+x=20o

18、下列能正確定義一維數(shù)組的選項是()。

A、inta[5]={0,l,2,3,4,5);

chara口二{0,1,2,3,4,5};

C、char

Dsinta[5]="0123";

標(biāo)準(zhǔn)答案:2

知識點解析:在定義數(shù)組時,如果賦給的初始值個數(shù)大于數(shù)值的長度,這樣就會越

界,因此選項A)錯誤;選項C)中定義的是一個字符變量C:選項D)中整型數(shù)組a

中只能存儲整型數(shù)據(jù),而不能存儲字符串常量“0123”。

19、已知i、j、k為ini型變量,若要從鍵盤輸入2、3、4<CR>,使i、j、k的值

分別為2、3、4下列正確的輸入語句是()。

A、scanf("%3d,%3d,%3d“,&i,&j,&k);

B、scanR"%d,%d,%d",&i,&j,&k);

C、scanfT%d%do/od“,&i,&j,&k);

D、scaaf(''i=%d,j=%d,k=%d",&i,&j,&k);

標(biāo)準(zhǔn)答案:2

知識點解析:函數(shù)scanf()的調(diào)用形式是:scanf(格式字符串,輸入項地址表)。其

中,“格式字符串”是要輸入的變量的格式符;“輸入項地址表”是要輸入的變量的地

址。若在格式符中插入了其他字符,則在輸入時要求按一一對應(yīng)的位置原樣輸入這

些字符,其中的逗號也必須輸入。

20、設(shè)有定義:longx=-123456L;,則以下能夠正確輸出變量x值的語句是

A、printf("x=%d\n",x);

B、printf(nx=%ld\n'\x);

C、printf(nx=%8dL\n",x);

D、printf("x=%LD\n",x);

標(biāo)準(zhǔn)答案:B

知識點解析:在語言環(huán)境下,輸出long型數(shù)時,在%和~之間必須加1(L的小

寫);輸出double型數(shù)時,在%和f(e)之間也必須加1。

三、選擇題(2分)(本題共20題,每題1.0分,共20

分。)

21、以下能正確定義二維數(shù)組的是o

A、inta口[3];

B.inta[][3]={2*3);

C>inta[][3]={};

D.inta[2][3]=((l),{2},{3,4}}:

標(biāo)準(zhǔn)答案:B

知識點解析:(1)二維數(shù)組的定義二維數(shù)組的定義方式為:類型說明符數(shù)組名[常量

表達(dá)式][常量表達(dá)式二維數(shù)組在內(nèi)存中是按行優(yōu)先的順序存放的,即先存放第

一行的元素,再存放第二行的元素,依次類推。(2)二維數(shù)組元素的引用二維數(shù)組

元素的表示形式為:數(shù)組名[下標(biāo)][下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式其范

圍為:0?(常量表達(dá)式-1)。(3)二維數(shù)組的初始化可以用以下方法對二維數(shù)組元素

初始化:①分行給二維數(shù)組賦初值例如:inta⑵⑵={{1,2},{3,4}};這種賦值方

式比較直觀,把第1個大括號內(nèi)的數(shù)據(jù)賦給第1行的元素,第2個大括號內(nèi)的數(shù)據(jù)

賦給第2行的元素,即按行賦值。②可以將所有數(shù)據(jù)寫在一個大括號內(nèi),按數(shù)組

排列的順序?qū)Ω鱾€元素賦初值。③可以對部分元素賦初值,沒有初始化的元素值

為0。④如果對全部數(shù)組元素賦初值,則定義數(shù)組時對第一維的長度可以不指

定,但第二維的長度不能省略。

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

A、inta=b=0;

B>charA=65+l,b='b';

C、floata=1,*b=&a,*c=&b;

D、doublea=0.0;b=1.1;

標(biāo)準(zhǔn)答案:B

知識點解析:暫無解析

23、以下敘述中錯誤的是

A、sets函數(shù)用于從終端讀入字符串

getchar函數(shù)用于從磁盤文件讀入字符

C、fputs函數(shù)用于把字符串輸出到文件

D、fwflle函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件

標(biāo)準(zhǔn)答案:B

知識點解析:gctchar函數(shù)的作用是從終端讀入一個字符。

24、下列字符數(shù)組初始叱語句中,不正確的是()。

A^charc[]=,goodmoming,;

B、charc[20]"goodmoming";

C、charc[]={,a\,b\,c\,d,};

D^charc[]={"goodmorning");

標(biāo)準(zhǔn)答案:A

知識點角》析:本題考查兩個概念:①用單引號括起來的一個字符常量只能存放一

個字符;②C語言中沒有字符串變量,只能用字符數(shù)組來存儲字符串。選項A)中

一個單引號內(nèi)放了若干個字符是錯誤的;選項B)和選項D)選項中將一個字符串賦

值給一個字符數(shù)組是允許的。

25、設(shè)變量a、b、c、d和y都己正確定義并賦值。若有下列if語句if(aVb)if(c=

=d)y=0;elsey=l;該語句所表示的含義是()。

*

?=1Ia>b

A、

fo旦I

y=〈]"油口ed

B、

0且

/=1l且/

C、

0a<J)flc^d

y=<Ictd

D、

標(biāo)準(zhǔn)答案:C

知識點解析:語句if(c==D)y=O;elsey=l;是if(a〈B)語句的一個子句。所以整

個C語句表達(dá)式的意思是:在、aVb的情況下,如果c=d則y=0,否則y==

lo所以,選項C)為止確答案。

26、下列程序的輸出結(jié)果是()。#includemain(){inta=0,i;for(i=l;i<5;i++)

{switch(i){case0;case3:a+=l;case1:case2:a=2;default:a+=3;))

printf("%d",a);)

A、19

B、18

C、6

D、8

標(biāo)準(zhǔn)答案;A

知識點解析:本題考查swilchcase開關(guān)語句.default退出繼續(xù)循環(huán)。當(dāng)時.執(zhí)

行easel,因為沒有break語句,所以依次往下運行,a=a+2=2,a=a+3=5;當(dāng)i=2

時,執(zhí)行case2,沒有break語句,所以依次往下運行,a=a+2=7,a=a+3=10;當(dāng)

i=3時,執(zhí)行case3,當(dāng)/@+1=11,沒有break語句,所以依次往下運行,

a=a+2=13,a=a+3=16;當(dāng)i=4時。沒有case語句,則執(zhí)行default,a=a+3=19,i=5

不成立,循環(huán)結(jié)束。表達(dá)式的右邊出現(xiàn)變量本身,選項D中字母E后面的數(shù)應(yīng)該

為整數(shù),所以不對。

27、以下程序的輸出結(jié)果是______o

A、54321

B、12345

C、12345

D、543210niain(){intw=5;fun(w);printf("\nH);}fun(int

k){if(k>0)fun(k-I);printf(“%d"”,k);}

標(biāo)準(zhǔn)答案:B

知識點解析:暫無解析

28、C語言規(guī)定,簡單變量作實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是

A、由實參傳給形參,再由形參傳回給實參

B、地址傳遞

C、單向值傳遞

D、由用戶指定傳遞方式

標(biāo)準(zhǔn)答案:C

知識點解析:暫無解析

29>有以下程序:#include<stdio.h>main(){FILE*fp;inti,k,n;

fp=fopen("data.dar'Vw+');for(i=l;i<6;i++){fprintf(fp,"%d",i);if(i%3==0)

fprintf(fp,"\n");}rewind(fp);fscanf(fp,"%d%d",&k,&n);printf(H%d%d\n",k,n);

fclose(fp);}程序運行后的輸出結(jié)果是()。

A、00

B、12345

C、14

D、12

標(biāo)準(zhǔn)答案:8

知識點解析:程序首先定義了一個文件指針fp,并使用fopen()函數(shù)以“w+”方式新

建一個可讀寫文件“datadat”。然后使用一個for循環(huán),循環(huán)變量i從1遞增到5,

在循環(huán)體中每次寫入循環(huán)變量i的值和4個空格,當(dāng)i能被3整除的時候?qū)懭胍粋€

換行符。所以循環(huán)結(jié)束時,文件中的內(nèi)容應(yīng)該為:12345接下來程序使用

rewind。函數(shù),將文件的讀寫指針調(diào)回起始位也。并調(diào)用fscanf()函數(shù)從文件中讀取

兩個整數(shù)到變量k和n。所以最終輸出應(yīng)該為:12。故本題選D。

30、有如下程序:main(){inta[3][3]={{1,2},{3,4),{5,6}),i,j,s=O;for(i=l;i<3;i++)

for(j=0;j<=i;j++)s+=a[i]|j];printf("%d\n",s);}該程序的輸出結(jié)果是。

A、18

B、19

C、20

D、21

標(biāo)準(zhǔn)答案:1

知識點解析:題中的外循環(huán)只執(zhí)行了2次:第1次:a[l][0]=3,a[l][l]=4,所以

s=7;第2次:af21[01=5,a⑵口]=6,a⑵⑵=0,所以s=7+5+6+0=18。

31、下列程序的運行結(jié)果為o#defineMSDOS#ifdefMSDOS#define

INTEGERSIZE32#clse#deflneINTEGERSIZE16#endifmain(){printf

C,intcger_size=%d\n",INTEGER_SIZE);}

A、integersize=32

B、integer_size=16

C、integersize=32,integer_size=16

D、錯誤

標(biāo)準(zhǔn)答案:1

知識點解析:暫無解析

32、己知字母A的ASCH碼值是65,字母a的ASCII碼值是97,以下程序

omaini(){chara='A';intb=20;printh("%d,%on,(a=a+a,a+b,b),a+,a,-,A,,b);}

A、表達(dá)式非法,輸出零或不確定值

B、因輸出項過多,無輸出或輸出不確定值

C、輸出結(jié)果為20,141

D、輸出結(jié)果為20,141,20

標(biāo)準(zhǔn)答案:4

知識點解析:本題中首先輸出逗號表達(dá)式“a=a+a,a+b,b”的值,即20。然后以八進(jìn)

制的形式輸出狗值為97對應(yīng)的八進(jìn)制數(shù)141,由于最后一個表達(dá)式b沒

有對應(yīng)輸出格式的輸出預(yù)表列就不會輸出。

33、運行下面程序時,從鍵盤輸入字母H,則輸出結(jié)果是#include<stdio.h>

main(){charch;ch=gctchar();switch(ch){caseH':printt("Hcllo!\n");

case'G':printf("Goodmoming!\n");default:printf("Bye_Bye!\n");)}

A、Hello!

B、Hello!GoodMoring!

C、Hello!Goodmoming:Bye_Bye!

D^Hello!Bye_Bye!

標(biāo)準(zhǔn)答案:4

知識點解析:本題主要對swilch語句進(jìn)行了考查。swiich語句的執(zhí)行過程為:進(jìn)入

switch結(jié)構(gòu)后,對條件表達(dá)式進(jìn)行運算,然后從上至下去找與條件表達(dá)式值相匹配

的case,以此作為入口,執(zhí)行switch結(jié)構(gòu)中后面的各語句,直到遇到break語句,

則跳出switch語句,如果各case都不匹配時則執(zhí)行default后面的語句。本題中ch

為字符'HL所以case、H,條件中的語句將被執(zhí)行,由于沒有break語句,所以

case'C'后的語句也被執(zhí)行,由于同樣的缺少break語句,所以default后的語句也

被執(zhí)行了。

34、以下說法正確的是()

A、宏定義是C語句,所以要在行末加分號

B、可以使用#undef命令來終止宏定義的作用域

「、在進(jìn)行宏定義時,宏定義不能層層置換

D、對程序中用雙引號括起來的字符串內(nèi)的字符,與宏名相同的要進(jìn)行置換

標(biāo)準(zhǔn)答案:2

知識點解析:暫無解析

35、若有說明:int*p,m=5,n;,以下正確的程序段是()。

A、p=&m;scanf(H%d",&p)

p=&n;scanf("%dn,&p)

C、scsnf("%d",&p)p=&n;

D、p=&n;p=&m;

標(biāo)準(zhǔn)答案:8

知識點解析:p為指針型變量,在輸入函數(shù)的地址列表中不用&,當(dāng)給指針變量賦

值時是取變量的地址賦給指針變量,&為取地址運算符,因此只有選項D正確。

36、有以卜.程序main。{chars[]="159",*p;p=s;

printf("%c",*p++);printf("%c",*p++);)程序運行后的輸出結(jié)果是

A、15

B、16

C、12

D、59

標(biāo)準(zhǔn)答案:1

知識點解析:自增運算符放在變量之前表示在使用變量之前,先使變量的值

加1;放在變量之后表示在使用變量之后,再使變量的值加1。語句p=s;使指針p

指向字符串s的首地址,第一次輸出語句先輸出字符"',指針p再往后移一位,指

向字符5的地址,第二個輸出語句,同樣先輸出字符,5二指針p再往后移一位,

指向字符‘少的地址。

37、若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組

元素的地址為()o

A、334H

B、30DH

C、352H

D、31AH

標(biāo)準(zhǔn)答案:4

知識點解析:解答本題,首先要明白在對指針進(jìn)行加,減運算的時候,數(shù)字“1”不

是十進(jìn)制的數(shù)“1”,而是指“1”個存儲單元長度,而1個存儲單元長度占多少存儲空

間,應(yīng)該視具體情況而定。如果基本類型是ini型,移動1個存儲單元的長度就是

位移2個字節(jié),如果基本類型是float型,移動1個存儲單元的長度就是位移4個

字節(jié)。所以p+13所指向的數(shù)組元素的地址為:300H+(13*4)H=352H。

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

A、在C語言中調(diào)用函數(shù)時,只能把實參的值傳送給形參,形參的值不能傳送給實

B、在C的函數(shù)中,最好使用全局變量

C、外部變量可以在函數(shù)之間傳遞數(shù)據(jù)

D、自動變量實質(zhì)上是一個函數(shù)內(nèi)部的局部變量

標(biāo)準(zhǔn)答案:2

知識點解析:編譯時,編譯系統(tǒng)不為局部變量分配內(nèi)存單元,而是在程序運行中,

當(dāng)局部變量所在的函數(shù)被調(diào)用時,編譯系統(tǒng)根據(jù)需要要臨時分配內(nèi)存,調(diào)用結(jié)束空

間釋放:全局變量一經(jīng)定義,編譯系統(tǒng)為其分配固定的內(nèi)存單元,在程序運行的自

始至終都占用固定的單元。在內(nèi)存不確定的情況下,

溫馨提示

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

最新文檔

評論

0/150

提交評論