C語(yǔ)言程序設(shè)計(jì)試題及答案十_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題及答案十_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題及答案十_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題及答案十_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題及答案十_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)試題及答案十C語(yǔ)言程序設(shè)計(jì)試題及答案十一、選擇題:1 .以下不是C語(yǔ)言的特點(diǎn)的是B,能夠編制出A.C語(yǔ)言簡(jiǎn)潔、緊湊功能復(fù)雜的程序C. C語(yǔ)言可以直接對(duì)硬件進(jìn)行操作D. C語(yǔ)言移植性好2 .以下不正確的C語(yǔ)言標(biāo)識(shí)符是.A. ABCB. abcC. a_bcD. ab.c3 . 一個(gè)c程序的執(zhí)行是從.A. main 函數(shù)開(kāi)始,直到main 函數(shù)結(jié)束B(niǎo).第一個(gè)函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束C.第一個(gè)語(yǔ)句開(kāi)始,直到最后一個(gè)語(yǔ)句結(jié)束D. main 函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束4 .以下不正確的語(yǔ)句設(shè)有int p,q是.A. P*=3;B.p/=q; C.p 十=3;D. p&&a

2、mp;=q5 .以下四組選項(xiàng)中,均不是 C語(yǔ)言關(guān)鍵字的選項(xiàng)是.A. define B.getcC.includeD.whileifcharsanfgo typeprintfcasepow 6.下面四個(gè)選項(xiàng)中,均是合法整形常量的選項(xiàng)是.A.160B.-0xcdfC.-01D.-0x48a-0xffff01a986,0122e50110xe06680x7 .下面四個(gè)選項(xiàng)中,均是不合法浮點(diǎn)數(shù)的選項(xiàng)是.A.160.B.123C.-.18D.-e30.122e4.2123e40.234e3.e50.01e38 .假設(shè)有代數(shù)式3ae/bc ,那么不正確的C語(yǔ)言表達(dá)式是 A.a/b/c*e*3B.3*a*e

3、/b/cC.3*a*e/b*cD.a*e/c/b*39 .假設(shè)以下變量均是整形,且num=sum=7那么計(jì)算表達(dá)式sUM=num+sUM+ +num后sum的值為.1 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案(十)A.7B.8C.9D.10B.2.750000B. 一個(gè)整型表達(dá)式D. 一個(gè)不合法的表達(dá)C.4D.510 .假設(shè)有定義:int a=7; float x=205 ,y=4.7; 那么表達(dá)式 x+a%3*(int)(x+y)%2/4 的值是()oD.0.000000A.2.500000C.3.50000011 . sizeof(float) 是().A. 一個(gè)雙精度型表達(dá)式C. 一種函數(shù)調(diào)用式

4、12 .設(shè)int n =3;那么n十十的結(jié)果是(A.2B.313 .設(shè)有說(shuō)明:char w; int x; float y; double z;那么表達(dá)式 w*x+z-y 值的B.char數(shù)據(jù)類(lèi)型為().A.floatC.intD.double.14 .假設(shè)x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào) 用語(yǔ)句是().A. scanf( "d%d1x,%1e ,&x,&y,&z);B. scanf( "2d*%d%行,&x,&y,&z);C. scanf( "x%*d% o,&x

5、,&Y);D. scanf( "x%o%6.2f , &x,&y,&z);15 .以下說(shuō)法正確的選項(xiàng)是().A.輸入項(xiàng)可以為一個(gè)實(shí)型常量,如 scanf( "f',3.5);B.只有格式限制,沒(méi)有輸入項(xiàng),也能進(jìn)行正確輸入,如scanf( "a=%d,b=%d );C.當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式限制局部應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf( "4.2f,&f);D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量的地址,如 scanf( "f',&f);16 .以下程序的執(zhí)行結(jié)果是().#include&l

6、t;stdio.h>main()(int sum,pad;sum=pad=5;pad=sum+;pad+;+pad;printf("%dn",pad);)A.7B.6C.5D.417 .巳知字母A的ASCII碼是65,以下程序的執(zhí)行結(jié)果是().2 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十#include<stdio.h>main() (char c1='A',C2='Y'printf("%d,%dn",c1,c2);A.A,YB.65,65C.65,90D.65,8918 .為了防止嵌套的if-else 語(yǔ)句的

7、二義性,c語(yǔ)言規(guī)定else總是與()組成配對(duì)關(guān)系.A.縮排位置相同的ifB.在其之前末配對(duì)的ifC.在其之前未配對(duì)的最近的ifD.同一行上的if19 .邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型().A.能是0或1B.只能是0或非0正數(shù)C.只能是整型或字符型數(shù)據(jù)D.可以是任何類(lèi)型的數(shù)據(jù)20.設(shè)x、y和z是int型變量,且x = 3, y = 4, z=5,那么下面表達(dá)式中值為 0 的是().A.' x' && y'B.x< = yC. x | | y+z&&y-zD.!(x <y) &&!z | | 1)21 .假設(shè)希望

8、當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真,A的值為偶數(shù)時(shí),表達(dá)式 的值為“假.那么以下不能滿足要求的表達(dá)式是().A.A%2=1B.!(A %2= = 0)C.!(A %2) D.A%222 .以下不正確的if語(yǔ)句形式是().A.if(x >y&&x!=y);22.1 (x = = y)x 十=y;C.if(x !=y)scanf( "%d , &x) e1se scanf( " % d,&y);D.if(x <y)x 十十;y 十十;23 .以下if語(yǔ)句語(yǔ)法正確的選項(xiàng)是().A.if(x >0)printf( "%f

9、,x)else printf( “f , -x);B.if(x >0)x =x+y;printf( "f ",x);else printf("f',-x)C.if(x >0)x =x+y;printf( "f ",x);else printf("f',-x)D.if(x >0)x =x+y;printf( "f ",x);3 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十else printf("f',-x)else printf("f,-x);24 .閱讀以下程序

10、main()int a=5,b=0,c=0;if(a=b+c) printf("* n );elseprintf( "$ n" );以上程序().A.語(yǔ)法有錯(cuò)不能通過(guò)編譯可以通過(guò)編譯但不能通過(guò)連接C.輸出*D.輸出$25 .以下程序運(yùn)行結(jié)果是().main()int a=100,x=10,y=20,ok1=5,ok2=0;if (x<y)if (y!=10)If(!ok1)a=1;elseif(ok2) a=10;a=-1;printf(“dn ,a);A.1B.0c.-1D.不確定26 .執(zhí)行以下程序段后,變量a,b,c得值分別是().int x=10,y

11、=9;int a,b,c;a=(-x=y+)?- x: +y;b=x+;c=y;A.a=9,b=9,c=9C.a=9,b=10,c=9B.a=8,b=8,c=10D.a=1,b=11,c=1027 .假設(shè)w,x,y,z,m均為int型變量,那么執(zhí)行下面語(yǔ)句后的m值是.w=1;x=2;y=3;z=4;m=(w<x)? w:x;m=(m<y)? m:y;m=(m<z)? m:z; A.1B.2D.4B.C.328 .語(yǔ)句while!e;中的條件!e等價(jià)于4 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十A.e = = 0B.e! =1C.e!=D.-e29 .下面有關(guān)for循環(huán)的正確描述是A

12、.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B.for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判定表達(dá)式C.在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體D.for循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但要用花括號(hào)括起來(lái)30 . C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是.A.do-while的循環(huán)體至少無(wú)條件執(zhí)行一次B.while的循環(huán)限制條件比的循環(huán)限制條件嚴(yán)格C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D.do-while的循環(huán)體不能是復(fù)合語(yǔ)句31 .以下程序段().B.循環(huán)執(zhí)行二次D.有語(yǔ)法錯(cuò)誤C.8x=-1; dox=x*x; while(! x);A.是死循環(huán)C.循環(huán)執(zhí)行二次32 .下面程序的運(yùn)

13、行結(jié)果是().#include <stdio.h>main()int y=10;doy-;while(-y);printf("dn,y-);A.-1B.1D.033 .以下正確的描述是.A.continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行B.只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句C.在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同D.從多層循環(huán)嵌套中退出時(shí),只能使用 goto語(yǔ)句34 . c語(yǔ)言中.A.不能使用do-while語(yǔ)句構(gòu)成的循環(huán)B.do-while語(yǔ)句構(gòu)成的循環(huán)必須用break語(yǔ)句才能退出C.do-whiLe語(yǔ)句構(gòu)成的循環(huán),當(dāng)whil

14、e語(yǔ)句中的表達(dá)式值為非零時(shí)結(jié)束循 環(huán)D.do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)35 .在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類(lèi)型允許是A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式 D.任何類(lèi)型的表達(dá)式36 .在C語(yǔ)言中,一位數(shù)組的定義方式為:類(lèi)型說(shuō)明符數(shù)組名.A.常量表達(dá)B.整型表達(dá)式C.整型常量或整型表達(dá)式D.整型 常量37 .以下不能對(duì)二維整形數(shù)組a進(jìn)行正確初始化的語(yǔ)句是.A.int a23=0;B. int a3=1,2,0;5 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案(十)C. int a23=1,2,3,4,5,6;D. int a3=1,2,

15、3,4,5.6;38 .假設(shè)有說(shuō)明:int a4=0 , 0;那么下面正確的表達(dá)是().A.數(shù)組a中每個(gè)元素均可得到初值0B.二維數(shù)組a的第一維大小為1C.由于二維數(shù)組a中第二維大小的值除以初值個(gè)數(shù)的商為1,故數(shù)組a的行數(shù)為1D.只有元素a00和a01可得到初值0,其余元素均得不到初值 0 39.假設(shè)有說(shuō)明:int a3=1,2,3,4,5,6,7; 那么a數(shù)組第一維的大小是().A.2B.3C.4D.無(wú)確定值40 .下面程序的運(yùn)行結(jié)果是().char c5='a' , ' b' , '0' , ' c' c, '0

16、9; ;printf("§ ,c);A. 'a' ' bB.abC.ab cD.ab41 .有兩個(gè)字符數(shù)組a、b,那么以下正確的輸入語(yǔ)句是().gets(a,b);scanf( "s%s ,a,b);scanf( "s%s ,&a,&b);gets( "a" ),gets("b );A. sj+=siB. s+j=siC. sj=si; j+D.sj=si42 .假設(shè)使用一維數(shù)組名作函數(shù)實(shí)參,那么以下正確的說(shuō)法是().A.必須在主調(diào)函數(shù)中說(shuō)明此數(shù)組的大小B.實(shí)參數(shù)組類(lèi)型與形參數(shù)組類(lèi)型可

17、以不匹配C.在被調(diào)函數(shù)中,不需要考慮形參數(shù)組的大小D.實(shí)參數(shù)組名與形參數(shù)組名必須一致43 .以下正確的說(shuō)法是().A.如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量,那么該變量只在該復(fù)合語(yǔ)旬中有效B.在該函數(shù)中有效C.在本程序范圍內(nèi)均有效D.非法變量44.但凡函數(shù)中未指定存儲(chǔ)類(lèi)別的局部變量,其隱含的存儲(chǔ)類(lèi)別為().A.自動(dòng)(auto) B.靜態(tài)(static ) C.外部(extern ) D. 存放器(register ) 45.以下程序的運(yùn)行結(jié)果是().#define MIN(x,y) (x)<(y)?(x):(y) main()int i=10,j+15,k;k+10*MIN(i,j)

18、;6 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案(十)printf("dn,k);)A.10B.15C.100D.15046. C語(yǔ)言的編譯系統(tǒng)對(duì)宏命令的處理是().A.在程序運(yùn)行時(shí)進(jìn)行的 B.在程序連接時(shí)進(jìn)行的C.和C程序中的其它語(yǔ)句同時(shí)進(jìn)行編譯的D.在對(duì)源程序中的其它語(yǔ)句同時(shí)進(jìn)行編譯的 47.請(qǐng)讀程序 #include<stdio.h> #defineMUL(x,y)(x)*y main() int a=3,b=4,c;c=MUL(a+,b+); printf("%dn",c); ) 上面程序的輸出結(jié)果是().A.12B.15C.20D.1648 .以下程序

19、的輸出結(jié)果為().#definePT5.5#defineS(x)PT*x*xmain() inta=1,b=2; printf("%4.1n",S(a+b); )A.12.0B.9.5C.12.5D.33.549 .在“文件包含預(yù)處理語(yǔ)句的使用形式中,當(dāng) #include后面的文件名用<> 括起時(shí),尋找被包含文件的方式是().A.僅僅搜索當(dāng)前目錄B.僅僅搜索源程序所在目錄C.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄D.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索 50.以下正確的描述是().A.C語(yǔ)言的預(yù)處理功能是指定完成宏替換和包含文件的調(diào)用B.預(yù)處理指令只能位

20、于C源程序文件的首部C.但凡C源程序中行首以“ #"標(biāo)識(shí)的限制行都是預(yù)處理指令D.C語(yǔ)言的編譯預(yù)處理就是對(duì)源程序進(jìn)行初步的語(yǔ)法檢查51.設(shè)p1和p2是指向同一個(gè)字符串的指針變量,c為字符變量,那么以下不能正 確執(zhí)行的賦值語(yǔ)句是().A.c=*p1+p2;B.p2=cC.p1=p2D.c=*p1*(*p2); 52.設(shè)有下面的程序段: chat s= " china ; char *p; p=s;7 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案(十)那么以下表達(dá)正確的選項(xiàng)是().A.s和p完全相同B.數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等C.s數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等D.*p與

21、s0相等53.下面程序的運(yùn)行結(jié)果是().#include<stdio.h>#include<string.h> main() char * p1,*p2,str50=" abc ;p1=" abc" ;p2=" abc ;strcpy(str+1,strcat(p1,p2); printf(“sn ,str); A. abcabcabc B.bcabcabc C. aabcabc D.cabcabc 54.假設(shè)有定義:int a23;那么對(duì)數(shù)組a的第i行第j歹(假設(shè)i , j已正確說(shuō) 明并賦值)元數(shù)值的正確引用為().A.*(*(

22、i+j)+j)B.(a+i)jC.*(a+i+j)D.*(a+i)+j 55.假設(shè)有定義:int (*p) 4;那么標(biāo)識(shí)符p().A.是一個(gè)指向整型變量的指針B.是一個(gè)指針數(shù)組名C.是一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組D.定義不合法56 .假設(shè)有以下定義和賦值語(yǔ)句,那么對(duì)b數(shù)組的第i行第j列(假設(shè)i , j已正確說(shuō)明并賦值)元素地址的非法引用為().int b23=0, (*p) 3;p=b;A.* (* (p+i) +j)B.* (pi+j )C. (p+i) +jD. (* (p+i) ) j57 .當(dāng)說(shuō)明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是().A.各成員所需內(nèi)存量的總和B.

23、結(jié)構(gòu)中第一個(gè)成員所需內(nèi)存量C.成員中占內(nèi)存量最大者所需的容量D.結(jié)構(gòu)中最后一個(gè)成員所需內(nèi)存量58 . C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序執(zhí)行期間().A.所有成員一直駐留在內(nèi)存中B.只有一個(gè)成員駐留在內(nèi)存中C.局部成員駐留在內(nèi)存中D.沒(méi)有成員駐留在內(nèi)存中59 .以下對(duì)C語(yǔ)言中共用體類(lèi)型數(shù)據(jù)的表達(dá)正確的選項(xiàng)是().A.可以對(duì)共用體變量名直接賦值8 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十B. 一個(gè)共用體變量中可以同時(shí)存放其所有成員C. 一個(gè)共用體變量中不可能同時(shí)存放其所有成員D.共用體類(lèi)型定義中不能出現(xiàn)結(jié)構(gòu)體類(lèi)型的成員60 . C語(yǔ)言共用體型變量在程序運(yùn)行期間.A.所有成員一直駐留在內(nèi)存中B.只有一個(gè)成員駐留

24、在內(nèi)存中C.局部成員駐留在內(nèi)存中 D.沒(méi)有成員駐留在內(nèi)存中61 .請(qǐng)讀程序片段:int x=20;printf"dn,x;上面程序片段的輸出結(jié)果是.A.02B. -20C.-21D.-1162.在位運(yùn)算中,操作數(shù)每左移一位,其結(jié)果相當(dāng)于.A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以463 .系統(tǒng)的標(biāo)準(zhǔn)輸入文件是指oA.鍵盤(pán)B .顯示器C .軟盤(pán)D.硬盤(pán)64 .當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose函數(shù)的返回值是.A .-1B. TUREC. 0D.165 .函數(shù)的調(diào)用形式:freadbuffer,size,count,fp ;其中buffer代表的 是.A . 一

25、個(gè)整形變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)B . 一個(gè)文件指針,指向要讀的文件 C . 一個(gè)指針,指向要讀入數(shù)據(jù)的存放地址 D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)二、填空題:1 . C程序的根本單位是 .2 .表達(dá)式10%3的結(jié)果是.3 .假設(shè)所有變量均為整型,那么表達(dá)式a=2,b=5,a+,b+,a+b的值為 o4 .在C語(yǔ)言中以16位PC機(jī)為例,一個(gè)float型數(shù)據(jù)在內(nèi)存中所占用的字 節(jié)數(shù)為;5. C語(yǔ)言所提供的根本數(shù)據(jù)類(lèi)型包括:.9 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案(十)6 .表達(dá)式pow(2.8,sqrt(double(x)值的數(shù)據(jù)類(lèi)型為 07 .以下程序的執(zhí)行結(jié)果#include<stdio

26、.h>main()float f=3.5;printf("%f,%g,f,f)8 .以下程序的執(zhí)行結(jié)果是 #include<stdio.h>main()float f=31.41592;printf("%f,%e",f,f)9 .以下程序的執(zhí)行結(jié)果#include<stdio.h>main()int a,b,c;a=2;b=3;c=1;if(a>c)printf("%dn",a);elseprintf("%dn",b);printf("end'n");10 .在

27、C語(yǔ)言中,表示邏輯“真信用 .11 .有 int x,y,z; 且 x=3,y=-4,z=5,那么表達(dá)式(x&&y)= =(x | | z)的值為 012 .下面程序從鍵盤(pán)輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán).請(qǐng)?zhí)羁?int n=0,c;c=getchar();while( )if(c>='0' &&c<= '9' ) n+ ;c=getchar();13 .執(zhí)行下面程序段后,k值是.k=1;n=263;)/ 20C語(yǔ)言程序設(shè)計(jì)試題及答案(十)dok*=n%10; n/=10 while (n);14 .下

28、面程序段中循環(huán)體的執(zhí)行次數(shù)是.a=10;b=0;dob+=2;a-+2+b; while (a>=0);15 .假設(shè)for循環(huán)用以下形式表示:for (表達(dá)式1;表達(dá)式2;表達(dá)式3) 循 環(huán)體語(yǔ)句那么執(zhí)行語(yǔ)句 for(i=0;i<3;i+) printf(“*);時(shí),表達(dá)式3執(zhí)行 次.16 .以下程序的輸出結(jié)果是.main()int s10=1,2,3,4,5,6,7,8,9,10,*p=s;printf("%dn",*(p+4);17 .假設(shè)二維數(shù)組a有m列,那么計(jì)算任一元素aij 在數(shù)組中位置的公式為:.(假設(shè)a00位于數(shù)組的第一個(gè)位置上.)18 .在C語(yǔ)言

29、中,二維數(shù)組元素的內(nèi)存中的存余順序19 .在C語(yǔ)言中,一個(gè)函數(shù)一般由兩個(gè)局部組成,它們20 .以下程序的運(yùn)行結(jié)果是.#include<stdio.h>f(int a口)int i=0;while (ai<=10)printf("d ,ai);i+;main()int a=1,5,10,9,11,7;f(a+1);21 .設(shè)有以下宏定義:d define WIDTH 80#define LENGTH (WIDTH+40)那么執(zhí)行賦值語(yǔ)句:k=LENGTH*20;(k為int型變量)后,k的值22 .下面的運(yùn)行結(jié)果是. #define MUL(z) (z)*(z) ma

30、in() printf("dn,MUL(1+2)+3);11 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十23 .下面程序的運(yùn)行結(jié)果是#define EXCH(a , b) int t ; t=a ; a=b; b=t; main()int x=5, Y=9;EXCH(x,y);printf("x=%d,y=%dn ,x,y);24 .下面程序段的運(yùn)行結(jié)果是.char s80, *sp= " HELLO!;sp=strcpy(s,sp);s0= ' h'puts(sp);25 .下面程序段的運(yùn)行結(jié)果是.char s1= " AbcdEf"

31、,s2=" aB'; s1+;t=(strcmp(s1,s2)>0);print( "dn,t)26 .下面程序段的運(yùn)行結(jié)果是.char *p= " PDP-0 ;int I,d;for(I=0;I<7;I+)d=isdigit(*(p+ii);if(d!=0) printf("c *(p+I);27 .當(dāng)運(yùn)行以下程序時(shí),從鍵盤(pán)輸入 book<CR>book <CR>(<CR法示回車(chē),表示空格),那么下面程序段運(yùn)行的結(jié)果 char a180,a280,*s1=a1,*s2=a2;gets(s1);gets

32、(s2);if(!strcmp(s1,s2) printf("*" ):else printf("# );printf( "d ,strlen( strcat(s1,s2);28 .假設(shè)已定義:struct numint a;int b;float f; n=1,3,5.0;struct num * pn = &n;貝日表達(dá)式(*pn).a+pn->f 的值是.29 .在C語(yǔ)言中,&運(yùn)算符作為雙目運(yùn)算符時(shí)表示的是 運(yùn)算.30 .在C語(yǔ)言中,文件的存取是以字符為單位的,這種文件被稱(chēng)作 文件.12 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十三、

33、編程題:1 .將一個(gè)字符串的內(nèi)容顛倒過(guò)來(lái).2 .求整形數(shù)組的最大值.3 .求字符串的長(zhǎng)度不用strlen .4 .編寫(xiě)程序,將字符串str中的所有字符k'刪除.5 .找出二維數(shù)組的鞍點(diǎn),即該位置上的元素是該行上的最大值,是該列上的最 小值.二維數(shù)組也可能沒(méi)有鞍點(diǎn).6 . a是一個(gè)2*4的整型數(shù)組,且各元素均已賦值.函數(shù)max_value可求出其中的 最大元素值max,并將此值返回主調(diào)函數(shù).今有函數(shù)調(diào)用語(yǔ)句max=max_valuea; 請(qǐng)編寫(xiě)max_value函數(shù).7 .設(shè)計(jì)函數(shù),實(shí)現(xiàn)字符串連接操作不使用strcat .8 .以下程序的功能是應(yīng)用下面的近似公式計(jì)算e的n次方.函數(shù)f1用

34、來(lái)計(jì)算每項(xiàng)分子的值,函數(shù)f2用來(lái)計(jì)算每項(xiàng)分母的值.請(qǐng)編寫(xiě)f1和f2函數(shù).3!前20項(xiàng)的和9 .從鍵盤(pán)上輸入假設(shè)干個(gè)學(xué)生的成績(jī),計(jì)算出平均成績(jī),并輸出不及格的成績(jī)和 人數(shù).10 .設(shè)計(jì)函數(shù),在二維數(shù)組中產(chǎn)生如下形式的揚(yáng)輝三角形.11112113311464111 .回文是從前向后和從后向前讀起來(lái)都一樣的句子.寫(xiě)一個(gè)函數(shù),判斷一個(gè)字符串是否為回文,注意處理字符串中有中文也有西文的情況.12 .約瑟夫環(huán)問(wèn)題:編號(hào)為1,2,3, ,n的n個(gè)人按順時(shí)針?lè)较驀蝗? 每人持有一個(gè)正整數(shù)密碼.一開(kāi)始任選一個(gè)正整數(shù)m作為報(bào)數(shù)上限值,從第一個(gè) 人開(kāi)始按順時(shí)針報(bào)數(shù),報(bào)到 m時(shí)停止,報(bào)m的人出列,將他的密碼作為新

35、的 m 值,從他在順時(shí)針?lè)较虻南乱粋€(gè)人開(kāi)始重新從1報(bào)數(shù),如此下去,直到所有人全部出列為止.設(shè)計(jì)程序求出出列順序.參考答案一、選擇題1. B 2.D 3.A 4.D 5.A 6.A 7.B 8.C 9.A 10.A 11.B 12.B 13.D 14.D 15.D 16.A17.D 18.C 19.D 20.D21.C22.C23.B24.D25.C26.B 27.A28.A29.D30.A31.C32.B 33.B 34.D 35.C36.D37.C38.D39.B40.B41.B 42.A43.A44.A45.B46.D47.A 48.B 49.C 50.C51.B52.D53.C54.A5

36、5.C56.C 57.A58.A59.C60.B61.C62.A 63.A 64.C 65.C二、填空題1. SSL 2. 1_3. 9 _4. 45.單精度型、雙精度型、整型、字符型和枚舉型6.雙精度型或:doubLe型7.3.500000,3.58. 31.415920,3.14159e+0113 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十9.end 10.非 0 的數(shù)字 11.1 12.c!='n' 13.36_ 14.3_15.3 16.517.i*m+j+i 18.按行主順序存放19.函數(shù)說(shuō)明局部和函數(shù)體 20.5 10 9 21.2400 22.12 23.x=8,y=5

37、24.hELLO!25.126.1*0* 27.#9 28.6.029.按位與 30.三、編程題1 .解:注意交換位置的限制方法,參考程序如下:#include <stdio.h>#include <string.h>void change(char str) int len,i,j;char c;len=strlen(str);for (i=0,j=len-1;i<len/2;i+,j-) c=stri;stri=strj;strj=c;)main() char str80;printf("Enter string:");gets(str);

38、change(str);printf("n result is: %sn",str);)2 .解:參考程序如下:#include <stdio.h>int max(int a,int n) int i,mx;mx=a0;for (i=1;i<n;i+)if (ai>mx) mx=ai;return mx;)main() int a8=23,4,6,12,33,55,2,45);printf("max is %dn",max(a,8);)3 .解:參考程序如下:#include <stdio.h>int strlen(c

39、har str) int i;for (i=0;stri!='0'i+);14 / 20c語(yǔ)言程序設(shè)計(jì)試題及答案十return i;)main() char str80;printf("Enter string:");gets(str);printf("n string length is: %d n,strlen(str);)4 .解:將從字符串中刪除所有字符'k'的功能定義為函數(shù).參考程序如下:#include <stdio.h>void delchar(char str,char c) int i,j;for (i

40、=0,j=0;stri!='0'i+)if (stri!=c)strj+=stri;strj='0')main() char str80;int i,j;gets(str);delchar(str,'k');puts(str);)5 .解:依鞍點(diǎn)定義,對(duì)數(shù)組每行元素循環(huán),找到當(dāng)前行上最大元素,記下所在 的列號(hào),再判斷此元素是否為對(duì)應(yīng)列的最小元素.將尋找打印數(shù)組鞍點(diǎn)的操作定義為函數(shù),如果沒(méi)有鞍點(diǎn),函數(shù)返回-1.參考程序如下:#include <stdio.h>#define N 10#define M 10int andian(int

41、aM,int n,int m) int i,j,k,max,maxcol;int flag1,flag2=0; /*flag1標(biāo)記每一行的最大值是否鞍點(diǎn),flag2標(biāo)記矩陣是否有鞍點(diǎn)*/for (i=0;i<n;i+) max=ai0;for (j=1;j<m;j+)if (aij>max) max=aij;maxcol=j;for (k=0,flag1=1;k<n&&flag1;k+)if (akmaxcol<max)flag1=0;if (flag1=1) printf("n%3d %3d %5dn",i,maxcol,ma

42、x);15 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案(十)flag2=1;)if (flag2=0)return -1;)main() int i,j,n,m,aNM;printf("Enter row && col:");scanf("%d%d",&n,&m);printf("Enter array element:");for (i=0;i<n;i+)for (j=0;j<m;j+)scanf("%d",&aij);printf("n");for

43、(i=0;i<n;i+) for (j=0;j<m;j+)printf("%d ",aij);printf("n");)if (andian(a,n,m)=-1)printf("n no andian n");)6 . max_value(int arr4) 一 max(int arr 4)int I,j, max;max=arr00;for(i=0;i<2;i+)for(j=0;j<4;j+)if(arrij>max)max=arrij;return(max);7 .解:注意結(jié)束字符的判斷和處理,目標(biāo)字

44、符串的長(zhǎng)度應(yīng)足夠長(zhǎng).參考程序如 下:#include <stdio.h>void scat(char s1,char s2) int i,j;for (i=0;s1i!='0'i+);for (j=0;s2j!='0'j+)s1i+=s2j;s1i='0'16 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十main() char s180="Good "char s210="morning"scat(s1,s2);printf("%sn",s1);3! (前20項(xiàng)的和)float f2(

45、int n)float f1(int x,int n)main() float exp=1.0;int n,x;printf( "Input a number: " )'scanf( "d ,&x); printf("dn,x);exp=exp+x;for(n=2;n<=19;n+) exp=exp+f1(x,n)/f2(n);printf( "n ,x,exp),運(yùn)行結(jié)果:Input a number:3The is exp(3)=20.0855float f2 (int n)if(n=1)return1;else re

46、turn(f2(n-1)*n);float f1(intx,intn)int I; float j=1;for(I=1;I<=n;I+)j=j*x;return j;9 .解:用輸入負(fù)數(shù)表示輸入結(jié)束.參考程序如下:#include <stdio.h>main() float score200,ave,sum,x;int i,n,count;printf("Enter score:");scanf("%f",&x);n=0;sum=0.0;17 / 20C語(yǔ)言程序設(shè)計(jì)試題及答案十while (x>0&&n<200) sum+=x;scoren+=x;scanf("%f",&x);ave=sum/n;printf("average= %fn",ave);for (count=0,i=0;i<n;i+)if (scorei<60) printf("%fn",scorei);count+; printf

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論