版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C語言程序設計模擬試卷A單項選擇題(每題2分,共20分)1、下列有關C語言的敘述中錯誤的是(D) 0A)C語句必須以分號結(jié)束B)任何一個C程序中有且只有一個主函數(shù)C)復合語句在語法上可被看作一條語句D)C程序中對數(shù)據(jù)的任何操作都可由運算符實現(xiàn)2、以下不能定義為用戶標識符的是(C)oA) MAINB) _HJC)2ongD)LINE13、以下能正確定義一維數(shù)組的是(CoA) int a5=0,1,2,3,4,5;B) inta5= ” 012345;C) char a = ” 012345;D) chara5=0,1,2,3,4,5;4、執(zhí)行下列程序段后輸出的結(jié)果是(C)ox = 9;while
2、(X > 7) printf( “*”); X - -; A) *B) *C) *D) *5、設 char str110=“ABCD” , str210=xyz則執(zhí)行語句解析:printf(“ %d, strle n(strcpy(str1.str2); 后的輸出結(jié)果是(D)ostrc py(str1,str2);strc py(str1,str2);里是"XYZ", Z后面有字符串結(jié)束符后,str1執(zhí)行后,函數(shù)返回的是 str1,因為str1里是新值"XYZ",而strlen(strcpy(str1,str2)就是 strlen(str1 的新值
3、),所以得 3 ostrlen統(tǒng)計到字符串結(jié)束符以前,即,不計入字符串結(jié)束符。A) 9B) 8C) 5D) 3A)o6若用數(shù)組名作為函數(shù)調(diào)用的實參,貝M專遞給形參的是(0。A)數(shù)組的首地址B)數(shù)組第一個元素的值C)數(shù)組中全部元素的值D)數(shù)組元素的個數(shù)7、在C程序中,若未在函數(shù)定義時說明函數(shù)類型,則函數(shù)默認的類型為(A) voidB)double C)intD) char8、下面不能正確進行字符串賦值操作的語句是 (Q。A) char s5="ABCD"B) char s5;s="ABCD"C) char *s ; s="ABCDEF"
4、D) char *s="ABCD"解析:這樣理論上的沒錯的把 s指針指向字符串可以改變s指針但不能改變其指向的值正確的應該是這樣char s = "ABCDEF"或 char s8;strcpy(s, "ABCDEF");則下列表達式中值為3的是(C)。9、設有說明 int s5=1,3,5,7,9; int *p=s;A)+PB)+(* p)C) *(+P)D) *(p+=2)解析:A是把p得地址后移一個int單位長度,即使P指向數(shù)組的第二個元素。B是取得P當前指向的元素值然后加1,即1+1=2;C是先移動P,使其指向第二個元素,然
5、后取得當前指針指向的元素值,即D是先使P指向數(shù)組的第三個元素,然后去的當前指針指向的元素的值,即3.5。10、下面程序的輸出結(jié)果是(B)。int m=13;int fun( int x,int y) int m=3;return( x*y-m); mai n() int a=7,b=5;printf(“dn”,fun(a,b)/m); A) 1B) 2C) 3D) 10二、填空題。(每空2分,共30分)1.設有變量說明語句:int x=1,y=2;則執(zhí)行下述printf 語句的輸出結(jié)果是_1.000000_prin tf("%fn",1.0+x/y);2.執(zhí)行下述程序:#i
6、 nclude <stdio.h> mai n()int x,y;scan f("%2d%*2s%1d", &x,&y);prin tf("%dn",x+y);若從鍵盤輸入:12345671則程序的輸出結(jié)果是17 0解析:x,y為int類型,x的長度為2,y的長度為1,即x為12,y為5,故x+y=173. 以下程序的功能是:從鍵盤上輸入若干名學生的成績(百分制,可帶小數(shù),以輸入負數(shù)或0為結(jié)束標志),統(tǒng)計并輸出最高成績和最低成績。請?zhí)羁铡?i nclude <stdio.h> mai n()float x,amax
7、,am in;scan f("%f", &x);amax=x;amin=x;while (x>0)if (x>amax)amax=x;else if (x<am in)amin=x;sca nf("%f, &x);prin tf("namax=%fnami n=%fn",amax,ami n);4. 設n是整型變量,且已具有某正整數(shù)值。根據(jù)下述數(shù)學式11111 1 122 33 4n n 1求s的值并輸出??删帉懭缦轮绦蚨蝸韺崿F(xiàn)。請?zhí)羁?。int k;double s,d;s=0.0;d=1.0;k=0;dos
8、=s+d;k+d=1.0/(k*(k+1); while (k<=n);prin tf("%fn",s);5.執(zhí)行下述程序的輸出結(jié)果是 -3 -4 0 4 4 3#i nclude <stdio.h>mai n()int a6,i;for (i=0;iv6;i+)ai=9*(i-2+4*(i>3)%5;prin tf("%3d",ai);prin tf("n");解析:(i>3)為真時值為1,反之為0,6.執(zhí)行下述程序的輸出結(jié)果是 6#in elude <stdio.h>mai n()int
9、a=2,4,6,* ptr=&a0,x=8,y,z;for (y=0;y<3;y+)z=(*( pt葉 y)vx)?*( pt葉 y):x;prin tf("%dn",z);7.執(zhí)行下述程序的輸出結(jié)果是60 。#in elude <stdio.h>mai n()int a2=10,20,30,40,50,60,(* p)2;p=a;prin tf("%dn",*(*( p+2)+1);8.執(zhí)行以下程序的輸出結(jié)果是址。#in elude <stdio.h>mai n()int s,i,sum();for (i=1;iv
10、=10;i+)s=sum(i);prin tf("s=%dn",s);sum(i nt k)int x=0;return (x+=k);9. 下述函數(shù)定義用來求出兩個整數(shù)之各,并通過函數(shù)的模擬傳地址調(diào)用,傳回兩整數(shù)相加之和值,請?zhí)羁铡oid add(i nt x,i nt y,int *zz=x+y;10. 函數(shù)func的功能是將整型變量x的值轉(zhuǎn)換成二進制數(shù),并將該二進制數(shù)的每位存入由整型指針b所指向的一維數(shù)組a,最低位存放于a0中,次低位存放于a1中,依此類推。請?zhí)羁铡oid fun c(i nt x,i nt *b)int r;dor=x%2;=r;x/=2; wh
11、ile(X);11. 以下程序中函數(shù)in vert實現(xiàn)將數(shù)組內(nèi)所有數(shù)組元素的值逆置。比如,執(zhí)行本程序?qū)⑤敵?10987654321請?zhí)羁铡?i nclude <stdio.h> mai n()int a10=1,2,3,4,5,6,7,8,9,10,i, n=10;inv ert(a, n-1);for (i=0;i<10;i+)prin tf("%3d",ai);prin tf("n");in vert(i nt *s,i nt num)int *t,k;t=s+num;while (_t>sk=*s;*s=*t;*t=k;s+
12、;t-;12. 若有以下定義和說明,則結(jié)構(gòu)體變量 w在內(nèi)存中所占的字節(jié)數(shù)是 union aafloat X; float y;char c6;; struct stunion aa v;float w5;double ave; w;13.執(zhí)行下述程序的輸出結(jié)果是#in elude <stdio.h>struct strfloat X;char *y; *m;struct str group 3=95.0,"Li",82.5,"Wa ng".73.5,"S un"mai n()m=gro up;prin tf("%
13、.lf,%sn",m->x,m->y);14.下面的程序用來統(tǒng)計某文件中字符的個數(shù)。請?zhí)羁铡?i nclude <stdio.h>#in clude <stdlib.h>mai n()FILE *fp;long num=0;if (fp=fo pen( "fnam.dat","廣)=NULL)prin tf("Ca n't o pen this file!n");exit(0);while (fgetc(fp);nu m+;prin tf(" num=%dn",nu m)
14、;fclose(f p);15.執(zhí)行下述程序后,輸出結(jié)果為#i nclude <stdio.h> #defi ne FUN1(a,b) a+b #defi ne FUN2(a,b) a-b #defi ne CAL(a,b) a*b+a+3 mai n()prin tf("%dn",CAL(FUN1(3,5),FUN2(4,5);三、修改程序(在程序出錯的語句下劃橫線并標號,把修改后的語句寫在程序之后的橫線上。每小題5分,共10 分)1.下列給定程序的功能是:讀入一個整數(shù)(2<=k< = 10000),打印它的所有質(zhì)因子(即所有為素數(shù)的因子)。例如,
15、若輸入整數(shù)2310,則應輸出2、3、5、7、 11。#in clude vconi o.h> #i nclude <stdio.h>IsP rime(i nt n);m=1;for ( i=2; ivn; i+) int i,m;if !(n%i) m=0; con ti nu e; return (m);mai n() int j,k;pnntf(“ nPI ease en ter an in teger nu mber betwee n 2 and10000:”);scanf(“%d ,k);re): ” ,k);“ n %4d ,j);prints“ n The p r
16、ime factor(s) of %d is (afor (j=2;jv=k;j+)if (!(k%j)&(Is Pnme(j) printf(printf( “ n”);2.下列給定程序中,函數(shù)fun的功能是:逐個比較a、b兩個字符串對應位置中的字符,把ASCII值大或等于的字符一次存放到 c數(shù)組中,形成一個新的字符串。例如,若a中的字符串為aBCDeFgH,!中的字符串為:ABcd,則c中的字符串為:aBcdeFgh。#i nclude <stdio.h> #i nclude <stri ng.h> void fun( char *p ,char *q,ch
17、ar *c) int k=1;while(* p!=*q) if (*p <*q) ck=*q;else ck=* p;if (*P)P+;if (*q) q+;k+;char a10=“aBCDeFg” ,b10=“ABcc”fun( a,b,c);printf(“The stri ng a:” );puts(a);printf(“The stri ng b:”);P uts (b);printf(“The result: ”);P uts(c);mai n(),c80=四、閱讀下列程序,在程序后面的橫線上,寫出該程序的功能或給出運行結(jié)果。(每小題5分,共20 分)1.#i nclud
18、e <stdio.h> int k=0;void main()char ch; int k=0;for(ch= ' A ;ch<' H ;ch+,k+)if(k%2=0) printf( “%c ,ch);printf( “ n”);輸出結(jié)果:2. #in clude <stdio.h>void mai n()char c= ' A'; do switch (c+)case'A' : k+; break;casecase'C' : k+=2; break;caseD' : k=k%2; bre
19、ak;case'E : k=k*10; break;default: k=k/3;k+; while(c<'G );printf(輸出結(jié)果:3. #in clude <stdio.h>void main() inta6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j;for(i=0;i<6;i+) for(j=0;j<6;j+) if(ai=bj)break; int a8=1,0,1,0,1,0,1,0,i;for(i=0;i<8;i+) printf(“d ,ai);if(j<6) printf(“
20、d ,ai);printf(n );輸出結(jié)果:4. #i nclude <stdio.h>void mai n()for(i=2;i<8;i+) ai+=ai-1+ai-2;if !(n%i)printf(n );輸出結(jié)果:五、編程題(本大題20分,第一題8分,第二題12分)1-x1、計算分段函數(shù)的值:(x<0)(x>=0)22*x -2編程實現(xiàn)。2、輸入10個學生3門課的成績,用函數(shù)實現(xiàn):找出最高的分數(shù)所對應的學號和成績。模擬試卷十一、單選題參考答案:1) D6) A二、填空題2) C7) C3) C8) C4) C9) C5) D10) B1、2、3、4、k=
21、k+11.00000017x>0.05、6、7、&9、10、11、12、13、-3 -4 0 4 4 366010int *z*(b+)t>s4295, Li14、fgetc(fp)!=EOF15、291、IsPrime(int n); scanf(“ d'改為改為IsP rime(i nt n) scanf( “ %&k);三、改錯題 m=0; continue; 改為if (!(n%i)m=0; continu e; if (!(k%j)&(IsPrime(j) 改為 if(!(k%j)& (IsPrime(j)2、studio.h 改為 stdio.hvoid; fun(char *p,char *q,char *c); 改為 voidfun(char *p,char *q,char *c) k=1改為k=0while (*p!=*q)改為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025車輛保管合同書范文
- 2025保修工程合同范本
- 2025學校食堂承包合同書
- 2025關于試用期解除合同及案例
- 2025年度軍事電子對抗保密技術合同3篇
- 2025年度新能源充電設施建設公司合作協(xié)議書3篇
- 二零二五年度農(nóng)村房屋租賃合同(含農(nóng)業(yè)產(chǎn)業(yè)升級)
- 二零二五年度體育場館租賃合同及賽事運營協(xié)議3篇
- 2025年度農(nóng)村個人地基使用權轉(zhuǎn)讓及農(nóng)業(yè)現(xiàn)代化設施配套協(xié)議書3篇
- 2025年度教育信息化項目經(jīng)理合作協(xié)議2篇
- 車輛保養(yǎng)維修登記表
- 醫(yī)藥領域知識產(chǎn)權
- 杭州市公共服務設施配套標準及規(guī)劃導則
- 機械工程學報標準格式
- 濕法脫硫用水水質(zhì)要求
- 城管局個人工作總結(jié)
- 鉑銠合金漏板.
- (完整版)建筑力學(習題答案)
- 少年宮籃球活動教案
- 國有建設企業(yè)《大宗材料及設備采購招標管理辦法》
- 民間秘術絕招大全
評論
0/150
提交評論