C語言程序設(shè)計(jì)期末考試試卷B_第1頁
C語言程序設(shè)計(jì)期末考試試卷B_第2頁
C語言程序設(shè)計(jì)期末考試試卷B_第3頁
C語言程序設(shè)計(jì)期末考試試卷B_第4頁
C語言程序設(shè)計(jì)期末考試試卷B_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.一、選擇題(每題1.5分,共計(jì)45分) 1、以下選項(xiàng)中合法的標(biāo)識(shí)符是【 】A1_1B1-1C_11D1_ _ 2、若函數(shù)中有定義語句: int k; ,則【 】A系統(tǒng)將自動(dòng)給k賦初值0B這時(shí)k中的值無定義C系統(tǒng)將自動(dòng)給k賦初值-1D這時(shí)k中無任何值 3、一下選項(xiàng)中,能用作數(shù)據(jù)常量的是【 】Ao115B0118C1.5e1.5D115L 4、設(shè)有定義: int x=2; ,一下表達(dá)式中,值不為6的是【 】Ax*=x+1BX+,2*xCx*=(1+x)D2*x,x+=2 5、程序段: int x=12; double y=3.141593; printf(%d%8.6f,x,y); 的輸出結(jié)果是

2、【 】A123.141593B12 3.141593C12,3.141593D123.1415930 6、若有定義語句: double x,y,*px,*py; 執(zhí)行了px=&x; py=&y; 之后,正確的輸入語句是【 】Ascanf(%f%f,x,y);Bscanf(%f%f &x,&y);Cscanf(%lf%le,px,py);Dscanf(%lf%lf,x,y); 7、一下是if語句的基本形式: if(表達(dá)式) 語句,其中表達(dá)式【 】A必須是邏輯表達(dá)式B必須是關(guān)系表達(dá)式C必須是邏輯表達(dá)式或關(guān)系表達(dá)式D可以是任意合法的表達(dá)式 8、有以下程序#include main() int x;

3、scanf(%d,&x); if(x=3) ; else if(x!=10) printf(%dn,x);程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果【 】A不等于10的整數(shù)B大于3且不等于10的整數(shù)C大于3或等于10的整數(shù)D小于3的整數(shù) 9、有以下程序#include main( ) int a=1,b=2,c=3,d=0; if (a=1 & b+=2) if (b!=2|c-!=3) printf(%d,%d,%dn,a,b,c); else printf(%d,%d,%dn,a,b,c); else printf(%d,%d,%dn,a,b,c);程序運(yùn)行后輸出結(jié)果是【 】A1,2,3

4、B1,3,2C1,3,3D3,2,1 10、假設(shè)以下程序段中的變量已正確定義for(i=0;i4;i+,j+) for(k=1;k3;k+); printf(*);程序段的輸出結(jié)果是【 】A*B*C*D* 11、有以下程序#include main() char *s=ABC; do printf(%d,*s%10); s+; while (*s);注意:字母A的ASCII碼值為65。程序運(yùn)行后的輸出結(jié)果是【 】A5670B656667C567DABC 12、設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出一行中輸入字符個(gè)數(shù)(不包含回車符)的程序段【 】An=0; while(ch=getchar()!=n)

5、 n+;Bn=0; while(getchar()!=n) n+;Cfor(n=0;getchar()!=n;n+);Dn=0; for(ch=getchar();ch!=n;n+); 13、有以下程序#include main() int a1,a2; char c1,c2; scanf(%d%c%d%c,&a1,&c1,&a2,&c2); printf(%d,%c,%d,%c,a1,c1,a2,c2);若通過鍵盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b 則正確的輸入格式是(以下_代表空格,代表回車) 【 】A12a34

6、bB12_a_34_bC12,a,34,bD12_a34_b 14、有以下程序#include int f(int x,int y) return (y-x)*x);main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(%dn,d);程序運(yùn)行后的輸出結(jié)果是A10B9C8D7 15、有以下程序#include void fun(char *s) while(*s) if (*s%2= =0) printf(%c,*s); s+; main() char a =good; fun(a); printf(n);注意:字母a的ASCII碼值為97,程序

7、運(yùn)行后的輸出結(jié)果是【 】AdBgoCgodDgood 16、有以下程序#include void fun(int *a,int *b) int *c; c=a;a=b;b=c;main( ) int x=3,y=5,*p=&x,*q=&y; fun(p,q); printf(%d,%d,*p,*q); fun(&x,&y);printf(%d,%dn,*p,*q);程序運(yùn)行后輸出的結(jié)果是【 】A3,5,5,3B3,5,3,5C5,3,3,5D5,3,5,3 17、有以下程序#include void f(int *p,int *q);main( ) int m=1,n=2,*r=&m; f(r

8、,&n); printf(%d,%d,m,n);void f(int *p,int *q)p=p+1;*q=*q+1;程序運(yùn)行后的輸出結(jié)果是【 】A1,3B2,3C1,4D1,2 18、以下函數(shù)按每行8個(gè)輸出數(shù)組中的數(shù)據(jù)#include void fun(int *w,int n) int i; for(i=0;in;i+) _ printf(%d ,wi); printf(n);下劃線出應(yīng)填入的語句是【 】Aif(i/8= =0) printf(n);Bif(i/8= =0) continue;Cif(i%8= =0) printf(n);Dif(i%8= =0) continue; 19、

9、若有以下定義int x10,*pt=x;則對(duì)數(shù)組元素的正確引用是【 】A*&x10B*(x+3)C*(pt+10)Dpt+320、設(shè)有定義:char s81;int i=0;,以下不能將一行(不超過80個(gè)字符)帶有空格的字符串正確讀入的語句或語句組是【 】Agets(s);Bwhile(si+=getchar()!=n); si=0;Cscanf(%s,s);Ddoscanf(%c,&si);while(si+!=n); si=0; 21、有以下程序#include main() char *a =abcd,ef,gh,ijk; int i; for(i=0;i4;i+) printf(%c,

10、*ai);程序運(yùn)行后的輸出結(jié)果是【 】AaegiBdfhkCdfhkDabcdefghijk22、以下選項(xiàng)中正確的語句組是【 】Achar s; s=BOOK!;Bchar *s; s=BOOK!;Cchar s10; s=BOOK!;Dchar *s; s=BOOK!; 23、有以下程序#include int fun(int x,int y) if(x= =y) return (x); else return(x+y)/2);main() int a=4,b=5,c=6; printf(%dn,fun(2*a,fun(b,c);程序運(yùn)行后的輸出結(jié)果是【 】A3B6C8D12 24、設(shè)函數(shù)中

11、有整型變量n,為保證其在未賦初值的情況下初值為0,應(yīng)該選擇的存儲(chǔ)類別是【 】AautoBregisterCstaticDauto 或register 25、有以下程序#include int b=2;int fun(int *k) b=*k+b; return (b); main() int a10=1,2,3,4,5,6,7,8,i;for(i=2;i4;i+) b=fun(&ai)+b; printf(%d ,b);printf(n);程序運(yùn)行后的輸出結(jié)果是【 】A10 12B 8 10C10 28D10 16 26、有以下程序#include #define PT 3.5 ;#defin

12、e S(x) PT*x*x ;main( ) int a=1,b=2 ; printf(%4.1fn,S(a+b); 程序運(yùn)行后的輸出結(jié)果是【 】A14.0B31.5C7.5D程序有錯(cuò)無輸出結(jié)果 27、有以下程序#include struct ord int x,y; dt2=1,2,3,4;main() struct ord *p=dt; printf(%d,+p-x); printf(%dn,+p-y);程序的運(yùn)行結(jié)果是【 】A1,2B2,3C3,4D4,1 28、設(shè)有宏定義: #define IsDIV(k,n) (k%n=1)?1:0)且變量m已正確定義并賦值, 則宏調(diào)用:IsDIV(

13、m,5)&IsDIV(m,7)為真時(shí)所要表達(dá)的是【 】A判斷m是否能被5或者7整除B判斷m是否能被5和7整除C判斷m被5或者7整除是否余1D判斷m被5和7整除是否都余1 29、有以下程序#include main() int a=5,b=1,t; t=(a2)|b; printf(%dn,t);程序運(yùn)行后的輸出結(jié)果是【 】A21B11C6D1 30、有以下程序#include main() FILE *f; f=fopen(,w); fprintf(f,abc); fclose(f);若文本文件中原有內(nèi)容為:hello,則運(yùn)行以上程序后,文件的內(nèi)容為【 】AhelloabcBabcloCabc

14、Dabchello 二、填空題(每空2分,共30分)1、表達(dá)式(int)(double)(5/2)+2.5)的值是_。2、若變量x、y已定義為int類型且x的值為99,y的值為9,請(qǐng)將輸出語句printf(_,x/y);補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=11。3、有以下程序#include main( ) char c1,c2; scanf(“&c”,&c1); while(c190) scanf(“&c”,&c1); c2=c1+32; printf(“&c, &cn”,c1,c2);程序運(yùn)行輸入65回車后,能否輸出結(jié)果、結(jié)束運(yùn)行(請(qǐng)回答能或不能)_ 。 4、以下程序運(yùn)行后的輸出結(jié)

15、果是_。#include main( )int k=1,s=0;doif(k&2)!=0)continue;s+=k;k+;while(k)10);printf(“s=&d/n”,s); 5、下列程序運(yùn)行時(shí),若輸入labced12df 輸出結(jié)果為_。 #include main( )char a =0,ch;while(ch=getchar()!=n)if(a&2!=0&(cha&ch=z) ch=ch-a+A;a+;putchar(ch);printf(“n”);6、有以下程序,程序執(zhí)行后,輸出結(jié)果是_。#include void fun (int *a)a0=a1;main()int a1

16、0=10,9,8,7,6,5,4,3,2,1,i;for(i=2;i=0;i-) fun&a;for(i=0;i10;i+) printf(“&d”,a);printf(“n”);7、請(qǐng)將以下程序中的函數(shù)聲明語句補(bǔ)充完整#include int_ ;main( )int x,y,(*p)( );p=max;printf(“&dn”,&x,&y);Int max(int a,int b)return (ab/a:b);8、以下程序用來判斷指定文件是否能正常打開,請(qǐng)?zhí)羁?include main( ) FILE *fp;if (fp=fopen(“test.txt”,”r”)=_)printf(“

17、未能打開文件!n”);elseprintf(“文件打開成功!n”);9、下列程序的運(yùn)行結(jié)果為_。#include #include struct Aint a; char b10; double c;void f (struct A *t);main()struct A a=(1001,”ZhangDa”,1098,0);f(&a);printf(“&d,&s,&6,ifn”,a.a,a.b,a.c);void f(struct A *t)strcpy(t-b,”ChangRong”); 10、以下程序把三個(gè)NODETYPE型的變量鏈接成一個(gè)簡(jiǎn)單的鏈表,并在while循環(huán)中輸出鏈表結(jié)點(diǎn)數(shù)據(jù)域中

18、的數(shù)據(jù),請(qǐng)?zhí)羁?include struct nodeint data; struct node *next;typedef struct node NODETYPE;main()NODETYPE a,b,c,*h,*p;a. data=10;b.data=20;c.data=30;h=&a;b. next=&b;b.next=&c;c.next=0;p=h;while(p)printf(“&d”,p-data);_; 三、程序改錯(cuò)題(10分)下列給定程序功能是:讀入一行英文文本,將每一個(gè)英文單詞的第一個(gè)字母改寫成大寫字母然后輸出此文本。例如:若輸入“good luck!”則輸出”Good L

19、uck”。 請(qǐng)修函數(shù)top中的錯(cuò)誤使其能得出正確的結(jié)果。注意不要修改主函數(shù),不要增刪程序行或更改程序的結(jié)構(gòu)。#include#include#include/*錯(cuò)誤區(qū)*/ void top(char s)int i=0;for(;*s;*s+)if(i)if(*s= )i=0;elseif(*s!= )i=1;*s=toupper(*s);main()char str81;printf(nPlease enter an English text line:);gets(str);printf(nnBefore changing:n%s,str);top(str);printf(nAfter changing:n%sn,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論