全國計算機二級C語言歷年考試-真題-包含答案_第1頁
全國計算機二級C語言歷年考試-真題-包含答案_第2頁
全國計算機二級C語言歷年考試-真題-包含答案_第3頁
全國計算機二級C語言歷年考試-真題-包含答案_第4頁
全國計算機二級C語言歷年考試-真題-包含答案_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..全國計算機二級C語言歷年考試真題2010年3月全國計算機二級C語言考試真題一、〔1下列敘述中正確的是A對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為nB對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為〔n/2C對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為〔log2nD對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為〔log2n〔2算法的時間復(fù)雜度是指A算法的執(zhí)行時間B算法所處理的數(shù)據(jù)量C算法程序中的語句或指令條數(shù)D算法在執(zhí)行過程中所需要的基本運算次數(shù)〔3軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件〔或工具軟件。下面屬于系統(tǒng)軟件的是A編輯軟件B操作系統(tǒng)C教務(wù)管理系統(tǒng)D瀏覽器〔4軟件〔程序調(diào)試的任務(wù)是A診斷和改正程序中的錯誤B盡可能多地發(fā)現(xiàn)程序中的錯誤C發(fā)現(xiàn)并改正程序中的所有錯誤D確定程序中錯誤的性質(zhì)〔5數(shù)據(jù)流程圖〔DFD圖是A軟件概要設(shè)計的工具B軟件詳細設(shè)計的工具C結(jié)構(gòu)化方法的需求分析工具D面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ摺玻盾浖芷诳煞譃槎x階段,開發(fā)階段和維護階段。詳細設(shè)計屬于A定義階段B開發(fā)階段C維護階段C上述三個階段〔7數(shù)據(jù)庫管理系統(tǒng)中負責(zé)數(shù)據(jù)模式定義的語言是A數(shù)據(jù)定義語言B數(shù)據(jù)管理語言C數(shù)據(jù)操縱語言D數(shù)據(jù)控制語言〔8在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個學(xué)生信息的數(shù)據(jù)單位是A文件B數(shù)據(jù)庫C字段D記錄〔9數(shù)據(jù)庫設(shè)計中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機中的表示,它屬于數(shù)據(jù)庫設(shè)計的A需求分析階段B邏輯設(shè)計階段C概念設(shè)計階段D物理設(shè)計階段〔10有兩個關(guān)系R和T如下:RTABCa12b22c32d32ABCc32d32則由關(guān)系R得到關(guān)系T的操作是A選擇B投影C交D并〔11以下敘述正確的是AC語言程序是由過程和函數(shù)組成的BC語言函數(shù)可以嵌套調(diào)用,例如:fun〔fun〔xCC語言函數(shù)不可以單獨編譯DC語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在〔12以下關(guān)于C語言的敘述中正確的是AC語言中的注釋不可以夾在變量名或關(guān)鍵字的中間BC語言中的變量可以在使用之前的任何位置進行定義C在C語言算術(shù)表達式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致DC語言的數(shù)值常量中夾帶空格不影響常量值的正確表示〔13以下C語言用戶標識符中,不合法的是A_1BAaBcCa_bDa--b〔14若有定義:doublea=22;inti=0,k=18;,則不符合C語言規(guī)定的賦值語句是Aa=a++,i++;Bi=〔a+k<=〔i+k;Ci=a%11;Di=!a;〔15有以下程序#include<stdio.h>main<>{chara,b,c,d;scanf<"%c%c",&a,&b>;c=getchar<>;d=getchar;printf<"%c%c%c%c\n",a,b,c,d>;}當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù)〔從第1列開始,<CR>代表回車,注意:回車也是一個字符12<CR>34<CR>則輸出結(jié)果是A1234B12C12D12334〔16以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是A若要準確無誤差的表示自然數(shù),應(yīng)使用整數(shù)類型B若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型C若要處理如"人員信息"等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D若只處理"真"和"假"兩種邏輯值,應(yīng)使用邏輯類型〔17若a是數(shù)值類型,則邏輯表達式〔a==I||〔a!=1的值是A1B0C2D不知道a的值,不能確定〔18以下選項中與if〔a==1a=b;elsea++;語句功能不同的switch語句是Aswitch〔a{case1:a=b;break;default:a++;}Bswitch〔a==1{case0:a=b;break;case1:a++;}Cswitch〔a{default:a++;break;case1:a=b;}Dswitch〔a==1{case1:a=b;break;case0:a++;}〔19有如下嵌套的if語句if<a<b>if<a<c>k=a;elsek=c;if<b<c>k=b;elsek=c;以下選項中與上述if語句等價的語句是Ak=<a<b>?a:b;k=〔b<c?b:c;Bk=<a<b?<<b<c?a:b<<b>c>?b:c>;Ck=<a<b?<<a<c?a:c<<b<c>?b:c>;Dk=<a<b?a:b;k=〔a<c?a:c;〔20有以下程序#include<stdio.h>main<>{inti,j,m=1;for<i=1;i<3;i++>{for<j=3;j>0;j-->{if<i+j>3>break;m*=i*j;}}printf<"m=%d\n",m>;}程序運行后的輸出結(jié)果是Am=6Bm=2Cm=4Dm=5〔21有以下程序#include<stdio.h>main<>{inta=1,b=2;for<;a<8;a++>{b+=a;a+=2;}printf<"%d,%d\n",a,b>;}程序運行后的輸出結(jié)果是A9,18B8,11C7,11D10,14〔22有以下程序,其中k的初值為八進制數(shù)#include<stdio.h>main<>{intk=011;printf<"%d\n",k++>;}程序運行后的輸出結(jié)果是A12B11C10D9〔23下列語句組中,正確的是Achar*s;s="Olympic";Bchars[7];s="Olympic";Cchar*s;s={"Olympic"};Dchars[7];s={"Olympic"};〔24以下關(guān)于return語句的敘述中正確的是A一個自定義函數(shù)中必須有一條return語句B一個自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句C定義成void類型的函數(shù)中可以有帶返回值的return語句D沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時不能返同到調(diào)用處〔25下列選項中,能正確定義數(shù)組的語句是Aintnum[0..2008];Bintnum[];CintN=2008;D#defineN2008intnum[N];intnum[N];〔26有以下程序#include<stdio.h>voidfun<char*c,intd>{*c=*c+1;d=d+1;printf<"%c,%c",*c,d>;}main<>{charb=‘a(chǎn)’,a=‘A’;fun<&b,a>;printf<"%c,%c\n",b,a>;}程序運行后的輸出結(jié)果是Ab,B,b,ABb,B,B,ACa,B,B,aDa,B,a,B〔27若有定義int〔*pt[3];,則下列說法正確的是A定義了基類型為int的三個指針變量B定義了基類型為int的具有三個元素的指針數(shù)組ptC定義了一個名為*pt、具有三個元素的整型數(shù)組D定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組〔28設(shè)有定義doublea[10],*s=a;,以下能夠代表數(shù)組元索a[3]的是A<*s[3]B*〔s+3C*s[3]D*s+3〔29有以下程序#include<stdio.h>main<>{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for<i=1;i<3;i++>s=s+a[b[i]];printf<"%d\n",s>;}程序運行后的輸出結(jié)果是A6B10C11D15〔30有以下程序#include<stdio.h>main<>{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for<i=1;i<3;i++>for<j=1;j<=1;j++>t+=b[i][b[j][i]];printf<"%d\n",t>;}程序運行后的輸出結(jié)果是A1B3C4D9〔31若有以下定義和語句chars1[10]="abcd!",s2="\n123\\";printf〔"%d%d\n",strlen〔s1,strlen〔s2;則輸出結(jié)果是A55B105C107D58〔32有以下程序#include<stdio.h>#defineN8voidfun<int*x,inti>{*x=*x+i;}main<>{inta[N]={1,2,3,4,5,6,7,8},i;fun<a,2>;for<i=1;i<N/2;i++>{printf<"%d",a[i]>;}printf<"\n">;}程序運行后的輸山結(jié)果是A1313B2234C3234D1234〔33有以下程序#include<stdio.h>intf<intt[],intn>;main<>{inta[4]={1,2,3,4},s;s=f<a,4>;printf<"%d\n",s>;}intf<intt[],intn>{if<n>0>returnt[n-1]+f<t,n-1>;elsereturn0;}程序運行后的輸出結(jié)果是A4B10C14D6〔34有以下程序#include<stdio.h>intfun<>{staticintx=1;x*=2;returnx;}main<>{inti,s=1;for<i=1;i<=2;i++>s=fun<>;printf<"%d\n",s>;}程序運行后的輸出結(jié)果是A0B1C4D8〔35有以下程序#include<stdio.h>#defineSUB<a><a>-<a>main<>{inta=2,b=3,c=5,d;d=SUB<a+b>*c;printf<"%d\n",d>;}程序運行后的輸山結(jié)果是A0B-12C-20D10〔36設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語句中錯誤的是Adata2=data1;Bdata2=〔2,6;Cdata2.real=data1.real;Ddata2.real=data1.unreal;〔37有以下程序#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};voidf<structAt>;main<>{structAa={1001,"ZhangDa",1098.0};f<a>;printf<"%d,%s,%6.1f\n",a.a,a.b,a.c>;}voidf<structAt>{t.a=1002;strcpy<t.b,"ChangRong">;t.c=1202.0;}輸出結(jié)果是A1001,ZhangDa,1098.0B1002,ChangRong,1202.0C1001,ChangRong,10980D1002,ZhangDa,1202.0〔38有以下定義和語句structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是Apw.year=1980;Bw.year=1980;Cpw->year=1980;Dw.s.year=1980;〔39有以下程序#include<stdio.h>main<>{inta=2,b=a,c=2;printf<"%d\n",a/b&c>;}程序運行后的輸出結(jié)果是A0B1C2D3〔40有以下程序#include<stdio.h>main<>{FILE*fp;charstr[10];fp=open<"myfile.dat","w">;fputs<"abc",pf>;close<pf>;fp=open<"myfile.dat","a+">;fprintf<pf,"%d",28>;rewind<pf>;fscanf<pf,"%s",str>;puts<str>;close<pf>;}程序運行后的輸出結(jié)果是AabcB28cCabc28D因類型不一致而出錯二、填空題〔每空2分,共30分請將每空的正確答案寫在答題卡[1]~[15]序號的橫線上,答在試卷上不得分?!玻币粋€隊列的初始狀態(tài)為空。現(xiàn)將元素A,B,C,D,E,F,5,4,3,2,1依次入隊,然后再依次退隊,則元素退隊的順序為[1]。〔2設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45〔指向隊頭元素的前一位置,尾指針rear=10〔指向隊尾元素,則該循環(huán)隊列中共有[2]個元素。〔3設(shè)二叉樹如下:AABCDFEGH對該二叉樹進行后序遍歷的結(jié)果為[3]。〔4軟件是[4]數(shù)據(jù)和文檔的集合。〔5有一個學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生〔學(xué)號,姓名,班級,年齡,課程的關(guān)系模式為:課程〔課號,課程名,學(xué)時,其中兩個關(guān)系模式的鍵分別是學(xué)號和課號,則關(guān)系模式選課可定義為:選課〔學(xué)號,[5],成績。〔6設(shè)x為int型變量,請寫出一個關(guān)系表達式[6],用以判斷x同時為3和7的倍數(shù)時,關(guān)系表達式的值為真。〔7有以下程序#include<stdio.h>main<>{inta=1,b=2,c=3,d=0;if<a==1>if<b!=2>if<c==3>d=1;elsed=2;elseif<c!=3>d=3;elsed=4;elsed=5;printf<"%d\n",d>;}程序遠行后的輸出結(jié)果是[7]。〔8有以下程序#include<stdio.h>main<>{intm,n;scanf<"%d%d",&m,&n>;while<m!=n>{while<m>n>m=m-n;while<m<n>n=n-m;}printf<"%d\n",m>;}程序運行后,當(dāng)輸入1463<回車>時,輸出結(jié)果是[8]。〔9有以下程序#include<stdio.h>main<>{inti,j,a[][3]={1,2,3,4,5,6,7,8,9};for<i=1;i<3;i++>for<j=1;j<3;i++>printf<"%d",a[i][j]>;printf<"\n">;}程序運行后的輸出結(jié)果是[9]〔10有以下程序#include<stdio.h>main<>{inta[]={1,2,3,4,5,6},*k[3],i=0;while<i<3>{k[i]=&a[2*i];printf<"%d",*k[i]>;i++;}}程序運行后的輸出結(jié)果是[10]。〔11有以下程序#include<stdio.h>main<>{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};intb[3]={0},i;for<i=1;i<3;i++>b[i]=a[i][2]+a[2][i];for<i=1;i<3;i++>printf<"%d",b[i]>;printf<"\n">;}程序運行后的輸出結(jié)果是[11]?!玻保灿幸韵鲁绦?include<stdio.h>#include<string.h>voidfun<char*str>{chartemp;intn,i;n=strlen<str>;temp=str[n-1];for<i=n-1;i>0;i-->str[i]=str[i-1];str[0]=temp;}main<>{chars[50];scanf<"%s",s>;fun<s>;printf<"%s\n",s>;}程序運行后輸入:abcdef<回車>,則輸出結(jié)果是[12]〔13以下程序的功能是:將值為三位正整數(shù)的變量x中的數(shù)值按照個位、十位、百位的順序拆分并輸出。請?zhí)羁铡?include<stdio.h>main<>{intx=256;printf<"%d-%d-%d\n",[13],x/10%10,x/100>;}〔14以下程序用以刪除字符串中所有的空格,請?zhí)羁铡?include<stdio.h>main<>{char[100]={"Ourteacherteachclanguage!"};inti,j;for<i=j=0;s[i]!=‘\0’if<s[i]!=‘’>{s[j]=s[i];j++;}s[j]=[14];printf<"%s\n",s>;}〔15以下程序的功能是:借助指針變量找出數(shù)組元素中的最大值及其元素的下標值。請?zhí)羁铡?include<stdio.h>main<>{inta[10],*p,*s;for<p=a;p-a<10;p++>scanf<"%d",p>;for<p=a,s=a;p-a<10;p++>if<*p>*s>s=[15];printf<"index=%d\n"s-a>;}一、選擇題:

1.C2.D3.B4.A5.C6.B7.A8.D9.C10.A11.B12.A13.D14.C15.C16.D17.A18.B19.C20.A21.D22.D23.A24.B25.D26.A27.D28.B29.C30.C31.A32.C33.B34.C35.B36.B37.A38.D39.A40.C

二、填空題:

<1>ABCDEF54321<2>15<3>EDBGHFCA<4>程序<5>課號<6><x%3==0>&&<x%7==0><7>4<8>7<9>123569<10>135<11>101418<12>fabcde<13>x%10<14>'\0'<15>p20XX9月全國計算機等級考試二級筆試試卷..一、〔1下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A循環(huán)隊列B>帶鏈隊列C>二叉樹D帶鏈棧〔2下列數(shù)據(jù)結(jié)果中,能夠按照"先進后出"原則存取數(shù)據(jù)的是A>循環(huán)隊列B>棧C>隊列D>二叉樹〔3對于循環(huán)隊列,下列敘述中正確的是A隊頭指針是固定不變的B隊頭指針一定大于隊尾指針C隊頭指針一定小于隊尾指針D隊頭指針可以大于隊尾指針,也可以小于隊尾指〔4算法的空間復(fù)雜度是指A算法在執(zhí)行過程中所需要的計算機存儲空間B算法所處理的數(shù)據(jù)量C算法程序中的語句或指令條數(shù)D算法在執(zhí)行過程中所需要的臨時工作單元數(shù)〔5軟件設(shè)計中劃分模塊的一個準則是A>低內(nèi)聚低耦合B>高內(nèi)聚低耦合C>低內(nèi)聚高耦合D>高內(nèi)聚高耦合〔6下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是A>可封裝B>自頂向下C>模塊化D>逐步求精〔7軟件詳細設(shè)計產(chǎn)生的圖如下:該圖是A>N-S圖B>PAD圖C>程序流程圖D>E-R圖〔8數(shù)據(jù)庫管理系統(tǒng)是A操作系統(tǒng)的一部分B>在操作系統(tǒng)支持下的系統(tǒng)軟件C>一種編譯系統(tǒng)D>一種操作系統(tǒng)〔9在E-R圖中,用來表示實體聯(lián)系的圖形是A>橢圓圖B>矩形C>菱形D>三角形〔10有三個關(guān)系R,S和T如下:其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為A>選擇B>投影C>交D>并〔11以下敘述中正確的是A程序設(shè)計的任務(wù)就是編寫程序代碼并上機調(diào)試B程序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)C程序設(shè)計的任務(wù)就是確定所用算法D以上三種說法都不完整〔12以下選項中,能用作用戶標識符的是AvoidB8_8C_0_Dunsigned〔13閱讀以下程序#includemain<>{intcase;floatprintF;printf<"請輸入2個數(shù):">;scanf<"%d%f",&case,&pjrintF>;printf<"%d%f\n",case,printF>;}該程序編譯時產(chǎn)生錯誤,其出錯原因是A定義語句出錯,case是關(guān)鍵字,不能用作用戶自定義標識符B定義語句出錯,printF不能用作用戶自定義標識符C定義語句無錯,scanf不能作為輸入函數(shù)使用D定義語句無錯,printf不能輸出case的值〔14表達式:<int><<double>9/2>-<9>%2的值是A0B3C4D5〔15若有定義語句:intx=10;,則表達式x-=x+x的值為A-20B-10C0D10〔16有以下程序#includemain<>{inta=1,b=0;printf<"%d,",b=a+b>;printf<"%d\n",a=2*b>;}程序運行后的輸出結(jié)果是A0,0B1,0C3,2D1,217設(shè)有定義:inta=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是Aif<a>b>c=a,a=b,b=c;Bif<a>b>{c=a,a=b,b=c;}Cif<a>b>c=a;a=b;b=c;Dif<a>b>{c=a;a=b;b=c;}〔18有以下程序#includemain<>{intc=0,k;for<k=1;k<3;k++>switch<k>{default:c+=kcase2:c++;break;case4:c+=2;break;}printf<"%d\n",c>;}程序運行后的輸出結(jié)果是A3B5C7D9〔19以下程序段中,與語句:k=a>b?<b>c?1:0>:0;功能相同的是Aif<<a>b>&&<b>c>>k=1;elsek=0;Bif<<a>b>||<b>c>k=1;elsek=0;Cif<a<=b>k=0;elseif<b<=c>k=1;Dif<a>b>k=1;elseif<b>c>k=1;elsek=0;20有以下程序#includemain<>{chars[]={"012xy"};inti,n=0;for<i=0;s[i]!=0;i++>if<s[i]>=’a’&&s[i]<=’z’>n++;printf<"%d\n",n>;}程序運行后的輸出結(jié)果是A0B2C3D5〔21有以下程序#includemain<>{intn=2,k=0;while<k++&&n++>2>;printf<"%d%d\n",k,n>;}程序運行后的輸出結(jié)果是A02B13C57D12〔22有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是Achara=’a’;Bchara=’\n’;Cchara=’aa’;Dchara=’\x2d’;〔23有以下程序#includemain<>{charc1,c2;c1=’A’+’8’-‘4c2=’A’+’8’-‘5printf<"%c,%d\n",c1,c2>;}已知字母A的ASCII碼為65,程序運行后的輸出結(jié)果是AE,68BD,69CE,DD輸出無定值〔24有以下程序#includevoidfun<intp>{intd=2;p=d++;printf<"%d",p>;}main<>{inta=1;fun<a>;printf<"%d\n",a>;}程序運行后的輸出結(jié)果是A32B12C21D22〔25以下函數(shù)findmax擬實現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯導(dǎo)致不能實現(xiàn)預(yù)定功能#defineMIN-2147483647intfindmax<intx[],intn>{inti,max;for<i=0;i<N;I++><p=""/>{max=MIN;if<maxreturnmax;}造成錯誤的原因是A定義語句inti,max;中max未賦初值B賦值語句max=MIN;中,不應(yīng)給max賦MIN值C語句if<maxD賦值語句max=MIN;放錯了位置〔26有以下程序#includemain<>{intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf<"%d,%d,%d,%d\n",m,n,*p,*q>;}程序運行后的輸出結(jié)果是A1,2,1,2B1,2,2,1C2,1,2,1D2,1,1,2〔27若有定義語句:inta[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是Ap=aBq[i]=a[i]Cp=a[i]Dp=&a[2][1]〔28有以下程序#include#includemain<>{charstr[][20]={"One*World","One*Dream!"},*p=str[1];printf<"%d,",strlen<p>>;printf<"%s\n",p>;}程序運行后的輸出結(jié)果是A9,One*WorldB9,One*DreamC10,One*DreamD10,One*World〔29有以下程序#includemain<>{inta[]={2,3,5,4},i;for<i=0;i<4;i++>switch<i%2>{case0:switch<a[i]%2>{case0:a[i]++;break;case1:a[i]--;}break;case1:a[i[=0;}for<i=0;i<4;i++>printf<"%d",a[i]>;printf<"\n">;}A3344B2050C3040D0304〔30有以下程序#include#includemain<>{chara[10]="abcd";printf<"%d,%d\n",strlen<a>,sizeof<a>>;}程序運行后的輸出結(jié)果是A7,4B4,10C8,8D10,10〔31下面是有關(guān)C語言字符數(shù)組的描述,其中錯誤的是A不可以用賦值語句給字符數(shù)組名賦字符串D字符數(shù)組只能存放字符串B可以用輸入語句把字符串整體輸入給字符數(shù)組C字符數(shù)組中的內(nèi)容不一定是字符串〔32下列函數(shù)的功能是fun<char*a,char*b>{while<<*b=*a>!=’\0’將a所指字符串賦給b所指空間B使指針b指向a所指字符串C將a所指字符串和b所指字符串進行比較D檢查a和b所指字符串中是否有’\0〔33設(shè)有以下函數(shù)voidfun<intn,char*s>{……}則下面對函數(shù)指針的定義和賦值均是正確的是Avoid<*pf><>;pf=fun;Bviod*pf<>;pf=fun;Cvoid*pf<>;*pf=fun;Dvoid<*pf><int,char>;pf=&fun;〔34有以下程序#includeintf<intn>;main<>{inta=3,s;s=f<a>;s=s+f<a>;printf<"%d\n",s>;}intf<intn>{staticinta=1;n+=a++;returnn;}程序運行以后的輸出結(jié)果是A7B8C9D10〔35有以下程序#include#definef<x>x*x*xmain<>{inta=3,s,t;s=f<a+1>;t=f<<a+1>>;printf<"%d,%d\n’,s,t>;}程序運行后的輸出結(jié)果是A10,64B10,10C64,10D64,64〔36下面結(jié)構(gòu)體的定義語句中,錯誤的是Astructord{intx;inty;intz;};structorda;Bstructord{intx;inty;intz;}structorda;Cstructord{intx;inty;intz;}a;Dstruct{intx;inty;intz;}a;〔37設(shè)有定義:char*c;,以下選項中能夠使字符型指針c正確指向一個字符串的是Acharstr[]="string";c=str;Bscanf<"%s",c>;Cc=getchar<>;D*c="string"〔38有以下程序#include#includestructA{inta;charb[10];doublec;};structAf<structAt>;main<>{structAa={1001,"ZhangDa",1098.0};a=f<a>;jprintf<"%d,%s,%6.1f\n",a.a,a.b,a.c>;}structAf<structAt><t.a=1002;strcpy<t.b,"ChangRong">;t.c=1202.0;returnt;>程序運行后的輸出結(jié)果是A1001,ZhangDa,1098.0C1001,ChangRong,1098.0B1001,ZhangDa,1202.0D1001,ChangRong,1202.0〔39若有以下程序段intr=8;printf<"%d\n",r>>1>;輸出結(jié)果是A16B8C4D2〔40下列關(guān)于C語言文件的敘述中正確的是A文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進制文件B文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進制文件或文本文件C文件由數(shù)據(jù)序列組成,可以構(gòu)成二進制文件或文本文件D文件由字符序列組成,其類型只能是文本文件二、填空題〔每空2分,共30分〔1某二叉樹有5個度為2的結(jié)點以及3個度為1的結(jié)點,則該二叉樹中共有[1]個結(jié)點。〔2程序流程圖中的菱形框表示的是[2]〔3軟件開發(fā)過程主要分為需求分析、設(shè)計、編碼與測試四個階段,其中[3]階段產(chǎn)生"軟件需求規(guī)格說明書。〔4在數(shù)據(jù)庫技術(shù)中,實體集之間的聯(lián)系可以是一對一或一對多或多對多的,那么"學(xué)生"和"可選課程"的聯(lián)系為[4]。〔5人員基本信息一般包括:身份證號,姓名,性別,年齡等。其中可以作為主關(guān)鍵字的是[5]?!?若有定義語句:inta=5;,則表達式:a++的值是[6]。〔7若有語句doublex=17;inty;,當(dāng)執(zhí)行y=<int><x/5>%2;之后y的值為[7]。〔8以下程序運行后的輸出結(jié)果是[8]。#includemain<>{intx=20;printf<"%d",0<X<20>;<p=""/>printf<"%d\n",0<X&&X<=""/>〔9以下程序運行后的輸出結(jié)果是[9]。#includemain〔{inta=1,b=7;do{b=b/2;a+=b;}while<b>1>;printf<"%d\n",a>;}〔10有以下程序#includemain<>{intf,f1,f2,i;f1=0;f2=1;printf<"%d%d",f1,f2>;for<i=3;i<=5;i++>{f=f1+f2;printf<"%d",f>;f1=f2;f2=f;}printf<"\n">;}程序運行后的輸出結(jié)果是[10]。〔11有以下程序#includeinta=5;voidfun<intb>{inta=10;a+=b;printf<"%d",a>;}main<>{intc=20;fun<c>;a+=c;printf<"%d\n",a>;}程序運行后的輸出結(jié)果是[11]。〔12設(shè)有定義:structperson{intID;charname[12];}p;請將scanf<"%d",[12]>;語句補充完整,使其能夠為結(jié)構(gòu)體變量p的成員ID正確讀入數(shù)據(jù)。〔13有以下程序#includemain<>{chara[20]="Howareyou?",b[20];scanf<"%s",b>;printf<"%s%s\n",a,b>;}程序運行時從鍵盤輸入:Howareyou?<回車>則輸出結(jié)果為[13]。〔14有以下程序#includetypedefstruct{intnum;doubles}REC;voidfun1<RECx>{x.num=23;x.s=88.5;}main<>{RECa={16,90.0};fun1<a>;printf<"%d\n",a.num>;}程序運行后的輸出結(jié)果是[14]。〔15有以下程序#includefun<intx>{if<x/2>0>run<x/2>;printf<"%d",x>;}main<>{fun<6>;printf<"\n">;}程序運行后的輸出結(jié)果是[15]。20XX9月全國計算機等級考試二級C語言筆試參考答案選擇題1-10:CBDABACBCD11-20:DCABBDCAAB21-30:DCACDBACCB31-40:DAACABADCC..〔1142邏輯條件〔3需求分析〔4多對多5身份證號〔65〔71810〔951001123..20XX3月二級C語言筆試真題及答案..〔1下列敘述中正確的是

A棧是"先進先出"的線性表B隊列是"先進先出"的線性表C循環(huán)隊列是非線性結(jié)構(gòu)D有序性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)〔2支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是

A棧B樹C隊列D二叉樹〔3某二叉樹有5個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是A10B8C6D4〔4下列排序方法中,最壞情況下比較次數(shù)最少的是A冒泡排序B簡單選擇排序C直接插入排序D堆排序

〔5軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件〔或工具軟件。下面屬于應(yīng)用軟件的是A編譯軟件B操作系統(tǒng)C教務(wù)管理系統(tǒng)D匯編程序〔6下面敘述中錯誤的是A軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤B對被調(diào)試的程序進行"錯誤定位"是程序調(diào)試的必要步驟C程序調(diào)試通常也稱為DebugD軟件測試應(yīng)嚴格執(zhí)行測試計劃,排除測試的隨意性〔7耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標準。下列敘述中正確的是A提高耦合性降低內(nèi)聚性有利于提高模塊的獨立性B降低耦合性提高內(nèi)聚性有利于提高模塊的獨立性C耦合性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度D內(nèi)聚性是指模塊間互相連接的緊密程度〔8數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是A數(shù)據(jù)庫設(shè)計B數(shù)據(jù)庫系統(tǒng)設(shè)計C數(shù)據(jù)庫維護D數(shù)據(jù)庫管理員培訓(xùn)

〔9有兩個關(guān)系R,S如下:RABa3b0c2ABCa32b01c21由關(guān)系R通過運算得到關(guān)系S,則所使用的運算為A選擇B投影C插入D連接〔10將E-R圖轉(zhuǎn)換為關(guān)系模式時,實體和聯(lián)系都可以表示為A屬性B鍵C關(guān)系D域〔11以下選項中合法的標識符是A1-1B1—1C-11D1--〔12若函數(shù)中有定義語句:intk;,則A系統(tǒng)將自動給k賦初值0B這時k中值無定義C系統(tǒng)將自動給k賦初值-1D這時k中無任何值

〔13以下選項中,能用作數(shù)據(jù)常量的是Ao115B0118C1.5e1.5D115L〔14設(shè)有定義:intx=2;,以下表達式中,值不為6的是Ax*=x+1Bx++,2*xCx*=〔1+xD2*x,x+=2

〔15程序段:intx=12;

doubley=3.141593;printf〔"%d%8.6f",x,y;的輸出結(jié)果是A123.141593B123.141593C12,3.141593D123.141593

〔16若有定義語句:doublex,y,*px,*py,執(zhí)行了px=&x,py=&y;之后,正確的輸入語句是Ascanf〔"%f%f",x,y;Bscanf〔"%f%f",&x,&y;Cscanf〔"%lf%le",px,py;Dscanf〔"%lf%lf",x,y;〔17以下是if語句的基本形式:if〔表達式語句;其中"表達式"A必須是邏輯表達式B必須是關(guān)系表達式C必須是邏輯表達式或關(guān)系表達式D可以是任意合法的表達式〔18有以下程序#include<stdio.h>main〔{intx;scanf〔"%d",&x;if〔x<=3;elseif〔x!=10

printf〔"%d\n",x;}程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果A不等于10的整數(shù)B大于3且不等于10的整數(shù)C大于3或等于10的整數(shù)D小于3的整數(shù)〔19有以下程序#include<stdio.h>Main〔{

inta=1,b=2,c=3,d=0;if〔a==1&&b++==2if〔b!=2||c--!=3

printf〔"%d,%d,%d\n",a,b,c;elseprintf〔"%d,%d,%d\n",a,b,c;elseprintf〔"%d,%d,%d\n",a,b,c;}程序運行后的輸出結(jié)果是A1,2,3B1,3,2C1,3,3D3,2,1〔20以下程序中的變量已正確定義for〔i=0;i<4;i++,i++for〔k=1;k<3;k++;printf〔*";程序段的輸出結(jié)果是A********B****C**D*

〔21有以下程序

#include<stdio.h>

main〔

{char

*s=〔"ABC;

do

{printf〔"%d",*s%10;s++;

}while〔*s;

}

注意,字母A的ASCII碼值為65。程序運行后的輸出結(jié)果是

A5670B656667C567DABC

〔22設(shè)變量已正確定義,以下不能統(tǒng)計出一行中輸入字符個數(shù)〔不包含回車符的程序段是An=0;while〔〔ch=getchar〔!=’\n’n++;

Bn=0;while〔getchar〔!=’\n’n++;Cfor〔n=0;getchar〔!=’\n’;n++;

Dn=0;for〔ch=getchar〔;ch!=’\n’;n++;〔23有以下程序#include<stdio.h>main〔{inta1,a2;charc1,c2;scanf〔"%d%c%d%c",&a1,&c1,&a2,&c2;printf〔"%d,%c,%d,%c",&1,c1,a2,c2;}若想通過鍵盤輸入,使得a1的值為12,a2的是為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b,則正確的輸入格式是〔以下

代表空格,<CR>代表回車A12a34b<CR>

B12

a

34

b<CR>C12,a,34,b<CR>D12

a34

b<CR>

〔24有以下程序#include<stdio.h>intf〔intx,inty{return〔y-x*x;}main〔{inta=3,b=4,c=5,d;d=f〔f〔a,b,f〔a,c;printf〔"%d\n",d;}程序運行后的輸出結(jié)果是A10B9C8D7〔25有以下程序#include<stdio.h>voidfun〔char

*s{while〔*s

{if〔*s%2==0

printf〔"%c",*s;s++;

}}main〔{char

a[]={"good"};

fun〔a;printf〔"\n";}注意:字母a的ASCⅡ碼值為97,程序運行后的輸出結(jié)果是AdBgoCgodDgood〔26有以下程序#include<stdio.h>voidfun〔int*a,int*b{int*c;c=a;a=b;b=c;}main〔{intx=3,y-5,*P=&x,*q=&y;

fun〔p,q;printf〔"%d,%d,",*p,*q;fun〔&x,&y;printf〔"%d,%d\n",*p,*q;}程序運行后的輸出結(jié)果是A3,5,5,3B3,5,3,5C5,3,3,5D5,3,5,3〔27有以下程序#include<stdio.h>viodf〔int*p,int*q;main〔{intm=1,n=2,*r=&m;

f〔r,&n;printf〔"%d,%d",m,n;}voidf〔int*p,int*q{p=p+1;*q=*q+1;}程序運行后輸出的結(jié)果是A1,3B2,3C1,4D1,2〔28以下函數(shù)按每行8個輸出數(shù)組中的數(shù)據(jù)voidfun〔int*w,intn{inti;for〔i=0;i<n;i++{_________________printf〔"%d",w;}printf〔"\n";}下劃線處應(yīng)填入的語句是Aif〔i/8==0print〔"\n";Bif〔i/8==0continue;Cif〔i%8==0print〔"\n";Dif〔i%8==0continue;〔29若有以下定義intx[10],*pt=x;則對x數(shù)組元素的正確應(yīng)用是A*&x[10]B*〔x+3C*〔pt+10Dpt+3

〔30設(shè)有定義:chars[81];inti=10;,以下不能將一行〔不超過80個字符帶有空格的字符串真確讀入的語句或語句組是

Agets〔sBwhile〔〔s[i++]=getchar〔!="\n";s="\0”;

Cscanf〔"%s",s;Ddo{scanf〔"%c",&s;}while〔s[i++]!="\n";s="\0A10

12

B8

10

C10

28

D10

16〔36有以下程序

#include<stdio.h>

#definePT3.5;

#defineS〔xPT*x*x;

mian〔

{inta=1,b=2;printf〔"%4.1f\n",S〔a+b;}

程序運行后輸出的結(jié)果是A14.0B31.5C7.5D程序有錯無輸出結(jié)果〔37有以下程序

#include<stdio.h>

structord

{intx,y;}dt[2]={1,2,3,4};

main〔

{structord*p=dt;

printf〔"%d,",++p->x;printf〔"%d\n",++p->y;

}程序的運行結(jié)果是A1,2B2,3C3,4D4,1

〔38設(shè)有宏定義:#include

IsDIV〔k,n〔〔k%n==1?1:0且變量m已正確定義并賦值,則宏調(diào)用:IsDIV〔m,5&&IsDIV〔m,7為真時所要表達的是

A判斷m是否能被5或者7整除B判斷m是否能被5和7整除

C判斷m被5或者7整除是否余1D判斷m被5和7整除是否余1

〔39有以下程序

#include<stdio.h>

main〔

{inta=5,b=1,t;

t=〔a<<2|b;printf〔"%d\n",t

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

〔40有以下程序

#include<stdio.h>

main〔

{EILE*f;

f=fopen〔"filea.txt","w";

fprintf〔f,"abc";

fclose〔f;

}若文本文件filea.txt中原有內(nèi)容為:hello,則運行以上程序后,文件filea.txt中的內(nèi)容為AhelloabcBabcloCabcDabchello

二、〔1假設(shè)一個長度為50的數(shù)組〔數(shù)組元素的下標從0到49作為棧的存儲空間,棧底指針bottom指向棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,top=30〔數(shù)組下標,則棧中具有[1]個元素。〔2軟件測試可分為白盒測試和黑盒測試。基本路徑測試屬于[2]測試?!?符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和

[3]。〔4數(shù)據(jù)庫系統(tǒng)的核心是[4]〔5在E-R圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實體聯(lián)系的是[5]框。〔6表達式〔int〔〔double〔5/2+2.5的值是[6]〔7若變量x、y已定義為int類型且x的值為99,y的值為9,請將輸出語句printf〔[7],x/y;補充完整,使其輸出的計算結(jié)果形式為:x/y=11<8>有以下程序

#include<stdio.h>

main<>

{

charc1,c2;

scanf<"&c",&c1>;

while<c1<65||c1>90>

scanf<"&c",&c1>;

c2=c1+32;

printf<"&c,&c\n",c1,c2>;

}

程序運行輸入65回車后,能否輸出結(jié)果、結(jié)束運行〔請回答能或不能[8]

。〔9以下程序運行后的輸出結(jié)果是[9]#include<stdio.h>main<>{intk=1,s=0;do{if{〔〔k&2!=0continue;s+=k;k++;}while〔k10;printf〔"s=&d/n",s;}<10>下列程序運行時,若輸入labced12df<回車>輸出結(jié)果為[10]#include<stdio.h>main<>{char

a=0,ch;while<<ch=getchar<>>!=’\n’>{if<a&2!=0&&<ch>’a’&&ch<=’z’>>ch=ch-‘a(chǎn)’+’A’;a++;putchar<ch>;}printf<"\n">;}<11>有以下程序,程序執(zhí)行后,輸出結(jié)果是[11]

#include<stdio.h>

voidfun<int*a>

{a[0=a[1];]}main<>

{inta[10]={10,9,8,7,6,5,4,3,2,1},i;

for<i=2;i>=0;i-->fun{&a};

for<i=0;i<10;i++>printf<"&d",a>;

printf<"\n">;

}<12>請將以下程序中的函數(shù)聲明語句補充完整

#include<stdio.h>

int[12]

;

main<>

{intx,y,<*p><>;

p=max;

printf<"&d\n",&x,&y>;

}

Intmax<inta,intb>

{return<a>b/a:b>;}

<13>以下程序用來判斷指定文件是否能正常打開,請?zhí)羁?/p>

#include<stdio.h>

main<>

{FILE*fp;

if<<<fp=fopen<"test.txt","r">>==[13]>>

printf〔"未能打開文件!\n";

else

printf<"文件打開成功!\n">;

<14>下列程序的運行結(jié)果為[14]

#include<stdio.h>

#include<string.h>

structA

{inta;charb[10];double

c;};

void

f<struct

A

*t>;

main<>

{structAa=<1001,"ZhangDa",1098,0>;

f<&a>;printf<"&d,&s,&6,if\n",a.a,a.b,a.c>;

}

voidf<struct

A

*t>

{strcpy<t->b,"ChangRong">;

}<15>以下程序把三個NODETYPE型的變量鏈接成一個簡單的鏈表,并在while循環(huán)中輸出鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù),請?zhí)羁?/p>

#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;

b.

next=&b;b.next=&c;c.next=’\0’答案:選擇題:1~10:DACDCABABC11~20:CBDDACDBCB21~30:CDABABACBC31~40:ADBCCCBDAC填空題:〔119〔2白盒〔3順序結(jié)構(gòu)〔4數(shù)據(jù)庫管理系統(tǒng)〔DBMS〔5菱形〔64〔7"x/y=%d"〔8能〔9s=0〔101AbCeDf2dF〔117777654321〔12max<inta,intb>〔13NULL〔141001,ChangRong,1098.0〔15p=p—>next20XX9月二級C語言筆試真題及答案<考試時間:120分鐘,滿分100分>..一、選擇題〔〔1~〔10、〔21~〔40每題2分,〔11~〔20每題1分,70分下列各題A、B、C、D四個選項中,只有一個選項是正確的,請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。〔1一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是〔。A12345ABCDEBEDCBA54321CABCDE12345D54321EDCBA〔2下列敘述中正確的是〔。A循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)B在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況C在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況D循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定〔3在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是〔。AO<n>BO<n2>CO<log2n>DO<nlog2n>〔4下列敘述中正確的是〔。A順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈式存儲結(jié)構(gòu)的存儲空間不一定是連續(xù)的B順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈式存儲結(jié)構(gòu)只針對非線性結(jié)構(gòu)C順序存儲結(jié)構(gòu)能存儲有序表,鏈式存儲結(jié)構(gòu)不能存儲有序表D鏈式存儲結(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間〔5數(shù)據(jù)流圖中帶有箭頭的線段表示的是〔。A控制流B事件驅(qū)動C模塊調(diào)用D數(shù)據(jù)流〔6在軟件開發(fā)中,需求分析階段可以使用的工具是〔。AN-S圖BDFD圖CPAD圖D程序流程圖〔7在面向?qū)ο蠓椒ㄖ?不屬于"對象"基本特點的是〔。A一致性B分類性C多態(tài)性D標識唯一性〔8一間宿舍可住多個學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)系是〔。A一對一B一對多C多對一D多對多〔9在數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,數(shù)據(jù)共享最好的是〔。A人工管理階段B文件系統(tǒng)階段C數(shù)據(jù)庫系統(tǒng)階段D三個階段相同〔10有三個關(guān)系R、S和T如下:RSTABBCABCm113m13n235由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為〔。A笛卡爾積B交C并D自然連接〔11以下敘述中正確的是〔。AC程序的基本組成單位是語句BC程序中的每一行只能寫一條語句二級C語言程序設(shè)計試卷第2頁〔共9頁C簡單C語句必須以分號結(jié)束DC語句必須在一行內(nèi)寫完〔12計算機能直接執(zhí)行的程序是〔。A源程序B目標程序C匯編程序D可執(zhí)行程序〔13以下選項中不能作為C語言合法常量的是〔。A'cd'B0.1e+6C"\a"D'\011'〔14以下選項中正確的定義語句是〔。Adoublea;b;Bdoublea=b=7;Cdoublea=7,b=7;Ddouble,a,b;〔15以下不能正確表示代數(shù)式2abcd的C語言表達式是〔。A2*a*b/c/dBa*b/c/d*2Ca/c/d*b*2D2*a*b/c*d〔16C源程序中不能表示的數(shù)制是〔。A二進制B八進制C十進制D十六進制〔17若有表達式<w>?<--x>:<++y>,則其中與w等價的表達式是〔。Aw==lBw==0Cw!=lDw!=0〔18執(zhí)行以下程序段后,w的值為〔。intw='A',x=14,y=15;w=<<x||y>&&<w<'a'>>;A-1BNULLClD0〔19若變量已正確定義為int型,要通過語句scanf<"%d,%d,%d",&a,&b,&c>;給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯誤的是〔ò代表一個空格符〔。Aòòò1,2,3<回車>B1ò2ò3<回車>C1,òòò2,òòò3<回車>D1,2,3<回車>〔20有以下程序段inta,b,c;a=10;b=50;c=30;if<a>b>a=b,b=c;c=a;printf<"a=%db=%dc=%d\n",a,b,c>;程序的輸出結(jié)果是〔。Aa=10b=50c=10Ba=10b=50c=30Ca=10b=30c=10Da=50b=30c=50〔21若有定義語句:intm[]={5,4,3,2,1},i=4;,則下面對m數(shù)組元素的引用中錯誤的是〔。Am[--i]Bm[2*2]Cm[m[0]]Dm[m[i]]〔22下面的函數(shù)調(diào)用語句中func函數(shù)的實參個數(shù)是〔。func<f2<v1,v2>,<v3,v4,v5>,<v6,max<v7,v8>>>;A3B4C5D8〔23若有定義語句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;則錯誤引用x數(shù)組元素的是〔。A*pBx[5]C*<p+1>D*x〔24若有定義語句:chars[10]="1234567\0\0";,則strlen<s>的值是〔。A7B8C9D10〔25以下敘述中錯誤的是〔。A用戶定義的函數(shù)中可以沒有return語句B用戶定義的函數(shù)中可以有多個return語句,以便可以調(diào)用一次返回多個函數(shù)值C用戶定義的函數(shù)中若沒有return語句,則應(yīng)當(dāng)定義函數(shù)為void類型二級C語言程序設(shè)計試卷第3頁〔共9頁D函數(shù)的return語句中可以沒有表達式〔26以下關(guān)于宏的敘述中正確的是〔。A宏名必須用大寫字母表示B宏定義必須位于源程序中所有語句之前C宏替換沒有數(shù)據(jù)類型限制D宏調(diào)用比函數(shù)調(diào)用耗費時間〔27有以下程序#include<stdio.h>main<>{inti,j;for<i=3;i>=l;i-->{for<j=1;j<=2;j++>printf<"%d",i+j>;printf<"\n">;}}程序的運行結(jié)果是〔。A234B432345543C23D4534344523〔28有以下程序#include<stdio.h>main<>{intx=l,y=2,z=3;if<x>y>if<y<z>printf<"%d",++z>;elseprintf<"%d",++y>;printf<"%d\n",x++>;}程序的運行結(jié)果是〔。A331B41C2D1〔29有以下程序#include<stdio.h>main<>{inti=5;do{if<i%3=1>if<i%5==2>{printf<"*%d",i>;break;}i++;}while<i!=0>;printf<"\n">;}二級C語言程序設(shè)計試卷第4頁〔共9頁程序的運行結(jié)果是〔。A*7B*3*5C*5D*2*6〔30有以下程序#include<stdio.h>intfun<inta,intb>{if<b==0>returna;elsereturn<fun<--a,--b>>;}main<>{printf<"%d\n",fun<4,2>>;}程序的運行結(jié)果是〔。A1B2C3D4〔31有以下程序#include<stdio.h>#include<stdlib.h>intfun<intn>{int*p;p=<int*>malloc<sizeof<int>>;*p=n;return*p;}main<>{inta;a=fun<10>;printf<"%d\n",a+fun<10>>;}程序的運行結(jié)果是〔。A0B10C20D出錯〔32有以下程序#include<stdio.h>voidfun<inta,intb>{intt;t=a;a=b;b=t;}main<>{intc[10]={1,2,3,4,5,6,7,8,9,0>,i;for<i=0;i<10;i+=2>fun<c[i],c[i+l]>;for<i=0;i<10;i++>printf<"%d,",c[i]>;printf<"\n">;}程序的運行結(jié)果是〔。Al,2,3,4,5,6,7,8,9,0,B2,l,4,3,6,5,8,7,0,9,C0,9,8,7,6,5,4,3,2,1,D0,1,2,3,4,5,6,7,8,9,〔33有以下程序#include<stdio.h>structst二級C語言程序設(shè)計試卷第5頁〔共9頁{intx,y;>data[2]={l,10,2,20};main<>{structst*p=data;printf<"%d,",p->y>;printf<"%d\n",<++p>->x>;}程序的運行結(jié)果是〔。A10,1B20,1C10,2D20,2〔34有以下程序#include<stdio.h>voidfun<inta[],intn>{inti,t;for<i=0;i<n/2;i++>{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main<>{intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun<k,5>;for<i=2;i<8;i++>printf<"%d",k[i]>;printf<"\n">;}程序的運行結(jié)果是〔。A345678B876543C1098765D321678〔35有以下程序#include<stdio.h>#defineN4voidfun<inta[][N],intb[]>{inti;for<i=0;i<N;i++>b[i]=a[i][i];}main<>{intx[][N]={{1,2,3>,{4>,{5,6,7,8>,{9,10}},y[N],i;fun<x,y>;for<i=0;i<N;i++>printf<"%d,",y[i]>;printf<"\n">;}程序的運行結(jié)果是〔。Al,2,3,4,B1,0,7,0,C1,4,5,9,D3,4,8,10,〔36有以下程序#include<stdio.h>intfun<int<*s>[4],intn,intk>{intm,i;m=s[0][k];for<i=l;i<n;i++>if<s[i][k]>m>m=s[i][k];returnm;}二級C語言程序設(shè)計試卷第6頁〔共9頁main<>{inta[4][4]={{1,2,3,4>,{11,12,13,14},{2l,22,23,24},{31,32,33,34}};printf<"%d\n",fun<a,4,0>>;}程序的運行結(jié)果是〔。A4B34C31D32〔37有以下程序#include<stdio.h>main<>{structSTU{charname[9];charsex;doublescore[2];};structSTUa={"Zhao",'m',85.0,90.0>,b={"Qian",'f',95.0,92.0>;b=a;printf<"%s,%c,%2.0f,%2.0f\n",,b.sex,b.score[0],b.score[1]>;}程序的運行結(jié)果是〔。AQian,f,95,92BQian,m,85,90CZhao,f,95,92DZhao,m,85,90〔38假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如圖所示的結(jié)點:headabcdatanext↑p↑q則以下選項中可將q所指結(jié)點從鏈表中刪除并釋放該結(jié)點的語句組是〔。A<*p>.next=<*q>.next;free<p>;Bp=q->next;free<q>;Cp=q;free<q>;Dp->next=q->next;free<q>;〔39有以下程序#include<stdio.h>main<>{chara=4;printf<"%d\n",a=a<<1>;}程序的運行結(jié)果是〔。A40B16C8D4〔40有以下程序#include<stdio.h>main<>{FILE*pf;char*s1="China",*s2="Beijing";pf=fopen<"abc.dat","wb+">;fwrite<s2,7,l,pf>;rewind<pf>;fwrite<s1,5,1,pf>;fclose<pf>;}以上程序執(zhí)行后abc.dat文件的內(nèi)容是〔。BChinaBChinangCChinaBeijingDBeijingChina二級C語言程序設(shè)計試卷第7頁〔共9頁二、填空題〔每空2分,共30分請將每一個空的正確答案寫在答題卡[1]至[15]序號的橫線上,答在試卷上不得分?!?對下列二叉樹進行中序遍歷的結(jié)果[1]。ABCDEFXYZ〔2按照軟件測試的一般步驟,集成測試應(yīng)在[2]測試之后進行。〔3軟件工程三要素包括方法、工具和過程,其中,[3]支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理?!?數(shù)據(jù)庫設(shè)計包括概念設(shè)計、[4]和物理設(shè)計。〔5在二維表中,元組的[5]不能再分成更小的數(shù)據(jù)項。〔6設(shè)變量a和b已正確定義并賦初值。請寫出與a-=a+b等價的賦值表達式[6]?!?若整型變量a和b中的值分別為7和9,要求按以下格式輸出a和b的值:a=7b=9請完成輸出語句:printf<"[7]",a,b>;?!?以下程序的輸出結(jié)果是[8]。#include<stdio.h>main<>{inti,j,sum;for<i=3;i>=1;i-->{sum=0;for<j=1;j<=i;j++>sum+=i*j;}printf<"%d\n",sum>;}〔9以下程序的輸出結(jié)果是[9]。#include<stdio.h>main<>{intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;for<j=3;j;j-->{switch<j>{case1:case2:printf<"%d",*p++>;break;case3:printf<"%d",*<--p>>;}}}二級C語言程序設(shè)計試卷第8頁〔共9頁〔10以下程序的輸出結(jié)果是[10]。#include<stdio.h>#defineN5intfun<int*s,inta,intn>{intj;*s=a;j=n;while<a!=s[j]>j--;returnj;}main<>{ints[N+1];intk;for<k=l;k<=N;k++>s[k]=k+l;printf<"%d\n",fun<s,4,N>>;}〔11以下程序的輸出結(jié)果是[11]。#include<stdio.h>intfun<intx>{staticintt=0;return<t

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論