C語言程序設(shè)計(jì)習(xí)題集(三)_第1頁
C語言程序設(shè)計(jì)習(xí)題集(三)_第2頁
C語言程序設(shè)計(jì)習(xí)題集(三)_第3頁
C語言程序設(shè)計(jì)習(xí)題集(三)_第4頁
C語言程序設(shè)計(jì)習(xí)題集(三)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、指針123456789單項(xiàng)選擇題(每題2分,共40分)以下敘述中錯(cuò)誤的是_B。A在程序中凡是以“#開始的語句行都是預(yù)處理命令行”B預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束C#defineMAX是合法的宏定義命令行DC程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的若程序中有宏定義行:#defineN100,則以下敘述中正確的是BA宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100B在編譯程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符NC對(duì)C源程序進(jìn)行編譯時(shí)用100替換標(biāo)識(shí)符ND在運(yùn)行時(shí)用100替換標(biāo)識(shí)符若有如下宏定義:#defineN2#definey(n)(N+1)*n)則執(zhí)行下列語句:z=4*(N+y(

2、5);后的結(jié)果是B。A語句有錯(cuò)誤Bz值為68以下程序運(yùn)行后的輸出結(jié)果是A。#defineF(X,Y)(X)*(Y)main()inta=3,b=4;printf("%dn",F(a+,b+);A12B15以下程序運(yùn)行后的輸出結(jié)果是C。#definef(x)(x*x)main()inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%dn",i1,i2);A64,28B4,4Cz值為60Dz值為180C16D20C4,3D64,64若已定義a為int型變量,則D_是對(duì)指針變量p的正確說明和初始化。Aintp=&

3、amp;a;Bint*p=a;Cint*p=*a;Dint*p=&a;已知下列說明語句:staticinta=2,4,6,8staticint*p=a,a+1,a+2,a+3;int*q;q=p;則表達(dá)式*(q+2)的值是A。A6B2C4D8下面是一個(gè)初始化指針的語句:int*px=&a;,其中指針變量的名字應(yīng)該型型CA*pxBaCpxD&a若指針px為空指針,則B。Apx指向不定Bpx的值為零Cpx的目標(biāo)為零Dpx的地址為零10對(duì)下語句int*px10;,下面正確白說法是_B。Apx是一個(gè)指針,指向一個(gè)數(shù)組,數(shù)組的元素是整數(shù)型。Bpx是一個(gè)數(shù)組,其數(shù)組的每一個(gè)元素是指

4、向整數(shù)的指針。CA和B均錯(cuò),但它是C語言的正確語句。DC語言不允許這樣的語句。11具有相同基類型的指針變量p和數(shù)組y,下列寫法中不合法的是D。Ap=yB*p=yiCp=&yiDp=&y12已知staticinta=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p;,則表達(dá)式*(p0+1)+*(q+2)的值是A。A5B4C6D713說明語句int*(*p)();的含義為D。Ap是一個(gè)指向int型數(shù)組的指針Bp是指針變量,它構(gòu)成了指針數(shù)組Cp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回的是一個(gè)整型Dp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回的是一個(gè)指向整型的指針14設(shè)有如下程序段ch

5、ars20="Beijing",*p;p=s;則執(zhí)行p=s;語句后,以下敘述正確的是A。A可以用*p表示s0Bs數(shù)組中元素個(gè)數(shù)和p所指字符串長度相等Cs和p都是指針變量D數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同15設(shè)int型變量i、n均已定義,指針變量s1、s2各指向一個(gè)字符串。在for(i=0;i<n;i+)循環(huán)中,下列語句用以實(shí)現(xiàn)將s2所指字符串中前n個(gè)字符復(fù)制到s1所指字符串中,其中代碼正確白是A。A*s1+=*s2+;Bs1n-1=s2n-1;C*(s1+n-1)=*(s2+n-1);D*(+s1)=*(+s2);16給出下列程序的運(yùn)行結(jié)果_B。#include

6、<>voidmain()staticchara="language",b="program"char*ptr1=a,*ptr2=b;intk;for(k=0;k<7;k+)if(*(ptr1+k)=*(ptr2+k)printf("%c",*(ptr1+k);AgaeBgaClanguageD有語法錯(cuò)誤17以下程序執(zhí)行后的輸出結(jié)果是A。voidfun1(char*p)char*q;q=p;while(*q!='0')(*q)+;q+;main()chara="Program",*p

7、;p=&a3;fun1(p);printf("%sn",a);AProhsbnBPrphsbnCProgsbn18以下程序執(zhí)行后的輸出結(jié)果是C。voidswap(char*x,char*y)chart;t=*x;*x=*y;*y=t;main()char*s1="abc",*s2="123"swap(s1,s2);printf("%s,%sn",s1,s2);A123,abcBabc,123C1bc,a2319以下程序執(zhí)行后的出結(jié)果是C_omain()char*p="3697",&quo

8、t;2584"inti,j;longnum=0;for(i=0;i<2;i+)j=0;while(pij!='0')if(pij-'0')%2)num=10*num+pij-'0'j+=2;printf("%dn",num);A35B37C3920下列程序運(yùn)行后的輸出結(jié)果是A。voidmain()charstr="The_Microsoft"intn=4;sub(str,0,n-1);sub(str,0,strlen(str)-1);printf("%sn",str);s

9、ub(str,n1,n2)char*str;intn1,n2;charc,*p;p=str+n2;str=str+n1;while(str<p)c=*str;*str=*p;*p=c;str+;p-;AtfosorciMThe_B.ehT_MicrosoftCtfosorciM_ehTD.D ProgramD 321,cbaD 3975Microsoft_The二填空題(每空3分,共30分)1以下程序的定義語句中,x1的初值是2,程序運(yùn)行后輸出的內(nèi)容是2468。main()intx=123,4,5,678,9,10,11,12,13,14,15,16,*p4,i;for(i=0;i<

10、;4;i+)pi=&x2*i+1;printf("%d",pi0);printf("n");2以下程序的輸出結(jié)果是25。voidswap(int*a,int*b)int*t;t=a;a=b;b=t;main()inti=2,j=5,*p=&i,*q=&j;swap(p,q);printf("%d%dn",*p,*q)3以下程序的輸出結(jié)果是4。main()inta5=2,4,6,8,10,*p;p=a;p+;printf("%d",*p);4以下程序的輸出結(jié)果是_55_q#defineM5#d

11、efineNM+Mmain()intk;k=N*N*5;printf("%d'n",k);5若有定義語句:inta4=0,1,2,3,*p;p=&a1;則+(*p)的值是2。6若有定義:inta23=2,4,6,8,10,12;則*(&a00+2*2+1)的值是12.*(a1+2)的值是_12。7若有程序段:int*p3,a6,i;for(i=0;i<3;i+)pi=&a2*i;則*p0引用的是a數(shù)組元素a0,*(p1+1)引用的是a數(shù)組元素a3。三程序填空題(每空3分,共30分)1下面函數(shù)的功能是從輸入的十個(gè)字符串中找出最長的那個(gè)串,

12、請(qǐng)?zhí)羁帐钩绦蛲暾oidfun(charstr1081,char*sp)inti;*sp=【1str0;for(i=1;i<10;i+)if(strlen(*sp)<strlen(stri)2】*sp=stri;2下面函數(shù)的功能是將一個(gè)整數(shù)字符串轉(zhuǎn)換為一個(gè)整數(shù),例如:"1234”轉(zhuǎn)換為1234,請(qǐng)?zhí)羁帐钩绦蛲暾ntchnum(char*p)intnum=0,k,len,j;len=strlen(p);for(;【3】*p;p+)k=4*p-'0'j=(-len);while(【5】j-)k=k*10;num=num+k;return(num);3下面

13、函數(shù)的功能使統(tǒng)計(jì)子串substr在母串str中出現(xiàn)的次數(shù),請(qǐng)?zhí)羁帐钩绦蛲暾ntcount(char*str,char*substr)inti,j,k,num=0;for(i=0;【6】stri;i+)for(【7】j=i,k=0;substrk=strj;k+,j+)if(substr【8】k+1='0)num+;break;return(num);4下面函數(shù)的功能是用遞歸法將一個(gè)整數(shù)存放到一個(gè)字符數(shù)組中,存放時(shí)按逆序存放,如483存放成“384”,請(qǐng)?zhí)羁帐钩绦蛲暾?。voidconvert(char*a,intn)inti;if(i=n/10)!=0)convert(【9】a+1,

14、i);else*(a+1)=0;*a=【10】n%10+'0'結(jié)構(gòu)體文件單項(xiàng)選擇題(18題每題5分,918題每題6分,共100分)1有以下說明語句,對(duì)結(jié)構(gòu)變量中成員age的正確引用是A_ostructstudentintage;intsex;stud1,*p;Ap->ageBC*D說明語句如下,則正確的敘述是._Ouniondataintx;chary;floatz;a;Adata和a均是共用體類型變量Ba所占內(nèi)存長度等于其成員x、v、z各在內(nèi)存所占長度之和C任何情況下,均不能對(duì)a作整體賦值Da的地址和它的各成員地址都是同一地址3共用體成員的數(shù)據(jù)類型B。A相同B可以不同也

15、可以相同C長度一樣D是結(jié)構(gòu)體變量4由系統(tǒng)分配和控制的標(biāo)準(zhǔn)輸出文件為D_oA鍵盤B磁盤C打印機(jī)D顯示器5下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是C。AC語言只能讀寫文本文件BC語言只能讀寫二進(jìn)制文件C文件由字符序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件D文件由二進(jìn)制數(shù)據(jù)序列組成6若要用fopen函數(shù)建一個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫,則文件方式字符串應(yīng)該為B。A "ab+"B "wb+C "rb+"D "ab"7下列程序運(yùn)行后的車出結(jié)果是Astruct s int n; char *c;*p;char d=&#

16、39;a','b','c','d','e'struct s a尸10,&d0,20,&d1,30,&d2,40,&d3,50,&d4;#include <>main() P=a;printf("%dn",+p->n);printf("%dn",(+p)->n);printf("%cn",+(*p->c);A 11B 11C 10202020cbc8已知struct studentD 1020 c

17、har *name; int student_no; char grade; ; struct student temp,*p=&temp;="chou"則下面不正確的是_B。表達(dá)式值A(chǔ) p->namechouB (*p)->name+2hC *p->name+2eD *(p->name+2)o9下面程序運(yùn)行后,其輸出結(jié)果是B#include<>struct tree int x; char *s;t;func(struct tree t) =10; ="computer"return 0;main() =1;

18、'minicomputer"func(t); printf("%d,%sn",;A10,computerB1.minicomputerC1,computerD10,minicomputer10下列程序的輸出結(jié)果是B。#include<>main()unioninti2;longk;charc4;t,*s=&t;s->i0=0x39;s->i1=0x38;printf("%lx”,s->k);printf("%cn",s->c0);A39003839B3800399C393838D38

19、39811若已定義了如下的共用體類型變量x,則x所占用的內(nèi)存字節(jié)數(shù)為C_ouniondatainti;charcha;doublef;x;B 11D1012如下說明語句:enumAA0=1,A1=3,A2,A3,A4,A5;enumAB;執(zhí)行B=A3;printf("%d'n",B);輸出是A。A5B3C2D編譯時(shí)出錯(cuò)13有以下說明語句,則結(jié)構(gòu)變量s的成員num的不正確引用是B。structstudentintnum;intage;s,*p;AB*Cp->numD(*p).num14以下各選項(xiàng)試圖說明一種新的類型名,其中正確的是C。B typedef integer=int;D typedef int=integer;C 。Atypedefintegerint;Ctypedefintinteger;15運(yùn)行下面程序,其輸出結(jié)果是#include<>structsampleinta,b;char*ch;main()structsamplearg;=1000;=100;="abcd"f1(arg);f1(structsampleparam)+二;2='x'printf("%dn",;printf("%sn&qu

溫馨提示

  • 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)論