C語言期末考試題目_第1頁
C語言期末考試題目_第2頁
C語言期末考試題目_第3頁
C語言期末考試題目_第4頁
C語言期末考試題目_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、、單項選擇題1.已知:inta,*y=&a;則下列函數(shù)調(diào)用中錯誤的是 編輯版worda) scanf(%d, &a);b) scanf(%d, y);c) printf(%d, a);d) printf(%d, y);2 .說明語句int(*p)();的含義是。a) p是一個指向一維數(shù)組的指針變量b)p是指針變量,指向一個整型數(shù)據(jù)c)p是一個指向函數(shù)的指針,該函數(shù)的返回值是一個整型d)以上都不對3 .設(shè)有說明int(*p)4;其中的標(biāo)識符p是。a) 4個指向整型變量的指針變量b)指向4個整型變量的函數(shù)指針c) 一個指向具有4個整型元素的一維數(shù)組的指針d)具有4個指向整型變量的指針元素的一維指針

2、數(shù)組4 .已知:chars10,*p=則在下列語句中,錯誤的語句是 。a) p=s+5 ;b) s=p+s;c) s2=p4;d) *p=s0;5 .已知:chars100 inti;則引用數(shù)組元素的錯誤的形式是 a) si+10b) *(s+i)c) *(i+s)d) *(s+)+i)6 .已知:chars6,*ps=s則正確的賦值語句是 。d) *ps=12345”;a) s=12345; b) *s=12345; c) ps=12345”;7 .已知:char a310=beijing,shanghai,tianjin, *pa=a 不能正確顯示字符串shanghai的語句是。a) pr

3、intf(%s,a+1) ;b) printf(%s”,*(a+1);c) printf(%s,*a+1) ;d) printf(%s”,&a10);8 .已知: int a43=1,2,3,4,5,6,7,8,9,10,11,12int (*ptr)3=a,*p=a0;則以下能夠正確表示數(shù)組元素a12的表達(dá)式是。a) *(*(a+1)+2) b) *(*(p+5)c) (*ptr+1)+2 d) *(ptr+1)2)9 .已知:int a =1,2,3,4,5,6,7,8,9,10,11,12*p=a;則值為 3 的表達(dá)式是a) p+=2,*(p+)b) p+=2,*+p c) p+=2,*

4、p+ d) p+=2,+*p10 .已知:int a=1,2,3,4, y, *p=a ;則執(zhí)行語句y = (*+p)-;之后,數(shù)組a各元素的值變?yōu)椤) 0,1,3,4b) 1,1,3,4c) 1,2,2,4d) 1,2,3,3變量y的值是。a) 1b) 2c) 3d) 411 .已知:int a =1,3,5,7, y *p= a;為使變量y的值為3,下列語句正確的是 。a) y=+*p+ ; b) y=+(*p+) ; c) y=(+*p)+ ; d) y=(*+p)+ ;12 .已知:int x= 1,3,5,7,9,11 , *ptr=x ;則能夠正確引用數(shù)組元素的語句是 。a) x

5、b) *(ptr-)c) x6d) *(-ptr)能正確執(zhí)行此功13 .函數(shù)的功能是交換變量x和y中的值,且通過正確調(diào)用返回交換的結(jié)果能的函數(shù)是。a) funa (int *x, int *y) int *p ;p=x ; *x=*y ; *y=*p ;c) func (int *x, int *y) *x=*y ; *y=*x ;14 .有定義如下:struct sk int a;float b ;data ,*p;如果p=&data;則對于結(jié)構(gòu)變量a) (*) .data.a b) (*p).a15 .已知:struct st int n;struct st *next;b) funb (

6、int x, int y) int t;t=x; x=y; y=t;d) func (int *x, int *y) *x=*x+*y ; *y=*x-*y ; *x=*x-*y ;data的成員a的正確引用是。c) p-data.a d) p.data.a;static struct st a3=1,&a1,3,&a2,5,&a0,*p如果下述語句的顯示是2,則對p的賦值是。printf(%d”,+(p-next-n);a) p=&a0; b) p=&a1; c) p=&a2 ;d) p=&a3;16 .已知:struct person char name10int age;class10=

7、liming,29,zhanghong,21,wangfang,22;下述表達(dá)式中,值為72的一個是。a) class0-age + class1-age+ class2-ageb) 5c) 5d) clase-name517 .已知:struct18 int i ;char c;float a;test;貝u sizeof(test)勺值是。a) 4 b) 5 c) 6 d) 718.已知:union int i ;char c;float a;test;貝u sizeof(test)勺值是。1 ) 4 b) 5 c) 6 d) 719 .已知:

8、union u_type inti;char ch;float a;temp;現(xiàn)在執(zhí)行temp.i=266; printf(%d,temp.ch)的結(jié)果是a) 266 b) 256 c) 10 d) 120 .若有以下程序段:struct dent int n ;int *m ;int a=1,b=2,c=3;struct dent s3 = 101,&a,102,&b,103,&c;struct dent *p=s;則以下表達(dá)式中值為2的是。a)(p+)-m b) *(p+)-mc)(*p).m d) *(+p)-m21 .若有以下說明語句,則對結(jié)構(gòu)變量pup中sex域的正確引用是struc

9、t pupil char name20int sex;pup,*p ;p=&pup ;a) p.pup.sex b) p-pup.sex c) (*p).pup.sex d) (*p).sex22 .以下對結(jié)構(gòu)變量stul中成員age的非法引用是。struct studentint age;int num;stu1,*p;p=&stu1 ;a) stu1.ageb) student.age c)p-aged)(*p).age23 .若有以下定義和語句:union data int i ;char c;float f;a;int n;則以下語句正確的是。a) a=5;b) a=2,a,1.2;

10、c) printf(%dn,a) ; d) n=a;24 .已知: struct sk int a; int age; date,*p; 如果要使指針p指向data中的成員a,正確的賦值語句是 。 a) p = (struct sk *)&data.qb) p = (struct sk *)data.ac) p = &data.a;d) *p = data.a;25 .已知 enum week sun,mon,tue,wed,thu,fri,satday則正確的賦值語句是 。a) sun=0; b) san=day c) sun=mon; d) day=sun;26 .已知 enum colo

11、r red,yellow=2,blue,white,blackren 執(zhí)行下述語句的輸出結(jié)果是 printf(%d,ren=white);a) 0b) 1c) 3d) 427 .已知enumnamezhao=1,qian,sun,liman執(zhí)行下述程序段后的輸出是man=0;switch(man) case 0:printf(peoplen)case 1:printf(mann);case 2:printf(womann);default: printf(errorn);a) peopleb) man c) womand)error28 .下述關(guān)于枚舉類型名的定義中,正確的是a) enem a

12、= one,two,three ;b) enem a one=9,two=-1,three c) enem a=one,two,three ; d) enem a one,two,three;29 . c語言中標(biāo)準(zhǔn)輸入文件stdin是指。a)鍵盤 b)顯示器 c)鼠標(biāo) d)硬盤30 .要打開一個已存在的非空文件file”用于修改,選擇正確的語句a)fp=fopen(file,r);b)fp=fopen(file,a+);c)fp=fopen(file,w);d)fp=fopen(file,r+);31 .當(dāng)順利執(zhí)行了文件關(guān)閉操作時,fclose函數(shù)的返回值是a)-1 b) true c) 0

13、d) 132 .fscanf函數(shù)的正確調(diào)用形式是。a) fscanf儀件指針,格式字符串,輸出列表);b) fscanf格式字符用,輸出列表,文件指針);c) fscanf格式字符串,文件指針,輸出列表);d) fscanf戊件指針,格式字符串,輸入列表);33 .使用fgetc函數(shù),則打開文件的方式必須是 。a)只寫 b)追加 c)讀或讀/寫 d)參考答案b和c都正確34 .已知宏定義#define n 3#define y(n) (n+1)*n)執(zhí)行語句z=2*(n+y(5+1);后,變量z的值是。a) 42b) 48c) 52d)出錯35 .已知宏定義 #define sq(x) x*x

14、,執(zhí)行語句printf(%d,10/sq(3);后的輸出結(jié)果是 a) 1b) 3c) 9d) 1036 .下面程序的輸出結(jié)果是。void main() int a=1,2,3,4,5,6;int *p ;p=a ;printf(%d ,*p);printf(%d ”,*(+p);printf(%d ”,*+p)printf(%d ”,*(p-);p+=3 ;printf(%d %d ,*p,*(a+3);a) 1 2 3 3 5 4b) 1 2 3 4 5 6c) 1 2 2 3 4 5d) 1 2 3 4 4 537 .下面程序的輸出結(jié)果是void main()int a34=1,234,5

15、,6,7,8,9,10,11,12;int *p=a ;p+=6 ;printf(%d ,*p);/* */printf(%d ”,*(*(a+6);/* */printf(%d ,*(a1+=2);/* */printf(%d,*(&a00+6); /* */a) 77 77b)句語法錯誤 c)句語法錯誤 d)句語法錯誤38 .下面程序的輸出結(jié)果是#define fmt %xn#include main() static int a 4 = 1,2,3,4,5,6,7,8,9,10,11,12 printf( fmt, a22);/* */printf( fmt, *(*(a+1)+1) )

16、;/* a) 9b) 11c) a a) 6b) 7c) 82) */d) bd)前面三個參考答案均是錯誤的39 .下面程序的輸出結(jié)果是#include void main () int a=1,2, 3, 4, 5;int x, y, *p ;p=&a0;x=*(p+2);y=*(p+4);printf(%d,%d,%dn, *p, x, y) ;a) 1,3,5 b) 1,2,3 c) 1,2,4 d) 1,4,540 .下面程序的輸出結(jié)果是void ive(x,n)int x,n ; int t,*p ;p=x+n-1 ;while(xp) t=*x ;*x+=*p ;*p-二t ;re

17、turn ;void main() int i,a=1,2,3,4,5,6,7,8,9,0;ive(a,10);for(i=0 ; i10 ; i+)printf(%d ,ai);printf(n) ;1 ) 1 2 3 4 5 6 7 8 9 0b) 0 9 8 7 6 5 4 3 2 12 ) 1 3 5 7 9 2 4 6 8 0d) 0 8 6 4 2 9 7 5 3 141 .下面程序的輸出結(jié)果是。#include string.hfun(char *w,int n) char t,*s1,*s2 ;s1=w ; s2=w+n-1 ;while(s1s2) t=*s1+s1=*s2-

18、;*s2=t ;void main() static char *p=1234567”;fun(p,strlen(p) ;printf(%s,p);c) 7171717 d) 1711717a) 7654321b) 171717142 .下面程序的輸出結(jié)果是。#include char *p = abcdefghijklmnopq” ;void main() int i=0 ;while( *p+!=e);printf(%cn, *p);a) c b) d c) e d) f43 .下面程序的輸出結(jié)果是#include f(int x, int y) return (y-x);void mai

19、n() int a=5, b=6, c;int f(), (*g)()=f;printf(%dn, (*g)(a,b);1. 1 b) 2c) 3 d)前面三個參考答案均是錯誤的44. 下面程序的輸出結(jié)果是。#include void main() int a=1,*p,*pp;pp=&p ;p=&a ;a+ ;printf (%d,%d,%dn, a,*p, *pp);a) 2,1,1 b) 2,1,2 c) 2,2,2 d)程序有錯誤45. 下面程序的輸出結(jié)果是。void main()char *alpha7=abcd,efgh,ijkl,mnop,qrst,uvwx,yzchar *p

20、;int i ;p=alpha ;for(i=0 ; i4 ; i+)printf(%c,*(pi);printf(n) ;a) aeim b) bfjn c) abcd d) dhlp46. 以 下 程 序 的 輸 出 結(jié) 果 是a) 15 b) 100 c) 10 d) 150#define min(x,y) (x)(y)?(x):(y)void main( )int i,j,k;i=10: j=15; k=10*min(i,j);printf(%dn,k); 47. 以 下 程 序 的 輸 出 結(jié) 果 是a) 11.10b) 12.00 c) 21.10d) 1.10void fun(f

21、loat *p1,float *p2,float *s)s=(float *)calloc(1,sizeof(float) );*s=*p1+*p2+;void main( )float a2=1.1, 2.2,b2=10.0, 20.0,*s=a;fun(a,b,s);printf(%5.2fn,*s);48. 以 下 程 序 的 輸 出 結(jié) 果 是a)5,2,3 b)-5,-12,-7 c)-5,-12,-7 d)5,-2,-7void sub(int x,int y,int *z)*z=y-x;void main()int a,b,c;sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);printf(%d,%d,%dn,a,b,c);二、程序完善題1. 下面程序的功能是實現(xiàn)數(shù)組元素中值的逆 轉(zhuǎn)。#include void main() int i,n=10,a10=1,2,3,4,5,6,7,8,9,10;i

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論