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

下載本文檔

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

文檔簡介

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

(共9套)

(共583題)

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

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

70分。)

1、下列關(guān)于棧的敘述正確的是()

A、棧是非線性結(jié)構(gòu)

B、棧是一種樹狀結(jié)構(gòu)

C、棧具有先進先出的特征

D、棧具有后進先出的特征

標準答案:8

知識點解析:暫無解析

2、若某二義樹的前序遍歷訪問順序是abdgcelh,中序遍歷訪問順序是dgbaechf,

則其后序遍歷的結(jié)點訪問順序是()

A^bdgcefha

B、gdbecfha

C、bdgaechf

D^gdbehfca

標準答案:8

知識點解析:暫無解析

3、根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成

()

A、動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)

B、緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)

C、線性結(jié)構(gòu)和非線性結(jié)構(gòu)

D、內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)

標準答案:4

知識點解析:暫無解析

4、下面對對象概念描述錯誤的是()

A、任何對象都必須有繼承性

B、對象是屬性和方法的封裝體

C、對象間的通訊靠消息傳遞

D、操作是對象的動態(tài)屬性

標準答案:1

知識點解析:暫無解析

5、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()

A、定義、開發(fā)、運行維護

B、設(shè)計階段、編程階段、測試階段

C、總體設(shè)計、詳細設(shè)計、編程調(diào)試

D、需求分析、功能定義、系統(tǒng)設(shè)計

標準答案:I

知識點解析:暫無解析

6、下列工具中為需求分析常用工具的是()

A、PAD

B、PFD

C、N—S

D、DFD

標準答案:8

知識點解析:暫無解析

7、開發(fā)大型軟件時,產(chǎn)生困難的根本原因是()

A、大系統(tǒng)的復雜性

B、人員知識不足

C、客觀世界千變?nèi)f化

D、時間緊、任務重

標準答案:1

知識點解析:暫無解析

8、下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是()

A、數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余

B、數(shù)據(jù)庫系統(tǒng)避免了一切冗余

C、數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致

D、數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

標準答案:1

知識點解析:暫無解析

9、單個用戶使用的數(shù)據(jù)視圖的描述稱為()

A、外模式

B、概念模式

C、內(nèi)模式

D、存儲模式

標準答案:1

知識點解析:暫無解析

10、關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括()

A、排序,索引、統(tǒng)計

B、選擇、投影、連接

C、關(guān)聯(lián)、更新、排序

D、顯不、打印、制表

標準答案:2

知識點解析:暫無解析

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

分。)

11、已有定義語句:intx=3,y=0,z=0;,則值為。的表達式是()

A、x&&y

B、x||z

C、x||z+2&&y-z

D、!((x<y)&&!z||y)

標準憑索.1

知識苫解扁暫無解析

12、能正確表示代數(shù)式后1的C語言表達式是()

A、3*xn/(2*x-l)

B、3*x**n/(2*x-l)

C>3*pow(x,n)*(l/(2*x-l))

D、3*pow(n,x)/(2*x-l)

標準答案:4

知漢點解析:暫無解析

13、若int類型數(shù)據(jù)占兩個字節(jié),則下列語句intk=?l;printf("%d,%u\n",k,

k);的輸出為()

A、-1,-1

B、-132,767

C、-132,768

D、-165,535

標準答案:8

知識點解析:暫無解析

14、下列常數(shù)中,不合法的C常量是()

A、-0x3b1

B、123e+2.3

C、}

D、6e+7

標準答案:2

知識點解析:暫無解析

15、如果如ti=3,則k=(++i)+(++i)+(i++)執(zhí)彳丁過后k的值為,i的值為

______。()

A、15,6

B、12,5

C、18,6

D、15,5

標準答案:1

知識點解析:暫無解析

16、以下有四組用戶標浜符,其中合法的一組是()

A、For-subCase

B、4dDOSize

C、f2_G3IFabc

D、WORDvoiddefine

標準兌索.4

知識曾解析:暫無解析

17、以下非法的賦值語句是()

A、n=(i=2,++i)

B、j++

C、++(i+l)

D、x=j>0

標準答案:4

知識點解析:暫無解析

18、有下列程序main。{doubled;floatf;longl;inti;i=f=l=d=20/3:

printfC%d%ld%f%f\n",i,1,f,D);}程序運行后的輸出結(jié)果是(小數(shù)點后只寫

1位)()

A、666.06.0

B、666.76.7

C>666.06.7

D、666.76.0

標準答案:1

知識點解析:暫無解析

19、己知大寫字母A的ASCII碼值是65,小寫字母a的ASCI【碼是97,則用八進

制表示的字符常量'\10「是()

A、字符A

B、字符a

C、字符e

D、非法的常量

標準答案:1

知識點解析:暫無解析

20、若變量已正確說明為float類型,要通過語句scanf("%f%f%『,&a,&b,

&c),給a賦予10.0,b賦予22.0,b賦予33.0,不正確的輸入形式是()

A、10V回軍A22V回車A33U回車》

B、10.0,22.0,33.OV回車〉

C、10.0〈回車>22.033.00〈回車〉

D、10.22V回車>33V回車〉

標準答案:2

知識點解析:暫無解析

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

分。)

21>以下程序執(zhí)行后sum的值是omain(){inti,sum;for(i=l;i<6;

i++)sum+=i;printf(M%d\n",sum);)

A、15

B、14

C、不確定

D、0

標準答案:4

知識點解析:變量sum在使用時未賦初值,所以無法確定sum最終的值。

22、有以下程序:main(){intx[8]={8,7,6,5,0,0),*s;s=x+3;

printf("%d\n",s[2]);)程序運行后的輸出結(jié)果是_____。

A、隨機值

B、0

C、5

D、6

標準答案:2

知識點解析:本題定義了數(shù)組x[8]和指針變量s,由C語言規(guī)定,指針加1的含義

是使指針指向數(shù)組的下一個元素,而不是指針值簡單的加1,因此通過s=x+3;使

s指向數(shù)組元素x[3]。由于指向數(shù)據(jù)的指針變量可以帶下標表示,如s國與*(s+i)等

價。因此題目要求輸出s[2]的值,即*(s+2)的值,也就是x[5]的值,為0。

23、有以下程序段:inix=3;do{printf("%d",x-=2);)while(!(-x));其輸出結(jié)果

是o

A、1

B、30

C、1-2

D、死循環(huán)

標準答案:4

知識點解析:本題中循環(huán)執(zhí)行了兩次,第一次,執(zhí)行完printf語句后,x=l,而-x

是先自減后執(zhí)行語句,所以(!(?x))的值為非零,所以又執(zhí)行了一次。第二次x的值

為-2,—x的值為-3,求非后,值為0,跳出循環(huán)。

24、若變量c為char類型,能正確判斷出c為小寫字母的表達式是。

A、'a'V"cV='z'

B、(c>=,a,)||(c<=,z,)

C>('a'V=c)and('z'>=c)

D、(c>='a')&&(cV='z')

標準答案:8

知識點解析:(c>=寸)和(cV=2)的關(guān)系應該是“與”的關(guān)系。

25、下列不合法的main函數(shù)命令行參數(shù)的表示形式是。

A^main(inta,char*c[]);

BNmain(ac,av)intarc;char**av;

C、main(c,v)intc;charxv[];

D、main(argc,argv)intargc;charargv[];

標準答案:8

知識點解析:main函數(shù)的參數(shù)通常有兩個,前者為整型,后者為字符型指針數(shù)

組。參數(shù)的名字可以是任意合法的標識符。而且,形如**av與*av口等價,所以選

項A、B、C均正確,選項D是錯誤的。

26、以下所列的各函數(shù)首部中,正確的是______o

A、voidplay(vara:Integer,varb:Integer)

B、voidplay(inta,b)

C^voidplay(inta,intb)

D、Subplay(aasinteger.basinteger)

標準答案:4

知識點解析:除選項C項外,其他各項都沒有按照C語言中的函數(shù)定義規(guī)則定義

函數(shù)。

27、在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是o

A、整型常量

B、整型表達式

C、整型常量或整型表達式

D、任何類型的表達式

標準答案:4

知識點解析:C語言規(guī)定只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組,數(shù)據(jù)元

素的表示形式為數(shù)組名[下標],下標可以是整型常量或整型表達式。

28、以下程序的輸出結(jié)果是______ofun(intx,inty,intz){z=x*x+y*y;|main(){int

a=3l;fun(5,2,a);printf("%d",a);}

A、0

B、29

C、31

D、無定值

標準答案:4

知識點解析:本題中,a的值并沒有改變,因為傳遞到函數(shù)中的是變量值。

29、下列程序段的輸出結(jié)果是ovoidfun(int*x,int*y){printf("%d%d",*x,

*y);*x=3;*y=4;Jmain(){intx=l>y=2;fun(&y>&x);printf("%d%d",x,y);)

A、2143

B、1212

C、1234

D、2112

標準答案:1

知識點解析:本題中函數(shù)傳遞的是變量的地址,如果形參在函數(shù)中發(fā)生改變,相對

應的實參也就有了改變。

30對于下面的程序#include<stdio.h>#include<string.h>char

*scmp(char*sl,char*s2){if(strcmp(s1,s2)<0)retum(sl);elseretum(s2);}main(){int

i:charstring[20],sb[3][20];for(i=0;i<3;i++)gets(str[i]);

strcpy(string,scmp(str[O],str[l]));strcpy(string,scmp(string,str[21));

printf("%s\n",string);}若運行時依次輸入abed、abba和abc三個字符審,則輸出

結(jié)果為o

A^abed

B、abba

C、abc

D、abca

標準答案:2

知識點0析:本題自定義函數(shù)scrnp()的作用是比較字符串si和s2的大小,如果si

<s2,函數(shù)返回si的值,否則返回s2的值。若運行時依次輸入abed、abba和abc

三個字符串,執(zhí)打strcpy(string,scmp(slr[O],str[l]));后,string的值為abba,再執(zhí)行

strcpy(string,scmp(string,str[2]));,由于scmp(string,s[r[2])返回string的值abba,再拷

貝到字符串數(shù)組string中,所以本題輸出abba。

31、下列程序的輸出結(jié)果是omain(){chara|10]={9,8J,6,5,43,2,1,0),

*p=a+5;printf("%d",*—p);}

A、非法

B、a[4]的地址

C、5

D、3

標準答案:4

知識點解析:本題中char*p=a+5;即相當于p=&a[5],而-p,是先要減1,則

printf語句要輸出的值就是a[4]o

32、對下面的程序進行編譯與連接生成可執(zhí)行文件c.exe,并在DOS命令提示符下

輸入:clsaid"IloveChina"!程序代碼如下:main(intargc,char*argv[])

{printf(n%d",argC);)其輸出結(jié)果為。

A、4

B、5

C>6

D、7

標準答案:2

知識點解析:帶參數(shù)的main。函數(shù)常用形式為:main(intargc,char*argv口)其中,參

數(shù)的個數(shù)由C程序運行時自動計算出來。字符型指針數(shù)組argv的第一個元素存放

命令名,其后各個元素依次存放命令行中各個參數(shù)的首地址:整型變量argc用來

記錄命令行中的參數(shù)個數(shù),文件名也作為一個參數(shù),對于命令行中雙引號內(nèi)的字符

串,即使空格分開,也只算是一個參數(shù),同時雙引號本身不算參數(shù)的內(nèi)容,因此本

題argc的值等于5o

33、下列程序的運行結(jié)果是。voidfun(int*a,int*b){int*k;k=a;a=b;

b=k;)main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}

A、63

B、36

C、編譯出錯

D、0

標準答案:2

知識點解析:本題中主函數(shù)里的x、y,fun函數(shù)里的a、b、k,這些都是指針,fun

函數(shù)中只是將a、b這兩個指針交換了位置,而并沒有改變主函數(shù)中變量a、b的

值。

34、若有定義inl*p|3];,則以下敘述中正確的是o

A、定義了一個基類型為int的指針變量p,該變量有三個指針

B、定義了一個指針數(shù)組p,該數(shù)組含有三個元素,每個元素都是基類型為int的指

C、定義了一個名為*p的整型數(shù)組,該數(shù)組含有三個int類型元素

D、定義了一個可指向二維數(shù)組的指針變量p,所指一維數(shù)組應具有三個int類型元

標準答案:2

知識點解析:由于運算符口優(yōu)先級比*高,int*p[3];相當于int*(p[3]);,表示數(shù)組p

的三個元素都是指針變量,且每個元素都是基類型為int的指針。

35、有以下程序:voidswap1(int*a,int*b){int*c=a;s=b,b=c;)voidswap2(int

*a.int*b){intc=*a;*a=*b?*b=c;}main(){inta=10,b=15;swapl(&a?

&b);printf("%d,%d,”,a,b);a=10,b=!5;swap2(&a,&b);

printf("%d,%d\a,b);}其輸出結(jié)果為。

A、15,10,10,15

B、15J0J5J0

C、10,15,10,15

D、10,15,15,10

標準答案:8

知識點解析:C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,只由實參

傳給形參,而不能由形參傳回來給實參。在內(nèi)函數(shù)調(diào)用結(jié)束后,形參單元被釋放,

實參單元仍保留并維持原值。本題中swapl()函數(shù)中,雖然改變了形參指針的值,

但實參指針的值并沒有改變,所以執(zhí)行第一個prinlf后應輸出10,15,swap2()函數(shù)

實現(xiàn)了交換兩個變量a和b的值,因此執(zhí)行第二個printf后輸出交換后的值

15,10,所以本題答案為D。

36、當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是0

A、數(shù)組的長度

B、數(shù)組的首地址

C、數(shù)組每一個元素的地址

D、數(shù)組每個元素中的值

標準答案:2

知識點解析:當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是數(shù)組的首地

址,函數(shù)中的形參可定義成以卜.三種形式;①形參定義成數(shù)組;②形參定義成可

變長數(shù)組;③形參定義為指針變量。

37、下面的程序輸出結(jié)果是_____o#dcfiner16#ifr==16voidp(inta)

{printf("%x",a);}#elsevoidp(inta){printf("%d'\a);}#endifmain(){p(32);}

A、32

B、20

C、編譯時錯誤

D、運行時錯誤

標準答案:2

知識之解析:“#definerl6”的作用是指定用標識符I?來代替16,因此程序編譯時只

編譯#if部分,故程序運行時,打印輸出十六進制的32,即20。

38、設(shè)有以下聲明語句structex{intx;floaty;charz;Jexample;則下面的敘述

中不正確的是_____o

A、struct是結(jié)構(gòu)體類型的關(guān)鍵字

B、example是結(jié)構(gòu)體類型名

C、x,y,z都是結(jié)構(gòu)體成員名

D、structex是結(jié)構(gòu)體類型

標準答案:2

知識點解析:example是結(jié)構(gòu)體變量名。

39、以下只有在使用時才為該類型變量分配內(nèi)存的存儲類說明是o

A^autoflstatic

B、auto和register

C、registerstatic

D、extern和register

標準答案:2」

知識點解析:exlern、register、staticaulo分別是定義外部變量、寄存器變量、靜

態(tài)變量、自動變量,其中,自動變量和寄存器變量屬于動態(tài)存儲,調(diào)用時臨時分配

單元而靜態(tài)變量和外部變量屬于靜態(tài)存儲,在整個程序運行時都存在。

40、下面程序運行后的輸出結(jié)果是ofut(int,*s,intP[2][3]){**s=p[l][l];}

main(){inta[2][3]=[1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));

fut(&p,a);printf("%d\n'\*p);|

A、1

B、7

C、9

D、11

標準答案:4

知識點解析:本題a[2][3]定義為一個具有兩面行三列的元素的數(shù)組,malloc。函數(shù)

的作用是開辟了一個長度為sizeof(in【)的內(nèi)存區(qū),p為指向整型數(shù)據(jù)的指針變量,

程序調(diào)用fut()函數(shù),將第一行第一列對應的元素值賦給**s,由于數(shù)組中第一行第

一列對應的元素為9,所以本題輸出值9。

41、以下程序的輸出結(jié)果是_____omain(){inti,k,a[10],p[3]k=5;for(i=0;i

<10;i++)a[i]=ifor(i=0;i<3;i++)p[i]=a[i*(i+l)];for(i=0;i<3;i++)k+=p[i]*2;

printf(n%d\nu,k);)

A、20

B、21

C、22

D、23

標準答案:2

知識點解析:按照程序的流程走一遍,可以得到p[0]=0,p[l|=2,p|3|=6:執(zhí)行三

次k+=p[i]*2,相當于k=5+0*2+2*2+6*2=21。

42>當執(zhí)行下面的程序時,其輸出結(jié)果為。unionst{inta;charb;}

main(){unionsts;char*p=(char*)&s;s.a=0x3132;s.b=0x33;printf("%c,',

*P);)

A、1

B、2

C、3

D、不確定

標準答案:4

知識點解析:共用體類型結(jié)構(gòu)的特點是使幾個不同的變量共占同一段內(nèi)存,但在每

一瞬時只能存放其中一種,而不是同時存放幾種,共用體變量中起作用的成員是最

后一次存放的成員,在存入一個新的成員后原有的成員就失去作用。因此本題起作

用的是成員b的值,所以程序打印輸出3。

43、當執(zhí)行下面的程序時,如果輸入ABC,則輸出結(jié)果是______o#include

"stdio.h"#include"string.h"main(){charss[101="12345";gets(ss);strcat(ss,

“6789");printf("%s\n”,ss);}

A、ABC6789

B、ABC67

C、12345ABC6

D、ABC456789

標準答案:1

知識點解析:sdlrcaKstH,str2)合并字符串函數(shù)的作用是把slr2所指字符串的內(nèi)容

連接到strl字符串的后面,自動刪去strl原來串中的為了進行這項操作,要

求strl所指的字符串后面有足夠的空間來容納SU2,圻指字符串中的內(nèi)容。函數(shù)值為

strl所指第一個字符的地址。

44>main(intargc?char*argv[]){while(—argc>O)printf("%s",argv[argc]);

printf("\n**);}假定以上程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果

在此可執(zhí)行文件所在目錄的DOS提示符下鍵入PROGABCDEFGHIJKL,則輸出

結(jié)果為。

A、ABCDEFG

B、IJHL

C、ABCDEFGHIJKL

D、IJKLABCDEFGH

標準答案:4

知識點解析:本題主函數(shù)帶有兩個參數(shù),一個im型變量argc,另一個是char型的

一維一級指針數(shù)組argv。當主函數(shù)被執(zhí)行時,系統(tǒng)自動將根據(jù)命令行的情況,分

別給主函數(shù)的兩個參數(shù)賦值。Argc中存放命令行中命令字和參數(shù)的總和的個數(shù),

argv用來存放命令行中命令字和所有參數(shù)的字符串的,并規(guī)定avgv⑼存放命令字

字符串,argv[l]用來存放第一個參數(shù)的字符串,argv[2]用來存放第2個參數(shù)的字符

串,依此類推。題中argc的值是2,執(zhí)行完-argc后為1,輸出argv[l],此數(shù)組存

在第一個參數(shù)的字符串ABCDEFGHIJKLo

45、設(shè)char型變量x中的值為10100111,則表達式(2+x)H)的值為。

A、10101001

B、10101000

C、11111101

D、1010101

標準答案:8

知識點解析:異或運算符(八)的運算規(guī)則是:參加運算的兩個相應位同號,則結(jié)果

為0(假);異號則為1(真)。取反運算符(?)的運算規(guī)則是:對一個二進制數(shù)按位取

反,即將0變?yōu)?,1變?yōu)?。本題(?3)是對3(二進制形式為00000011)按位取反即

llllUOOo表達式(2+x)G3)的值就等價于(00000010+10100111)7111100,結(jié)果為

0101010k

46、以下程序的輸出結(jié)果是olongfun(intn){longs;if(n==I||n==2)s=2;

elses=n-fun(n-l);relums:}main(){printf("%ld\nt",fun(3)):}

A、1

B、2

C、3

D、4

標準答案:1

知識點解析:這是一個涕歸函數(shù)。遞歸的結(jié)束條件是,n=l或者n=2。按照程用頃

序,即可得出本題結(jié)果為1。

47、以下程序試圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端

讀入字符串#號時結(jié)束輸入和輸出操作,但程序有錯includeVstdio.h>main。

{FILE*fout;charch;fbut=fbpcn(,abc.txt'Jw');ch=fgetc(stdin);whilc(ch!='#')

{fputc(ch,four);ch=fgetc(stdin);)fclose(fout);}巴錯的原因是_____。

A、函數(shù)fopen調(diào)用形式錯誤

B、輸入文件沒有關(guān)閉

C、函數(shù)fgelc調(diào)用形式錯誤

D、文件指針stdin沒有定義

標準答案:1

知識點解析:本題考查的是文件的打開函數(shù)fopen(),其調(diào)用方式通常為FLIE*fp;

fp=fopen(文件名,使用文件方式);,如:fp=fopen("abc.txt","w");表示要打開

名字為abc.ixl的文件,使用文件方式寫入。fopen函數(shù)帶回指向abc.txt文件的指

針并賦給fp,即fp指向文件abc.txto

48、以下程序的輸出結(jié)果是o#dcfineSQR(X)X*Xmain()(int

a=16,k=2,m=l;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}

A、16

B、2

C、9

D、1

標準答案:2

知識點解析:C語言在預編譯時遇到帶實參的宏名,則按命令行中指定的字符串從

左到右進行置換。在做這題時,也不妨運用置換法。得到

a/=k+m*k+m/k+m*k+m=16/7=2。注:a為整型,所以在做除法時,自動取整。

49、假定建立了以下鏈表結(jié)構(gòu),指針p、q分別指向如圖所示的結(jié)點,則以下可以

將q所指結(jié)點從鏈表中刪除并釋放該結(jié)點的語句組是。

:q

head-[81[|4||-*|3||—.......

datanext

A、free(q):p->next=q->next:

B、(*p).next=(*q).next;free(q);

C、q=(*q).next;(*p).next=q;free(q);

D、q=q->next;p->next=q;p=p->next;free(p):

標準答案:2

知識點解析:選項A的錯誤在于,先已經(jīng)把q結(jié)點給釋放,無法再進行余下語句

了:選項C和D的錯誤在于因為有了q=(*q).next做了賦值,則free(q)釋放了原來

q后面的一個結(jié)點。

50、以下程序的輸出結(jié)果是omain(){intx=05;charz=W;

printfC'%d\n",(x&l)&&(z<,z,));}

A、0

B、1

C、2

D、3

標準答案:2

知識點解析:是位運算符表示按位與運算,“&&”是邏輯運算符當其兩邊的表

達式都為真時返回真值。關(guān)系表達式(x&l)&&(zV,z)(x&l)為真,(zV,z')也為

真,兩者相與,自然也為真,以整型輸出,則輸出1。

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

分。)

51、在運算過程中,能夠使空表與非空表的運算統(tǒng)一的結(jié)構(gòu)是【】。

標準答案:循環(huán)鏈表

知識點解析:在鏈表的運算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表的與非

空表的運算統(tǒng)一起來。循環(huán)鏈表具有兩個特點:①在循環(huán)鏈表中增加了一個表頭

結(jié)點,其數(shù)據(jù)域為任意或根據(jù)需要來設(shè)置,指針域指向線性表的第一個元素的結(jié)

點。循環(huán)鏈表的頭指針由向表頭結(jié)點。②循環(huán)鏈表中最后一個結(jié)點的指針不是

空,而是指向表頭結(jié)點。

52、軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

標準答案:軟件開發(fā)

知識點解析:基于軟件工程的目標,軟件工程的理論和技術(shù)性研究的內(nèi)容主要包

括:軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括;軟件開發(fā)方法學、開發(fā)過

程、開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學。軟件工程管理包

括;軟件管理學、軟件工程經(jīng)濟學、軟件心理學等內(nèi)容。

53、與結(jié)構(gòu)化需求分析方法相對應的是【】方法。

標準答案:結(jié)構(gòu)化設(shè)計

知識點解析:與結(jié)構(gòu)化需求分析方法相對應的是結(jié)構(gòu)化設(shè)計方法。結(jié)構(gòu)化設(shè)計就是

采用最住的可能方法設(shè)計系統(tǒng)的各個組成部分以及各個成分之間的內(nèi)部聯(lián)系的技

術(shù)。也就是說,結(jié)構(gòu)化沒計是這樣一個過程,它決定用哪些方法把哪些部分聯(lián)系起

來,才能解決好某個具體且有清楚定義的問題。

54、關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件,包括實體完整性、【】和

自定義完整性。

標準答案:參照完整性

知識點解析:關(guān)系模型允許定義三類數(shù)據(jù)約束,它們是實體完整性、參照完整性以

及用戶定義的完整性約束,其中前兩種完整性約束由關(guān)系數(shù)據(jù)庫系統(tǒng)自動支持。

實體完整性約束要求關(guān)系的主鍵中屬性值不能為空,這是數(shù)據(jù)庫完整性的最基本要

求,因為主鍵是惟一決定元組的,如為空則其準一性就成為不可能的了。參照完整

性約束是關(guān)系之間相關(guān)聯(lián)的基本約束,它不允許關(guān)系引用不存在的元組:即在關(guān)系

中的外鍵要么是所關(guān)聯(lián)關(guān)系中實際存在的元組,要么是空值。自定義完整性是針

對具體數(shù)據(jù)環(huán)境與應用環(huán)境由用戶具體設(shè)置的約束,它反映了具體應用中數(shù)據(jù)的語

義要求。

55、數(shù)據(jù)模型按不同的應用層次分為三種類型,它們是【】數(shù)據(jù)模型、邏輯數(shù)據(jù)

模型和物理數(shù)據(jù)模型。

標準答案:概念

知識點解析:數(shù)據(jù)模型或不同的應用層次分為三種類型,它們是概念數(shù)據(jù)模型、邏

輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。概念數(shù)據(jù)模型簡稱概念模型,是一種面向客觀世界、

面向用戶的模型;它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān)。

五、填空題(本題共6題,每題L0分,共6分。)

56、假定變量x為int類型,請以最簡單的形式寫出與邏輯表達式!x等價的C語言

關(guān)系表達式【】。

標準答案:x==0

知識點解析:暫無解析

57^下列程序段的輸出結(jié)果是[1ointn=,c<sv/itch(n++){default:

printf("errorn);break;case'a':ease'A':ease'b':ease'B':printf("goodH);

break;case'c):case'C':printf(',passn);case'd':caseprintf("wam");}

標準答案:passwarn

知識點解析:暫無解析

58、若輸入tear、test、arj,則下列程序的運行結(jié)果為[】。main()

1char*strl[20],*str2[20],*str3[20]:charsw叩();scanf("%s",strl):

scanf("%sn,str2);scanf(n%s",str3);if(strcmp(strl,sti^X^swapGtrl,str2);

if(strcmp(strl,str3)>0)swap(strl,str3);if(strcmp(str2,str3)>0)swap(str2,

str3);printf("%s%s%s\n",strl,str2,str3);)charswap(pl,p2)char*pl,*p2;

{char*p|20|;strcpy(p,pl);strcpy(p1,p2);strcpy(p2,p);}

標準答案:aijteartest

知識點解析:暫無解析

59、下面程序的輸出結(jié)果是【1°charb[]=MABCD";main(){char*chp;for

(chp=b;*chp;chp+=2)printf("%s",chp);printf(n\n");)

標準答案:ABCDCD

知識點解析:暫無解析

60、若有以下定義和語句,sizeof(a)的值是[],sizeof(a.share)的值是[】。

structdate{intday;intmonth:intyear:union{intshare1;float

share2;}share;)a;

標準答案:104

知識點解析:暫無解析

61、下列程序的功能是將2個數(shù)從小到大輸出。main(){floata,b,[];

scanf([],&a,&b);if(a>b){t=a;【];b=t;)printf("%5.2f,%5.2f\n",

a,b);)

標準答案:t”%f%Fa=b

知識點解析:暫無解析

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

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

20分。)

1、下面敘述正確的是

A、算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)

B、算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)

C、算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止

D、以上三種描述都不對

標準答案:C

知識點。析:本題考查了算法的基本概念。算法的執(zhí)行效率不僅與問題的規(guī)模有

關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān);算法的空間復雜度是指執(zhí)行算法所需要的內(nèi)存空間;算

法的有窮性是指算法必須能在有限的時間內(nèi)執(zhí)行完,即算法必須能在執(zhí)行有限個步

驟之后終止。

2、下列數(shù)據(jù)結(jié)構(gòu)中,按完進后出原則組織數(shù)據(jù)的是

A、線性鏈表

B、棧

C、循環(huán)鏈表

D、順序表

標準答案:B

知識點解析:本題主要考查對于棧的理解。棧是限定在一端進行插入與刪除的線性

表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧

底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是

最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進后出“或“后進

先出”的原則組織數(shù)據(jù)的。隊列組織數(shù)據(jù)的原則是“先進先出“或“后進后出,

3、在下列關(guān)于二義樹的敘述中.正確的一項是

A、在二叉樹中,任何一個結(jié)點的度都是2

B、二叉樹的度為2

C、在二叉樹中至少有一個結(jié)點的度是2

D、一棵二叉樹的度可以小于2

標準答案:D

知識點解析:本題考查了二叉樹的基本概念。在二叉樹中,葉子節(jié)點的度是1;當該

二叉樹為空樹時,根節(jié)點的度為零;為非空樹時,根節(jié)點的度為2。

4、結(jié)構(gòu)化程序設(shè)計方法的3種基本控制結(jié)構(gòu)中不包括

A、循環(huán)結(jié)構(gòu)

B、遞歸結(jié)構(gòu)

C、順序結(jié)構(gòu)

D、選擇結(jié)構(gòu)

標準答案:B

知識點解析:本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個大

型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)順序的構(gòu)成了一個結(jié)構(gòu)化的程

序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

5、下列敘述中正確的是

A、在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間具有密切的聯(lián)系

B、在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象都是公用的

C、在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間相對獨立,相互依賴性小

D、上述三種說法都不對

標準答案:C

知識點解析:本題考查r面向?qū)ο蟮幕靖拍?。在面向?qū)ο蟪绦蛟O(shè)計中所使用的對

象,其數(shù)據(jù)和操作是作為平等伙伴出現(xiàn)的。因此,對蒙具有很強的自含性,此外,對象所

固有的封裝性,使得對象的內(nèi)部實現(xiàn)與外界隔離,具有較強的獨立性。

6、軟件工程的出現(xiàn)是由于

A、程序設(shè)計方法學的影響

B、軟件產(chǎn)業(yè)化的需要

C、軟件危機的出現(xiàn)

D、計算機的發(fā)展

標準答案:C

知識點解析:軟件工程的基本概念。軟件工程概念的出現(xiàn)源自于軟件危機。為了消

除軟件危機,通過認真研究解決軟件危機的方法,認識到軟件工程是使計算機軟件走

向工程科學的途徑,逐步形成了軟件工程的概念。

7、下列對于軟件測試的描述中正確的是

A、軟件測試的目的是證明程序是否正確

B、軟件測試的目的是使程序運行結(jié)果正確

C、軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤

D、軟件測試的目的是使程序符合結(jié)構(gòu)化原則

標準答案:c

知識點解析:本題考查了軟件測試的概念。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的

過程,且為了達到好的測試效果,應該由獨立的第三方來構(gòu)造測試,程序員應盡量避免

檢查自己的程序。

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

A、人工管理階段

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

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

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

標準答案:C

知識點解析:本題考查了考生對數(shù)據(jù)庫基礎(chǔ)知識的記憶。數(shù)據(jù)庫技術(shù)的主要目的是

有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個用戶能夠同時訪問數(shù)據(jù)

庫中的數(shù)據(jù):減少數(shù)據(jù)的冗余度,以提交數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應用程序

的獨立性,從而減少應用程序的開發(fā)和維護代價。數(shù)據(jù)庫的人工管理階段和文件系

統(tǒng)階段,數(shù)據(jù)都不能實現(xiàn)共享,出現(xiàn)數(shù)據(jù)冗余現(xiàn)象。選項D)的說法是錯誤的。

s

BcDT

BCD

f3h2BcD

a0kl

a0kla0kl

b1nl

n2xl

9、有三個關(guān)系R、S和T如下:

由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為

A、并

B、自然連接

C、笛卡爾積

D、交

標準答案:A

知識點解析:本題考查了關(guān)系之間的運算。在關(guān)系運算中,交的定義如下:設(shè)R1和

R2為參加運算的兩個關(guān)系,它們具有相同的度n,且相對應的屬性值取自同一個域,則

R1AR2為交運算,結(jié)果仍為度等于n的關(guān)系,其中,交運算的結(jié)果既屬于R1又屬于

R2o

10、數(shù)據(jù)庫設(shè)計的四個階段是:需求分析、概念設(shè)計、邏輯設(shè)計和

A、編碼設(shè)計

B、測試階段

C、運行階段

D、物理設(shè)計

標準答案:D

知識點解析:本題考查了數(shù)據(jù)庫設(shè)計概述。數(shù)據(jù)庫設(shè)計目前一般采用生命周期法,

即將整個數(shù)據(jù)庫應用系統(tǒng)的開發(fā)分解成目標獨立的若干階段。它們是需求分析階

段、概念設(shè)計階段、邏輯設(shè)計階段和物理設(shè)計階段。

11、下面敘述正確的是

A、算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)

B、算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)

C、算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止

D、以上三種描述都不對

標準答案:C

知識點3析:本題考查了算法的基本概念。算法的執(zhí)行效率不僅與問題的規(guī)模有

關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān);算法的空間復雜度是指執(zhí)行算法所需要的內(nèi)存空間;算

法的有窮性是指算法必須能在有限的時間內(nèi)執(zhí)行完,即算法必須能在執(zhí)行有限個步

驟之后終止。

12、下列數(shù)據(jù)結(jié)構(gòu)中,按先進后出原則組織數(shù)據(jù)的是

A、線性鏈表

B、棧

C、循環(huán)鏈表

D、順序表

標準答案:B

知識點解析:本題主要考查對于棧的理解。棧是限定在一端進行插入與刪除的線性

表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧

底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是

最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進后出“或“后進

先出”的原則組織數(shù)據(jù)的。隊列組織數(shù)據(jù)的原則是“先進先出"或“后進后出,

13、在下列關(guān)于二義樹的敘述中,正確的一項是

A、在二叉樹中,任何一個結(jié)點的度都是2

B、二叉樹的度為2

C、在二叉樹中至少有一個結(jié)點的度是2

D、一棵二叉樹的度可以小于2

標準答案:D

知識點解析:本題考查了二義樹的基本概念。在二義樹中,葉子節(jié)點的度是1;當該

二叉樹為空樹時,根節(jié)點的度為零;為非空樹時,根節(jié)點的度為2。

14、結(jié)構(gòu)化程序設(shè)計方法的3種基本控制結(jié)構(gòu)中不包括

A、循環(huán)結(jié)構(gòu)

B、遞歸結(jié)構(gòu)

C、順序結(jié)構(gòu)

D、選擇結(jié)構(gòu)

標準答案:B

知識點解析:本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個大

型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)瞰序的構(gòu)成了一個結(jié)構(gòu)化的程

序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

15、下列敘述中正確的是

A、在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間具有密切的聯(lián)系

B、在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象都是公用的

C、在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間相對獨立,相互依賴性小

D、上述三種說法都不對

標準答案:C

知識點解析:本題考查了面向?qū)ο蟮幕靖拍?。在面向?qū)ο蟪绦蛟O(shè)計中所使用的對

象,其數(shù)據(jù)和操作是作為平等伙伴出現(xiàn)的。因此,對象具有很強的自含性,此外,對象所

固有的封裝性,使得對象的內(nèi)部實現(xiàn)與外界隔離,具有較強的獨立性。

16、軟件工程的出現(xiàn)是由于

A、程序設(shè)計方法學的影響

B、軟件產(chǎn)業(yè)化的需要

C、軟件危機的出現(xiàn)

D、計算機的發(fā)展

標準答案:c

知識點露析:軟件工程的基本概念。軟件工程概念的出現(xiàn)源自于軟件危機。為了消

除軟件危機,通過認真研究解決軟件危機的方法,認識到軟件工程是使計算機軟件走

向工程科學的途徑,逐步形成了軟件工程的概念。

17、下列對于軟件測試的描述中正確的是

A、軟件測試的目的是證明程序是否正確

B、軟件測試的目的是使程序運行結(jié)果正確

C、軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤

D、軟件測試的目的是使程序符合結(jié)構(gòu)化原則

標準答案:C

知識點解析?:本題考查了軟件測試的概念。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的

過程,且為了達到好的測試效果,應該由獨立的第三方來構(gòu)造測試,程序員應盡量避免

檢查自己的程序。

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

A、人工管理階段

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

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

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

標準答案:C

知識點解析:本題考查了考生對數(shù)據(jù)庫基礎(chǔ)知識的記憶。數(shù)據(jù)庫技術(shù)的主要目的是

有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個用戶能夠同時訪問數(shù)據(jù)

庫中的數(shù)據(jù);減少數(shù)據(jù)的冗余度,以提交數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應用程序

的獨立性,從而減少應用程序的開發(fā)和維護代價.數(shù)據(jù)庫的人T管理階段和文件系

統(tǒng)階段,數(shù)據(jù)都不能實現(xiàn)共享,出現(xiàn)數(shù)據(jù)冗余現(xiàn)象。選項D)的說法是錯誤的。

19、有三個關(guān)系R、S和T如下:

BcDT

BCD

f3h2BcD

a0kl

a0kla0kl

b1nl

2

nxl由關(guān)系R和S通過運算得到關(guān)

系T,則所使用的運算為

A、并

B、自然連接

C、笛卡爾積

D、交

標準答案:A

知識點解析:本題考查了關(guān)系之間的運算。在關(guān)系運算中,交的定義如下:設(shè)R1和

R2為參加運算的兩個關(guān)系,它們具有相同的度n,且相對應的屬性值取自同一個域,則

R1AR2為交運算,結(jié)果仍為度等于n的關(guān)系,其中,交運算的結(jié)果既屬于R1乂屬于

R2o

20、數(shù)據(jù)庫設(shè)計的四個階段是:需求分析、概念設(shè)計、邏輯設(shè)計和

A、編碼設(shè)計

B、測試階段

C、運行階段

D、物理設(shè)計

標準答案:D

知識點解析:本題考查了數(shù)據(jù)庫設(shè)計概述。數(shù)據(jù)庫設(shè)計1=1前一般采用生命周期法,

即將整個數(shù)據(jù)庫應用系統(tǒng)的開發(fā)分解成目標獨立的若干階段。它們是需求分析階

段、概念設(shè)計階段、邏輯設(shè)計階段和物理設(shè)計階段。

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

分。)

21、以下敘述中正確的是

A、用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

B、用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入

C、用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出

D、用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

標準答案:C

知識點常析:算法具有的5個特性是:有窮性;確定性;可行性;有0個或多個輸入;有

一個或多個輸出。所以說,用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出。

22、下列可用于C語言用戶標識符的一組是

A、void,define,WORD

a3_3,_123,Car

C、For,-abc,IFCase

D、2a,DO,sizeof

標準答案:B

知識點解析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一

個字符必須為字母或下劃線,排除選項。和D);C語言中還規(guī)定標識符不能為C語

言的關(guān)鍵字,而選項A)中void為關(guān)鍵字,故排除選項A)o

23、以下選項中可作為C語言合法常量的是

A、-80

B、-080

C、-8el.O

D、-80.0e

標準答案:A

知識點解析:選項B)項中,以。開頭表示是一個八進制數(shù),而八進制數(shù)的取值范圍是

0~7,所以.080是不合法的;選項C)和D)中,e后面的指數(shù)必須是整數(shù),所以也不合法。

24、若有語句:char*line[5];,以下敘述中正確的是

A、定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char為指針變量

B、定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組

C、定義line是一個指針數(shù)組,語句中的*號稱為間址運算符

D、定義hnc是一個指向字符型函數(shù)的指針

標準答案:A

知識點解析:C語言中[]比*優(yōu)先級高,因此line先與[5]結(jié)合,形成line[5]形式,這是

數(shù)組形式,它有5個元素,然后再與line前面的””結(jié)合,表示此數(shù)組是一個指針數(shù)組,

每個數(shù)組元素都是一個基類型為char的指針變量。

25、以下定義語句中正確的是

A、inta=b=O;

B、charA=65+1,b='b';

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

D、doublea=00;b=l.l;

標準答案:B

知識點解析:本題考查變量的定義方法。如果要一次進行多個變量的定義,則在它

們之間要用逗號隔開,因此選項A)和D)錯誤。在選項C)中,變量c是一個浮點型指

針,它只能指向一個浮點型數(shù)據(jù),不能指向指針變量b,故選項C)錯誤。

26、有以下程序段charch;intk;ch='a';k=12;printf(”%c,%dj,ch,ch,k);printf("k=%d

\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是

A、因變量類型與格式描述符的類型不匹配輸出無定值

B、輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C、a,97,12k=12

D、a,97,k=12

標準答案:D

知識點解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制

符%€1表示將變量以帶符號的十進制整型數(shù)輸出,所以第一個輸出語句輸出的結(jié)果為

a,97;第二個輸出語句輸出的結(jié)果為k=12o

27、有以卜程序main。{inti,s=l;for(i=l;i<50;i++)if(!(i%5)&&!(i%3))s+=i;

printf("%d\n",s);(程序的輸出結(jié)果是

A、409

B、277

C、1

D、91

標準答案:D

知識點解析:本題是計算50之內(nèi)的自然數(shù)相加之和,題中if語句括號中的條件表達

式!(i%5)&&!(i%3)表明只有能同時被5和3整除的數(shù)才符合相加的條件,1~49之間

滿足這個條件的只有;15、30和45,因為s的初始值為1,所以s=1+15+30+45=91,

28、當變量c的值不為2、4、6時,值也為“真”的表達式是

A、(c==2)||(c==4)||(c==6)

B、(c>=2&&c<=6)||(c!=3)||(c!=5)

C、(c>=2&&c<=6)&&!(c%2)

D、(c>=2&&c<=6)&&(c%2!=i)

標準答案:B

知識點解析:滿足表達式(c>=2&&cv=6)的整型變量c的值是2,345,6。當變量c的

值不為2,4,6時,其值只能為3或5,所以表達式c!=3和c!=5中至少有一個為真,即不

論c為何值,選項B中的表達式都為“真“。

29若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;

printf("%d,%d,%d\n",a,b.c);其輸出結(jié)果是

A、程序段有語法錯

B、3,5,3

C、3,5,5

D、3,5,7

標準答案:B

知識點解析:兩個if語句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語句,所以變

量c的值等于3,變量b的值沒能變化,程序輸出的結(jié)果為3,5,3。所以正確答案為

B)o

30、有以下程序#includemain(){intx=l,y=0,a=0,b=0;switch(x){caseI:switch(y)

{case0:a++;break;casel:b++;break;)case2:a++;b++;break;case3:a++;b++;)

printf("a=%d,b=%d\n",a,b);}程序的運行結(jié)果是

A、a=l,b=0

B>a=2,b=2

C、a=1,b=1

D、a=2,b=1

標準答案:D

知識點解析:本題考查switch語句,首先,x=l符合條件case1,執(zhí)行switch(y)語

句,y=0符合case0語句,執(zhí)行a++并跳出switch(y)語句,此時a=lo因為case1語句后

面沒有break語句,所以向后執(zhí)行case2語句,執(zhí)行a-+,b++,然后跳出switch(x),得

a=2,b=1o

31、以下敘述中正確的是

A、用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

B、用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入

C、用c程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出

D、用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

標準答案:C

知識點解析:算法具有的5個特性是:有窮性;確定性;可行性;有0個或多個輸入;有

一個或多個輸出。所以說,用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須耍有輸出。

32、下列可用于C語言用戶標識符的一組是

A、void,define,WORD

B、a3_3,_123,Car

C、For,-abc,lbCase

D、2a,DO,sizeof

標準答案:B

知識點解析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一

個字符必須為字母或下劃線,排除選項C)和D);C語言中還規(guī)定標識符不能為C語

言的關(guān)鍵字,而選項A)中void為關(guān)鍵字,故排除選項A)o

33、以下選項中可作為C語言合法常量的是

A、-80

B、-080

C、-8c1.0

D、-80.0e

標準答案:A

知識點解析:選項B)項中,以0開頭表示是一個八進制數(shù),而八進制數(shù)的取值范圍是

0~7,所以-080是不合法的;選項。和D)中,e后面的指數(shù)必須是整數(shù),所以也不合法。

34、若有語句:char以下敘述中正確的是

A、定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char為指針變量

B、定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組

C、定義line是一個指針數(shù)組,語句中的*號稱為間址運算符

D、定義line是一個指向字符型函數(shù)的指針

標準答案:A

知識點解析:C語言中□比*優(yōu)先級高,因此line先與[5]結(jié)合,形成line[5]形式,這是

數(shù)組形式,它有5個元素,然后再與line前面的””結(jié)合,表示此數(shù)組是一個指針數(shù)組,

每個數(shù)組元素都是一個基類型為char的指針變量。

35、以下定義語句中正確的是

A、inta=b=0;

B、charA=65十l,b='b';

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

D、doublea=00;b=l.l;

標準答案:B

知識點解析:本題考查變量的定義方法。如果要一次進行多個變量的定義,則在它

們之間要用逗號隔開,因此選項A)和D)錯誤。在選項

溫馨提示

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

評論

0/150

提交評論