


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言全國計算機等級(二級)考試指導第一章二級)考試大綱公共基礎知識基本要求掌握算法的基本概念。掌握基本數據結構及其操作。掌握基本排序和查找算法。掌握逐步求精的結構化程序設計方法。掌握軟件工程的基本方法,具有初步應用相關技術進行軟件開發的能力。考試內容一.基本數據結構與算法算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度。線性結構的概念。線性表的定義;線性表的順序存儲結構及其插入與刪除運算。棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。樹的基本概念;二叉樹的定義及其存儲結構;叉樹的前序、中序和后序遍歷。(二、程序設計基礎程序設計方法與風格。結構化程序設計。三、軟件工程基礎軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發環境。結構化分析方法,數據字典,軟件需求規格說明書。結構化設計方法,總體設計與詳細設計。集成測試和系統測試。四、數據庫設計基礎數據庫的基本概念:數據庫,數據庫管理系統,數據庫系統。E-RE-R關系代數運算,包括集合運算及選擇、投影、連接運算,數據庫規范化理論。考試方法公共基礎知識的考試方法為筆試,與C(C++語言程序設計、Java程序設計、VisualBasic語言程序設計、VisualFoxPro數據庫程序設計或Access數據庫程序設計)的筆試部分合為一張試卷。公共基礎知識部分占全卷的30分。105C語言程序設計基本要求TURBOC集成環境。熟練掌握結構化程序設計的方法,具有良好的程序設計風格。掌握程序設計中簡單的數據結構和算法。TURBOC的集成環境下,能夠編寫簡單的C力。考試內容一、C語言的結構序的構成,MAIN頭文件,數據說明,函數的開始和結束標志。源程序的書寫格式。4.C語言的風格。二、數據類型及其運算1.C的數據類型(基本類型,指針類型,空類型)及其定義方法。2.C運算的種類、運算優先級和結合性。3.不同類型數據間的轉換與運算。4.C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。三、基本語句表達式語句,空語句,復合語句。數據的輸入與輸出,輸入輸出函數的調用。復合語句。Goto四、選擇結構程序設計ifswitch選擇結構的嵌套1.For2.Whiledowhile3.Continuebreak4.循環的嵌套。六、數組的定義和引用一維數組合多維數組的定義、初始化和引用。七、函數庫函數的正確調用。函數的定義方法。函數的類型和返回值。形式參數與實在參數,參數值得傳遞。函數的正確調用,嵌套調用,遞歸調用。局部變量和全局變量。變量的存儲類別(自動,靜態,寄存器,外部,變量的作用域和生存期。八、編譯預處理宏定義:不帶參數的宏定義;帶參數的宏定義。“文件包含”處理九、指針指針與指針變量的概念,指針與地址預算符。構體的指針變量。通過指針引用以上各類型數據。用指針作函數參數。返回指針值得指針函數。指針數組,指向指針的指針,main函數的命令行參數。十、結構體()與孔用體()結構體和公用體類型數據的定義方法和引用方法。十一、位運算位運算符的含義及使用。十二、文件操作只要求緩沖文件系統(即高級磁盤I/O系統,對非標準緩沖文件系統(即低級磁盤I/O系統)不要求。文件類型指針(FILE。文件的打開與關閉(FOPEN,FCLOSE。文件的讀寫(FPRTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTF,FSCANF。文件的定位(REWIND,FSEEK。考試方式筆試:12010030上機:60100第二章全國計算機等級考試(二級)C語言應試方略C很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?CCCCC第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,便于描述算法,大多數的程序員愿意使用C語言去描述算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。第二:CC有的windows,Unix,Linux,Mac,os/2,沒有一個例外,如果你不懂C這些操作系統當中去呢?更不要說你去寫它們的內核程序了。第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,由此可見C語言是程序設計的重要基礎。多說一點:即使現在招聘程序員,考試都是考C語言,你想加入IT行業,那么就一定要掌握好C語言。那么究竟怎樣學習C語言呢?工欲善其事,必先利其器這里介紹幾個學習C語言必備的東東:turboC2.0DOS時代開發程序的大半個江ft。windows時代,用turboC沒有函數變量自動感應功能,查詢參考資料也不方便。建議使用Visual一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編清華大學出版社,此書編寫的很適合初學者,并且內容也很精到。除此以外,還可以借助于輔助學習的軟件,畢竟現在是Window時代了,學習軟件多如牛毛,不象我們當初學習,只有讀書做題這么老套。葵花寶典學習計算機語言最好的方法是什么?答曰:讀程序。沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的例程。當然,對于沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然后不放過這一章中提到的所有例程,然后仔細研讀程序,直到每一行都理解了,然后找幾個編程題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為例程你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究例程,想想自己為什么寫不出來,然后再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。登峰造極寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(算法)。存器及其組合,然后寫值讀值,僅此而已。這不過是熟悉一些IO函數罷了。那么怎樣才算精通程序設計呢?舉個例子:你面前有10個人,找出一個叫“張三”的人,你該怎么辦?10個人問2數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用算法,是登峰造極的必然之路。最后給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書。如何應對新大綱二級考試的公共基礎知識30分。二級基礎知識考核內容的大變令相當多的考生措手不及,事實上這次改革將基礎知識的內容由計算機常識(一級難度)(三級難度054基礎四部分,下面分別說一下學習重點和方法:數據結構與算法時這也是數據結構與算法的難點,考核形式主要為二叉樹的遍歷問題(給前序、中序遍歷求后序遍歷等、二叉樹的結點問題(如給出一些條件然后求葉子結點個數;還有排序和查找考試中也經常會涉及到,排序主要以計算時間復雜度的形式考核,查找主要以計算最佳/最壞比較次數的方式考核。其余的知識點主要以概念的形式考察,考生需要仔細看書并理解。程序設計基礎與軟件工程基礎即SA及S,約占50%(約占20%可以得到深刻理解。數據庫設計基礎外,其余的都是以概念題的形式考核,考生需要仔細的閱讀。以上為復習二級公共基礎的方法,順便提及一點02年版及其以前的公共基礎考試用書已不再適用,因此考生在選購教材的時候應當特別注意,應當購買04年版的二級公共基礎知識教程(指定教材由高等教育出版社出版,還有考生在備考時,除了應完成教材中的習054語言筆試應試技巧二級C別是歷年真題,從中找出規律性的東西以及解題技巧。選擇題排除法等多種方法。但是這類題目考的知識點往往都比較多且細,容易出錯,考生在做這類2003949有以下程序main(){inta[3][3], p=&&a[0][0];for(i=0;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}程序運行后的輸出結果是(A)3(B)6(C)9(D)2此題主要考的知識點有:(1)數組與指針的關系;(2)數組的初始化和數組元素的引用。Cp0a[0][0p中存放了數組元素a[0][0]的地址,由于數組元素在內存中是連續存儲的,因此,我們就可以通過指針變量pfor(i=0;i<9;i++)1a[3][3]={1,2,3,4,5,6,7,8,9a[1][2]=6C0a[1][2]=3。填空題2040分,有的考生能得35~4010200398main(){inta=1,b=3,c=5;if(c=a+b)printf("yes\n");elseprintf("no");}yes。因為“if(c=a+b)printf("yes\n");”a+b=1+3=4,所以條件為真。而許多考生卻把賦值語句“c=a+b”理解為關系表達式“c==a+b5=1+3no。12main(){inti,n[]={0,0,0,0,0};for(i=1;i<=4;i++){n[i]=n[i-1]*2+1;printf("%d",n[i]);}}問程序運行后的輸出結果是 。答案是“13715”許多考生雖然寫對了但卻在每個數字后加了標點而不得分如“1,3,7,15”或“5又如第19題:s中的數字字符放入dd如,輸入字符串:abc123edf456gh,執行后輸出:123456。請填空:main(){chars[80],d[80];inti,gets(s);for(i=j=0;s[i]!='\0';i++))d[j]='\0';puts(d);}答案應是s[i]<='9'&&s[i]>='0'或s[i]<=48&&s[i]>=57將答案張冠李戴,位置寫錯,白白丟了分。總之,只要考生能準確理解基本知識點,善于動手動腦多練習,舉一反三,觸類旁通,就能從中找出規律性的東西,輕松通過筆試。上機考試技巧上機改錯題的特點和注意事項上機改錯的試題中通常包含兩個(或三個)錯誤需要修改。試題中用"/******found******/"來提示在下一行(或下面第二行)有錯。自己另編程序。上機改錯測試時,建議按以下步驟進行改錯后程序運行的結果是否正確。TURBOC"/******found******/題義理解程序所采用的基本算法,做到心里有數。先按F9CTRL+F9當程序存在邏輯錯誤時,首先應當理解題意、讀懂程序的算法,必要時可按步檢0開始而不是1開始的。修改程序中的邏輯錯時,要求考生認真讀懂程序代碼。修改完成,得到正確結果后,一定不要忘記把修改后的程序存盤。上機編程題的特點和說明C通過實際上機操作積累經驗,才能掌握基本的編程能力。進行編程測試時,建議按以下步驟進行完成指定的函數后程序運行的結果是否正確。TURBOC函數時的實參內容,以便明確在函數中需要處理的數據對象。return語句返回函數值;若主函數中僅用語句形式調用函數,則需要通過形參間接地返回所得結果。選擇適當的算法進行編程,輸入程序語句。不要忘記及時存盤!編譯程序,直到沒有語法錯誤。用例示的輸出數據檢驗輸出結果,直到結果相同。常見問題分析書寫標識符時,忽略了大小寫字母的區別。main(){inta=5;printf("%d",A);}編譯程序把a和A認為是兩個不同的變量名,而顯示出錯信息。C認為大寫字母和小寫字母是兩個不同的字符。習慣上,符號常量名用大寫,變量名用小寫表示,以增加可讀性。忽略了變量的類型,進行了不合法的運算。main(){floata,b;printf("%d",a%b);}%是求余運算,得到a/b的整余數。整型變量a和b可以進行求余運算,而實型變量則不允許進行“求余”運算。將字符常量與字符串常量混淆。charc;c="a";在這里就混淆了字符常量與字符串常量,字符常量是由一對單引號括起來的單個字符,字符串常量是一對雙引號括起來的字符序列。C規定以“\”作字符串結束標志,它是由系統自動加上的,所以字符串“a”實際上包含兩個字符:‘a'和‘\',而把它賦給一個字符變量是不行的。忽略了“=”與“==”的區別。在許多高級語言中,用“=”符號作為關系運算符“等于”。如在BASIC程序中可以寫if(a=3)then?但C語言中,“=”是賦值運算符,“==”是關系運算符。如:if(a==3)a=b;前者是進行比較,a是否和3相等,后者表示如果a和3相等,把b值賦給a。由于習慣問題,初學者往往會犯這樣的錯誤。忘記加分號。分號是C語句中不可缺少的一部分,語句末尾必須有分號。a=1b=2一下上一行是否漏掉了分號。{z=x+y;t=z/100;printf("%f",t);}對于復合語句來說,最后一個語句中最后的分號不能忽略不寫。多加分號對于一個復合語句,如:{z=x+y;t=z/100;printf("%f",t);};復合語句的花括號后不應再加分號,否則將會畫蛇添足。又如:if(a%3==0);i++;3i1if(a%3==0ifi++3是否整除a,i1。再如:for(i=0;i<5;i++);{scanf("%d",&x);printf("%d",x);}本意是先后輸入5個數,每輸入一個數后再將它輸出。由于for()后多加了一個分號,使循環體變為空語句,此時只能輸入一個數并輸出它。輸入變量時忘記加地址運算符“&”inta,b;scanf("%d%d",a,b);這是不合法的。scanf函數的作用是:按照a、b在內存的地址將a、b的值存進去。“&a”指a在內存中的地址。輸入數據的方式與要求不符①scanf("%d%d",&a,&b);輸入時,不能用逗號作兩個數據間的分隔符,如下面輸入不合法:3,4輸入數據時,在兩個數據之間以一個或多個空格間隔,也可用回車鍵,跳格鍵tab。②scanf("%d,%d",&a,&b);C規定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數據時應輸入與這些字符相同的字符。下面輸入是合法的:3,4此時不用逗號而用空格或其它字符是不對的。34 3:4又如:scanf("a=%d,b=%d",&a,&b);輸入應如以下形式:a=3,b=4輸入字符的格式與要求不一致在用“%c”格式輸入字符時,“空格字符”和“轉義字符”都作為有效字符輸入。scanf("%c%c%c",&c1,&c2,&c3);如輸入abc字符“ac1,字符“”送給c2,字符“b”c3,因為%c符,后面不需要用空格作為兩個字符的間隔。例如,aba=3;b=4.5;printf("%f%d\n",a,b);編譯時不給出出錯信息,但運行結果將與原意不符。這種錯誤尤其需要注意。輸入數據時,企圖規定精度scanf("%7.2f",&a);這樣做是不合法的,輸入數據時不能規定精度。switchbreak例如:根據考試成績的等級打印出百分制數段switch(grade){case'A':printf("85~100\n");case'B':printf("70~84\n");case'C':printf("60~69\n");case'D':printf("<60\n");default:printf("error\n");break,casegradeAprintfcase'A':printf("85~100\n");break;在定義數組時,將定義的“元素個數”誤認為是可使的最大下標值main(){staticinta[10]={1,2,3,4,5,6,7,8,9,10};printf("%d",a[10]);}C語言規定:定義時用a[10],表示a數組有10個元素。其下標值由0開始,所以數組元素a[10]是不存在的。在不應加地址運算符&的位置加了地址運算符scanf("%s",&str);C語言編譯系統對數組名的處理是:數組名代表該數組的起始地址,且scanf函數中的輸入項是字符數組名,不必要再加地址符&。應改為:scanf("%s",str);輔之以有效的學習方法,就一定會有所成就。第三章200520054(二級)C一、選擇題1)~(10)每小題2(11)~(50)每小題1分,共60分)下列各題A、、C、)在答題卡相應位置上,答在試卷上不得分。數據的存儲結構是指 。A)存儲在外存中的數據 B)數據所占的存儲空間量C)數據在計算機中的順序存儲方式 D)數據的邏輯結構在計算機中的表下列關于棧的描述中錯誤的是 。棧是先進后出的線性表棧只能順序存儲棧具有記憶作用對棧的插入與刪除操作中,不需要改變棧底指針n 。A)冒泡排序為n/2 B)冒泡排序為nC)快速排序為n D)快速排序為n(n-1)/2對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數為 。A)log2n B)n/2 C)n D)n+1下列對于線性鏈表的描述中正確的是 。存儲空間不一定是連續,且各元素的存儲順序是任意的C)存儲空間必須連續,且前件元素一定存儲在后件元素的前面D)存儲空間必須連續,且各元素的存儲順序是任意的下列對于軟件測試的描述中正確的是 。軟件測試的目的是證明程序是否正確軟件測試的目的是使程序運行結果正確軟件測試的目的是盡可能多地發現程序中的錯誤軟件測試的目的是使程序符合結構化原則為了使模塊盡可能獨立,要求 。A)模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量強B)模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量弱C)模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量弱D)模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量強下列描述中正確的是 。A)程序就是軟件B)軟件開發不受計算機系統的限制C)軟件既是邏輯實體,又是物理實體D)軟件是程序、數據與相關文檔的集數據獨立性是數據庫技術的重要特點之一,所謂數據獨立性是指 。A)數據與程序獨立存放B)不同的數據被存放在不同的文件中C)D)以上三種說法都不對用樹形結構表示實體之間聯系的模型是 。A)關系模型 B)網狀模型 C)層次模型 D)以上三個都是算法具有五個特性,以下選項中不屬于算法特性的是 。A)有窮性 B)簡潔性 C)可行性 D)確定性以下選項中可作為C語言合法常量的是 。A)-80. B)-080 C)-8e1.0 D)-80.0e以下敘述中正確的是 。A)用C程序實現的算法必須要有輸入和輸出操作B)CC)用CD)用C以下不能定義為用戶標識符的是 。A)MainB)_0 C)_int D)sizeof以下選項中不能作為合法常量的是 。A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e00ASCII48,main(){chara=′1′,b=′2′;printf("%c,",b++);printf("%d\n",b-a);}程序運行后的輸出結果是 。A)3,2B)50,2 C)2,2 D)2,50有以下程序main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序運行后的輸出結果是 。A)12353514B)12353513C)12343514 D)12343513有定義語句:intb;charc[10];,則正確的輸入語句是 A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);有以下程序main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數據,使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是 。A)m=123n=456p=789 B)m=123n=456C)m=123,n=456,p=789 D)123456789有以下程序main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序運行后的輸出結果是 。A)6,1 B)2,1 C)6,0 D)2,0有以下程序main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k);}程序運行后的輸出結果是 A)123 B)234 C)223 D)233a、b、c、d1、4、3、2。則條件表達式a<B?A:C<D?C:D的值是 。A)1 B)2 C)3 D)4有以下程序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)42 B)45 C)56 D)60有以下程序main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運行后的輸出結果是 。A)22B)76 C)72 D)62以下能正確定義一維數組的選項是 。A)inta[5]={0,1,2,3,4,5}; B)chara[]={0,1,2,3,4,5};C)chara={′A′,′B′,′C′};D)inta[5]="0123";有以下程序intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);程序運行后的輸出結果是 。A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7chara[]="xyz",b[]={x′,′y′,′z′};,以下敘述中正確的是 。A)數組a和b的長度相同B)a數組長度小于b數組長度C)a數組長度大于b數組長度D)上述說法都不對有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){if(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序運行后的輸出結果是 。A)8,2,3,4,5,6,7,1, C)1,2,3,4,5,6,7,8, D)8,7,6,5,4,3,2,1,有以下程序main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);程序運行后的輸出結果是 。A)012B)123 C)234 D)345以下敘述中錯誤的是 。A)對于double類型數組,不可以直接用數組名對數組進行整體輸入或輸出B)數組名代表的是數組所占存儲區的首地址,其值不可改變C)的出錯信息D)可以通過賦初值的方式確定數組元素的個數有以下程序#defineN20fun(inta[],intn,intm){inti,j;for(i=m;i>=n;i--)a[i+1]=a[i];}main(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",a[i]);}程序運行后的輸出結果是 。A)10234 B)12344 C)12334 D)12234有以下程序main(){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");}}若運行時輸入:123<回車>,則輸出結果是 。產生錯誤信息 B)10 C)12 D)10有以下程序prt(int*m,intn){inti;for(i=0;i<n;i++)m[i]++;}main(){inta[]={1,2,3,4,5},i;prt(a,5);for(i=0;i<5;i++)printf("%d,",a[i]);}程序運行后的輸出結果是 。A)1,2,3,4,5, B)2,3,4,5,6, C)3,4,5,6,7, D)2,3,4,5,1,有以下程序main(){inta[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++)printf("%d,",*p);}程序運行后的輸出結果是 。A)1,2,3,4,5,6,7,8,9,0,B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1,1,1,有以下程序#defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n",F(3+5));}程序運行后的輸出結果是 。A)192B)29 C)25 D)編譯出錯有以下程序main(){intc=35;printf("%d\n",c&c);}程序運行后的輸出結果是 。A)0 B)70 C)35 D)1以下敘述中正確的是 。A)預處理命令行必須位于源文件的開頭B)在源文件的一行上可以有多條預處理命C)宏名必須用大寫字母表示D)宏替換不占用程序的運行時間若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是 。A)data的每個成員起始地址都相變量data所占的內存字節數與成員c所占字節數相等C)程序段:data.a=5;printf("%f\n",data.c);輸出結果為D)data以下語句或語句組中,能正確進行字符串賦值的是 。A)char*sp;*sp="right!"; B)chars[10];s="right!";C)chars[10];*s="right!"; D)char*sp="right!";設有如下說明typedefstructST{longa;intb;charc[2];}NEW;則下面敘述中正確的是 。A)以上的說明形式非法 B)ST是一個結構體類型C)NEW是一個結構體類型D)NEW是一個結構體變有以下程序main(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",b);}程序運行后的輸出結果是 。A)3 B)4 C)5 D)6有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序運行后的輸出結果是 。A)15 B)16 C)12 D)59有以下函數fun(char*a,char*b){while((*a!=′\0′)&&(*b!=′\0′)&&(*a==*b)){a++;b++;}return(*a-*b);}該函數的功能是 。a和bb所指字符串連接到ab所指字符串連接到aD)a和b有以下程序main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++) printf("%4c",′′);for(j= ;j<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式輸出數組右上半三角1234678111216則在程序下劃線處應填入的是 。A)i-1B)i C)i+1 D)4-i有以下程序point(char*p){p+=3;}main(){charb[4]={′a′,′b′,′c′,′d′},*p=b;point(p);printf("%c\n",*p);}程序運行后的輸出結果是 。A)a B)b C)c D)d程序中若有如下說明和定義語句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;......}以下選項中對函數fun的正確調用語句是 。A)(*f1)(a); B)*f1(*s);C)fun(&a);D)ch=*f1(s);有以下結構體說明和變量定義,如圖所示:structnode{intdata;structnode*next;}*p,*q,*r;現要將q所指結點從鏈表中刪除,同時要保持鏈表的連續,以下不能完成指定操作的句是 。A)P->next=q->next; B)p->next=p->next->next;C)p->next=r; D)p=q->next;以下對結構體類型變量td的定義中,錯誤的是 。A)typedefstructaa B)structaa{intn; {intn;floatm; floatm;}AA; }td;AAtd; structaatd;C)struct D)struct{intn; {intn;floatm; floatm;}aa; }td;structaatd;以下與函數fseek(fp,0L,SEEK_SET)有相同作用的是 。A)feof(fp) B)ftell(fp) C)fgetc(fp) 有以下程序#includevoidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序運行后,文件t1.dat中的內容是 。A)start B)endC)startend D)endrt二、填空題(每空2分,共40分)請將每空的正確答案寫在【1】至【20】序號的橫線上,答在試卷上不得分。2181】個葉子結點。【2】。診斷和改正程序中錯誤的工作通常稱為【3】。在關系數據庫中,把數據表示成二維表,每一個二維表稱為【4】。問題處理方案的正確而完整的描述稱為【5】。以下程序運行時,若從鍵盤輸入:102030【6】。main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);}【7】。#defineS(x)4*x*x+1main(){inti=6,j=8;printf("%d\n",S(i+j));}【8】。main(){inta=3,b=4,c=5,t=99;if(b<a&&a<c) if(a<c&&b<c) printf("%d%d%d\n",a,b,c);}【9】。main(){inta,b,c;a=10;b=20;c=(a%b<1)||(a/b>1);printf("%d%d%d\n",a,b,c);}以下程序運行后的輸出結果是【10】。main(){charc1,c2;for(c1=′0′,c2=′9′;c1<c2;c1++,c2--)printf("%c%c",c1,c2);printf("\n");}AASCII65,以下程序運行時若從鍵盤輸入:B33則輸出結果是【11】。main(){chara,b;a=getchar();scanf("%d",&b);a=a-′A′+′0′;b=b*2;printf("%c%c\n",a,b);}以下程序中,fun34空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;fun(3,4,a,b);for(i=0;i<3;i++)printf("%4d",b[i]);printf("\n");}voidfun(intm,intn,intar[][4],int*br){inti,j,x;for(i=0;i<M;{x=ar[i][0];for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j]; 【12】=x;}}以下程序運行后的輸出結果是【13】。voidswap(intx,inty){intt;t=x;x=y;y=t;printf("%d %d main(){inta=3,b=4;swap(a,b);printf("%d%d\n",a,b);}以下程序運行后的輸出結果是【14】。#include"string.h"voidfun(char*s,intp,intk){inti;for(i=p;i<k-1;i++)s[i]=s[i+2];}main(){chars[]="abcdefg";fun(s,3,strlen(s));puts(s);}以下程序運行后的輸出結果是【15】。#include"string.h"main(){charch[]="abc",x[3][4];inti;for(i=0;i<3;i++) strcpy(x[i],ch);for(i=0;i<3;i++) printf("\n");}以下程序運行后的輸出結果是【16】。fun(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}main(){inti,a=5;for(i=0;i<3;i++)printf("%d%d",i,fun(a));printf("\n");}以下程序運行后的輸出結果是【17】。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");}以下程序中函數huiwen時,函數返回字符串:yes!,no!,并在主函數中輸出,所謂回文即正向與反向的拼寫都一樣,例如:adgda。請填空。char*huiwen(char*str){char*p1,*p2;inti,t=0;p1=str;p2=【18】;for(i=0;i<=strlen(str)/2;i++)if(*p1++!=*p2--){t=1;break;}if(【19】)return("yes!");elsereturn("no!");}main(){charstr[50];printf("Input:");scanf("%s",str);printf("%s\n",【20】);}20059(二級一、選擇題1)—(10)每題2(11)—(50)每題1分,共60分)下列各題、、C、D)在答題卡相應位置上,答在試卷上不得分。下列敘述中正確的是A)程序設計就是編制程序 B)程序的測試必須由程序員自己去完成C)程序經調試改錯后還應進行再測試 D)程序經調試改錯后不必進行再測下列數據結構中,能用二分法進行查找的是A)順序存儲的有序線性表 B)線性鏈C)二叉鏈表 D)有序線性鏈表下列關于棧的描述正確的是A)在棧中只能插入元素而不能刪除元素B)在棧中只能刪除元素而不能插入元素C)棧是特殊的線性表,只能在一端插入或刪除元素D)下列敘述中正確的是A)一個邏輯數據結構只能有一種存儲結構B)數據的邏輯結構屬于線性結構,存儲結構屬于非線性結構C)D)一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率下列描述中正確的是A)軟件工程只是解決軟件項目的管理問題B)C)D)軟件工程只是解決軟件開發中的技術問題在軟件設計中,不屬于過程設計工具的是A)PDL(過程設計語言) B)PAD圖 C)N-S圖 D)DFD圖下列敘述中正確的是軟件交付使用后還需要進行維護C)軟件交付使用后其生命周期就結束D)數據庫設計的根本目標是要解決A)數據共享問題 B)數據安全問C)大量數據存儲問題 D)簡化數據維設有如下關系表:R S TA1A123BBC1122231C233A)T=R∩S B)T=R∪SC)T=R×SD)T=R/S數據庫系統的核心是A)數據模型 B)數據庫管理系統C)數據庫 D)數據庫管理員以下敘述中錯誤的是A)用戶所定義的標識符允許使用關鍵字B)用戶所定義的標識符應盡量做到“見名知意”C)用戶所定義的標識符必須以字母或下劃線開頭D)以下敘述中錯誤的是A)C語句必須以分號結束B)復合語句在語法上被看作一條語句C)空語句出現在任何位置都不會影響程序運行D)賦值表達式末尾加分號就構成賦值語句以下敘述中正確的是printfputcharstdio.hA3B1A3B1C3getcharASCII碼以下關于函數的敘述中正確的是A)每個函數都可以被其它函數調用(mainB)每個函數都可以被單獨編譯C)每個函數都可以單獨運行D)在一個函數內部可以定義另一個函數若有語句:char*line[5];,以下敘述中正確的是A)linecharline5C)line*號稱為間址運算符D)定義line是一個指向字符型函數的指針有以下程序段typedefstructNODE{intnum;structNODE*next;}OLD;以下敘述中正確的是A)以上的說明形式非法 B)NODE是一個結構體類型C)OLD是一個結構體類型 D)OLD是一個結構體變量以下敘述中錯誤的是A)C語言中對二進制文件的訪問速度比文本文件快B)C語言中,隨機文件以二進制代碼形式存儲數據C)語句FILEfp;定義了一個名為fp的文件指針D)C語言中的文本文件以ASCII碼形式存儲數據當把以下四個表達式用作if不同,這個選項是A)k%2B)k%2==1C)(k%2)!=0D)!k%2==1以下不能正確計算代數式值的C語言表達式是A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 以下能正確定義且賦初值的語句是A)intn1=n2=10; B)charc=32;C)floatf=f+1.1; D)doublex=12.3E2.5;rrs。程序在編譯時出錯。main()/*Beginning*/{intr;floatscanf("%d",&r);s=*p*r*r;printf("s=%f\n",s);}出錯的原因是A)注釋語句書寫位置錯誤 B)存放圓半徑的變量r不應該定義為整型C)輸出語句中格式描述符非法 D)計算圓面積的賦值語句中使用了非法變量設有定義:intk=1,m=2;floatf=7;,則以下選項中錯誤的表達式A)k=k>=k B)-k++C)k%int(f)D)k>=f>=m設有定義:inta=2,b=3,c=40A)(!a==1)&&(!b==0) B)(a<B)&&C)a&&b D)a||(b+b)&&(c-a)有以下程序段intk=0,a=1,b=2,c=3;k=ac?c:k;執行該程序段后,k的值是A)3B)2C)1D)0a、b、c、d和yifif(a<B)if(c==d)y=0;elsey=1;該語句所表示的含義是0a<b且c=d0a<b且c=dA)y=1a≥bB)y=1a≥b且c≠d0a<b且c=d0 a<bc=dC)y=1a<b且c≠dD)y=1 c≠d有以下程序段intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環,從鍵盤輸入的數據應該是A)任意正奇數B)任意負偶數 C)任意正偶數 D)任意負奇數設變量已正確定義,則以下能正確計算f=n!的程序段A)f=0; B)f=1;for(i=1;i<=n;i++)f*=i; C)f=1; D)f=1;for(i=n;i>1;i++)f*=i; for(i=n;i>=2;i--)f*=i;設有定義:intn1=0,n2,*p=&n2,*q=&n1;,以下賦值語句中與n2=n1;語句等價的A)*p=*q; B)p=q; C)*p=&n1;D)p=*q;若有定義:intx=0,*p=&x;,則語句printf("%d\n",*p);的輸出結果A)隨機值 B)0 C)x的地址D)p的地址funvoidfun(charch,floatx){?}funA)fun("abc",3.0); B)t=fun('D',16.5);C)fun('65',2.8); D)fun(32,32);有以下程序main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}程序運行后的輸出結果是A)16 B)10 C)8 D)6有以下程序main(){charp[]={'a','b','c'},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q));};程序運行后的輸出結果是A)44 B)33 C)34 D)43有以下程序#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}程序運行后的輸出結果是A)64,28 B)4,4 C)4,3 D)64,64有以下程序main(){chara1='M',a2='m';printf("%c\n",(a1,a2));}以下敘述中正確的是A)程序輸出大寫字母M B)程序輸出小寫字母mC)格式說明符不足,編譯出錯 D)程序運行時產生出錯信有以下程序#includemain(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當運行時輸入:a<回車>后,以下敘述正確的是A)c1a,c2B)2C)c1a,c2D)c1a,c2有以下程序main(){intk=5,n=0;while(k>0){ switch(k){ default:case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);}程序運行后的輸出結果是A)0 B)4 C)6 D)7有以下程序main(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=printf("%d\n",y);}程序運行后的輸出結果是A)10 B)11 C)14 D)15有以下程序voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa+2,5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運行后的輸出結果是A)1,2,3,4,5,6,7,8,9,10, B)1,2,7,6,3,4,5,8,9,10,C)1,2,7,6,5,4,3,8,9,10, D)1,2,9,8,7,6,5,4,3,10,有以下程序voidsum(inta[]){ a[0]=a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d\n",程序運行后的輸出結果是A)6 B)7 C)5 D)8有以下程序voidswap1(intc0[],intc1[]){intt;t=c0[0];c0[0]=c1[0];c1[0]=t;}voidswap2(int*c0,int*c1){intt;t=*c0;*c0=*c1;*c1=t;}main(){inta[2]={3,5},b[2]={3,5};swap1(a,a+1); swap2(&b[0],&b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);程序運行后的輸出結果是A)3553 B)5335C)3535D)5353有以下程序#include<string.h>main(){charp[]={'a','b','c'},q[10]={'a','b','c'};printf("%d%d\n",strlen(p),strlen(q)); }以下敘述中正確的是A)p和qB)pq3C)qp3D)p和qf#include<string.h>voidf(char*p[],intn){char*t; inti,j;for(i=0;i<n-i;for(j=i+1;j<n;j++)if(strcmp(p[i],p[j])>0){t=p[i];p[i]=p[j];p[j]=t;}}main(){char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序運行后的輸出結果是A)2 B)3 C)6 D)4有以下程序#include<string.h>voidf(char*s,char*t){chark;k=*s;*s=*t;s++; t--;if(*s)f(s,t);}main(){charstr[10]="abcdefg",*p;p=str+strlen(str)/2+1;f(p,p-2);printf("%s\n",str);}程序運行后的輸出結果是A)abcdefg B)gfedcbaC)gbcdefaD)abedcfg有以下程序floatf1(floatn){returnn*n;}floatf2(float{return2*n;}main(){float(*p1)(float),(*p2)(float),(*t)(float),y1,y2;p1=f1;p2=f2;y1=p2(p1(2.0)t=p1;p1=p2;p2=y2=p2(p1(2.0));printf("%3.0f,%3.0f\n",y1,y2);}程序運行后的輸出結果是A)8,16 B)8,8 C)16,16 D)4,8有以下程序inta=2;intf(intn){staticinta=3;intt=0;if(n%2){staticinta=4;t+=a++;}else{staticinta=5;t+=a++;}returnt+a++;}main(){ints=a,i;for(i=0;i<3;i++)s+=f(i);printf("%d\n",s);}程序運行后的輸出結果是A)26B)28 C)29 D)24有以下程序#include<string.h>structSTU{intnum;floatTotalScore;};voidf(structSTUp){structSTUs[2]={{20044,550},{20045,537}};p.num=s[1].num;p.TotalScore=s[1].TotalScore;}main(){structSTUs[2]={{20041,703},{20042,580}};f(s[0]);printf("%d%3.0f\n",s[0].num,s[0].TotalScore);}程序運行后的輸出結果是A)20045537 B)20044550 C)20042580 D)20041703有以下程序#include<string.h>structSTU{charname[10];intnum;};voidf(char*name,intnum){structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};num=s[0].num;strcpy(name,s[0].name);}main(){structSTUs[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;p=&s[1];f(p->name,p->num);printf("%s%d\n",p->name,p->num);}程序運行后的輸出結果是A)SunDan20042 B)SunDan20044C)LiSiGuo20042 D)YangSan20041有以下程序structSTU{charname[10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}};*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};f(s);printf("%s%d%3.0f\n",s[1].name,s[1].num,s[1].TotalScore);}程序運行后的輸出結果是A)SunDan20044550 B)Penghua20045537C)LiSiGuo20042580 D)SunDan20041703以下程序的功能是進行位運算main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);程序運行后的輸出結果是A)43B)73 C)70 D)40有以下程序#include<stdio.h>main(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+");for(i=1;i<6;i++){fprintf(fp,"%d",i);if(i%3==0)fprintf(fp,"\n");}rewind(fp);fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運行后的輸出結果是A)00 B)12345 C)14 D)12二、填空題(每空2分,共40分)請將每一個空的正確答案寫在答題卡【1】至【20】序號的橫線上,答在試卷上不得分。【1】。【2】復雜度。在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅動模塊和承接模塊(樁模塊。其中【3生的結果。一棵二叉樹第六層(根結點為第一層)的結點數最多為【4】個。【5】結構。【6】。main(){intx=0210;printf("%X\n",x);}【7】。main(){inta=1,b=2,c=3;if(c=a)printf("%d\n",c);elseprintf("%d\n",b);}已有定義:double*pmalloc函數使p【8】。【9】。main(){charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);printf("%d(10)以下程序的功能是計算:s=1+12+123+1234+12345。請填空。main(){intt=0,s=0,i;for(i=1;i<=5;i++){t=i+【10】;s=s+t;}printf("s=%d\n",s);}AASCII65【11】。main(){chara,b;a='A'+'5'-'3';b=a+'6'-'2';printf("%d%c\n",a,b);}有以下程序intsub(intn){return(n/10+n%10);}main(){intx,y;scanf("%d",&x);y=sub(sub(sub(x)));printf("%d\n",y);}若運行時輸入:1234<回車>,程序的輸出結果是【12】。sstrcat()的功能是實現字符串的連接,即將t所指字符串復制到sefgh,函數調用后sabcdefgh。請填空。#include<string.h>voidsstrcat(char*s,char*t){intn;n=strlen(s);while(*(s+n)=【13】){s++;t++;};}【14】。#include<string.h>char*ss(char*s){char*p,t;p=s+1;t=*s;while(*p){*(p-1)=*p;p++;}*(p-1)=t;returns;}main(){char*p,str[10]="abcdefgh";p=ss(str);printf("%s\n",p);}【15】。intf(inta[],intn){if(n>=1)returnf(a,n-1)+a[n-1];elsereturn0;}main(){intaa[5]={1,2,3,4,5},s;s=f(aa,5);printf("%d\n",s);}【16】。structNODE{intnum;structNODE*next;};main(){structNODEs[3]={{1,'\0'},{2,'\0'},{3,'\0'}};*p,*q,*r;intsum=0;s[0].next=s+1;s[1].next=s+2;s[2].next=s;p=s;q=p->next;r=q->next;sum+=q->next->num;sum+=r->next->next->num;printf("%d\n",sum);}以下程序的功能是輸出如下形式的方陣:1314151691011125 6 7 81 2 3 4請填空。main(){inti,j,x;for(j=4;j【17】;j--){for(i=1;i<=4;i++){x=(j-1)*4+【18】;printf("%4d",x);}printf("\n");}}rotateaN行Nb0a0b所指二維數組中其他數據不變。#defineN4voidrotate(inta[][N],intb[][N]){inti,j;for(i=0;i<N;i++){b[i][N-1]=【19】;【20】=a[N-1][i];}}第四章模擬試題全國計算機等級考試(二級)C語言模擬題一公共基礎知識一、選擇題下列關于棧的敘述正確的 棧是非線性結構 棧是一種樹狀結構C)棧具有先進先出的特征 D)棧具有后進先出的特征結構化程序設計所規定的三種基本控制結構 輸入、處理、輸出 樹形、網形、環形C)順序、選擇、循環 D)主程序、子程序、函數結構化程序設計的一種基本方法是篩選法 遞歸法 C)歸納法 D)逐步求精法如果對一個關系實施了一種關系運算后得到了一個新的關系,而且新的關系中屬性數少于原來關系中屬性個數,這說明所實施的運算關系是: 選擇 投影 C)連接 D)二、填空題N個數進行快速排序算法的平均時間復雜度是【1】在面向對象方法學中,直接反映了用戶對目標系統的要求的模型是【2】軟件測試方法中,黑盒測試個白盒測試法是常用的方法,其中黑盒測試法主要是用于測試【3】關系型數據庫管理系統中存儲與管理數據的基本形式是【4】C語言程序設計一、選擇題下程序的輸出結果是 main(){intn[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++) for(i=0;i<2;i++)for(j=0;j<2;j++) n[i+1][j+1]+=n[i][j];printf("%d\n",n[i][j]);}14 B)0 C)6 D)值不確定指針s所指字符串的長 char*s="NameAddress";說法不合法 B)19 C)18 D)15(3)C語言中最簡單的數據類型包括整型、實型、邏輯型 整型、實型、字符型C)整型、字符型、邏輯型 D)整型、實型、邏輯型、字符型為表示關系x大于等于y大于等于應使用C語言表達 A)(x>=Y)&&(Y>=z)B)(x>=Y)AND(y>=z)C)(x>=Y>=z)D)(x>=Y)&(Y>=z)下列對C語言字符數組的描述中錯誤的 字符數組可以存放字符串 字符數組中的字符串可以整體輸入、輸出C)可以在賦值語句中通過賦值運算符字符數組整體賦值D)不可以用關系運算對字符數組中的字符串進行比較以下說法中正確的 C語言程序總是從第一個定義的函數開始執行C函數中定義D)C語言程序中的main()函數必須放在程序的開始部分以下程序段的輸出結果是 intx=3;do{printf("%3d",x-=2);}while(!(--x));A)1 B)30 C)1-2 D)死循環設有如下定義:char*aa[2]={"abcd","ABCD"};則以下說法中正確的 aa數組元素的值分別是和"ABCD"aa是指針變量,它指向含有兩個數組元素的字符型一維數組aa4個字符的一維字符數組的首地址aa數組的兩個元素中各自存放了字符'a'和'A'的地址設有以下定義:inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*prt)[3]=a,*p=a[0];則下列能夠正確表示數組元素a[1][2]的表達式是 A)*(*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)以下程序的輸出結果是 fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*P;p=(int*)malloc(sizeof(int));fut(&p,a);print("%",*p);}A)1 B)7 C)9 D)11二、填空題xint類型,請以最簡單的形式寫出與邏輯表達式!xc達式【1】下列程序的輸出結果是【2】#include<stdio.h>#include<string.h>main(){charb[]="ABCDEFG";char*chp=&b[7];while(--chp>&b[0])putchar(*chp);putchar(′′);}下列程序的輸出結果是【3】intast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta,b,c,d;a=4;b=3;ast(a,b,&c,&d);print("%d%dn",c,d);}閱讀程序:{charstr1[]="howdoyoudo",str2[10];char*p1=str1,*p2=str2;scanf("%s",p2);printf("%s",p2);printf("%s",p1);}運行上面的程序,輸入字符串HOWDOYOUDO則程序的輸出結果是【4】件中,用#作為結束輸入的標志。請填空。#include<stdio.h>#include<string.h>main(){FILE*fp;charch,fname[10];printf("Inputthenameoffilegets(fname);gets(fname);if((fp=【5】)==NULL){printf("Cannotopen");exit(0);}printf("Enterdata");while((ch=getchar())!='#')fputc(【6】,fp);fclose(fp);}三、上機操作題改錯題下列程序中,函數fun的功能是:先將字符串s中的字符按正序存放到t串中,然后將s中的字符按逆序連接到t串的后面。例如,當s中的字符串為ABCDE時,則t中的字符串應為ABCDEEDCBA。請改正一下程序中的錯誤,是它能得出正確的結果。注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。#include<stdio.h>#include<con
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社會治理與公共政策互動研究試題及答案
- 項目管理中的人際關系與溝通試題及答案
- 計算機三級軟件測試技能要求解析試題及答案
- 2025年初級銀行從業資格(銀行管理)通關練習題庫
- 計算機測試過程中的數據管理試題及答案
- 機電工程職能定位試題及答案
- 項目團隊合作的成功案例分析試題及答案
- 行業動態對考試知識點的影響試題及答案
- 機電工程2025年基本技能試題及答案
- 2025年成人繼續教育線上學習模式下的學習效果提升與教學平臺功能優化研究報告
- 西南科技大學機械原理期末考試復習題及答案
- 讀后續寫:騎馬迷路 遇困難不放棄 課件 【知識建構+點播拓展】高考英語作文備考
- 2023年宜興市云湖茶禪文旅發展有限公司招聘筆試題庫及答案解析
- 初中地理會考知識點匯總
- Unit2Reading2知識點課件-高中英語牛津譯林版(2020)選擇性必修第一冊
- 交通協管員勞務外包服務方案
- 頂管工程頂進記錄表
- 安全生產、環境保護監督管理制度(最終版)
- 呼吸道病原體抗體檢測及臨床應用課件
- 戰略管理教學ppt課件(完整版)
- 太平歌詞唱詞
評論
0/150
提交評論