

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì)( 卷)考核班級學(xué)生數(shù) 印數(shù) 考核方式 閉卷 考核時(shí)間 120 分鐘 (本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘)第一卷第一部分:基礎(chǔ)知識(20項(xiàng),共40分)1一個(gè)C語言程序是由( ) 組成的。 A主程序 B子程序 C函數(shù) D過程2轉(zhuǎn)換說明符%x的輸出形式是( )。 A十進(jìn)制 B八進(jìn)制 C十六進(jìn)制 D二進(jìn)制3若a、b均為int型變量,且a=100,則關(guān)于循環(huán)語句for(b=100;a!=b;+a,+b) printf ( “ -“) ;的正確說法是( ) 。 A循環(huán)體只執(zhí)行一次 B死循環(huán) C循環(huán)體一次也不執(zhí)行 D輸出-4若x、y、z均為int 型變量,則執(zhí)行下列語句后的z
2、值為 ( )。 x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x; A1 B4 C2 D35下面標(biāo)識符中,合法的用戶標(biāo)識符為( )。 AP#Ad B12a Cchar D_int 6 A + 3 的結(jié)果是( )。 AA BD的ASC碼 C65 D37語句char str20;說明str是一個(gè)字符串,最多能表示 ( ) 。 A20個(gè)字符 B19個(gè)字符 C18個(gè)字符 D21個(gè)字符8將int 型變量n轉(zhuǎn)換成float型變量的方法是 ( )。Afloat n B(float)n Cfloat(n) D21個(gè)字符9以下不正確的描述是 ( )。A 使用wh
3、ile和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語句之前完成B while循環(huán)是先判斷表達(dá)式后執(zhí)行循環(huán)體語句C do-while和for循環(huán)均是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式D for、while、do-while循環(huán)中的循環(huán)體均可以由空語句構(gòu)成10在循環(huán)中使用break 語句的功能是( )。A 使程序的執(zhí)行跳出break所在的那一重循環(huán)B 使程序執(zhí)行結(jié)束C 跳出包含此break語句的所有循環(huán)D 終止本次循環(huán),繼續(xù)下次循環(huán)11下面是一個(gè)初始化指針的語句:int *px = &a;其中指針變量的名字應(yīng)該是( )。 A*pz Ba Cpx D&a12若指針 px為空指針
4、,則 ( )。 Apx指向不定 Bpx的值為零 Cpx的目標(biāo)為零 Dpx的地址為零13對于語句int *px10,以下說法正確的是( ) 。A. px是一個(gè)指針,指向一個(gè)數(shù)組,數(shù)組的元素是整數(shù)型。B. px是一個(gè)數(shù)組,其數(shù)組的每一個(gè)元素是指向整數(shù)的指針。C. A和B均錯(cuò),但它是C語言的正確語句。D. C語言不允許這樣的語句。14具有相同基類型的指針變量P和數(shù)組變量Y,下列寫法中不合法的是 ( ) 。AP = Y B*P = Yi CP + &Yi DP = &Y15已知static int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p,則表達(dá)式 *(p0+
5、1)+*(q+2)的值是( )。 A5 B4 C6 D716已知for(;n>=1;n-),下列語句實(shí)現(xiàn)將S2所指字符數(shù)組中前n個(gè)字符復(fù)制到S1所指字符數(shù)組中,其中代碼不正確的是( )。 A*S1+=*S2+ BS1n-1=S2n-1 C*(S1+n-1)=*(S2+n-1) D*(+S1)=*(+S2)17調(diào)用函數(shù)的實(shí)參與被調(diào)用函數(shù)的形參應(yīng)該有如下關(guān)系( ) 。 A只要求實(shí)參和形參個(gè)數(shù)相等 B只要求形參和實(shí)參順序相同 C只要求實(shí)參和形參數(shù)據(jù)類型相同 D上述三點(diǎn)均需具備18聯(lián)合體成員的數(shù)據(jù)類型 ( )。A相同 B可以不同也可以相同 C長度一樣 D是結(jié)構(gòu)體變量19由系統(tǒng)分配和控制的標(biāo)準(zhǔn)輸出
6、文件為( ) 。 A鍵盤 B磁盤 C打印機(jī) D顯示器20C語言標(biāo)準(zhǔn)庫函數(shù)fread(fd,buffer,n)的功能是( )。 A從文件fd中讀取長度不超過n個(gè)字節(jié)的數(shù)據(jù)送入buffer指向的內(nèi)存區(qū)域 B從文件fd中讀取長度不超過n-1個(gè)字節(jié)的數(shù)據(jù)送入buffer指向的內(nèi)存區(qū)域 C從文件fd中讀取長度不超過n個(gè)字符送入buffer指向的內(nèi)存區(qū)域 D從文件fd中讀取長度不超過n-1個(gè)字符送入buffer指向的內(nèi)存區(qū)域第二部分:簡單程序(12項(xiàng),共30分)21下列程序main() int x,y,z; x=y=2;z=3;y=z+-1; printf(“%dt%dt”,x,y); y=+x-1;pr
7、intf(“%d t%dn”,x,y); y=z-1; printf(“%dt%dt”,z,y); y=-z-1; printf(“%dt%dn”,z,y);運(yùn)行后輸出的數(shù)據(jù)為¬¬¬_。A. 3 1 4 2 B. 3 1 3 3 C. 2 2 3 2 D. 2 1 3 2 2 4 1 3 2 4 2 2 3 3 2 1 1 3 1 222.下列程序main() int i,j;char *a,c;a=”computer”;printf(“%s”,a);for(i=0,j=7;i<j;i+,j-) c=ai;*(a+i)=*(a+j);aj=c;printf(
8、“->%sn”,a);c=aj-1,i=2+j;printf(“a%d=%cn”,i,c);運(yùn)行后輸出的數(shù)據(jù)為_ .A. computer->computer B. computer->retupmoca3=u a5=mC. computer->retupmoc D. computer->retupmoca4=p a2=t23.下列程序int sum(int n) int p=1,s=0,i;for(i=1;i<=n;i+) s+=(p*=i);return s;main() printf(“sum(5)=%dn”,sum(5);運(yùn)行后輸出的數(shù)據(jù)為_ _A.
9、sum(5)=151 B.sum(5)=152 C.sum(5)=153 Dsum(5)=15524.下列程序main() static int a=5,6,7,3,2,9;int s1,s2,i,*ptr;s1=s2=0;ptr=&a0;for(i=0;i<5;i+2=2) s1+=*(ptr+i);s2+=*(ptr+i+1);printf(“s1=%d,s2=%dn”,s1,s2);運(yùn)行后輸出的數(shù)據(jù)為_A.s1=18,s2=14 B.s1=14,s2=32 C.s1=14,s2=18 D.s1=15,s2=1925.下列程序int c=1;main()static int
10、a=5;int b=6;printf(“a=%d b=%d c=%dn”,a,b,c);func();printf(“a=%d,b=%d,c=%dn”,a,b,c);func();func() static int a=4;int b=10;a+=2;c+=10;b+=c;printf(“a=%d,b=%d,c=%dn”,a,b,c);運(yùn)行后輸出的數(shù)據(jù)為_ _.A. a=5 b=6 c=1 B. a=5 b=6 c=1 a=6 b=21 c=11 a=7 b=17 c=11 a=5 b=6 c=11 a=5 b=6 c=11 a=8 b=31 c=21 a=9 b=17 c=21 C. a=5
11、 b=6 c=1 D. a=5 b=6 c=1a=6 b=21 c=11 a=7 b=17 c=11a=6 b=21 c=11 a=7 b=17 c=11a=8 b=31 c=21 a=9 b=38 c=2126已知struct studentchar name; int student_n; char grade; struct student temp,*p=&temp;=”chou”;則下面不正確的是_。 表達(dá)式 值A(chǔ).pname chou B.(*p)name+2 h C.*pname+2 e D.*(pname+2) o27.下列程序 #define MAX
12、 10 main() int i,sum,a =1,2,3,4,5,6,7,8,9,10; sum=1;for(i=0;i<MAX;i+)sum-=ai;printf(“SUM=%d”,sum); 程序運(yùn)行結(jié)果是: A.SUM=55 B.SUM=-54 C.SUM=-55 D.SUM=5428.下列程序 void inv(int*x,int n) int *p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;i<p;i+,j-) t=*i;*i=*j;*j=t; return; main( ) static int i,a10=3,7,9,11,0
13、,6,7,5,4,2; inv(a,10);for(i=0;i<10;i+) printf(“%d,”,ai); 程序運(yùn)行結(jié)果: A.0,2,3,4,5,6,7,7,9,11 B.11,9,7,7,6,5,4,3,2,0 C.3,7,9,11,0,6,7,5,4,2 D.2,4,5,7,6,0,11,9,7,329.下列程序 main() int a10,b10,*pa,*pb,i; pa=a;pb=b; for(i=0;i<3;i+,pa+,pb+) *pa=i;*pb=2*i; printf(“%dt%dn”,*pa,*pb);printf(“n”);pa=&a0;pb
14、=&b0;for(i=0;i<3;i+) *pa=*pa+i; *pb=*pb*i; printf(“%dt%dn”,*pa+,*pb+); 運(yùn)行后輸出的數(shù)據(jù)為_。A. 0 0 B.0 0 C. 0 0 D. 0 0 1 2 1 2 1 2 2 2 2 4 2 4 2 4 2 4 0 0 0 0 0 0 0 0 2 2 2 2 1 2 1 2 4 8 2 4 2 4 4 830.下列程序 copy_string(from,to) char *from,*to; while(*from) *to+=*from+; *to=0; main() static char s1 =”c_p
15、rogram.”; static char s280; copy_string(s1,s2); printf(“%sn”,s2);copy_string(“123”,s2);printf(“%sn”,s2); 運(yùn)行后輸出的數(shù)據(jù)為( )。 A. c_program 123 B.123 C. c_program123 D. c_program 12331.下列程序: #include <stdio.h> main() char a40,b40; int i,j;printf(“Enter the string:”);scanf(“%s”,a); i=j=0;while(ai!=0) i
16、f(!(ai>=0&&ai<=9) bj=ai; j+; +i; bj=0;printf(“%s”,b); 運(yùn)行后輸出的結(jié)果是( ) 。A. 把鍵盤輸入的字符串顯示在屏幕上B. 把鍵盤輸入的字符串中的數(shù)字字符刪掉,然后顯示該字符串C. 把鍵盤輸入的字符串中的字符0和9刪掉,然后顯示該字符串D. 只保留由鍵盤輸入的字符串中的字母數(shù)字,然后顯示該字符串32下列程序#include<stdio.h>main() char a80; int i,j; printf(“Enter the string:”);scanf(“%s”,a);i=0;while(ai!=
17、0) if(ai>=A&&ai<=Z) ai=ai-A+a; printf(“%s”,a);運(yùn)行后輸出的結(jié)果是( )。A. 把鍵盤輸入的字符串中的大寫字母變換成小寫字母,然后顯示變換后的字符串。B. 把鍵盤輸入的字符串中的數(shù)字字符刪除掉,然后顯示該字符串。C. 把鍵盤輸入的字符串中的小寫字母變換成大寫字母,然后顯示變換后的字符串。D. 把鍵盤輸入的字符串原封不動地顯示在屏幕上。第二卷說明:(1)第二卷含二大題,均屬填空題,每題各有5個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址⒄Z句,以構(gòu)成一個(gè)正確的C語言程序。 (2)每空欄填對得3分,兩大題共10個(gè)
18、空欄,全填對得30分。試題一一個(gè)整數(shù)稱為完全平方數(shù),是指它的值是另一個(gè)整數(shù)的平方。如81是個(gè)完全平方數(shù),因?yàn)樗?的平方。下列程序是在三位的正整數(shù)中尋找符合下列條件的整數(shù):它既是完全平方數(shù),且三位數(shù)字中又有兩位數(shù)字相同:例如144(12*12)、676(26*26)等,從程序中找出并輸出所有滿足上述條件的三位數(shù)。程序如下:main() int n,k,a,b,c; for(k=1; ;k+)_ if(n<100) _ if(n<999) _ a=n/100; b=_ c=n%10, if(flag(a,b,c) printf(“n=%d=%d*%dn”,n,k,k); flag_
19、return(!(x-y)*(x-z)*(y-z);試題二以下程序所列函數(shù)replace(char *s1,char *s2,char str1,char *str2)的功能是將已知字符串s1中的所有與字符串str1相同的子串替換成字符串str2,并將替換后所生成的新的字符串存于字符數(shù)組s2中。說明:生成字符串s2的過程是一個(gè)循環(huán),順序訪問字符串s1的每個(gè)字符;當(dāng)從某個(gè)字符開始不能構(gòu)成與str1相同的子字符時(shí),就把該字符拷貝到數(shù)組s2,當(dāng)從某個(gè)字符開始能構(gòu)成一個(gè)與str1相同的子字符串時(shí),就將字符串str2的各字符拷貝到字符數(shù)組s2,并繼續(xù)訪問字符串s1中那個(gè)子串之后的字符,直至字符串s1被訪
20、問完畢,字符復(fù)制即告結(jié)束。下列程序運(yùn)行的結(jié)果是輸出:ABCXYZdefg abABCXYZd abab程序如下:replace(char *s1,char *s2,char *str1,char *str2) char *t0,*t1,*t2; while( ) for(t0=s1,t1=str1;*t1!=0&& ;t0+,t1+); if(*t1!=0)*s2+= ; else for(t1=str2;*t1!=0;) *s2+= ; ; *s2=0; main() char s1=”abcdefg ababcd abab.”; char s280; replace(s1,
21、s2,”abc”,”ABCXYZ”); printf(“%sn”,s2); 參考答案第一卷一基礎(chǔ)知識(20項(xiàng),共40分) 1.C 2.C 3.C 4.A 5.D 6.B 7.B 8.B 9.C 10.A 11.C 12.B 13.B 14.D 15.A 16.D 17.D 18.B 19.D 20.A 二簡單程序 21.C 22.B 23.C 24.C 25.A 26.B 27.B 28.D 29.A 30.D 31.B 32.A第二卷 試題一:n=k*k continuebreakn%100/10或(n-100*a)/10或n/10-(n/100)*10int x,int y,int z試題
22、二:*s1或s1!=0 *t0=*t1或*t1=*t0 *s1+ *t1+ s1=t0或s1=s1+strlen(str1)C語言程序設(shè)計(jì)( 卷)考核班級學(xué)生數(shù) 印數(shù) 考核方式 閉卷 考核時(shí)間 120 分鐘(本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘)第一卷說明:(1)第一卷全部為選擇題,每題可供選擇的答案中,只有一個(gè)正確答案。 (2)答本卷的題目時(shí),要在標(biāo)準(zhǔn)答題紙上編號對應(yīng)的欄口中,用鉛筆將正確答案涂黑。在試題上直接勾劃不得分。 (3)本卷共分70分,其中第126題每題2分,第2732題每題3分。第一部分:基礎(chǔ)知識(20題,共40分)1、一個(gè)C語言的源程序中,( ) 。(A)必須有一個(gè)
23、主函數(shù) (B)可以有多個(gè)主函數(shù)(C)必須有主函數(shù)和其他函數(shù) (D)可以沒有主函數(shù)2、下列數(shù)據(jù)中,為字符串常量的是( ) 。(A)A (B)“house” (C)How do you do (D)$abc3、若有定義:int a=8,b=5,c;,執(zhí)行語句c=a/b十0.4;后,c的值為( ) 。(A)1.4 (B)1 (C)2.0 (D)24、設(shè)有int x=11;則表達(dá)式(x+*l/3)的值為( )。(A)3 (B)4 (C)11 (D)125、執(zhí)行x=5>1+2&&2|2*4<4-!0后,x的值為( )。(A)-l (B)O (C)1 (D)56、以下變量x、y
24、、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子:(x)/(y×z)的c語言表達(dá)式是( )。(A)x/y*z (B)x*(1/(y*z) (C) x/y*1/z (D)x/y/z7、設(shè)有以下說明語句struct exint x;float y; char z;example;則下面的敘述不正確的是( )。(A)struct是結(jié)構(gòu)體類型的關(guān)鍵字 (B)example是結(jié)構(gòu)體類型名(C)x,y,z都是結(jié)構(gòu)體成員名 (D)struct ex是結(jié)構(gòu)體類型8、假定w、x、y、z、m均為int型變量;有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m
25、<y)?m:y; m=(m<z)?m:z;則該程序段執(zhí)行后,m的值是( )。(A)4 (B)3 (C)2 (D) 19、在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是( ) 。 (A) 地址傳遞 (B) 單向值傳遞(C) 由實(shí)參傳給形參,再由形參傳回實(shí)參 (D) 傳遞方式由用戶指定10、以下定義語句中,錯(cuò)誤的是 ( )。(A)int a=1,2; (B) char *a3;(C)char s10="text"; (D) int n=5,an;11、下列程廳執(zhí)行后的輸出結(jié)果是( ) 。 main() char arr24; strcpy(arr
26、,"you");strcpy(arr1,"me"); arr03='&'; printf("%sn",arr); (A)you&me (B)you (C) me (D)err12、標(biāo)有/* */的語句的執(zhí)行次數(shù)是( )。 int y,i; for(i=O;i<20;i+) if(i%2=0) continue; y+=i; /* */ (A) 20 (B) 19 (C) 10 (D) 913、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是( )。 (A) 數(shù)組的首地址 (B) 數(shù)組第一個(gè)元素的值 (
27、C) 數(shù)組中全部元素的值 (D) 數(shù)組元素的個(gè)數(shù)14、下列語句執(zhí)行后的結(jié)果是( )。 y=5;p=&y;x=*p+; (A) x=5,y=5 (B) x=5,y=6 (C) x=6,y=5 (D) x=6,y=615、執(zhí)行下面的語句后,表達(dá)式*(p0+1)+*(q+2)的值為 ( )。 int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p; (A) 8 (B) 7 (C) 6 (D) 516、經(jīng)過下面的語句后 int i,a10,*p; 定義后,下列語句中合法的是 ( )。 (A) p=100: (B) p=a5; (C) p=a+2; (D) p=&(i
28、+2);17、若有以下說明和語句,則對pup中sex域的正確引用方式是( )。 struct pupilchar name20; int sex; pup,*p;p=&pup;(A)p.pup.sex (B)p->pup.sex (C)(*p).pup.sex (D)(*p).sex18、若已定義了如下的共用體類型變量x,則x所占用的內(nèi)存字節(jié)數(shù)為( ) 。union data int i; char ch; double f; x;(A) 7 (B) 11 (C)8 (D) 1019、若有下面的說明和定義:struct test int m1;char m2;float m3;
29、union uu char u15;int u22;ua; myaa;則sizeof(struct test)的值是 ( ) 。 (A) 12 (B) 16 (C) 14 (D)920、若要打開:A盤上user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是( ) 。 (A)fopen("A:userabc.txt","r") (B) fopen("A:userabc.txt","r+") (C)fopen("A:userabc.txt","rb"
30、;) (D) fopen("A:userlabc.txt","w")第二部分:簡單程序(12題,共30分)21、以下程序的運(yùn)行情況是( ) 。 main() int i=1,sum=0; while(i<10) sum=sum+1; i+; printf("i=%d,sum=%d",i,sum); (A) i=10,sum=9 (B) i=9,sum=9 (C) i=2,sum=l (D) 運(yùn)行出現(xiàn)錯(cuò)誤22、若輸入B,以下程序的運(yùn)行結(jié)果為( ) 。main() char grade; scanf("%c",&
31、amp;grade); switch(grade) case 'A':printf(">=85"); case 'B': case 'C':printf(">=60"); case 'D':printf("<60");default:printf("error"); (A)>=85 (B)>=60 (C)>=60<60error (D) error23.有如下程序 main() int x=23; do pri
32、ntf("%d",x-);while(!x); 該程序的執(zhí)行結(jié)果是( ) 。(A)321 (B)23 (C)不輸出任何內(nèi)容 (D)陷入死循環(huán)24.有如下程序int func(int a,int b) return (a+b);main()int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%dn",r); 該程序的輸出結(jié)果是 ( ) 。 (A) 12 (B) 13 (C)14 (D)1525.以下程序的輸出結(jié)果是( ) 。main() int a,b; for(a=1,b=1;a<=100;a+) if(
33、b>=10) break; if(b%3=1) b+=3;continue; printf("%dn",a);(A)101 (B) 6 (C)5 (D)426.以下程序的輸出結(jié)果是( ) 。 int a,b; void fun() a=100;b=200; main() int a=5,b=7; fun(); printf("%d%dn",a,b); (A) 100200 (B)57 (C)200100 (D)75 27.下面的程序執(zhí)行后,文件testt中的內(nèi)容是 ( ) 。#include <stdio.h>void fun(char
34、 *fname,char *st) FILE *myf; int i;myf=fopen(fname,"w");for(i=0;i<strlen(st);i+)fputc(sti,myf);fclose(myf);main() fun("test.t","new world");fun("test.t","hello,"); (A) hello, (B)new,worldhello (C) new,world (D)hello,rld 28.以下程序的運(yùn)行結(jié)果是( ) 。#include
35、<stdio.h>main() static char s30="abcdefg"; static char t="abcd"; int i,j; i=0; while(si!='0') i+; j=0; whi1e(tj!='0') si+j=tj; j+; si+j='0'; printf("%sn",s); (A) abcdabcdefg (B)abcdefg (C)abcd (D)abcdefgabcd 29.有如下程序 main() char ch25="
36、6937","8254",*p2; int i, j, s=0; for(i=0;i<2;i+) pi=chi; for(i=0;i<2;i+) for(j=0;pij>'0';j+=2) s=10*s+pij-'0'; printf("%dn",s); 該程序的輸出結(jié)果是( ) 。 (A)69825 (B)63825 (C)6385 (D)69382530.若已建立如下圖所示的單向鏈表結(jié)構(gòu) 在該鏈表中,指針p,s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾仍構(gòu)成單向鏈表的語句組是(
37、 ) 。(A) p=p->next;s->next=p;p->next=s;(B) p=p->next;s->next=p->next;p->next=s;(C) s->next=NULL;p=p->next;p->next=s(D) p=(*p).next;(*s).next=(*p).next; (*p).next =s;31.請選擇正確的運(yùn)行結(jié)果填入( ) 中。include <stdio.h>int x,y;num() int a=15,b=10; int x,y; y=a-b; y=a+b; return;mai
38、n() int a=7,b=5; x=a+b; y=a-b; num(); printf("%d,%dn",x,y);(A) 12,2 (B) 5,25 (C)2,12 (D)不確定32.以下程序的輸出結(jié)果是( ) 。 #define M(x,y,z) x*y+z main() int a=1,b=2,c=3; printf("%dn",M(a+b,b+c,c+a); (A)19 (B)17 (C)15 (D)12 第二卷說明:(1)第二卷含兩大題,均屬填空題,每題各有5個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址⒄Z句,以構(gòu)成一個(gè)正確的
39、C語言程序。 (2)每空欄填對得3分,兩大題共10個(gè)空欄,全對得30分。試題一: 有一函數(shù),實(shí)參傳來一個(gè)字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空各和其他字符的個(gè)數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。int letter,digit,space,others; /*是全局變量*/ main() int count(char _(1)_); char text80; printf("nlnput string:n"); _(2)_; printf("string:"); puts(text); letter=O; digit=O; space=O; oth
40、ers=O; _(3)_; printf("letter:%d,digit:%d,space:%d,other:%dn",letter,digit, space,others); int count(char str) int i; for(i=O;stri!='0';i+) if(_(4)_>='a'&&stri<='z')|(stri>='A'&&stri<='Z') letter+; else if(stri>='0
41、39;&&stri<='9') digit+; else if(stri=' ') space+; else _(5)_; 試題二: 把下列程序補(bǔ)充完整,實(shí)現(xiàn)兩個(gè)字符串的比較,即自己寫個(gè)strcmp函數(shù),函數(shù)原型為:int strcmp(char *p1,char *p2)設(shè)p1指向字符串s1,p2指向字符串s2。要求:當(dāng)s1=s2時(shí),返回值為0。當(dāng)sl<>s2時(shí),返回它們兩者的第一個(gè)不同的字符的ASCII碼差值(如“BOY”與“BAD”,第二個(gè)字母不同,“O”與“A”之差為79-65=14);如果s1>s2,則輸出正值;
42、如果sl<s2,則輸出負(fù)值。main() int m; char _(6)_,str220,*p1,*p2; printf("Input two string:n"); scanf("%s",strl); scanf("%s",_(7)_); p1=&strl0; p2=_(8)_; m=strcmp(p1,p2); printf("result:%d,n",m); strcmp(char _(9)_,char *p2)/*兩個(gè)字符串比較的函數(shù)*/ int i;_(10)_;while(*(pl+i)
43、=*(p2+i) if(*(p1+i+)='0') return(0); return(*(pl+i)-*(p2+i); /*不等時(shí)返回結(jié)果為第一個(gè)不等字符ASCII碼的差值*/ 參考答案第一卷第一部分:基礎(chǔ)知識 1.A 2.B 3.B 4.A 5.C 6.A 7.B 8.D 9.B 10.D 11.A 12.C 13.A 14.A 15.D 16.C 17.D 18.C 19.A 20.B第二部分:簡單程序 21.D 22.C 23.B 24.D 25.D 26.B 27.A 28.D 29.C 30.A 31.A 32.D第二卷試題一:1、str 2、gets(text)或
44、scanf(“%s”,text) 3、count(text)4、stri 5、others+試題二:6、str120 7、str2 8、&str20 9、*p1 10、i=0C語言程序設(shè)計(jì)( 卷)考核班級 學(xué)生數(shù) 印數(shù) 考核方式 閉卷 考核時(shí)間 120 分鐘 (本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘)第一卷 本卷共70分,其中第126題每題2分,第2732題每題3分。第一部分:基礎(chǔ)知識1、 一個(gè)C語言程序是從_開始執(zhí)行的。A、程序中的第一個(gè)語句 B、包含文件(頭文件)的第一個(gè)函數(shù)C、名為main的函數(shù) D、程序中的第一個(gè)函數(shù)2、 語句while(!E) 中的條件!E等價(jià)于_A
45、、E=0 B、E!=1 C、E!=0 D、E3、 若有以下類型說明語句:char w;int x;float y;double z;則表達(dá)式w*x+z-y的結(jié)果為_類型。A、float B、double C、int D、char4、 一個(gè)函數(shù)返回值的類型是由_決定的A、return語句中的表達(dá)式類型; B、定義函數(shù)時(shí)所指定的函數(shù)類型C、調(diào)用該函數(shù)的函數(shù)的類型 D、調(diào)用函數(shù)時(shí)臨時(shí)類型5、 設(shè)x、y、z和k都是int型變量,則執(zhí)行下列表達(dá)式后,變量x的值為_.x=(y=4,z=16,k=32);A、4 B、16 C、32 D、526、 有以下程序:main( ) int i=10,j=1; pri
46、ntf(“%d,%dn”,i-,+j);執(zhí)行后輸出的結(jié)果是_A、9,2 B、10,2 C、9,1 D、10,17、 以下指針s的指字符串的長度為_ char *s=”tName Addressn”;A、19 B、15 C、18 D、-128、 設(shè)有語句int a=3;則執(zhí)行了語句a+=a-=a*a;后,變量a的值是_A、3 B、0 C、9 D、-129、 對于下面的for循環(huán)語句,可以斷定它_。for(x=0,y=0;(y!=123)&&(x<4);x+) printf(“-“);A、是無限循環(huán)(死循環(huán)) B、循環(huán)次數(shù)不定 C、共執(zhí)行4次循環(huán) D、共執(zhí)行3次循環(huán)10、 設(shè)
47、有以下語句,則_不是對a數(shù)組元素的正確引用,其中0£ i<10.int a10=0,1,2,3,4,5,6,7,8,9;int *p=a;A、ap-5 B、*(&ai) C、ai D、*(a+i)11、 為了判斷兩個(gè)字符串s1和s2是否相等,應(yīng)當(dāng)使用_A、if(s1=s2) B、if(s1=s2)C、if(strcmp(s1,s2) D、if(strcmp(s1,s2)=0)12、 對于C語言程序中的函數(shù),下列敘述中正確的是_A、函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套B、函數(shù)的定義可嵌套,但函數(shù)的調(diào)用不能嵌套C、函數(shù)的定義和調(diào)用均不能嵌套D、函數(shù)的定義和調(diào)用均可嵌套13、 有以下程序main() int i; for(i=0;i<3;i+) switch(i) case 1: printf(“%d”,i); case
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紋眉基礎(chǔ)知識
- 老舊小區(qū)立項(xiàng)方案范本
- 環(huán)保風(fēng)機(jī)防腐施工方案
- 內(nèi)蒙古藝術(shù)學(xué)院《即興伴奏(Ⅱ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 水電防坑改造施工方案
- 重慶師范大學(xué)《納米生物技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州健雄職業(yè)技術(shù)學(xué)院《化工設(shè)計(jì)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 潞安職業(yè)技術(shù)學(xué)院《巖土工程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 《基礎(chǔ)數(shù)據(jù)分析與應(yīng)用》課件
- 營口職業(yè)技術(shù)學(xué)院《環(huán)境與可持續(xù)發(fā)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 機(jī)械CAD、CAM-形考任務(wù)一-國開-參考資料
- 省考試錄用公務(wù)員面試通知書
- 第9課《美麗的顏色》說課稿 2024-2025學(xué)年統(tǒng)編版語文八年級上冊
- 制造業(yè)勞務(wù)外包質(zhì)量控制制度
- DB11∕T 864-2020 園林綠化種植土壤技術(shù)要求
- 《飛向太空的航程》名師課件
- 表面技術(shù)概論化學(xué)轉(zhuǎn)化膜
- 2025年哈爾濱市中考數(shù)學(xué)模擬試卷(附答案解析)
- 各行業(yè)安全風(fēng)險(xiǎn)分級管控清單
- 父母贈與現(xiàn)金合同范本
- T-CPA 006-2024 造紙用濕強(qiáng)劑 聚酰胺環(huán)氧氯丙烷PAE
評論
0/150
提交評論