在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
            2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
            MPA考試 | 中科院
            四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
            新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
            計(jì)算機(jī)等級考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
            華為認(rèn)證 | Java認(rèn)證
            公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
            報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
            人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
            駕駛員 | 網(wǎng)絡(luò)編輯
            衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
            會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊會(huì)計(jì)師 | 審計(jì)師 | 注冊稅務(wù)師
            注冊資產(chǎn)評估師 | 高級會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
            一級建造師 | 二級建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
            質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
            設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評價(jià)師 | 環(huán)保工程師
            城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評價(jià)師 | 電氣工程師 | 注冊測繪師 | 注冊計(jì)量師
            繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

            05年9月等級考試二級C語言考前密卷(七)


                 (28)以下選項(xiàng)中,非法的字符常量是 ______。
              A)'\t'    B)'\17'      C)"\n"      D)'\xaa'
              答案:C
              評析:C語言中字符常量是以單引號括起來的單個(gè)字符,或?yàn)橐?\"與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。
              
              (29)以下程序的輸出結(jié)果是______ 。
              #include<stdio.h>
              main()
              {
              int a=200;
              #define a lOO
              printf("%d",a);
              #undef a
              printf ("%dt",a);
              }
              A)200 100    B)100 100      C)100 200      D)200 200
              答案:C
              評析:#define宏名的有效范圍為定義命令之后到本源文件結(jié)束,可以在程序中使用#undef命令終止宏定義的作用域。本題由于#undef的作用,使a的作用范圍在#define a 100到#undefa之間,故答案為c。
              
              (30)若有說明:int i,j=2,*p=&i;,則能完成i=j賦值功能的語句是______。
              A)i=*p;    B)*p=*&j;     C)i=&j;      D)i=**p;
              答案:B
              評析:指針是一種用來存放變量地址的特殊變量。本題中指針變量p用于存放整型變量i的地址,改變*p的值即為改變i的值。又因?yàn)?&"和"∥兩個(gè)運(yùn)算符的優(yōu)先級別相同,按自右而左的方向結(jié)合,所以。&j先進(jìn)行&j運(yùn)算,得j的地址,再進(jìn)行+運(yùn)算,取所得地址里面的值,故t&j與i等價(jià)。
              
              (31)假定int類型變量占用兩個(gè)字節(jié),若有定義:int x[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是______。
              A)3       B)6         C)10        D)20
              答案:D
              評析:當(dāng)數(shù)組定義后,系統(tǒng)就為其分配內(nèi)存空間,而不論其中有沒有內(nèi)容。因此,本題中數(shù)組x[10]不論是否為其元素初始化,它所分配的存儲(chǔ)空間仍為2+10=20個(gè)字節(jié)。
              
              (32)執(zhí)行以下的程序段后,m的值是______。
              int a[2][3]={{l,2,3},{4,5,6}};
              int m,*p;
              p=&a[0][0];
              m=p[41;
              A)4       B)5         C)3         D)不確定
              答案:B
              評析:程序中定義了一個(gè)指向整型變量的指針變量,并對其賦值為二維整型數(shù)組a的首元素的地址。P[4]等價(jià)于*(p+4),即二維數(shù)組a中第四個(gè)元素的值,而a是一個(gè)2*3的二維數(shù)組,其第四個(gè)元素為a[1][1],即5。
              
              (33)以下程序的輸出結(jié)果是______。
              main()
              {int i,a[10];
              for(i=9;i>=O;i--) a[i]=lO-i;
              printf("%d%d%d",a[2],a[5],a[8]);
              }
              A)258      B)74l        C)852        D)369
              答案:C
              評析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1;i=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3:……依此類推,,直到i=0時(shí),a[i]=10-0=10;此時(shí),i的值已變?yōu)椋?,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
              
              (34)下面程序的輸出結(jié)果為______ 。
              #include<string.h>
              main()
              {
              char pl[7]="abc",p2[]="ABC",str[50]= "xyz";
              strcpy(str,strcat(pl,p2));
              printf("%s",str);
              }
              A)xyzabcABC  B)abcABC       C)xyzabc      D)xyzABC
              答案:B
              評析:strcpy(strl,s1):作用是將字符串s1拷貝到字符數(shù)組strl中去。strcat(字符數(shù)組1,字符數(shù)組2):把。字符串2接到字符串l的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組l的地址。
              本題定義了三個(gè)字符數(shù)組pl,p2,str,strcat(p1,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到字符串p1的后面,結(jié)果放在字符數(shù)組p1,再通過sffcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。
              
              (35)以下數(shù)組定義中不正確的是______。
              A)int a[2Ⅱ3];        B)int b[][3]={0,1,2);
              C)int c[100][100]={0};    D)int d[3][]={{l,2},{l,2,3},{1,2,3,4}};
              答案:D
              評析:一維數(shù)組的定義方式為:
              類型說明符數(shù)組名[常量表達(dá)式];
              選項(xiàng)A符合此定義形式,正確;c語言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其它維的大小,故選項(xiàng)c正確;另外,如果對全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對第一維的長度可以不指定,但第二維的長度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。
              
              (36)以下程序的輸出結(jié)果是______。
              main()
              { jnt a[4][4]:{{1,3,5},{2,4,6},{3,5,7}};
              printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
              }
              A)0650     B)1470       C)5430       D)輸出值不定
              答案:A
              評析:對未給出初始值的整數(shù)數(shù)組元素,被缺省初始化為零。
              
              (37)在說明語句:int *f();中,標(biāo)識(shí)符f代表的是______。
              A)一個(gè)用于指向整型數(shù)據(jù)的指針變量  B)一個(gè)用于指向一維數(shù)組的行指針
              C)一個(gè)用于指向函數(shù)的指針變量    D)一個(gè)返回值為指針型的函數(shù)名
              答案:D
              評析:帶回指針值的函數(shù),其一般定義形式為:
              類型標(biāo)識(shí)符 *函數(shù)名(參數(shù)表);
              例如:int *f(x,y);
              其中,f是函數(shù)名,調(diào)用它以后能得到一個(gè)指向整型數(shù)據(jù)的指針(地址),x,y是函數(shù)f的形參。在f的兩側(cè)分別為。運(yùn)算符和()運(yùn)算符,而()優(yōu)先級高于s,因此f先與()結(jié)合,顯然是函數(shù)形式。這個(gè)函數(shù)前面有一個(gè)。,表示此函數(shù)是指針型函數(shù)(函數(shù)值是指針)。前面的int表示返回的指針指向整型變量。
              
              (38)以下程序的輸出結(jié)果是______。
              main()
              { char st[20]= "hello\0\t\\";
              printf("%d%d\n",strlen(st),sizeof(st));
              }
              A)99       B)520       C)1320       D)2020
              答案:B
              評析:c語言中字符串是以'\0'字符結(jié)束的,且strlen()函數(shù)計(jì)算的是'\0'字符前的所有字符的個(gè)數(shù)。本題中strlen(st)應(yīng)為5。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒有內(nèi)容。sizeof()函數(shù)是計(jì)算變量或數(shù)組的所分配到的內(nèi)存空間的大小。所以本題的sizeof(st)為20。
              
              (39)下面程序運(yùn)行后的輸出結(jié)果是______。
              int d=1:
              fun(int p)
              { static int d=5;d+=p;
              printf("%d",d);return d;
              }
              main()
              {int a=3;printf("%d\n",fun(a+fun(d)));}
              A)6 9 9     B)6 6 9       C)6 15 15      D)6 6 15
              答案:C
              評析:靜態(tài)局部變量在編譯時(shí)賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值,而對自動(dòng)變量賦初值,不是在編譯時(shí)進(jìn)行的,而在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語句。
              本題在程序開頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第一次調(diào)用函數(shù)fun時(shí),d初值為5,p由主函數(shù)傳遞過來的值為1,則d=d+p=5+l=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時(shí)d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。
              
              (40)以下選項(xiàng)中,不能正確賦值的是______。
              A)char s1[10];sl="chest";    B)char s2[]。{'C','t','e','s','t');
              C)char s3[20]= "Chest";    D)char*s4="Ctest\n"'
              答案:A
              評析:c語言中不能將字符串常量直接賦給數(shù)組。但在賦初值時(shí)可以。
              
              (41)以下程序輸出正確的是______。
              alnovep(int *p,int(*a)[3],int n)
              {int i,j;
              for(i=0;i<n;i++)
              for(j=0 ;j<n;j++){ *p=a[i][j];p++;}
              }
              main()
              {int *p,a[3][3]={{1,3,5},{2,4,6}};
              p=(int*)malloc(100);
              amovep(p,a,3);
              printf("%d%d\n",p[2],p[5]);free(p);
              }
              A)56       B)25        C)34         D)程序錯(cuò)誤
              答案:A
              評析:本題main函數(shù)中定義了指針p和二維數(shù)組a,通過函數(shù)amovep將數(shù)組的值存入指針p所指向的存儲(chǔ)單元中,a的各元素分別為:a[0][0]=l,a[0][1]=3,a[0][2]=5,a[1][0]=2,a[l][1]=4,a[1][2]=6,a[2][O]=0,a[2][1]=0,a[2][2]=0a
              通過malloc()函數(shù)給指針分配內(nèi)存空間,free()函數(shù)用于釋放指針變量所用內(nèi)存空間。在主函數(shù)中通過amovep(p,a,3)調(diào)用函數(shù)amovep,使得實(shí)參p與形參p,實(shí)參數(shù)組a與形參中指向數(shù)組的指針變量共用同一存儲(chǔ)空間。最后輸出p[2],p[5]為56。
              
              (42)下面程序的輸出結(jié)果是______。
              #define a 121
              const b=12:
              enum c{a1,a2};
              main()
              {
              printf("%d,%d,%d.",sizeOf(a),sizeOf(b),sizeof(enum C));
              }
              A)121,0,4   B)2,2,2      C)0,2,4      D)0,2,2
              答案:B
              評析:sizeof函數(shù)是取變量所占的存儲(chǔ)空間的字節(jié)數(shù),標(biāo)識(shí)a代表常量121;const b=12;,其中數(shù)據(jù)類型可以缺省,默認(rèn)為整型;enum c{al,a2};定義了一個(gè)枚舉類型enum c,al,a2為枚舉元素,在c編譯時(shí),對枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。
              
              (43)以下程序的輸出結(jié)果是______。
              struct HAR
              {int x,y;struct HAR *p;} h[2];
              main()
              { h[0].X=1; h[O].y=2;
              h[1].x=3;h[1].y=4;
              h[0].p=&h[1];h[1].p=h;
              printf("%d%d\n",(h[O].p)->x,(h[1].p)->y);
              }
              A)12       B)23         C)14         D)32
              答案:D
              評析:本題中是一個(gè)含有兩個(gè)結(jié)點(diǎn)的循環(huán)鏈表。
              c語言中結(jié)構(gòu)體的定義為:.
              struct結(jié)構(gòu)體類型名
              {
              成員項(xiàng)表:
              };
              
              (44)變量a所占的內(nèi)存字節(jié)數(shù)是______ 。
              A)4       B)5          C)6          D)8
              Union U
              { char st[4];
              Int i:
              Long l;
              };
              Struct A
              { int c;
              Union U u;
              }a;
              答案:C
              評析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占內(nèi)存長度之和,而共用體變量所占的內(nèi)存長度等于最長的成員的長度。本題結(jié)構(gòu)體變量a中成員c為整型占2個(gè)字節(jié),共用體變量u最大長度為4個(gè)字節(jié),故選C。
              
              (45)以下程序的結(jié)果是______。
              int a,b;
              void fun()
              { a=100;b=200;)
              main()
              {int a=5,b=7;
              fun();
              printf("%d%d\n",a,b);
              }
              A)100200    B)57         C)200100      D)75
              答案:B
              評析:全程變量是可以在子函數(shù)中對其值作改變,且它也可作為函數(shù)間的值傳遞。但當(dāng)函數(shù)或子函數(shù)中定義了與全程變量名稱相同的局部變量,則全程變量將被屏蔽。
              
              (46)以下程序的輸出結(jié)果是______。
              #define M(x,y,z) x*y+z
              main()
              { int a=l,b=2,c=3;
              printf("%d\n",M(a+b,b+c,c+a));
              }
              A)19      B)17         C)15        D)12
              答案:D
              評析:c語言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:#define宏名(形參表) 字符串,本題的M(a十b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
              
              (47)若有以下說明和語句:
              struct st
              {int n;char *ch;);
              struct st a[3]={5,"abc",7,"def',9,"ghK"},*p=a;則值為6的表達(dá)式是______。
              A)p++ ->n    B)p一>n++      C)(*p).n++   D)+十p->n
              答案:D
              評析:根據(jù)結(jié)構(gòu)變量的存儲(chǔ)特點(diǎn),p+l意味著增加地址值為結(jié)構(gòu)體數(shù)組a的一個(gè)元素所占的字節(jié)數(shù),'即p++使p由a[0]指向a[1]起始地址。本題++p>n得到p指向的結(jié)構(gòu)體變量中成員n的值使之加l。因?yàn)閜指向數(shù)組a起始地址,p->n的值為5,再執(zhí)行自加l運(yùn)行,結(jié)果為6。
              
              (48)整型變量x和Y的值相等,且為非O值,則以下選項(xiàng)中結(jié)果為0的表達(dá)式是______。
              A)x||Y     B)X|Y        C)X&Y        D)X^Y
              答案:D
              評析:"‖"為或運(yùn)算符,當(dāng)其左右表達(dá)式中只要一個(gè)為非零則整個(gè)表達(dá)式的值1。︱是按位或,&是按位與,^是按位異或,這三位運(yùn)算符是按值的二進(jìn)制位來比較的。
              
              (49)C語言中,組成數(shù)據(jù)文件的成分是______。
              A)記錄    B)數(shù)據(jù)行       C)數(shù)據(jù)塊      D)字符(字節(jié))序列
              答案:D
              評析:c語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
              
              (50)下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。
              #include<stdio.h>
              void fun(char *fname,char *st)
              { FILE *myf;int i;
              myf=fopen(fname, "w");
              for(i=0;i<strlen(st);i++)fputc(st[i],myf);
              fclose(myf);
              }
              main()
              {fun("test.t","new world");fun("test.t","hello,");}
              A)hello,  B)new worldhello C)new world  D)hello,rid
              答案:A
              評析:c語言中文件有文本文件與二進(jìn)制文件,對文件的使用前必須先打開,打開方式有只讀、寫入、讀寫等方式。
              
              二、填空題(每空2分,共40分)
              
              請將每一個(gè)空的正確答案寫在答題卡的【1】至【20】序號的橫線上,答在試卷上不得分。
              
              (1)實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的 【1】  。
              答案:【1】空間復(fù)雜度和時(shí)間復(fù)雜度
              評析:算法的復(fù)雜性是指對一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。
              
              (2)數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的 【2】 以及對數(shù)據(jù)的操作運(yùn)算。
              答案:【2】存儲(chǔ)結(jié)構(gòu)
              評析:數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及對數(shù)據(jù)的操作運(yùn)算。
              
              (3)一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的  【3】 。
              答案:【3】可重用性
              評析:繼承的優(yōu)點(diǎn):相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
              
              (4)面向?qū)ο蟮哪P椭校罨镜母拍钍菍ο蠛汀  ?】 。
              答案:【4】類
              評析:面向?qū)ο竽P椭,最基本的概念是對象和類。對象是現(xiàn)實(shí)世界中實(shí)體的模型化;將屬性集和方法集相同的所有對象組合在一起,可以構(gòu)成一個(gè)類。
              
              (5)軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、 【5】 維護(hù)和預(yù)防性維護(hù)。
              答案:【5】完善性
              評析:軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
              
              (6)語句:X++;、++X;、X=X+1;、X=l+X;,執(zhí)行后都使變量X中的值增l,請寫出一條同一功能的賦值語句(不得與列舉的相同) 【6】  。
              答案:【6】X+=1:
              評析:在c語言中使變量增l的方法有:自增運(yùn)算符與賦值語句。其中自增運(yùn)算符有前置與后置方式,賦值語句也有兩種類型。
              本題中的主要增l方式有:x++;、++x;、X=X+I;、x=1+x;、x+=l;。
              
              (7)設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式  【7】
              答案:【7】Y%2==1 或Y%2!=0
              評析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2==1或Y%2 1=0。
              
              (8) 以下程序的輸出是 【8】  。
              main()
              {
              char strl[]="How do you do",*pl=strl:
              strcpy(strl+strlen(strl)/2,"es she");
              printf("%s\n",p1);
              }
              答案:【8】How does she
              評析:strcpy(strl,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測試字符串str的長度,函數(shù)的值為字符串中實(shí)際長度,不包括'\O'在內(nèi)。本題中strlen(strll的值為13,則strcpy(strl+strlen(strl)/2,"es she",);相當(dāng)于strcpy(strl+6,"es she");,因此可得答案為How does she。
              
              (9)以上程序運(yùn)行后的輸出結(jié)果是 【9】   。
              main()
              {int i=10,J=0;
              do
              {j=j+i;i--;}
              while(i>2);
              printf("%d\n",j);
              }
              答案:【9】52
              評析:do...while語句的形式為:
              do
              {
              語句:
              }while(條件表達(dá)式)
              當(dāng)條件表達(dá)式為非零時(shí),繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)式為零時(shí)退出循環(huán)。
              
              (10)設(shè)有如下程序:
              main()
              {int nl,n2;
              scanf("%df",&n2);
              while(n2!=0)
              { nl=n2%lO;
              n2=n2/10:
              printf("%d",n1);
              }
              }
              程序運(yùn)行后,如果從鍵盤上輸入1298,則輸出結(jié)果為  【10】   。
              答案:【10】8921
              評析:本題的程序的功能是將輸入的整數(shù)反向輸出。
              
              (11)以下程序輸出的最后一個(gè)值 【11】  。
              Int  ff(int n)
              {static int f=1:
              f=f*n:
              retun f
              }
              main()
              { int i;
              for(i=1;i<=5;i++)printf("%d\n",ff(i));
              }
              答案:【ll】120
              評析:
              靜態(tài)變量的類型說明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
              ①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
             、趯o態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。
             、廴缭诙x局部變量時(shí)不賦初值的話,則對靜態(tài)局部變量來說,編譯時(shí)自動(dòng)賦初值0(對數(shù)值型變量)或空字符(對字符變量)。(注意:c語言中的非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)
             、茈m然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。
              本題中函數(shù)的功能是:與for語句一起求一個(gè)整數(shù)的階乘。
              
              (12)以下函數(shù)的功能是:求x的y次方,請?zhí)羁眨?BR>  double fun(double x,int y)
              {int i;
              double z;
              for(i=1,z=x;i<y;i++)z=z* 【12】  ;
              return z:
              )
              答案:【12】x
              評析:函數(shù)的定義形式為:
              函數(shù)類型函數(shù)名(形參表)
              {
              類型說明語句;
              執(zhí)行語句:
              }
              本題中函數(shù)的功能是:累積變量以求得變量的Y次方。
              
              (13)下列程序的輸出結(jié)果是 【13】   。
              main()
              {
              int a[]={2,4,6},*ptr=&a[0],x=8,y,z;
              for(y=O;y<3;y++)
              z=(*(ptr+y)<x)?*(ptr十y):x;
              printf("%d\n",z);
              }
              答案:【13】6
              評析:條件運(yùn)算符的優(yōu)先級高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系表達(dá)式(*(ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當(dāng)y=O時(shí),*(ptr+y)=2,而x=8,(*ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=2,所以Z=2;當(dāng)y=l時(shí),*(ptr+y)=4,(*(pty+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
              
              (14)以下程序運(yùn)行后的輸出結(jié)果是 【14】  。
              main()
              { char s[]="9876",*p;
              for(p=s;p<s+2;p++)printf("%s\n",p);
              }
              答案:【14】9876
              876
              評析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲(chǔ)單元的首地址。
              指針的定義:
              類型說明符 *指針變量名;
              
              (15)若有定義語句:char s[100],d[100];int j=0,i=0;且s中已賦字符串,請?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號表達(dá)式)
              while(s[i]){d[j]= 【15】    ;j++;}
              d[j]=0;
              答案:【15】s[i++]
              評析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來實(shí)現(xiàn)。
              
              (16)若有如下結(jié)構(gòu)體說明:
              struct STRU
              { int a,b;char c:double d:
              struct STRU *pl,*p2;
              };
              請?zhí)羁,以完成對t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。
              【16】  t[20]
              答案:【16】struct STRU
              評析:結(jié)構(gòu)體類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
              結(jié)構(gòu)體類型的定義:
              struct結(jié)構(gòu)體類型名
              {
              成員項(xiàng)表:
              };
              定義結(jié)構(gòu)體變量的的形式為:
              struct結(jié)構(gòu)體類型名 變量1,變量2,...
              其中變量包括:一般變量、指針變量、數(shù)組變量等。
              
              (17)下面的程序可對指定字符串中的字符串進(jìn)行從大到小排序,請將程序填完整(注:程序采用了冒泡排序算法)
              #include<stdio.h>
              #include<string.h>
              main()
              { char *str="ABCDabcd",temp;
              Int n,i;
              n=strlen(str);
              while(n-->1)
              for(i=0;i<n;i++)
              if(str[i]<str[i+1])
              { temp= 【17】 ;
              str[i]=str[i+1];
              _【18】  =temp;
              }
              Printf(_【19】  );
              }
              答案:【17】str[i]
              【18】str[i+1]
              【19】"%s",str
              評析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)現(xiàn)過程是將相鄰兩個(gè)字符進(jìn)行比較,如果當(dāng)前字符小于下一個(gè)字符,則通過中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填;"%s",str。
              
              (18)以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)  用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長度,請?zhí)羁铡?BR>  FILE *myf;long fl;
              myf=_【20】  ("test.t","rb");
              fseek(myf,(),SEEK_END);fl+ftell(myf);
              fclose(myf);
              printf("%l d\n",f1);
              答案:【20】fopen
              評析:C語言中的文件分為:ASCII文件與二進(jìn)制文件。文件在使用前打開,使用后要關(guān)閉。
              打開文件的函數(shù)為:fopen(),調(diào)用形式為:fp=fopen("文件名","使用文件方式");
              關(guān)閉文件的函數(shù)為:fclose(),調(diào)用形式為:fclose(fp);其中fp為文件指針。

            文章搜索
            版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。