![國家二級(C語言)筆試模擬試卷19(共527題)_第1頁](http://file4.renrendoc.com/view14/M04/32/05/wKhkGWbL2ceAQIIbAAHJgQtOsG4221.jpg)
![國家二級(C語言)筆試模擬試卷19(共527題)_第2頁](http://file4.renrendoc.com/view14/M04/32/05/wKhkGWbL2ceAQIIbAAHJgQtOsG42212.jpg)
![國家二級(C語言)筆試模擬試卷19(共527題)_第3頁](http://file4.renrendoc.com/view14/M04/32/05/wKhkGWbL2ceAQIIbAAHJgQtOsG42213.jpg)
![國家二級(C語言)筆試模擬試卷19(共527題)_第4頁](http://file4.renrendoc.com/view14/M04/32/05/wKhkGWbL2ceAQIIbAAHJgQtOsG42214.jpg)
![國家二級(C語言)筆試模擬試卷19(共527題)_第5頁](http://file4.renrendoc.com/view14/M04/32/05/wKhkGWbL2ceAQIIbAAHJgQtOsG42215.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
國家二級(C語言)筆試模擬試卷19(共9套)(共527題)國家二級(C語言)筆試模擬試卷第1套一、公共基礎選擇題(本題共10題,每題1.0分,共10分。)1、算法的時間復雜度是指______。A、執(zhí)行算法程序所需要的時間B、算法程序的長度C、算法執(zhí)行過程中所需要的基本運算次數(shù)D、算法程序中的指令條數(shù)標準答案:4知識點解析:所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。2、下列敘述中正確的是______。A、線性表是線性結構B、棧與隊列是非線性結構C、線性鏈表是非線性結構D、二叉樹是線性結構標準答案:1知識點解析:一般將數(shù)據(jù)結構分為兩大類型:線性結構與非線形結構。線性表、棧與隊列、線性鏈表都是線性結構,而二叉樹是非線性結構。3、下面關于完全二叉樹的敘述中,錯誤的是______。A、除了最后一層外,每一層上的結點數(shù)均達到最大值B、可能缺少若干個左右葉子結點C、完全二叉樹一般不是滿二叉樹D、具有結點的完全二叉樹的深度為[log2n]+1標準答案:2知識點解析:滿二叉扔指除最后一層外每一層上所有結點都有兩個子結點的二叉樹。完全二叉樹指除最后一層外,每一層上的結點數(shù)均達到最大值,在最后一層上只缺少右邊的若干子結點(葉子結點)的二叉數(shù)。4、結構化程序設計主要強調的是______。A、程序的規(guī)模B、程序的易讀性C、程序的執(zhí)行效率D、程序的可移植性標準答案:2知識點解析:結構化程序設計主要強調的是結構化程序清晰易讀,可理解性好,程序員能夠進行逐步求精、程序證明和測試,以保證程序的正確性。5、在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是______。A、概要設計B、詳細設計C、可行性分析D、需求分析標準答案:8知識點解析:需求分析是對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。6、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。A、控制流B、加工C、數(shù)據(jù)存儲D、源和潭標準答案:1知識點解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。7、軟件需求分析一般應確定的是用戶對軟件的______。A、功能需求B、非功能需求C、性能需求D、功能需求和非功能需求標準答案:8知識點解析:軟件需求分析中需要構造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。8、下述關于數(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知識點解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個應用所共享,特別是在網絡發(fā)達的今天,數(shù)據(jù)庫與網絡的結合擴大了數(shù)據(jù)關系的應用范圍。數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應保持相同的值,而數(shù)據(jù)的不一致性指的是同一個數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。9、關系表中的每一橫行稱為一個______。A、元組B、字段C、屬性D、碼標準答案:1知識點解析:在關系數(shù)據(jù)庫中,關系模型采用二維表來表示,簡稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。10、數(shù)據(jù)庫設計包括兩個方面的設計內容,它們是______。A、概念設計和邏輯設計B、模式設計和內模式設計C、內模式設計和物理設計D、結構特性設計和行為特性設計標準答案:1知識點解析:數(shù)據(jù)庫設計可分為概念設計與邏輯設計。概念設計的目的是分析數(shù)據(jù)間內在語義關聯(lián),在此基礎上建立一個數(shù)據(jù)的抽象模型。邏輯設計的主要工作是將ER圖轉換為指定的RDBMS中的關系模型。二、選擇題(1分)(本題共10題,每題1.0分,共10分。)11、以下有4組用戶標識符,其中合法的一組是______。A、FOR-subCaseB、4dDoSizeC、f2G3IFabcD、WoRDvoiddefine標準答案:4知識點解析:C語言的標識符的定義為:以字母或下劃線開頭的由字母、數(shù)字字符、下劃線組成的字符串。而且標識符不能與關鍵字相同。12、下列敘述中正確的是______。A、C程序中注釋部分可以出現(xiàn)在程序中任伺合適的地方B、花括號""{""和""}""只能作為函數(shù)體的定界符C、構成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名D、分號是C語句之間的分隔符,不是語句的—部分標準答案:1知識點解析:C程序中注釋部分用“/*”和“*/”括起來,可以出現(xiàn)在程序中任何合適的地方;花括號“{”和“}”不僅可作為函數(shù)體的定界符,也可作為復合語句的定界符;構成C程序的基本單位是函數(shù);一個語句必須在最后出現(xiàn)分號,分號是C語句中不可缺少的部分。13、以下合法的賦值語句是______。A、X=Y=100B、D-;C、X+YD、C=int(A+B)標準答案:2知識點解析:本題中的答案A與D都缺少“;”,而答案C中,表達式是不能獨立成為語句的,答案B使用了C語言的自減運算符它就相當于D=D-I,所以答案B為一賦值語句。14、設x為int型變量,執(zhí)行以下語句,X=10;X+=X-=X-X;X的值為______。A、10B、20C、30D、40標準答案:2知識點解析:本題x=10,表達式“x+=x-=x-x;”的求解步驟如下:先進行x-=x-x的運算,相當于x=x-(x-x)=x=10;再進行x+=x的運算,即x=x+x=20。15、以下程序的輸出結果是______。main(){inta=3;printf("%\n",(a+=a-=a*a));}A、{B、1C、2D、-12標準答案:8知識點解析:賦值運算符的結合方向是自右至左,所以表達式a+a-=a*a先運算最右邊的a*a得9,再運算a=a-9,即a=3-9,所以此時a的值由3變成了-6,最后運算a=a+(-6),即a-(-6)+(-6)=-12。16、設int型占2個字節(jié),則unsignedint所能表示的數(shù)據(jù)范圍是______。A、0~65535B、-32769~32767C、1~65536D、0~32767標準答案:1知識點解析:本題int型占2個字節(jié),即16位,unsignedint所能表示的數(shù)據(jù)范圍是0~(2(上標)16-1),即0~65535。17、設a、b、c、d、m.n均為血型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達式(m=a>b)&&(n=c>d)運算后,n的值為______。A、0B、1C、2D、3標準答案:1知識點解析:C語言中比較表達式的運算結果為0或1。0代表不成立,1表示成立。18、下面的關鍵字中,不能夠從循環(huán)體中跳到循環(huán)體外的是______。A、gotoB、breakC、returnD、continue標準答案:2知識點解析:在C語言中,可以用break語句和continue語句跳出本層循環(huán)和結束本次循環(huán)。goto語句可跳出多層循環(huán),如果在函數(shù)的循環(huán)體內使用return語句,就會直接結束循環(huán)返回函數(shù)值。19、以下各選項企圖說明一種新的類型名,其中正確的是______。A、typedefv1int;B、typedefv2=int;C、typedefintv3;D、typedefv4:int標準答案:4知識點解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當于為數(shù)據(jù)類型取個別名。20、在調用函數(shù)時,如果實參是簡單變量,它與對應形參之間的數(shù)據(jù)傳遞方式是_______。A、地址傳遞B、單向值傳遞C、由實參傳給形,再由形參傳回實參D、傳遞方式由用戶指定標準答案:2知識點解析:C語言函數(shù)中的參數(shù)傳遞方式有傳值與傳址兩種方式,傳值方式是指將實參的值復制一份傳遞給形參,而傳址方式是指將實參的變量地址傳遞給形參,也就是實參的引用。三、選擇題(2分)(本題共10題,每題1.0分,共10分。)21、下列程序的輸出結果是______。main(){inti,k,ai[0],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+l)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}A、20B、21C、22D、23標準答案:2知識點解析:暫無解析22、下列程序的執(zhí)行結果是______。point(char*pt);main(){charb[4]={’a’,’c’,’s’,’f’},*pt=b;point(pt);printf("%c\n",*pt);}point(char*p){p+=3;}A、sB、cC、fD、a標準答案:8知識點解析:暫無解析23、已知chara=15,則a,-a和!a的整型值分別為______。A、240、-15、0B、-16、-15、0C、0、-15、240D、0、-15、0標準答案:1知識點解析:暫無解析24、設ch是char型變量,其值為A,且有表達式:ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch。該表達式的值是______。A、AB、aC、ZD、z標準答案:2知識點解析:暫無解析25、若fp是指向某文件的指針,且已讀到文件末尾,則庫函數(shù)feof(fp)的返回值是______。A、EOFB、-1C、非零值D、NULL標準答案:4知識點解析:暫無解析26、下列程序執(zhí)行后的輸出結果是______。main(){intx=’f’;printf("%c\n",’A’+(x-’a’+l));}A、GB、HC、ID、J標準答案:1知識點解析:暫無解析27、若輸入1,2,下列程序的運行結果為______。#defineSWAP(a,b)t=b;b=a;a=tmain(){inta,b,t;scanf("%d,%d",&a,&b);SWAP(a,b);printf("a=%d,b=%d\n",a,b);}A、a=1,b=2B、a=2,b=1C、a=1,b=1D、a=2,b=2標準答案:2知識點解析:暫無解析28、運行以下程序后,如果從鍵盤上輸入china#<回車>,則輸了結果為______。#include<stdio.h>main(){intv1=0,v2=0;charch;while((ch=getchar())!=’#’)switch(ch){case’a’:case’h’:default:vi++;case’0’:v2++;}printf("%d,%d\n",v1,v2);}A、2,0B、5,0C、5,5D、2,5標準答案:4知識點解析:暫無解析29、下列程序中的for循環(huán)執(zhí)行的次當次數(shù)是______。#defineN2#defineMN+i#defineNUM2*M+l#main(){inti;for(i=1;i<=NUM;i++)printf("%d\n",i);}A、5B、6C、7D、8標準答案:2知識點解析:暫無解析30、下列程序的輸出結果是______。main(){inti;for(i=l;i<6;i++){if(i%2){printf("#");continue;}printf("*");}printf("\n");}A、#*#*#B、#####C、****D、*#*#*標準答案:1知識點解析:暫無解析四、公共基礎填空題(本題共5題,每題1.0分,共5分。)31、若采用直接插入法對字母序列(W,S,E,L,X,G,I)進行排序,使字母按升序排列,那么第一次排序的結果為【】。標準答案:S,W,E,L,X,G,I知識點解析:暫無解析32、對于一棵具有n個結點的樹,則該樹中所有結點的度之和為【】。標準答案:n-1知識點解析:暫無解析33、單獨測試一個模塊時,有時需要一個【】程序驅動被測試的模塊。標準答案:驅動知識點解析:暫無解析34、僅依據(jù)規(guī)格說明書描述的程序功能來設計測試實例的方法稱為【】。標準答案:黑箱法知識點解析:暫無解析35、在進行軟件結構設計時,應遵循的最主要原理是【】。標準答案:模塊獨立原理知識點解析:暫無解析五、填空題(本題共10題,每題1.0分,共10分。)36、x、y、x均為int型變量,描述“x、y和z中至少有兩個為正數(shù)”的表達式是______。標準答案:((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))知識點解析:題目要求“x、y和z中至少有兩個為正數(shù)”,即x、y和x這3個數(shù)中必須有兩個是正數(shù),且這3個數(shù)中的哪兩個數(shù)都有可能是正數(shù),所以它們之間是或的關系。37、與表達式a+=b等價的另一書寫形式是______。標準答案:a=a+b知識點解析:a+=b與a=a+b等價,作用是把變量a的值加b后再賦給變量a。38、下列程序的輸出結果是______。#include<stdio.h>main(){intx=1,y=1,a=1,b=1;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\n",a,B);}標準答案:a=2,b=3知識點解析:分析程序,程序從x=1語句開始執(zhí)行,之后執(zhí)行第一個switch語句,switch(x)=switch(1),所以執(zhí)行case1,case1語句中包含一個復合switch語句:這時執(zhí)行第二個switch語句,此時y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語句,退出第二個switch語句,則整個case1的復合語句執(zhí)行完畢,由于在這個case1的后面沒有break語句使其退出第一個switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a,b各加1,得到a=2,b=3。39、C語言用于結構化程序設計的3種基本結構是______、選擇結構和循環(huán)結構。標準答案:順序結構知識點解析:結構化程序有3種摹本結構,即順序結構、選擇結構(包括if語句和switch語句)和循環(huán)結構(包括for語句、while語句、do…while語句)。40、下列循環(huán)的循環(huán)次數(shù)是______。intk=2;while(k=0)printf["%d",k);k--;printf("\n");標準答案:0知識點解析:解答本題需要注意表達式“k=0”,它是賦值表達式而不是關系表達式,不論k為何值,表達式k=0總會使k為0,所以不能進入循環(huán)。41、若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為______。標準答案:252H知識點解析:要解答本題,首先要明白在對指針進行加,減運算時,數(shù)字“1”不是十進制數(shù)的“1”,而是指“1”個存儲單元長度。1個存儲單元長度占存儲空間的多少,應該視具體情況而定,如果存儲單元的基類型是血型,則移動1個存儲單元的長度就是位移2個字節(jié);如果存儲單元基類型是float型,則移動1個存儲單元的長度就是位移4個字節(jié)。所以p+13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。42、“printf("%d\n",strlen("\t\"023\xABC\n");”語句的輸出結果是______。標準答案:6知識點解析:strlen()函數(shù)的作用是計算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結束標志’\0’?!痋t’f是轉義字符,代表橫向跳若干格:"\"是轉義字符,代表雙引號;’\023’只代表一個字符,而不管轉義字符后面有幾個字符;’僅AB,是以兩位十六進制數(shù)AB表示的ASCII碼字符,只代表一個字符;’\n’是轉義字符,代表回車換行。5個字符常量各代表一個字符,再加上字母C,所以返回的長度是6。43、設有下列宏定義:#defineA2#defineBA+3則執(zhí)行賦值語句;t=B*2;t為int型變量后的值是______。標準答案:8知識點解析:本題考查帶參數(shù)的宏定義及相關運算.運算過程為:t=B*2=A+3*2=2+3*2=8。44、下列程序的功能是將字符串s中所有的字符c刪除。請?zhí)羁铡?include<stdio.h>main(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!=’\0’;i++)if(s[i]!=’c’)s[j]=’\0’;puts(s);}標準答案:S[j++]=s[i]知識點解析:循環(huán)開始后如果數(shù)組s中儲存值與字符c相同,則i++直接跳過當前值;如果不相同,則將當前值賦予數(shù)組指定位置,并通過j++將下標加1,指向下一元素要存儲的位置。45、下列程序的運行結果是______。#include<stdio.h>func(a,b){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){intk=5,m=3,p;p=fune(k,m);printf("%d",p);p=func(k,m);printf("%d\n",p);}標準答案:1123知識點解析:在主函數(shù)中第一次調用func子函數(shù)時,m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因為在于函數(shù)中將m和i定義成了static類型,所以在于函數(shù)中對m和i進行的改變在下一次調用子函數(shù)時能進行保存,所以第二次調用于函數(shù)時,m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。國家二級(C語言)筆試模擬試卷第2套一、公共基礎選擇題(本題共10題,每題1.0分,共10分。)1、下面關于完全二叉樹的敘述中,錯誤的是______。A、除了最后—層外,每—層上的結點數(shù)均達到最大值B、可能缺少若干個左右葉子結點C、完全二叉樹—般不是滿二叉樹D、具有結點的完全二叉樹的深度為[log2n]+1標準答案:B知識點解析:滿二叉樹指除最后一層外每一層上所有結點都有兩個子結點的二叉樹。完全二叉樹指除最后一層外,每—層上的結點數(shù)均達到最大值,在最后—層上只缺少右邊的若干子結點(葉子結點)的二叉樹。2、設有如圖所示二叉樹,對此二叉樹后序遍歷的結果為()。A、ZBTYCPXAB、ATBZXCYPC、TZBACYXPD、ATBZXCPY標準答案:A知識點解析:后序遍歷首先訪問左子樹,然后右子樹,最后根結點,即左右根。故該二又樹的前序遍歷結果為“ATBZXCYP”。后序遍歷和中序遍歷的結果分別為“ZBTYCPXA”和“TZBACYXP”。3、軟件生命周期中花費費用最多的階段是A、詳細設計B、軟件編碼C、軟件測試D、軟件維護標準答案:D知識點解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。本題中,詳細設計、軟件編碼和軟件測試都屬于軟件開發(fā)階段;維護是軟件生命周期的最后一個階段,也是持續(xù)時間最長,花費代價最大的一個階段,軟件工程學的一個目的就是提高軟件的可維護性,降低維護的代價。4、以下不是面向對象思想中的主要特征的是A、多態(tài)B、繼承C、封裝D、垃圾回收標準答案:D知識點解析:面向對象思想中的三個主要特征是:封裝性、繼承性和多態(tài)性。5、數(shù)據(jù)處理的最小單位是()。A、數(shù)據(jù)B、數(shù)據(jù)元素C、數(shù)據(jù)項D、數(shù)據(jù)結構標準答案:4知識點解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項。由若干數(shù)據(jù)項組成數(shù)據(jù)元素,而數(shù)據(jù)是指能夠被計算機識別、存儲和加工處理的信息載體,數(shù)據(jù)結構是指數(shù)據(jù)之間的相互關系和數(shù)據(jù)運算。故正確答案為選項C)。6、在結構化程序設計方法中,下面哪種內聚的內聚性最弱?A、邏輯內聚B、時間內聚C、偶然內聚D、過程內聚標準答案:4知識點解析:內聚有很多種類,其中內聚性由弱到強的順序為:偶然內聚、邏輯內聚、時間內聚、過程內聚.所以本題的答案為C。7、下列敘述中錯誤的是()。A、在數(shù)據(jù)庫設計的過程中,需求分析階段必須考慮具體的計算機系統(tǒng)B、在數(shù)據(jù)庫設計的過程中,概念結構設計與具體的數(shù)據(jù)庫管理系統(tǒng)有關C、在數(shù)據(jù)庫設計的過程中,邏輯結構設計與具體的數(shù)據(jù)庫管理系統(tǒng)有關D、在數(shù)據(jù)庫設計的過程中,物理結構設計依賴于具體的計算機系統(tǒng)標準答案:2知識點解析:數(shù)據(jù)庫設計主要分4個步驟:需求分析、概念結構設計、邏輯結構設計、物理結構設計。選項B錯誤,應為本題的正確答案,因為概念結構設計在需求分析的基礎上對客觀世界做抽象,獨立于數(shù)據(jù)庫的邏輯結構,也獨立于具體的數(shù)據(jù)庫管理系統(tǒng),與具體的數(shù)據(jù)庫管理系統(tǒng)無關。8、個人計算機屬于()A、小巨型機B、中型機C、小型機D、微機標準答案:8知識點解析:暫無解析9、與十進制數(shù)96等值的二進制是()A、1100000B、10010110C、1100001D、1100011標準答案:1知識點解析:暫無解析10、如果一個算法顯式地調用自己則稱為()A、直接遞歸B、自用遞歸C、間接遞歸D、外用遞歸標準答案:1知識點解析:暫無解析二、選擇題(1分)(本題共11題,每題1.0分,共11分。)11、設有定義:intk=1,m=2;noatf=7;則下列選項中錯誤的表達式是()。A、k=k>=kB、-k++C、k%int(f)D、k>=f>=m標準答案:C知識點解析:在C語言中,求余運算符“%”兩邊的運算對象都應為整型數(shù)據(jù),所以需要對變量f進行強制類型轉換,正確的寫法為k%(int)f。在C語言中,邏輯運算符與賦值運算符、算術運算符、關系運算符之間從高到低的運算優(yōu)先次序是:!(邏輯“非”)、算術運算符、關系運算符、&&(邏輯“與”)、‖(邏輯“或”)、賦值運算符。根據(jù)運算符的優(yōu)先級與結合性,對于選項A),先計算k>=k的值(為真,即1),再用1對k進行賦值。對于選取項B),先計算k什的值,再對其取負數(shù)。對于選項D),先計算k>=f的值(為假,即0),再用0與m進行比12、若變量已正確定義并賦值,以下符合C語言語法的表達式是A、a:=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+b標準答案:B知識點解析:選項A)中包含一個不合法的運算符“:=”;選項C)應改為(int)18.5%3;選項D)可理解為兩個表達式:a+7=c+b和a=a+7,其中第一個是錯的,因為C語言規(guī)定賦值號的左邊只能是單個變量,不能是表達式或常量等。因此,正確答案是選項B),它實際上相當于a=(b=c+2),進而可分解為兩個表達式:b=c+2和a=b。13、設整型數(shù)i=5,則printf("%d"i+++++i);的輸出為______。A、10B、11C、12D、語法錯誤標準答案:D知識點解析:C語言中有基本的算術運算符(+、-、*、/)還包括自增自減運算符(++、-),在C語言解析表達式時,它總是進行貪婪咀嚼,這佯,該表達式就被解析為i+++++i,顯然該表達式不合C語言語法。14、設R是一個2元關系,有3個元組,S是一個3元關系,有3個元組。如T=R×S,則T的元組的個數(shù)為()。A、6B、8C、9D、12標準答案:C知識點解析:R為n元關系,有P個元組S為m元關系,有q個元組。兩個關系笛卡兒積是一個n+m元的關系,元組個數(shù)是q×p。所以T的元組的個數(shù)為9個。15、設a和b均為double型變量,且a=5.5、b=2.5,則表達式(int)a+b/b的值是()。A、6.500000B、6C、5.500000D、6.000000標準答案:8知識點解析:在這個表達式中,優(yōu)先級最高的是(int)a,也就是對5.5取整,結果是5,其次是b/b,即2.5/2.5,結果是1.000000,最后相加結果為6.000000(表達式的最終結果為實型),所以4個選項中D正確。16、若變量已正確定義并賦值,下面符合C語言語法的表達式是A、m:=5B、c=b=a=lC、float8%5D、x+5=y+2標準答案:2知識點解析:選項A)中的賦值方法為Pascal語言賦值格式;C語言中賦值直接為“=”,無冒號;選項D)中“x+5=y+2”賦值格式錯誤,賦值號左邊不可以出現(xiàn)常量,也不可以同時出現(xiàn)兩個變量。選項C)應改為(float)8%317、已知在ASCII字符集中,數(shù)字0的序號為48,下列程序的輸出結果為______。main()}chara=’0’,b=’9’;printf("%d,%c\n",a,b);}A、因輸出格式不合法B、48,57C、0,9D、48,9標準答案:8知識點解析:注意輸出控制符%d,%c,分別表示以十進制形式輸出字符的ASCII碼值和字符。18、下列可用于C語言標識符的一組是_______。A、voidWORDdefineB、a6$sysForC、2asizeofabcD、Intdefinesizeof標準答案:8知識點解析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。注意,大寫字母和小寫字母被認為是兩個不同的字符。C語言中的關鍵字不能用作標識符。19、以下合法的賦值語句是()A、x=y(tǒng)=100B、d--;C、x+y;D、c=int(a十B)標準答案:2知識點解析:暫無解析20、假定所有變量均已正確說明,下列程序段運行后x的值是()。a=b=c=0;x=12;if(!a)x--;elsex=5;if(c)x=3;elsex=4;A、11B、4C、12D、3標準答案:2知識點解析:本題考查ifelse語句。第一個if語句,先判斷條件,發(fā)現(xiàn)a=0,則!a成立,執(zhí)行下列的語句,x--,得x=11:第二個if語句,判斷條件,發(fā)現(xiàn)c=o,則條件不成立,執(zhí)行下列的else語句,得x=4。21、設在C語言中,float類型數(shù)據(jù)占4個字節(jié),則double類型數(shù)據(jù)占()個字節(jié)。A、1B、2C、8D、4標準答案:4知識點解析:在C語言中各種數(shù)據(jù)類型在內存中所占的字節(jié)數(shù)和機器的指令周期有關,若int類型占2個字節(jié),則float類型數(shù)據(jù)占4個字節(jié),double類型數(shù)據(jù)占8個字節(jié)。三、選擇題(2分)(本題共20題,每題1.0分,共20分。)22、以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請選擇正確答案填入。#include<stdio.h>main(){inta[10]=0;while(i<10)scan("%d"______);::}A、a+(i++)B、&a[i+1]C、a+iD、&a[++i]標準答案:A知識點解析:a就是數(shù)組a的首地址,而a+x是數(shù)組中第x個元素的地址,所以在四個選項中,選項B和C只能輸入—個數(shù)據(jù),選項D不能給a[0]輸入數(shù)據(jù),只有A可以完成給數(shù)組所有的元素輸入數(shù)據(jù)的任務。23、以下數(shù)組定義中不正確的是______。A、inta[2][3];B、intb[][3]={0,1,2}C、intc[100][100]={0};D、intd[3][]={{1,2},{1,2,3},{1,2,3,4}};標準答案:D知識點解析:—維數(shù)組的定義方式為:類型說明符數(shù)組名[常量表式];選項A符合此定義形式,正確;C語言中多維數(shù)組賦初值時可以部分賦值,也可以不指定除第—維以外的其他維的大小,故選項C正確;另外,如果對全部數(shù)組元素都賦初值,則定義數(shù)組時對第—維的長度可以不指定,但第二錐的長度不能省,所以選項B正確,而選項D是錯誤的。24、有下列程序段:typedefstructNODE{intnum;structNODE*next;}OLD;下列敘述中正確的是()。A、以上的說明形式非法B、NODE是一個結構體類型C、OLD是一個結構體類型D、OLD是一個結構體變量標準答案:C知識點解析:C語言允許用typedef說明一種新類型名,其一般形式為:typedef類型名標識符。typedef語句的作用僅僅是使“標識符”來代表已存在的“類型名”,并未產生新的數(shù)據(jù)類型。原有類型名依然有效。此題中,用使typedef定義了新的類型OLD結構,所以OLD為結構體類型。25、下列程序的輸出結果是()。#include<stdio.h>#include<string.h>main(){chara[]="\n123\\";printf("%d,%d\n",strlen(a),sizeof(a));}A、5,6B、5,5C、6,6D、6,5標準答案:A知識點解析:轉義字符’\n’表示換行,’\\’表示反斜杠,函數(shù)strlen()是計算字符串的長度,不包括文件結束標志(’\0’),函數(shù)sizeof()統(tǒng)計字符串所占的字節(jié)數(shù)。26、下列選項中不會引起二義性的宏定義是()。A、#defineS(x)x*xB、#defineS(x)(x)*(x)C、#defineS(x)(x*x)D、#defineS(x)((x)*(x))標準答案:D知識點解析:本題考查帶參數(shù)的宏的替換。有些參數(shù)表達式必須加括號,否則,在實參表達式替換時,會出現(xiàn)錯誤。27、主程序調用findmax函數(shù)求出數(shù)組中最大元素在數(shù)組中的下標,括號中需填寫的內容是#include<stdio.h>findmax(int*s,intt,int*k){intp;for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])();}main(){inta[10],i,k;for(i=0;i<10;i++)scanf("%d",&a[i]);findmax(a,10,&k);printf("A、k=pB、*k=pC、k=p-sD、*k=p-s標準答案:B知識點解析:暫無解析28、有以下程序:structS{intn;inta[20];};voidf(structS*P){inti,j,t;for(i=0;i<P->n-1;i++)for(j=j+1;j<P->n-1;j++)if(p->a[i]>p->a[j]){t=P->a[i];p->a[i]=P->a[j];p->a[j]=t}}main(){inti;structSs{10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d",s.a[i]);}程序運行后的輸出結果是()。A、3B、4C、5D、6標準答案:A知識點解析:在主函數(shù)main()中定義了一個整型變量i和一個結構體變量s。f()函數(shù)中,定義了一個結構體指針類型的指針p,外層循環(huán)變量i表示數(shù)組的第i個元素,內層循環(huán)j表示數(shù)組的第i+1個元素,調用f()函數(shù),通過指針變量p來引用結構體成員,并把它們進行從小到大排序,最后輸出。29、以下關于邏輯運算符兩側運算對象的敘述中正確的是()。A、只能是整數(shù)0或1B、只能是整數(shù)0或非0整數(shù)C、可以是結構體類型的數(shù)據(jù)D、可以是任意合法的表達式標準答案:D知識點解析:邏輯運算的對象可以是C語言中任意合法的表達式。30、若x和y代表整型數(shù),以下表達式中不能正確表示數(shù)學關系,|x-y|<10的是______。A、abs(x-y)<10B、x-y>-10&&x-y<10C、(x-y)<-10||!(y-x)>10D、(x-y)*(x-y)<100標準答案:C知識點解析:暫無解析31、若要說明一個類型名CHARP,使得定義語句“CHARPs;”等價于“char*s;”,以下選項中正確的是______。A、typedefCHARPchar*s;B、typedef*charCHARP;C、typedefCHARP*char:D、typedefchar*CHARP;標準答案:D知識點解析:暫無解析32、有以下程序:#include<stdio.h>main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后的輸出結果是()。A、77B、88C、810D、1010標準答案:4知識點解析:用a[]="abcdefg"對數(shù)組a進行初始化,是用一個字符串作初值。數(shù)組a的長度包括由系統(tǒng)加上的’\0’,因此是8。b[10]="abcdefg"只初始化了前7個元素,后3個元素為0(’\0’),所以長度為10。33、有以下程序:#include<stdio.h>main(){charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);}程序運行后,若從鍵盤輸入(從第1列開始)123<回車>45678<回車>則輸出結果是()。A、1267B、1256C、1278D、1245標準答案:8知識點解析:在題目中,程序執(zhí)行到scanf()函數(shù)時,會暫停等待用戶輸入4個字符,按題意輸入123<回車>后,字符1~3被分別輸入到c1~c3中,而c4會得到一個換行符’\n’。然后執(zhí)行第1個getchar()函數(shù),由于前面的scanf()函數(shù)讀完了緩沖區(qū)中的所有字符,所以此時程序會又暫停等待用戶輸入,按題意輸入45678<回車>后,緩沖區(qū)第1個字符’4’被讀入并賦給c5,第2個getchar()函數(shù)會讀入緩沖區(qū)第2個字符’5’。所以最后依次輸出c1、c2、c5、c6的值后,屏幕上的結果是1245。故應該選擇D。34、有以下程序:main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n");}程序運行后的輸出結果是()。A、75310246B、1234567C、76310462D、13570246標準答案:1知識點解析:主函數(shù)中定義了一個整型數(shù)組x,并初始化。接著執(zhí)行了一個二重for循環(huán),在該二重循環(huán)的作用是將數(shù)組的前4個元素按從大到小排序,接著用了一個二重循環(huán)(也是冒泡算法)將數(shù)組的后4個元素按從小到大的順序排序,故最后依次輸出數(shù)組的個元素的值為75310246,所以,4個選項中選項A符合題意。35、fseek函數(shù)的正確調用形式是A、fseek(文件指針,起始點,位移量)B、fseek(文件指針,位移量,起始點)C、fseek(位移量,起始點,文件指針)D、fseek(起始點,位移量,文件指針)標準答案:2知識點解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調用形式為:fseek(文件指針,位移量,起始點)“起始點”用0,1或2代替,0代表“文件開始”,1為“當前位置”,2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c”為基點,向前移動的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù)。這樣當文件的長度大于64k時不致出現(xiàn)問題。ANSIC標準規(guī)定在數(shù)字的末尾加一個字母L,就表示long型。36、設有以下語句:structSS{intno;charname[10];}PERSON;則下面敘述中錯誤的是()A、struct是結構體類型的關鍵字B、structSS是結構體類型C、PERSON是結構體類型名D、name是結構體成員名標準答案:4知識點解析:暫無解析37、有以下程序main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}程序運行后的輸出結果是A、42B、45C、56D、60標準答案:1知識點解析:本題考查while語句和if語句的嵌套,程序段實現(xiàn)的功能是將p[1]至p[7]中的奇數(shù)相加求和并輸出,j=13+15+17=45。38、有以下程序main(){char*p[10]={"abc",aabdfg","dedbe","abbd","cd"};printf("%d\n",stxlen(p[4]));}執(zhí)行后輸出結果是A、2B、3C、4D、5標準答案:1知識點解析:本題中首先定義了一個長度為10的指針數(shù)組,并賦初值,因此執(zhí)行strlen(p[4])后的返回值為字符串“cd”的長度為2。39、有以下函數(shù)char*fun(char*p){returnp;}該函數(shù)的返回值是______。A、無確切的值B、形參p中存放的地址值C、一個臨時存儲單元的地址D、形參p自身的地址值標準答案:2知識點解析:p本身就是一個字符型指針變量,返回p也就是返回變量p中存放的地址值。40、下列程序的執(zhí)行結果是_______。#include<stdio.h>unionun{inti;charc[2];};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}A、266B、11C、265D、138標準答案:1知識點解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同一個存儲單元,且此存儲單元為2千字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以x.i的值為266。41、下列程序的輸出結果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}A、6,2B、6,4C、8,4D、8,6標準答案:2知識點解析:本題主要考查結構體和聯(lián)合內存使用的區(qū)別:結構中不同的成員分別使用不同的內存空間,一個結構所占內存空間的大小是結構中每個成員所占內存空間大小的總和,結構中每個成員相互獨立:聯(lián)合所占用的內存空間為最長的成員所占用的空間。四、公共基礎填空題(本題共5題,每題1.0分,共5分。)42、數(shù)據(jù)庫系統(tǒng)的主要特點為數(shù)據(jù)集成性、數(shù)據(jù)的高——和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理和控制。標準答案:共享性知識點解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應用程序使用,實現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。43、在運算過程中,能夠使空表與非空表的運算統(tǒng)一的結構是【】。標準答案:循環(huán)鏈表知識點解析:在鏈表的運算過程中,采用鏈接方式即循環(huán)鏈表的結構把空表與非空表的運算統(tǒng)一起來。循環(huán)鏈表具有兩個特點:①在循環(huán)鏈表中增加了一個表頭結點,其數(shù)據(jù)域為任意或根據(jù)需要來設置,指針域指向線性表的第一個元素的結點。循環(huán)鏈表的頭指針指向表頭結點。②循環(huán)表中最后一個結點的指針不是空,而是指向表頭結點。44、如果一個工人可管理多個設備,而一個設備只被一個工人管理,則賣體“工人”與實體“設備”之間存在【】關系。標準答案:一對多知識點解析:實體之間的聯(lián)系有3類:一對一,一對多,多對多。設有兩個實體集E1和E2,如果E2中的每一個實體與E1中的任意個實體(包括零個)有聯(lián)系,而E1中的每一個實體最多與E2中的一個實體有聯(lián)系,則稱這樣的聯(lián)系為“從E2到E1的一對多的聯(lián)系”,通常表示為“l(fā):n的聯(lián)系”。由此可見,工人和設備之間是一對多關系。45、在關系運算中,查找滿足一定條件的元組的運算稱之為【】。標準答案:選擇知識點解析:在關系數(shù)據(jù)庫中,選擇運算也是一個元運算,關系R通過選擇運算(并由該運算給出所選擇的邏輯條件)后仍為一個關系。這個關系是由R中的那些滿足邏輯條件的元組所組成。46、軟件測試中路徑覆蓋測試是整個測試的基礎,它是對軟件【】進行測試。標準答案:結構知識點解析:路徑測試是白盒測試方法中的一種,它要求對程序中的每條路徑最少檢查一次,目的是對軟件的結構進行測試。五、填空題(本題共10題,每題1.0分,共10分。)47、若a=1,b=2,c=3,d=4;則條件表達式a>b?a:c<d?c:d的結果為()。標準答案:3知識點解析:暫無解析48、以下程序中,函數(shù)fun的功能是計算x2-2x+6,主函數(shù)中將調用fun函數(shù)計算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6請?zhí)羁铡oublefun(doublex){return(x*x-2*x+6);}{doublex,y1,y2;printf("Enterx:");scanf("%lf",&x);y1=fun([6]);y2=fun([7]);printf("y1=%lf,y2=%lf\n",y1,yA、[6]x+8[7]sin(x)標準答案:知識點解析:暫無解析49、在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中,()負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構建。標準答案:數(shù)據(jù)定義語言知識點解析:數(shù)據(jù)定義語言負責數(shù)據(jù)的模式定義和數(shù)據(jù)的物理存取構建;數(shù)據(jù)操縱語言負責數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作;數(shù)據(jù)控制語言負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、數(shù)據(jù)恢復等功能。50、以下程序運行后的輸出結果是()。structNODE{intk;structNODE*link;};main(){structNODEm[5],*p=m,*q=m+4;inti=0;while(p!=q){p->k=++i;p++;q->k=i++;q--;}q->k=i;for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");}標準答案:13431知識點解析:暫無解析51、在面向對象方法中,類之間共享屬性和操作的機制稱為______。標準答案:繼承知識點解析:暫無解析52、有以下程序:main(){intt=1,i=5;for(;i>=0;i--)t*=i;printf("%d\n",t);}執(zhí)行后輸出結果是【】。標準答案:0知識點解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應i的值相乘,最后當i=-1時停止循環(huán)。該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出t的值為0。53、函數(shù)sub的功能是根據(jù)下面近似分式求π的值。(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)現(xiàn)在請在下面的函數(shù)中填空,完成求π值的功能。#include"math.h"doublesub(longm){doublesum=0.0,t;longn;for(n=1;n<=m;n++)sum+=【】;t=sqrt(6*sum);return(t);}標準答案:1.0/(n*n)知識點解析:sam中累加的值是1+1/(2*2)+1/(3*3)+…+1//(n*n),如果寫為1/(n*n),則會因為1和n都為整型,結果則為實型,將1變?yōu)?.0,結果則為實型。54、下列程序的運行結果是:【】。#include<stringh>char*ss(char*s){returns+strlen(s)/2;}main(){char*p,*str="abcdefgh";p=ss(str);printf("%s\n",p);}標準答案:etgh知識點解析:函數(shù)ss的作用是讓形參指針s指向該字符串的右半部分。主函數(shù)中首先定義了一個字符型指針變量P和字符型指針str,并初始化為“abcdefgh”,然后調用函數(shù)ss,將實參str傳給形參s,因此可知該函數(shù)返回的指針,指向str所指的字符串“abedergh”的右半部分,即指向字符串“efgh”,所以最后輸出指針p(指針p的值為調用函數(shù)ss(str)的返回值)所指向的字符串為“efgh”。55、有以下程序:#include<stclio.h>main(){charc;while((c=getchar())!=’?’)putchar(--c);}程序運行時,如果從鍵盤輸入:Y?N?<回車>,則輸出結果為【】。標準答案:X知識點解析:主函數(shù)中首先定義了一個字符型變量c,接著執(zhí)行下面while語句,在while循環(huán)中,首先從鍵盤上讀入一個字符Y并給賦給字符變量c,賦值表達式的值不為’?’,執(zhí)行輸出語句,輸出字符X。接著判斷while中的循環(huán)條件,讀入一個字符’?’并賦值給c,賦值表達式的值為’?’循環(huán)條件不再滿足,退出循環(huán)。56、設y為血型變量,請寫出描述“y是偶數(shù)”的表達式______。標準答案:(y%2)==0知識點解析:因符合偶數(shù)的條件是對2取余為0,所以要描述y是偶數(shù)的表達式是(y%2)==0。57、以下程序把三個NODEIYPE型的變量鏈接成—個簡單的鏈表,并在while循環(huán)中輸出鏈表結點數(shù)據(jù)域中的數(shù)據(jù)。請?zhí)羁铡?include<stdio.h>structnode{intdata;structnode*next;);typedefstructnodeNODETYPE;main(){NODETYPEa,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=&a;anext=&b;b.next=&c;c,next=’\0’;p=h;while(p){printf("%d,",p->data):【】;}printf("\n");}標準答案:P++知識點解析:本題主要考查的是將NODETYPE型的變量鏈接成—個簡單的鏈表,利用typedef把NODETYPE變成structnode的別名,當執(zhí)行while循環(huán)時,首先判斷是否到了最后—個鏈表結點,如果沒有則引用結構體中的成員data,然后指向下—個鏈表結點,繼續(xù)判斷,因此,此處應填的是p++指向下—個鏈表結點。國家二級(C語言)筆試模擬試卷第3套一、公共基礎選擇題(本題共10題,每題1.0分,共10分。)1、算法的空間復雜度是指A、算法程序的長度B、算法程序中的指令條數(shù)C、算法程序所占的存儲空間D、執(zhí)行算法需要的內存空間標準答案:8知識點解析:算法的復雜度主要包括算法的時間復雜度和算法的空間復雜度。所謂算法的時間復雜度是指執(zhí)行算法所需要的計算工作量;算法的空間復雜度一般是指執(zhí)行這個算法所需要的內存空間。2、用鏈表表示線性表的優(yōu)點是A、便于隨機存取B、花費的存儲空間較順序存儲少C、便于插入和刪除操作D、數(shù)據(jù)元素的物理順序與邏輯順序相同標準答案:4知識點解析:鏈式存儲結構克服了順序存儲結構的缺點:它的結點空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結點的指針來指示,不需要移動數(shù)據(jù)元素。故鏈式存儲結構下的線性表便于插入和刪除操作。3、數(shù)據(jù)結構中,與所使用的計算機無關的是數(shù)據(jù)的A、存儲結構B、物理結構C、邏輯結構D、物理和存儲結構標準答案:4知識點解析:數(shù)據(jù)結構概念一般包括3個方面的內容,數(shù)據(jù)的邏輯結構、存儲結構及數(shù)據(jù)上的運算集合。數(shù)據(jù)的邏輯結構只抽象的反映數(shù)據(jù)元素之間的邏輯關系,而不管它在計算機中的存儲表示形式。4、結構化程序設計主要強調的是A、程序的規(guī)模B、程序的效率C、程序設計語言的先進性D、程序易讀性標準答案:8知識點解析:結構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、模塊化及限制使用goto語句,總的來說可使程序結構良好、易讀、易理解、易維護。5、軟件設計包括軟件的結構、數(shù)據(jù)接口和過程設計,其中軟件的過程設計是指A、模塊間的關系B、系統(tǒng)結構部件轉換成軟件的過程描述C、軟件層次結構D、軟件開發(fā)過程標準答案:2知識點解析:軟件設計包括軟件結構設計、數(shù)據(jù)設計、接口設計和過程設計。其中結構設計是定義軟件系統(tǒng)各主要部件之間的關系;數(shù)據(jù)設計是將分析時創(chuàng)建的模型轉化為數(shù)據(jù)結構的定義;接口設計是描述軟件內部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過程設計則是把系統(tǒng)結構部件轉換成軟件的過程性描述。6、檢查軟件產品是否符合需求定義的過程稱為A、確認測試B、集成測試C、驗證測試D、驗收測試標準答案:1知識點解析:確認測試的任務是驗證軟件的功能和性能,以及其他特性是否滿足需求規(guī)格說明中確定的各種需求;集成測試的主要目的是發(fā)現(xiàn)與接口有關的錯誤。7、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是A、控制流B、加工C、數(shù)據(jù)存儲D、源和潭標準答案:1知識點解析:數(shù)據(jù)流圖包括4個方面,即加工(轉換)(輸入數(shù)據(jù)經加工變換產生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體)。不包括選項中的控制流。8、應用數(shù)據(jù)庫的主要目的是A、解決數(shù)據(jù)保密問題B、解決數(shù)據(jù)完整性問題C、解決數(shù)據(jù)共享問題D、解決數(shù)據(jù)量大的問題標準答案:4知識點解析:數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”與“共享”的特點,亦即是數(shù)據(jù)庫集中了各種應用的數(shù)據(jù),進行統(tǒng)一構造與存儲,而使它們可以被不同應用程序所使用,故選項C)正確。9、在數(shù)據(jù)庫設計中,將E-R圖轉換成關系數(shù)據(jù)模型的過程屬于A、需求分析階段B、邏輯設計階段C、概念設計階段D、物理設計階段標準答案:2知識點解析:E-R模型即實體—聯(lián)系模型,是將現(xiàn)實世界的要求轉化成實體、聯(lián)系、屬性等幾個基本概念,以及它們之間的兩種聯(lián)接關系。數(shù)據(jù)庫邏輯設計階段包括以下幾個過程:從E-R圖向關系模式轉換,邏輯模式規(guī)范化及調整、實現(xiàn)規(guī)范化和RDBMS,以及關系視圖設計。10、在數(shù)據(jù)管理技術的發(fā)展過程中,經歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是A、數(shù)據(jù)庫系統(tǒng)B、文件系統(tǒng)C、人工管理D、數(shù)據(jù)項管理標準答案:1知識點解析:人工管理階段是在20世紀50年代中期以前出現(xiàn)的,數(shù)據(jù)不獨立,完全依賴于程序;文件系統(tǒng)是數(shù)據(jù)庫系統(tǒng)發(fā)展的初級階段,數(shù)據(jù)獨立性差;數(shù)據(jù)庫系統(tǒng)具有高度的物理獨立性和一定的邏輯獨立性。二、選擇題(1分)(本題共10題,每題1.0分,共10分。)11、下面各選項中,均是C語言合法標識符的選項組是A、33weautoB、_23me_3ewC、_433e_elseD、ER-DF32標準答案:2知識點解析:合法的標識符是由字母、數(shù)字和下劃線組成,并且第一個字符必須為字母或下劃線,用戶定義的標識符不能與關鍵字相同。選項A),數(shù)字不能為第一個字母,auto為關鍵字;選項C)中,也是數(shù)字不能為第一個字母,else為關鍵字;選項D)中負號不合法。12、下列關于復合語句和空語句的說法錯誤的是A、復合語句是由“{”開頭,由“}”結尾的B、復合語句在語法上視為一條語句C、復合語句內,可以有執(zhí)行語句,不可以有定義語句部分D、C程序中的所有語句都必須由一個分號作為結束標準答案:4知識點解析:復合語句內,不僅可以有執(zhí)行語句,而且還可以有定義語句部分。定義語句應該出現(xiàn)在可執(zhí)行語句前面。13、關于printf()函數(shù)的返回值敘述正確的是A、通常是本次調用中輸出字符的個數(shù)B、通常是輸出的第一個數(shù)值C、通常返回布爾值真D、通常返回非零值標準答案:1知識點解析:printf函數(shù)的返回值通常是本次調用中輸出字符的個數(shù)。scanf函數(shù)在調用結束后將返回一個函數(shù)值,其值等于得到輸入項的個數(shù)。14、以下對C語言函數(shù)的有關描述中,正確的是A、在C語言中調用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳送給實參B、C函數(shù)既可以嵌套定義又可以遞歸調用C、函數(shù)必須有返回值,否則不能使用函數(shù)D、函數(shù)必須有返回值,返回值類型不定標準答案:1知識點解析:C語言中的函數(shù)可以進行遞歸調用,但是不能在函數(shù)中定義函數(shù),函數(shù)不必要有返回值,若有返回值,則返回值類型必確定。15、假定int類型變量占用兩個字節(jié),有定義:intx[10]={0,2,4};,則數(shù)組x在內存中占字節(jié)數(shù)是A、3B、6C、10D、20標準答案:8知識點解析:x數(shù)組共有10個元素,在花括弧內只提供3個初值,這表示只給前面的3個成員賦值,后7個元素的值為0,所以,一共有20個字節(jié)。16、以下對結構體類型變量的定義中,不正確的是A、typedefstructaa{intn;floatm;}AA;AAtdl;B、#defineAAstructaaAA{intn;floatm;}tdl;C、struct{intn;floatm;}aa;structaatdl;D、struct{intn;floatm;}tdl;標準答案:4知識點解析:定義結構體類型的變量有幾種的方法如下:①定義結構體類型的同時,定義結構體類型的變量,如下面的定義中在定義結構體類型aa的同時定義了該類型的變量tdl。上述B)項中將宏名AA用宏體structaa替換進去后,與該定義形式一樣,因此是正確的。這一定義形式中,結構體類型名明是可以省略的,因此,D)項也是正確的。structaa{...}tdl;②先定義結構體類型,然后再定義結構體類型的變量,形式如下:structaa{…};structaatdl;這種定義形式也可演變?yōu)?,先用類型定義語句typedef將該結構體類型定義成一個類型名AA,然后直接用該類型名AA去定義一個變量(這時不再需要使用關鍵字struct了)。這就是A)項的形式。17、C語言中,能識別處理的文件為A、文本文件和數(shù)據(jù)塊文件B、文本文件和二進制文件C、流文件和文本文件D、數(shù)據(jù)文件和二進制文件標準答案:2知識點解析:在計算機中,對于輸入輸出均采用數(shù)據(jù)流的形式。文件按照存取方式分為順序存取文件和隨機存取文件。按照存儲形式分為二進制文件和文本文件。文本文件存儲的是一個ASCII碼,文件的內容可以直接進行輸入輸出。二進制文件直接將字符存儲,不能將二進制文件的內容直接輸出到屏幕上。所以,C語言所能夠處理文件是按照存放形式分為文本文件和二進制文件。18、現(xiàn)在有以下定義,inta;doubleb;floatc;chark;則下面的表達式a/b+c-k值的類型為:A、intB、doubleC、floatD、char標準答案:2知識點解析:雙目運算中兩邊運算量類型轉換規(guī)律:運算數(shù)1運算數(shù)2轉換結果類型短整型長整型短整型->長整型整型長整型整型->長整型字符型整型字符型->整型有符號整型無符號整型有符號整型->無符號整型整型浮點型整型->浮點型在a/b的時候,a,b的類型不一致,根據(jù)類型轉換規(guī)則,把整型轉換成double類型,之后的加,減類似。轉化規(guī)則為char,short→int→unsigned→long→double←float19、若有定義:char*st="howareyou";下列程序段中正確的是A、chara[11],*p;strcpy(p=a+1,&st[4]);B、chara[11];strcpy(++a,st);C、chara[11];strcpy(a,st);D、chara[],*p;strcpy(p=&a[1],st+2);標準答案:1知識點解析:本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語言不允許用賦值表達式對字符數(shù)組賦值,如下面的語句就是非法的:strl=“China”,如果想把“China”這5個字符放到數(shù)組strl中,除了逐個地輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個字符串復制到一字符數(shù)組中。例如:strcpy(strl,“China”);或strcpy(strl,str2);注意,不能企圖用以下語句來實行賦值(將str2的值傳給strl):strl=str2;不能用賦值語句將一個字符串常量或字符數(shù)組直接給一個字符數(shù)組。strcpy函數(shù)的結構是:strcpy(字符數(shù)組1,字符串2)其中,需要注意的是,字符數(shù)組1的長度不應小于字符串2的長度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(strl),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語句將一個字符串常量或字符數(shù)組直接給一個字符數(shù)組。20、若變量已正確定義并賦值,下面符合C語言語法的表達式是A、m:=5B、c=b=a=lC、float8%5D、x+5=y+2標準答案:2知識點解析:選項A)中的賦值方法為Pascal語言賦值格式;C語言中賦值直接為“=”,無冒號;選項D)中“x+5=y+2”賦值格式錯誤,賦值號左邊不可以出現(xiàn)常量,也不可以同時出現(xiàn)兩個變量。選項C)應改為(float)8%3三、選擇題(2分)(本題共30題,每題1.0分,共30分。)21、有以下程序:main(){inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}程序的輸出結果是A、409B、277C、1D、91標準答案:8知識點解析:本題是計算50之內的自然數(shù)相加之和,題中if語句括號中的條件表達式!(i%5)&&!(i%3)表明只有能同時被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個條件的只有3個數(shù),15,30,45,因為s的初始值為1,所以s=1+15+30+45=91。故正確答案為D)。22、若運行時給變量x輸入12,則以下程序的運行結果是main(){intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A、0B、22C、12D、10標準答案:1知識點解析:本題考查的是三目運算符的用法,三目運算符的形式為(表達式1)?(表達式2):(表達式3)。當(表達式1)的值為真時,求(表達式2)的值為整個表達式的值;如果(表達式1)的值為假,則求(表達式3)的值為整個表達式的值。題中,表達式x>12的結果為假,所以執(zhí)行的語句是x-12,最終y的值應該是0。23、已知intt=0;while(t=1){…}則以下敘述正確的是A、循環(huán)控制表達式的值為0B、循環(huán)控制表達式的值為1C、循環(huán)控制表達式不合法D、以上說法都不對標準答案:2知識點解析:t=1是將t賦值為1,所以循環(huán)控制表達式的值為1。而判斷t是否等于1時應用t==1,注意“=”與“==”的用法。24、有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\b",i,j);}程序運行后的輸出結果是A、9,9B、8,9C、1,8D、9,8標準答案:8知識點解析:本題考查了求數(shù)據(jù)類型長度的運算符sizeof和求字符串長度的函數(shù)strlen的區(qū)別。strlen計算的是一個字符串的實際字符個數(shù),如果字符串放在字符數(shù)組中,則函數(shù)strlen的值為’\0’之前的全部字符個數(shù)。而sizeof求出的是數(shù)據(jù)占據(jù)存儲空間的字節(jié)數(shù),當然也要包括字符串的結束標志符’\0’。25、以下能正確定義一維數(shù)組的選項是A、inta[5]={0,1,2,3,4,5}B、chara[]={’0’,’1’,’2’,’3’,’4’,’5’,’\0’};C、chara={’A’,’B’,’C’};D、inta[5]="0123";標準答案:2知識點解析:選項A)中,定義的初值個數(shù)大于數(shù)組的長度;選項C)中,數(shù)組名后少了中括號;選項D)中,整型數(shù)組不能賦予字符串。26、有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序運行后的輸出結果是A、編譯出錯B、9C、21D、9標準答案:2知識點解析:本題考查函數(shù)的綜合知識。首先,我們可以利用強制轉換類型轉換運算符將一個表達式轉換成所需類型。如:(double)a是將a轉換成double類型;(int)(x+y)是將x+y的值轉換成整型。本題可按部就班地逐步運算:fun((int)fun(a+c,b),a-c)fun((int)fun(10,5),2-8)fun((int)15.000000,-6)fun(15,-6)927、若有下面的程序段:chars[]="china";char*p;p=s;則下列敘述正確的是A、s和p完全相同B、數(shù)組s中的內容和指針變量p中的內容相等C、s數(shù)組長度和p所指向的字符串長度相等D、*p與s[0]相等標準答案:8知識點解析:字符型指針變量p中存放的是"china"的首地址,所以選項A)和B)錯誤。e數(shù)組長度為6,而p所指向的字符串長度為5,二者不相等,排除選項C)。28、以下程序的輸出結果是voidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j<2);}main(){intk,a[10]={1,2,3,4,5};for(k=1;k<3;k++)fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A、34756B、23345C、35745D、12345標準答案:4知識點解析:本題考查了通過數(shù)組首地址引用數(shù)組元素的方法。第一次執(zhí)行fun(a)后,a[0]=3,a[1]=5。第二次執(zhí)行fun(a)時,因為static變量j保存著上次執(zhí)行時的值為2,所以a[2]=7,最后數(shù)組a={3,5,7,4,5}。故正確答案為選項C)。29、下面的程序段運行后,輸出結果是inti,j,x=0;staticinta[8][8];for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=2*i+j;for(i=0;i<8;i++)x+=a[i][j];printf("%d",x);A、9B、不確定值C、0D、18標準答案:4知識點解析:本題主要考查的用二維數(shù)組首地址和下標來引用二維數(shù)組元素的方法。通過分析可知,程序中的雙重循環(huán)定義了一個如下的二維數(shù)組:由于數(shù)組的下標是從0開始的,所以二維數(shù)組元素a[i][j]表示的是二維數(shù)組a的第i+1行、第j+1列對應位置的元素。30、若有語句:char*line[5];,以下敘述中正確的是A、定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char為指針變量B、定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組C、定義line是一個指針數(shù)組,語句中的。號稱為間址運算符D、定義line是一個指向字符型函數(shù)的指針標準答案:1知識點解析:C語言中[]比:優(yōu)先級高,因此line先與[5]結合,形成line[5]形式,這是數(shù)組形式,它有5個元素,然后再與line前面的“*”結合,表示此數(shù)組是一個指針數(shù)組,每個數(shù)組元素都是一個基類型為char的指針變量。31、下列程序執(zhí)行后的輸出結果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}A、6B、7C、8D、9標準答案:1知識點解析:函數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年院線經營項目規(guī)劃申請報告模板
- 2025年防結皮劑項目提案報告模板
- 2025年會議場地租賃合同書模板
- 2025年勞務派遣人員安全生產責任協(xié)議
- 2025年產品銷售合同范本官方
- 2025年鐵軌建設項目立項申請報告模范
- 2025年節(jié)日禮品項目規(guī)劃申請報告模板
- 2025年規(guī)劃管理服務項目申請報告
- 2025年臨時聘用人員安全生產協(xié)議
- 2025年中信銀行信用卡還款合同
- 常見食物的嘌呤含量表匯總
- 人教版數(shù)學八年級下冊同步練習(含答案)
- SB/T 10752-2012馬鈴薯雪花全粉
- 2023年湖南高速鐵路職業(yè)技術學院高職單招(英語)試題庫含答案解析
- 濕型砂中煤粉作用及檢測全解析
- 積累運用表示動作的詞語課件
- 機動車登記證書英文證書模板
- 第8課《山山水水》教學設計(新人教版小學美術六年級上冊)
- T∕ZSQX 008-2020 建設工程全過程質量行為導則
- 質量管理體系基礎知識培訓-2016
- 甲醇催化劑說明書
評論
0/150
提交評論