![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2013秋江蘇省計(jì)算機(jī)等級(jí)考試C語(yǔ)言筆試真題 |
絕密★ 啟用前 2013年秋 江蘇省高等學(xué)校非計(jì)算機(jī)專業(yè)學(xué)生 計(jì)算機(jī)基礎(chǔ)知識(shí)和應(yīng)用能力等級(jí)考試 二級(jí)試卷 試卷語(yǔ)種:C語(yǔ)言 說(shuō) 明: 1.本試卷包括計(jì)算機(jī)基礎(chǔ)知識(shí)部分和程序設(shè)計(jì)部分,考試時(shí)間共12 0分鐘; 2.本試卷滿分為60分,分選擇題和填空題,試卷不分A、B類型; 3.計(jì)算機(jī)基礎(chǔ)知識(shí)部分全部是選擇題(20分),程序設(shè)計(jì)部分分為選擇題(1 0 分)和填空題(30分)兩種; 4.選擇題用答題卡答題。每一項(xiàng)有A、B、C、D四個(gè)可供選擇的答案,請(qǐng)選 擇其中一個(gè)你認(rèn)為正確的答案,用HB鉛筆涂寫在答題卡的相應(yīng)答題號(hào)內(nèi)。 每選對(duì)一項(xiàng)得1分,不選或選錯(cuò)不得分; 5.填空題用答題紙答題。請(qǐng)將答案用藍(lán)、黑色鋼筆或圓珠筆填寫在答題紙的 相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行,不得換行。每填對(duì)一個(gè)答案得1分, 不填或填錯(cuò)不得分; 6.請(qǐng)認(rèn)真填寫并仔細(xì)核對(duì)答題卡和答題紙上的學(xué)校名稱、準(zhǔn)考證號(hào)和姓名是 否填寫正確。 7.考試結(jié)束時(shí)將試卷、答題卡和答題紙放在桌上,不得帶走。待監(jiān)考人員收 畢清點(diǎn)后,方可離場(chǎng)。 第一部分 計(jì)算機(jī)基礎(chǔ)知識(shí) 一、選擇題(用答題卡答題,答案依次填在1—20題號(hào)內(nèi)) 1.在下列有關(guān)信息、信息技術(shù)、信息化、信息產(chǎn)業(yè)的相關(guān)敘述中,錯(cuò)誤的是___l___ 。 A.信息、物質(zhì)與能量是客觀世界的三大構(gòu)成要素,沒(méi)有信息則任何事物都沒(méi)有意義 B.現(xiàn)代信息技術(shù)的主要特征之一是以計(jì)算機(jī)及其軟件為核心 C.信息化的概念起源于上世紀(jì)90年代,我國(guó)的信息化建設(shè)起步于本世紀(jì)初 D.信息產(chǎn)業(yè)主要包括信息設(shè)備制造業(yè)、信息服務(wù)業(yè)、信息開(kāi)發(fā)業(yè)等 2.對(duì)二進(jìn)制數(shù)01與01分別進(jìn)行算術(shù)加和邏輯加運(yùn)算,其結(jié)果用二進(jìn)制形式表示分別為 ___2___ 。 A.01、 10 B.10、 01 C.01、 01 D.10、 10 3.芯片組是PC機(jī)各組成部分相互連接和通信的樞紐。下列關(guān)于芯片組的描述中,錯(cuò)誤的是___3___ 。 A.芯片組是主板上的重要部件,它直接固定在主板上,通常不可更換 B.芯片組與CPU的類型必須相配 C.芯片組提供了CPU的時(shí)鐘信號(hào) D.所有外部設(shè)備的控制功能都集成在芯片組中 4.關(guān)于PC機(jī)主板上的CMOS芯片,下面說(shuō)法中正確的是___4___ 。 A. CMOS芯片需要一個(gè)電池給它供電,否則其中的數(shù)據(jù)在主機(jī)斷電后會(huì)丟失 B.CMOS芯片用于存儲(chǔ)加電自檢程序 C.CMOS芯片用于存儲(chǔ)BIOS,是易失性的 D. CMOS芯片用于存儲(chǔ)計(jì)算機(jī)系統(tǒng)的配置參數(shù),它是只讀存儲(chǔ)器 5.USB是一種可以連接多個(gè)設(shè)備的總線式串行接口,目前在PC機(jī)及各種數(shù)碼設(shè)備中普遍使用。在下列相關(guān)敘述中錯(cuò)誤的是 ___5___ 。 A. USB接口有USB l.0、USB l.1、USB 2.0和USB 3.0之分 B.通過(guò)USB接口給外部I/O設(shè)備提供電源時(shí),電源為+5V C.目前廣泛使用的USB 2.0的最高數(shù)據(jù)傳輸速率可達(dá)每秒數(shù)十兆字節(jié) D.借助于“USB集線器”可以擴(kuò)展PC機(jī)的USB接口數(shù)目,使得一個(gè)USB接口理論上能連接1024個(gè)設(shè)備 6.顯示器是計(jì)算機(jī)必不可少的一種圖文輸出設(shè)備,其作用是將數(shù)字信號(hào)轉(zhuǎn)換為光信號(hào),使文字與圖形在屏幕上顯示出來(lái)。下列相關(guān)敘述中錯(cuò)誤的是 ___6___ 。 A.目前PC機(jī)使用的顯示器主要有兩類,即CRT顯示器和LED顯示器 B.顯示器屏幕大小以顯示屏的對(duì)角線長(zhǎng)度來(lái)度量 C.PC機(jī)的顯示控制器過(guò)去大多數(shù)做成插卡的形式,為了降低成本,現(xiàn)在顯示控制器已經(jīng)越來(lái)越多地集成在主板芯片組或CPU芯片中 D.目前顯卡主要使用AGP接口或PCI-E x16接口,前者性能優(yōu)于后者 7.下列有關(guān)PC機(jī)常見(jiàn)外部存儲(chǔ)器的敘述中,錯(cuò)誤的是 ___7___ 。 A.移動(dòng)硬盤通常采用微型硬盤加上特制的配套硬盤盒構(gòu)成,采用USB接口與主機(jī)相連接 B.目前U盤可以模擬光驅(qū)和硬盤啟動(dòng)操作系統(tǒng) C.存儲(chǔ)卡是用閃存做成的一種固態(tài)存儲(chǔ)器,具有與U盤相同的多種優(yōu)點(diǎn),目前所有PC機(jī)都配置了讀卡器,以便對(duì)存儲(chǔ)卡進(jìn)行讀寫操作 D. SSD是基于半導(dǎo)體存儲(chǔ)器芯片的一種外存儲(chǔ)設(shè)備,可被用在便攜式計(jì)算機(jī)中代替常規(guī)的硬盤 8.下列關(guān)于計(jì)算機(jī)軟件的敘述中,錯(cuò)誤的是 ___8___ 。 A.軟件的含義比程序更宏觀、更物化一些。一般情況下,軟件往往指的是設(shè)計(jì)比較成熟、功能比較完善、具有某種使用價(jià)值的程序 B.軟件產(chǎn)品一般是指軟件開(kāi)發(fā)廠商交付給用戶用于特定用途的一整套程序、數(shù)據(jù)及相關(guān)的文檔(包括安裝和使用手冊(cè)等) C.免費(fèi)軟件一般是指用戶可共享的軟件,允許隨意拷貝、修改其源代碼,允許自由傳播 D. MS Office軟件包中包含多個(gè)軟件產(chǎn)品,安裝時(shí)用戶可以進(jìn)行有選擇的安裝 9.下列關(guān)于Windows操作系統(tǒng)處理器管理的說(shuō)法中,錯(cuò)誤的是 ___9___ 。 A.處理器管理的主要目的是提高CPU的使用效率 B.多任務(wù)處理是將CPU時(shí)間劃分成時(shí)間片,輪流為多個(gè)任務(wù)服務(wù) C.并行處理系統(tǒng)可以讓多個(gè)CPU同時(shí)工作,提高計(jì)算機(jī)系統(tǒng)的性能 D.多任務(wù)處理要求計(jì)算機(jī)必須使用多核CPU 10.下列關(guān)于程序設(shè)計(jì)語(yǔ)言的說(shuō)法中,正確的是 ___10___ 。 A.高級(jí)語(yǔ)言程序的執(zhí)行速度比低級(jí)語(yǔ)言程序快 B.高級(jí)語(yǔ)言就是人們?nèi)粘J褂玫淖匀徽Z(yǔ)言 C.高級(jí)語(yǔ)言與CPU的邏輯結(jié)構(gòu)無(wú)關(guān) D.無(wú)需經(jīng)過(guò)翻譯或轉(zhuǎn)換,計(jì)算機(jī)就可以直接執(zhí)行用高級(jí)語(yǔ)言編寫的程序 11.下列關(guān)于目前最常用的無(wú)線通信信道的說(shuō)法中,錯(cuò)誤的是 ___11___ 。 A.無(wú)線電波可用于傳輸模擬信號(hào),也可以用于傳輸數(shù)字信號(hào) B.利用微波可將信息集中向某個(gè)方向進(jìn)行定向傳輸,以防止他人截取信號(hào) C.短波通信適用于環(huán)球通信 D.激光能在長(zhǎng)距離內(nèi)保持聚焦并能穿透物體,因而可以傳輸很遠(yuǎn)的距離 12.目前我國(guó)和歐洲廣泛使用的GSM(全球通)手機(jī)屬于 ___12___ 移動(dòng)通信。 A.第一代 B.第二代 C.第三代 D.第四代 13.以下選項(xiàng)中,只有 ___13___ 可用作某臺(tái)主機(jī)的lP地址。 A.62.26.1.256 B.202.119.24.5 C.78.0.0.0 D.223.268.129.1 14.因特網(wǎng)中主機(jī)的符號(hào)名被稱為它的域名。下列關(guān)于域名的敘述中,錯(cuò)誤的是 ___14___。 A.域名是IP地址的一種符號(hào)表示 B.上網(wǎng)的每臺(tái)計(jì)算機(jī)都有一個(gè)IP地址,所以也有各自的域名 C.把域名翻譯成IP地址的軟件稱為域名系統(tǒng)DNS D.運(yùn)行域名系統(tǒng)DNS的主機(jī)叫做域名服務(wù)器,每個(gè)校園網(wǎng)都有一個(gè)域名服務(wù)器 15.目前采用無(wú)線方式接入因特網(wǎng)的技術(shù)主要有無(wú)線局域網(wǎng)(WLAN)接入、GPRS移動(dòng)電話網(wǎng)接入和 A.采用無(wú)線局域網(wǎng)接入方式,可以在任何地方接入 B.采用 C.目前大多數(shù)智能手機(jī)支持WLAN接入技術(shù) D.目前采用移動(dòng)電話上網(wǎng)的費(fèi)用還比較高 16.下列關(guān)于網(wǎng)絡(luò)信息安全措施的敘述中,正確的是 ___16___ 。 A.帶有數(shù)字簽名的信息是未泄密的信息 B.防火墻可以防止外界接觸到內(nèi)部網(wǎng)絡(luò),從而保證內(nèi)部網(wǎng)絡(luò)的絕對(duì)安全 C.數(shù)據(jù)加密的目的是在網(wǎng)絡(luò)通信被竊聽(tīng)的情況下仍然保證數(shù)據(jù)的安全 D.使用最好的殺毒軟件可以殺掉所有的病毒 17.下列有關(guān)字符編碼標(biāo)準(zhǔn)的敘述中,正確的是 ___17___ 。 A. UCS/Unicode編碼的目標(biāo)是實(shí)現(xiàn)全球不同語(yǔ)言文字的統(tǒng)一編碼 B.ASCII、GB2312、GBK是我國(guó)為適應(yīng)漢字信息處理需要而制定的一系列漢字編碼標(biāo)準(zhǔn) C. UCS/Unicode編碼與GB2312編碼保持向下兼容 D. GB18030標(biāo)準(zhǔn)就是Unicode編碼標(biāo)準(zhǔn),它是我國(guó)為了與國(guó)際標(biāo)準(zhǔn)UCS接軌而發(fā)布的一種漢字編碼標(biāo)準(zhǔn) 18.與計(jì)算機(jī)能合成圖像一樣,計(jì)算機(jī)也能合成(生成)聲音。計(jì)算機(jī)合成聲音分為合成語(yǔ)音和合成音樂(lè)兩類,其中合成音樂(lè)的文件擴(kuò)展名為 ___18___ 。 A.WAV B.MID C.MP3 D.WMA 19.彩色圖像所使用的顏色描述方法稱為顏色模型。顯示器使用的顏色模型為RGB三基色模型,彩色打印機(jī)所使用的顏色模型大多為 ___19___ 。 A.YUV B.HSB C.CMYK D.RGB 20.數(shù)字視頻信息的數(shù)據(jù)量相當(dāng)大,對(duì)存儲(chǔ)、處理和傳輸都是極大的負(fù)擔(dān),為此必須對(duì)其進(jìn)行壓縮。目前數(shù)字有線電視和衛(wèi)星電視所傳輸?shù)臄?shù)字視頻采用的壓縮編碼標(biāo)準(zhǔn)大多是 ___20___ 。 A.MPEG-1 B.MPEG-2 C.MPEG-4 D.MPEG-7 第二部分 C語(yǔ)言程序設(shè)計(jì) 一、選擇題(用答題卡答題,答案依次填在21- 30答題號(hào)內(nèi),共10分) 21.在C語(yǔ)言源程序中,不能用于表示整型常數(shù)的數(shù)制是 ___21___ 。 A.十六進(jìn)制 B.八進(jìn)制 C.十進(jìn)制 D.二進(jìn)制 22.以下選項(xiàng)中不符合C語(yǔ)言標(biāo)識(shí)符命名規(guī)則的是 ___22___ 。 A.printf B._00 C.&a D.FOR 23.以下選項(xiàng)中,可作為C語(yǔ)言合法表達(dá)式的是 ___23___。 A.3.0%2 B.3=2=1=0 C.{3,2,1,0} D.(3,2,1,0) 24.若有宏定義"#define S(x,y) x/y",則執(zhí)行語(yǔ)句"printf("%d",S(6+3,2+2));"后的輸出是___24___ 。 A.9 B.2 C.9.5 D.2.25 25.表達(dá)式"3<2 || -1 && !0"的值是___25___。 A.2 B. 1 C.0 D.-1 26.已知有聲明"char s[10];",若要將鍵盤輸入的連續(xù)5個(gè)字母字符存儲(chǔ)到s數(shù)組中,則以下選項(xiàng) 中錯(cuò)誤的輸入語(yǔ)句是 ___26___ 。 A.gets(&s[0]); B. scanf("%s",s+1); C. gets(s); D.scanf("%s",s[1]); 27.已知有聲明"int a[10]={1,2,3,4,5,6,7,8},*p=&a[5];",則*(p-3)的值是 ___27___ . A.6 B.3 C.2 D. 1 28.以下數(shù)組聲明中錯(cuò)誤的是 ___28___. A.int num[2][4]={{1,2},{3,4),{5,6}}; B.int num[][3]={{1,2},{3,4},{5,6}}; C.int num[]= {1,2,3,4,5,6}; D.int num[][4]={1,2,3,4,5,6}; 29.已知有聲明"typedef char STRING; STRING s[10];",則sizeof(s)的值是 ___29___。 A.20 B.10 C.5 D.4 30.已知有聲明"struct date{ int y,m;}a={2013,5},b={0};",以下選項(xiàng)中合法的語(yǔ)句是___30___ 。 A.if (a>b) b=a; B. a++; C.b=a; D.b=(a.y,a.m); 二、填空題(將答案填寫在答題紙的相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行,共30分) ● 基本概念(5分) 1.可以表示數(shù)學(xué)式 2.已知y為float類型的變量,執(zhí)行語(yǔ)句"(int)y;"后,y的類型是 ___(2)___ 。 3.已知有聲明"int a[5]={5,4,3,2,1},i=3;",執(zhí)行語(yǔ)句"a[i++]++;printf("%d",a[i]);"后,屏幕輸出為 ___(3)___ 。 4.已知有聲明"int a[3][4];",若要求正確執(zhí)行語(yǔ)句"p=a[0];",則p的聲明應(yīng)是 ___(4)___ 。 5.若要用fopen函數(shù)以文本方式打開(kāi)或新建一個(gè)可讀可寫文件,要求: (1)若指定的文件存在則打開(kāi)它, 否則新建一個(gè)文件;(2)使寫入的數(shù)據(jù)追加在該文件的末尾,并且在不關(guān)閉文件的情況下能讀出原有數(shù)據(jù)及寫入的新數(shù)據(jù);則在fopen中"文件打開(kāi)方式"的正確形式應(yīng)是 ___(5)___ 。 ● 閱讀程序(13分) 6.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果是 ___(6)___ 。 #include <stdio.h> int main() { int a=6,b=15,t=a; while (t%b! =0) t+=a; printf("%d",t); return 0; } 7.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果是 ___(7)___ . #include <stdio.h> void fun(char *a,char *b) { while(*a=='*')a++; while((*b=*a)!='\0') {b++; a++; } } int main() { char *s="*****a*b**",t[80]; fun(s,t); puts(t); return 0; } 8.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果是 ___(8)___ 。 #include <stdio.h> void fun (int n) { int t; putchar (n%10+'0'); t=n/100; if(t!=0) fun (t); } int main() { int m=12345; fun (m); printf("\n"); return 0; } 9.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果是__(9)___ #include <stdio.h> #include <string.h> void f(char s[],char t[]) { int i,m=strlen(t),k; for(i=0;s[i]!='\0';i++) if(s[i]>='a'&& s[i]<='z') { k=t[i%m]-'0'; s[i]=(s[i]-'a'+k)%26+'a'; } } int main() { char s1[10]="Be2013"; f(s1, "123"); puts(s1); return 0; } 10.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果中第一行是___(10)___,第二行是___(11)___ 。 #include<stdio.h> void fun(int *t) { static int i=0; do t[i]+=t[i+1]; while(++i<3); } int main() { int i,a[10]= {1,2,3,4,5}; for(i=1;i<3;i++) fun(a); for(i=0;i<4;i++) printf("%d",a[i]); printf("\n%d\n",a[i]); return 0; } 11.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果中第一行是___(12)___ ,第三行是 ___(13)___ 。 #include <stdio.h> #define N 3 int main() { int a[N][N],b[N*Nl={1,1},i,j; for(i=2;i<N*N;i++) b[i]=b[i-1]+b[i-2]; for(i=0;i<N;i++) for(j=0;j<N;j++) a[i][j] =b[i*N+j]; for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%5d', a[i][j]); printf("\n"); } return 0; } 12.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果中第一行是___(14)___ ,第二行是___(15)___ 。 #include <stdio.h> void fun(int a[],int n) { int i,j,t; for (i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } int main() { int aa[6]={1,2,3,4,5,6},i; fun(aa+2,3); for(i=0;i<6;i++) { printf("%d", aa[i]); if((i+1)%3==0) printf ("\n"); } return 0; } 13.以下程序運(yùn)行時(shí),輸出到屏幕的結(jié)果中第一行是__(16)___,第三行是___(17)___,第四行是___(18)___ 。 #include<stdio.h> struct n { int x; char c; }; void fun(struct n *b) { b++->x=20; b->c='y'; } int main() { struct n a[2]={10,'x'}; fun (a); printf("%d\n%c\n%d\n%c\n",a[0].x,a[0].c,a[1].x,a[1].c); return 0; } ● 完善程序(12分) 14.以下程序的功能是: (1)模擬scanf函數(shù)調(diào)用時(shí)格式字符串中轉(zhuǎn)換說(shuō)明"%le"的轉(zhuǎn)換功能,即接收鍵盤輸入的一個(gè)以小數(shù)形式或指數(shù)形式表示的實(shí)數(shù)字符串,將該字符串轉(zhuǎn)換成double類型數(shù)據(jù); (2)以小數(shù)形式輸出該double類型數(shù)據(jù)。例如,若輸入"123.4",則輸出123. 400000;若輸入 "123. 4e5",則輸出12340000.000000。 #include <stdio.h> double toDouble (char *s) { int e=0; double t=0, idx=1.0; char *p, sign='+'; for(p=s; *p &&(*p==' '|| *p=='\t');p++); /*跳過(guò)前面的空白符*/ if(*p=='+' || *p=='-') sign=*p++; /*符號(hào)處理*/ while(*p>='0' && *p<='9') /提取整數(shù)部分母/ { t=t*10+(*p-'0'); p++; } if(*p=='.') { ___(19)___; /*越過(guò)小數(shù)點(diǎn),繼續(xù)處理小數(shù)部分*/ idx/=10; while(*p>='0' && *p<='9') { t+=(*p-'0')*idx; p++; idx/=10; } } if (sign=='-') ___(20)___ ; if(*p !='e' && *p !='E') /*若無(wú)指數(shù)部分,則結(jié)束轉(zhuǎn)換*/ return t; p++; sign='+'; /*提取指數(shù)部分*/ if(*p=='+' || *p=='-') sign=*p++; while(*p>='0' && *p<='9') { e= ___(21)___ ; p++; } if(sign=='-')idx=0.1; else idx=10; vrhile (e>0) { t*=idx; ___(22)___ ; } return t: } int main() { char ss[80]; gets (ss); printf("%f\n", toDouble (ss)); return 0; } 15.以下程序中函數(shù)int check (int *a,int *b,int len)的功能是:(1)將a指向的包含len個(gè)元素的整型數(shù)組中所有相鄰元素值之差的絕對(duì)值依次存放在b指向的一維數(shù)組中;(2)檢查b數(shù)組中所有元素的值是否組成一個(gè)公差大于0的等差數(shù)列,若是則函數(shù)返回1,否則函數(shù)返回0。例如:當(dāng)a指向數(shù)組各元素的值是{-3,-2,1,6,13)時(shí),b指向數(shù)組各元素的值{1,3,5,7}組成一個(gè)公差為2的等差數(shù)列,因此函數(shù)返回1。 #include <stdio.h> #include <math.h> #define M 5 #define N 10 /*tongj函數(shù)統(tǒng)計(jì)a指向二維數(shù)組每行中存放的連續(xù)非0整數(shù)個(gè)數(shù)并依次保存到n指向的數(shù)組中*/ void tongj(int a[][N],int n[]) { int i,j; for (i=0; i<M; i++) { j=0; while(a[i][j]!=0 && j<N) j++; ______(23)_____ ; } } int check(int *a, int *b, int len) { int i,g; if(len<=3) return 0; for (i=0;i<len-1;i++) b[i]=0; for(i=0; i<len-1; ++i) { g=a[i+1]-a[i]; if(g<0)____(24)___; b[i]=g; ) g=b[1]-b[0]; if(g<=0) return 0; for (i=2; i<len-1;i++) if(___(25)___!=g) return 0; return 1; } int main() { int a[M][N]= {{-3,-2,1,6,13},{1,2,3,4},{2,5,4,6}, {1,2,5,7,11,6,13,7},{5,2,4}},b[N]; int n[M],i,j,x; tongj(a,n); for (i=0;i<M; i++) {x=check( ___(26)___ ); if (x==1) printf("\nYes "); else printf("\nNo "): for (j=0; j<n[i]-1;j++) printf("%4d", b[j]); } printf("\n"); return 0; } 16.已知一個(gè)單向鏈表結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)定義如下: struct node { char data; struct node *next; }; 函數(shù)struct node *cre (char *s)的功能是:根據(jù)s指向的字符串建立一個(gè)結(jié)點(diǎn)類型為struct node頭指針為h的單向鏈表,使h鏈表中各結(jié)點(diǎn)的數(shù)據(jù)域分別存儲(chǔ)s指向字符串中所有大寫字母的編碼,函數(shù)返回h鏈表首結(jié)點(diǎn)的地址.例如,若s指向的字符串為"3Aa26Bx5Y9",則h指向的鏈表如下圖所示。 #include <stdio. h> #include <stdlib. h> struct node { char data; struct node *next; }; struct node *cre(char *s) { struct node *p,*p1,*h; if (___(27)___) return NULL; h=p1=p=(struct node *)malloc(sizeof(struct node)) ; p->data=*s ; s++; while (*s) { if(*s>='A' && *s<='Z') { p= (struct node *) malloc (sizeof (struct node)) ; p->data=*s ; ___(28)____ = p; p1=p ; } s++; } ___ (29)___ =NULL; ___(30)___; } void print(struct node *h) { struct node *p=h; while (p!=NULL) { printf ("% p=p->next ; } printf ("\n") ; } int main() { struct node *head=NULL; char *p=”3Aa26Bx5Y9"; head=cre (p) ; print (head) ; return 0; } (1) C (2) B (3) D (4) A (5) D (6) D (7) C(8) C. (9) D(10) C (11) D(12)B (13) B(14) B(15) A(16) C(17) A (18)B(19)C(20)B 21. D 22. C 23. D 24. A 25. B 26. D 27. B 28. A 29. B 30. C (1) pow( x,1.0/3)/(a+b)或 pow( x,1/3.0)/(a+b)或 pow( x,1.0/3.0)/(a+b) (2) float (3)1 (4)int *p; (5)"a+" (6)30 (7)a*b** (8) 531 (9) Bg2013 (10) 3579 (11) 5 (12)1 1 2 (13)13 21 34 (14) 125 (15) 436 (16) 20 (17) 0 (18) y (19)p++或++p (20) t =- t (21) e * 10 +*p - '0' (22) e--或 --e (23) n[i] =j (24) g =- g或 g = abs( g) (25) b[i] - b[i-1] (26)a[i], b, n[i] (27)*s=='\0'或 *s==0 或!*s (28) p1 -> next (29) p1 -> next或 p -> next (30) return h |