第 1 頁:選擇題 |
點擊查看:2018年3月全國計算機二級C語言練習(xí)題及答案匯總
一、選擇題(每小題1分,共40分)
1[單選題] 若有定義語句:double a,* P=&a;以下敘述中錯誤的是( )。
A.定義語句中的*號是一個間址運算符
B.定義語句中的*號是一個說明符
C.定義語句中的P只能存放double類型變量的地址
D.定義語句中,*P=&a把變量a的地址作為初值賦給指針變量P
參考答案:A
參考解析:在變量定義double a,* P=&a;中,*號是一個指針運算符,而非間址運算符,所以A錯誤。
2[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.321
B.12300
C.1
D.123
參考答案:D
參考解析:程序首先將數(shù)組a[10]中的元素1、2、3分別寫入了文件dl.dat文件中,然后又將dl.dat文件中的數(shù)據(jù)123,整體寫入到了變量n的空間中,所以打印n時輸出的數(shù)據(jù)為123。
3[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1,0,7,0,
B.1,2,3,4,
C.1,4,5,9,
D.3,4,8,l0,
參考答案:A
參考解析:該程序首先在定義變量時,對二維數(shù)組a[][N]進行賦值操作;調(diào)用函數(shù)fun,函數(shù)fun的功能是將二維數(shù)組中的a[0][0]、a[1][1]、a[2][2]和a[3][3]賦值給一維數(shù)組,最后將一維數(shù)組元素1,O,7,0,輸出。
4[單選題] 有以下程序段:
程序運行后的輸出結(jié)果是( )。
A.a=10 b=50 c=30
B.a=10 b=50 c=10
C.a=10 b=30 c=10
D.a=50 b=30 c=50
參考答案:B
參考解析:本題中a>b的條件不滿足,所以不執(zhí)行逗號表達式a=b,b=c;的操作,而是執(zhí)行c=a操作,即c的值為10。
5[單選題] 有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.y=0
B.y=-1
C.y=1
D.while構(gòu)成無限循環(huán)
參考答案:B
參考解析:執(zhí)行y--直到值為0,由于y--是先用再減,所以退出循環(huán)時,y的值為-l。
6[單選題] 若有定義語句:int x=10;,則表達式x-=x+x的值為( )。
A.0
B.-20
C.-10
D.10
參考答案:C
參考解析:算術(shù)運算符+的優(yōu)先級高于-=,且-=的結(jié)合方向為自右向左,所以表達式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,選擇C。
7[單選題] 有以下程序段:
程序段:
當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,Y的值為( )。
A.566.0
B.55566.0
C.7777.0
D.566777.0
參考答案:A
參考解析:它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。其中的格式命令可以說明最大域?qū)。在百分?%)與格式碼之間的整數(shù)用于限制從對應(yīng)域讀入的最大字符數(shù)。所以j的值為55,y的值為566.0,字符數(shù)組name為7777abc。
8[單選題] 若有定義語句:double x,y,*px,*py;執(zhí)行了px=&x;py=&y;之后,正確的輸入語句是( )。
A.scanf(”%If%le”,px,py);
B.scanf(”%f%f”&x,&y);
C.sceanf(”%f%f”,x.y);
D.scanf(”%If%If'’,x,y);
參考答案:A
參考解析:因為x,y都是double型數(shù)據(jù),所以輸入時的格式字符應(yīng)為%lf,所以B與C錯誤。D選項中scanf("%lf%If",x,y);應(yīng)為scanf(“%If%If"”,&x,&y);。
9[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1,2
B.1,0
C.3,2
D.0,0
參考答案:A
參考解析:首先打印b=a+b=1+0=1的值1,此時已給b賦值為1。然后打印a=2*b=2*1=2的值2。所以結(jié)果是1,2。
10[單選題] 有兩個關(guān)系R、S如下:
由關(guān)系R通過運算得到關(guān)系S,則所使用的運算為( )。
A.選擇
B.投影
C.插入
D.連接
參考答案:B
參考解析:投影運算是指對于關(guān)系內(nèi)的域指定可引入新的運算。本題中S是在原有關(guān)系R的內(nèi)部進行的,是由R中原有的那些域的列所組成的關(guān)系。所以選擇B。
11[單選題] 下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )。
A.循環(huán)隊列
B.帶鏈隊列
C.二叉樹
D.帶鏈棧
參考答案:C
參考解析:樹是簡單的非線性結(jié)構(gòu),所以二叉樹作為樹的一種也是一種非線性結(jié)構(gòu)。
12[單選題] 若有以下程序段:
程序運行后的輸出結(jié)果是( )。
A.16
B.8
C.4
D.2
參考答案:C
參考解析:本題考查位運算,屬于基礎(chǔ)知識,題目中將整型變量8,二進制表達為00001000,右移一位為00000100,即4,選項C正確。
13[單選題] 對于循環(huán)隊列,下列敘述中正確的是( )。
A.隊頭指針是固定不變的
B.隊頭指針一定大于隊尾指針
C.隊頭指針一定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
參考答案:D
參考解析:循環(huán)隊列的隊頭指針與隊尾指針都不是固定的,隨著入隊與出隊操作要進行變化。因為是循環(huán)利用的隊列結(jié)構(gòu),所以隊頭指針有時可能大于隊尾指針,有時也可能小于隊尾指針。
14[單選題] 設(shè)有定義:
char*c;
以下選項中能夠使c正確指向一個字符串的是( )。
ABCD參考答案:A
參考解析:A選項為正確用法,先將字符串存于字符數(shù)組中,然后將數(shù)組名賦給字符指針(數(shù)組名代表數(shù)組首地址,定義數(shù)組時為其分配確定地址)。C選項錯誤,getchar()函數(shù)只能輸入一個字符給字符型變量,而不是字符指針。B選項和D選項有類似的錯誤,兩個選項并無語法錯誤,但運行時可能會出現(xiàn)問題。因為在B選項和D選項中,字符指針沒有被賦值,是個不確定的值,指向一個不確定的內(nèi)存區(qū)域。這個區(qū)域可能存放有用的指令或致?lián)。在這個不確定的區(qū)域重新存放字符串,可能會發(fā)生無法預(yù)知的錯誤。因此A選項正確。
15[單選題] 若變量已正確定義,在if(W)printf(”%d\n”,k);中,以下不可替代w的是( )。
A.a<>b+c
B.ch=getchar()
C.a==b+c
D.a++
參考答案:A
參考解析:選項A是非法的表達式,C語言中沒有<>運算符。
16[單選題] 下列排序方法中,最壞情況下比較次數(shù)最少的是( )。
A.冒泡排序
B.簡單選擇排序
C.直接插入排序
D.堆排序
參考答案:D
參考解析:冒泡排序與筒單插入排序與簡單選擇排序法在最壞情況下均需要比較n(n-1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。
17[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.500
B.401
C.503
D.1404
參考答案:C
參考解析:本題重點考察函數(shù)的定義和調(diào)用,第一次循環(huán),a=0,i=0,返回值a=0*0+1+0=1;第二次循環(huán),a=1,i=10,返回值a=10*10+1+1=102;第三次循環(huán),a=102,i=20,返回值a=20*20+1+102=503;第四次循環(huán),a=503,i=30;不符合i<30,跳出循環(huán),最后結(jié)果輸出a=503。
18[單選題] 數(shù)據(jù)庫管理系統(tǒng)是( )。
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種操作系統(tǒng)
參考答案:B
參考解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負責(zé)數(shù)據(jù)庫中數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)等。是一種在操作系統(tǒng)之上的系統(tǒng)軟件。
19[單選題] 有以下函數(shù):
該函數(shù)的功能是( )。
A.計算s所指字符串的長度
B.比較兩個字符串的大小
C.計算s所指字符串占用內(nèi)存字節(jié)的個數(shù)
D.將s所指字符串復(fù)制到字符串t中
參考答案:A
考解析:首先char*s接受一個字符型數(shù)組的首地址并將這個首地址賦給另一個字符型指針char*t,while(*t++)不斷循環(huán)直到*t為'\0',再將t-1,這時字符指針t指向字符串的最后一個字符,又因為s指向字符數(shù)組的首地址即字符串的首地址所以return(t-s)便是返回字符數(shù)組中字符串的長度。
20[單選題] 以下選項中,能用作用戶標(biāo)識符的是( )。
A._0_
B.8_8
C.void
D.unsigned
參考答案:A
參考解析:C語言中標(biāo)識符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識符。B中以數(shù)字8開頭,所以錯誤。C與D中用的是關(guān)鍵字void與unsigned,所以錯誤。
21[單選題] 以下敘述中錯誤的是( )。
A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.C語言是一種結(jié)構(gòu)化程序設(shè)計語言
D.結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法
參考答案:A
參考解析:使用順序,選擇(分支),循環(huán)三種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡單問題,所以A錯誤。
22[單選題] 下列敘述中正確的是( )。
A.棧是“先進先出”的線性表
B.隊列是“先進后出”的線性表
C.循環(huán)隊列是非線性結(jié)構(gòu)
D.有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
參考答案:D
參考解析:棧是先進后出的線性表,所以A錯誤;隊列是先進先出的線性表,所以B錯誤;循環(huán)隊列是線性結(jié)構(gòu)的線性表,所以C錯誤。
23[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.2,1,1,2
B.1,2,1,2
C.2,1,2,1
D.1,2,2,1
參考答案:D
參考解析:int m=1,n=2,*P=&m,*q=&n,*r;即指針變量p指向m,指針變量q指向n,r=p;p=q;q=r;即通過指針變量r,將指針p和指針q的指向交換。因此最后輸出1,2,2,1。
24[單選題] 有以下程序:
若想通過鍵盤輸入,使得a1的值為12,a2的值為34,cl的值為字符a,c2的值為字符b,程序運行后的輸出結(jié)果是:l2,a,34,b。則正確的輸入格式是(以下︺代表空格,代表回車)( )。
ABCD參考答案:D
參考解析:在輸入多個數(shù)據(jù)時,若格式控制串中無非格式字符,則認為所有輸人的字符均為有效字符。所以應(yīng)按選項D的順序輸入數(shù)據(jù)。
25[單選題] 以下不構(gòu)成無限循環(huán)的語句或語句組是( )。
A.n=0:
do{++n;}while(n<=0);
B.n=0;
while(1){n++;}
C.n=10;
while(n);{n--;}
D.for(n=0,i=1;;i++)n+=i;
參考答案:A
參考解析:選項A中do后面的語句只執(zhí)行了一次便結(jié)束了循環(huán);B選項中條件while(1)永遠成立,所以是死循環(huán);C選項中n的值為10,而循環(huán)體為空語句,所以wilile(n)永遠為真,進入死循環(huán);D選項中for語句第二個表達式為空,所以沒有判別條件,進入死循環(huán)。
26[單選題] 若a是數(shù)值類型,則邏輯表達式(a==1)||(a!=1)的值是( )。
A.1
B.0
C.2
D.不知道a的值,不能確定
參考答案:A
參考解析:邏輯或”||”要求只要兩邊的運算對象有一個非零,結(jié)果就為真。雖然不知道a的值,但是若a為l,則左邊運算對象為1;若a的值不是1,則右邊運算對象的值為1,所以總能保證一邊非零,所以結(jié)果為真,即1。
27[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.9
B.8
C.7
D.10
參考答案:A
參考解析:題目中靜態(tài)局部變量a,在靜態(tài)存儲區(qū)內(nèi)分配存儲單元,在程序整個運行期間都不釋放。所以第一次調(diào)用函數(shù)執(zhí)行n+=a++;時a先與n相加在再進行自增。n的值為4,a的值為2,且a變量執(zhí)行完后空間沒有釋放。再執(zhí)行s=s+f
28[單選題] 程序中已構(gòu)成如下圖所示的不帶頭結(jié)點的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點,指針變量s總是作為指針指向鏈表的第一個結(jié)點。
若有以下程序段:
該程序段實現(xiàn)的功能是( )。
A.刪除尾結(jié)點
B.尾結(jié)點成為首結(jié)點
C.刪除首結(jié)點
D.首結(jié)點成為尾結(jié)點
參考答案:D
參考解析:本題考查鏈表的操作,本題中首先是s指向了它的下個結(jié)點,題目中說明了s總是指向鏈表的第一個結(jié)點,然后while循環(huán)找到鏈表的最后一個元素,然后最后一個元素指向了之前鏈表的頭結(jié)點,之前頭結(jié)點指向了空結(jié)點,所以本題實現(xiàn)的功能是使首結(jié)點成為尾結(jié)點。選項D正確。
29[單選題] 有以下程序(說明:字母A的ASCIl碼值是65):
程序運行后的輸出結(jié)果是( )。
A.BT
B.YE
C.YT
D.BY
參考答案:B
參考解析:本題中執(zhí)行fun(a)時,會取字符串a(chǎn)的第一個字母B,因為字母B的ASCII碼值為66,所以不會輸出字母8,函數(shù)只會輸出ASCII碼值為奇數(shù)的字母,字母Y的ASCIl碼值為89,字母T的ASCII碼值為84,字母E的ASCII碼值為69。因此B選項正確。
30[單選題] 下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是( )。
A.可封裝
B.自頂向下
C.模塊化
D.逐步求精
參考答案:A
參考解析:結(jié)構(gòu)化程序設(shè)計的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句,所以選擇A。
31[單選題] 某二叉樹有5個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是( )。
A.10
B.8
C.6
D.4
參考答案:C
參考解析:根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以本題中是5+1=6個。
32[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1*1=11*2=21*3=3
2*2:42*3=6
3*3=9
B.1*1=11*2=21*3=3
2*1=22*2=4
3*1=3
C.1*1=1 .
1*2=22*2=4
1*3=32*3=63*3=9
D.1*1=1
2*1=22*2=4
3*1=33*2=63*3=9
參考答案:A
參考解析:外循環(huán)第一次i的值為1,內(nèi)循環(huán)第一次j的初值為1,打印1*1=1;內(nèi)循環(huán)第二次j的值為2,打印1+2=2;內(nèi)循環(huán)第三次j的值為3,打印l*3=3,打印回車換行,退出內(nèi)循環(huán)。外循環(huán)第二次i的值為2,內(nèi)循環(huán)第一次j的初值為2,打印2*2=4;內(nèi)循環(huán)第二次j的值為3,打印2*3=6,打印回車換行.退出內(nèi)循環(huán)。外循環(huán)第三次i的值為3,內(nèi)循環(huán)第一次j的初值為3.打印3*3=9,打印回車換行,退出內(nèi)循環(huán)。
33[單選題] 以下關(guān)于宏的敘述中正確的是( )。
A.宏替換沒有數(shù)據(jù)類型限制
B.宏定義必須位于源程序中所有語句之前
C.宏名必須用大寫字母表示
D.宏調(diào)用比函數(shù)調(diào)用耗費時間
參考答案:A
參考解析:宏定義寫在函數(shù)的花括號外邊,作用域為其后的程序,通常在文件的最開頭,所以B選項中宏定義必須位于源程序中所有語句之前是錯誤的:宏名一般用大寫.但不是必須用大寫,所以C選項錯誤。宏展開不占運行時間,只占編譯時間,函數(shù)調(diào)用占運行時間(分配內(nèi)存、保留現(xiàn)場、值傳遞、返回值),所以D選項錯誤。
34[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.11
B.9
C.6
D.7
參考答案:C
參考解析:strepy:字符串拷貝函數(shù);strlen:求字符串長度函數(shù)(注意:不包含字符串結(jié)束標(biāo)識符‘\0’);strcat:字符串連接函數(shù)。執(zhí)行完語句strcat(p,r);后,p數(shù)組中存儲的元素為a,b,c,d,a,b,c,d,e;執(zhí)行語句strcpy(p+strlen(q),q);得到的結(jié)果是將q所指向的字符串拷貝至p+strlen(q)開始的存儲位置,因為strlen的值為3,即從p+3開始存儲q中的元素。所以執(zhí)行完strepy(p+strhn(q),q)語句后,字符數(shù)組p[20]的存儲元素為a b,e,a,b,c;所以strlen(p)的結(jié)果為6。因此C選項正確。
35[單選題] 支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是( )。
A.棧
B.樹
C.隊列
D.二叉樹
參考答案:A
參考解析:棧支持子程序調(diào)用。棧是一種只能在一端進行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點,因此本題的答案為A。
36[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.*2*6
B.*3*5
C.*5
D.*7
參考答案:D
參考解析:d0...while語句是先執(zhí)行后判斷,所以第一次先執(zhí)行循環(huán)體,判斷i%3==1的條件,由于i為5,所以余數(shù)為2.條件不成立,執(zhí)行i++,i的值為6,判斷while條件為真;第二次執(zhí)行循環(huán)體,同第一次循環(huán)的執(zhí)行過程一樣,i的值變?yōu)?,判斷while條件為真;第三次執(zhí)行循環(huán)體,此時i%3==1,條件成立,再判斷i%5==2也成立,打印t與i的值,即*7,然后執(zhí)行break語句,跳出循環(huán)。所以選擇D選項。
37[單選題] 有以下程序:
以上程序執(zhí)行后abc.dat文件的內(nèi)容是( )。
A.China
B.Chinang
C.ChinaBeijing
D.BeijingChina
參考答案:B
參考解析:本題考查文件操作函數(shù),fwrite和rewind函數(shù),題目中先是將a2字符串寫入adc.dat中,然后將寫指針回到文件開頭,然后寫入sl字符串,那么s1字符串就將前5個字符覆蓋,所以最終結(jié)果為Chinang,選項B正確。
38[單選題] 軟件詳細設(shè)計生產(chǎn)的圖如右圖:
該圖是( )。
A.N-S圖
B.PAD圖
C.程序流程圖
D.E-R圖
參考答案:C
參考解析:N-S圖提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,所以A不對。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設(shè)計的圖形表示工具,所以B不對。E-R圖是數(shù)據(jù)庫中的用于表示E-R模型的圖示工具,所以D不對。根據(jù)圖中所示表示方法是進行軟件詳細設(shè)計時使用的程序流程圖。
39[單選題] 將E-R圖轉(zhuǎn)換為關(guān)系模式時,實體和聯(lián)系都可以表示為( )。
A.屬性
B.鍵
C.關(guān)系
D.域
參考答案:C
參考解析:從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體與聯(lián)系都可以表示成關(guān)系,E—R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性。記
40[單選題] 設(shè)有定義:
struct complex
{ int real,unreal;}data1={1,8},data2;
則以下賦值語句中錯誤的是( )。
A.data2=(2,6);
B.data2=data1;
C.data2.real=data1.real;
D.data2.real=data1.unreal;
參考答案:A
參考解析:A選項中可以在聲明變量的同事為data2賦值,但是data2=(2,6);應(yīng)寫作data2={2,6}。所以選擇A。
二、程序填空題(共18分)
41[填空題]
下列給定程序中,函數(shù)fun的功能是:求ss所指字符串?dāng)?shù)組中長度最短的字符串所在的行下標(biāo),作為函數(shù)值返回,并把其串長放在形參n所指的變量中。ss所指字符串?dāng)?shù)組中共有M個字符串,且串長小于N。
請在程序的下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。
注意:部分源程序在文件BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
參考解析:【參考答案】 (1)M
(2)<
(3)k
【考點分析】
本題考查:for循環(huán)語句的循環(huán)條件;if語句條件表達式;return語句完成函數(shù)值的返回。
【解題思路】
填空1:題目指出ss所指字符串?dāng)?shù)組中共有M個字符串,所以for循環(huán)語句循環(huán)條件是i
填空2:要求求長度最短的字符串,+n中存放的是已知字符串中長度最短的字符串的長度,這里將當(dāng)前字符串長度與*n比較,若小于*n,則將該長度值賦給*n,因此if語句的條件表達式為len<*n。
填空3:將最短字符串的行下標(biāo)作為函數(shù)值返回,變量k儲存行下標(biāo)的值。
三、程序修改題(共18分)
42[簡答題]
下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對應(yīng)的大寫字母,其他字符不變。
例如,若輸入“Ab,cD”,則輸出“AB,CD”。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
參考解析:【參考答案】
【考點分析】
本題考查:if語句條件表達式;小寫字母轉(zhuǎn)大寫字母的方法。
【解題思路】
(1)分析本題可知,要判斷字符是否為小寫字母,即判斷其是否在a~z之間,所以這里需要進行連續(xù)的比較,用&&。
(2)從ASCIl碼表中可以看出,小寫字母的ASCII碼值比對應(yīng)大寫字母的ASCII值大32。將字符串中的小寫字母改為
大寫字母的方法是:從字符串第一個字符開始,根據(jù)ASCII碼值判斷該字母是不是小寫字母,若是,則ASCII碼值減32即可。
四、程序設(shè)計題(共24分)
43[簡答題]
編寫函數(shù)fun,其功能是:實現(xiàn)兩個字符串的連接(不要使用庫函數(shù)strcat),即把p2所指的字符串連接到pl所指的字符串的后面。
例如,分別輸入下面兩個字符串:
FirstString- -
SecondString
程序運行后的輸出結(jié)果是: .
FirstString- -SecondString
注意:部分源程序在文件PROG1.C中。 .
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填人你編寫的若干語句。
參考解析:【參考答案】
【考點分析】
本題考查:不使用字符串函數(shù)實現(xiàn)字符串連接操作。通過for循環(huán)語句來完成,不要忘了最后需要加上字符串結(jié)束標(biāo)識‘\0’。
【解題思路】
本題用兩個循環(huán)完成操作,第1個循環(huán)的作用是求出第l個字符串的長度。印將i指到第1個字符串的末尾。第2個循環(huán)的作用是將第2個字符串的字符連連第l個字符串的末尾。最后在第1個字符串的結(jié)尾加上字符串結(jié)束標(biāo)識'\0'。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復(fù)習(xí)知識點匯總(各科目)
2018全國計算機等級考試備考經(jīng)驗及應(yīng)試技巧匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |