C語(yǔ)言—指針習(xí)題_第1頁(yè)
C語(yǔ)言—指針習(xí)題_第2頁(yè)
C語(yǔ)言—指針習(xí)題_第3頁(yè)
C語(yǔ)言—指針習(xí)題_第4頁(yè)
C語(yǔ)言—指針習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第8章 指針二、習(xí)題(一)、是非題1.運(yùn)算符“*”有時(shí)是單目運(yùn)算符,有時(shí)又可能是雙目運(yùn)算符。A.對(duì) B.錯(cuò)2. 取地址運(yùn)算符“&”與指針運(yùn)算符“*”的優(yōu)先級(jí)相同,結(jié)合方向?yàn)樽杂蚁蜃?。A.對(duì) B.錯(cuò)3. 指針變量的類型不是該變量本身的類型,而是它所指向的變量的類型。A.對(duì) B.錯(cuò)4. 指針變量不可以作為函數(shù)的參數(shù)。A.對(duì) B.錯(cuò)5. &b指的是變量b的地址所存放的值。A.對(duì) B.錯(cuò)6. 語(yǔ)句int *p;定義了一個(gè)指針變量p,其值是整型的。A.對(duì) B.錯(cuò)7. 語(yǔ)句“int *p ;”中*p的含義為取值。 /定義指針變量A.對(duì) B.錯(cuò)8. 一個(gè)變量的地址就稱為該變量的“指針”。A.

2、對(duì) B.錯(cuò)9. 語(yǔ)句int i,*p=&i;是正確的C定義。A.對(duì) B.錯(cuò)10. 變量的指針,其含義是指該變量的一個(gè)標(biāo)志。A.對(duì) B.錯(cuò)11. void 類型的指針不指向某種類型的數(shù)據(jù),所以沒有意義。A.對(duì) B.錯(cuò)12. 表達(dá)式*p+的運(yùn)算順序?yàn)橄茸栽龊笕≈怠.對(duì) B.錯(cuò)13. C語(yǔ)言中,執(zhí)行表達(dá)式(*p)+后p的指向改變了。A.對(duì) B.錯(cuò)14. 兩個(gè)指針相加沒有意義。A.對(duì) B.錯(cuò)15. 若有定義:int *p1,*p2,m=3,n;,則p1=&m;p2=p1;是正確的賦值語(yǔ)句。A.對(duì) B.錯(cuò)16.已知int a4,*p;,則語(yǔ)句p=&a;是正確的。 / p=a;A

3、.對(duì) B.錯(cuò)17. char *name5定義了一個(gè)一維指針數(shù)組,它有5個(gè)元素,每個(gè)元素都是指向字符數(shù)據(jù)的指針型數(shù)據(jù)。A.對(duì) B.錯(cuò)18. *(&aij)與aij的含義相同。A.對(duì) B.錯(cuò)19.若有定義:int (*p)4;,則標(biāo)示符p是一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組。A.對(duì) B.錯(cuò)20.設(shè)有以下定義:char *c2="12","34",表示c數(shù)組的兩個(gè)元素中分別存放了字符串"12"和"34"的首地址。A.對(duì) B.錯(cuò)(二)、選擇題1.變量的指針,其含義是指該變量的_。A.值 B.地址C.名

4、D.一個(gè)標(biāo)志2.下面能正確進(jìn)行字符串賦值操作的是_。A.char s5="ABCDE"B.char s5='A','B','C','D','E'C.char *s; s="ABCDE"D.char *s; scnaf("%s",&s);3.以下語(yǔ)句或語(yǔ)句組中,能正確進(jìn)行字符串賦值的是_。A.char *sp;*sp="right" B.char s10;s="right"C.char s10;*s="

5、;right"D.char *sp="right"4.設(shè)有定義:char *c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的是_。A.char str="string" ;c=str; B.scanf("%s",c); C.c=getchar() ; D.*c="string" 5.下列語(yǔ)句中,正確的是_。A.char *s;s="Olympic" B.char s7;s="Olympic" C.char *s;s="Olympic" D.

6、char s7;s="Olympic" 6.已有定義int k=2; int *p1,*p2; 且p1和p2均已指向變量k,下面不能正確執(zhí)行的賦值語(yǔ)句是_。A.k=*p1+*p2; B.p2=k; C.p1=p2;D.k=*p1*(*p2);7.若有定義:double a10,*s=a;,以下能夠代表數(shù)組元素a3的是_。A.(*s)3 B.*(s+3) C.*s3 D.*s+3 8.若有定義int a5,*p=a;,則對(duì)a數(shù)組元素的正確引用是_。A.*&a5 B.a+2 C.*(p+5) D.*(a+2)9.若有定義語(yǔ)句: double a,*p=&a;以下

7、敘述中錯(cuò)誤的是_。A.定義語(yǔ)句中*是一個(gè)間接訪問運(yùn)算符 B.定義語(yǔ)句中*號(hào)只是一個(gè)說明符 C.定義語(yǔ)句中p只能存放double類型變量的地址D.定義語(yǔ)句中,*p=&a 把變量a的地址作為初始賦給指針變量p 10.若有程序段:char str="china"char *p;p=str;則下列敘述正確的是_。A.*p與str0相等B.str數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等C.str和p完全相同D.數(shù)組str中的內(nèi)容和指針變量p中的內(nèi)容相等11.若有語(yǔ)句int *point,a=4;和point=&a; 下面均代表地址的一組選項(xiàng)是_。A.a,point,*&am

8、p;aB.&*a,&a,*pointC.&point,*point,&a D.&a,&*point,point12.以下選項(xiàng)中,對(duì)指針變量p的正確操作是_。A.int a5,*p; p=&a; B.int a5,*p; p=a;C.int a5; int *p=a=1000; D.int a5; int *p1,*p2=a; *p1=*p2;13.設(shè)有定義語(yǔ)句:int m=2,4,6,8,*k=m;,以下選項(xiàng)中表達(dá)式的值為6的是_。A.*(k+2) B.k+2 C.*k+2 D.*k+=2 14.若有定義:int *p,m=5,n; ,以

9、下正確的程序段是_。A.p=&n;scanf("%d",&p); B.p=&n;scanf("%d",*p); C.scanf("%d",&n); *p=n; D.p=&n;*p=m; 15.以下程序的運(yùn)行結(jié)果是_。#include "stdio.h"main()int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%dn",m,n,*p,*q); A.1,2,1,2 B.1,2,2

10、,1 C.2,1,2,1 D.2,1,1,2 16.若有定義語(yǔ)句:int a410,*p,*q4;且0i4,則錯(cuò)誤的賦值是A.p=a B.qi=ai C.p=ai D.p=&a21 17.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是_。#include "stdio.h"main() int *p,q,a,b; p=&a; printf("input a: "); scnaf("%d",*p); A.*p表示的是指針變量p的地址B.*p表示的是變量a的值,而不是變量a的地址C.*p表示的是指

11、針變量p的值D.*p只能用來說明p是一個(gè)指針變量18.程序段char *s="abcde" s+=2; printf("%d",s);的運(yùn)行結(jié)果是_。A.cdeB.字符'c'C.字符'c'的地址D.無確定的輸出結(jié)果19.下面程序段的運(yùn)行結(jié)果是_。char str="ABC", *p=str; printf("%dn",*(p+3); / *(p+3) 表示p的地址從開始處移動(dòng)3A.67 B.0C.字符'C'的地址D.字符'C'20.下面程序段的運(yùn)行結(jié)果

12、是_。char a="language", *p; p=a;while(*p!='u') printf("%c",*p-32); p+; A.LANGUAGE B.language C.LANG D.langUAGE21.若有定義char s10; ,則在下面表達(dá)式中不表示s1的地址的是_。A.s+1B.s+ C.&s0+1 D.&s122.以下程序的運(yùn)行結(jié)果是_。#include <stdio.h>#include <string.h>main() char str20="One*Wor

13、ld","One*Dream!",*p=str1;printf("%d,",strlen(p);printf("%sn",p); A.9,One*World B.9,One*Dream! C.10,One*Dream! D.10,One*World 23.下列函數(shù)的功能是_。fun(char *a,char *b) while(*b=*a)!='0') a+,b+; A.使a所指字符串賦給b所指空間B.使指針b指向a所指字符串 C.將a所指字符串和b所指字符串進(jìn)行比較D.檢查a和b所指字符串中是否有'

14、0' 24.以下程序的運(yùn)行結(jié)果是_。#include <stdio.h>main() char *s="abc"do printf("%d",*s%10);+s;while(*s); A.abcB.789 C.7890 D.979899 25.以下程序的運(yùn)行結(jié)果是_。#include <stdio.h>void fun(int *p) printf("%dn",p5); main() int a10=1,2,3,4,5,6,7,8,9,10;fun(&a3); A.5B.6C.8 D.9 26.

15、若有定義語(yǔ)句: char *s="OK",*s2="ok",以下選項(xiàng)中能夠輸出“OK”的語(yǔ)句是_。A.if(strcmp(s1,s2)=0) puts(s1); B.if(strcmp(s1,s2)!=0) puts(s2);C.if(strcmp(s1,s2)=1) puts(s1); D.if(strcmp(s1,s2)!=0) puts(s1); 27.以下程序的運(yùn)行結(jié)果是_。#include <stdio.h>void fun(char *c,int d) *c=*c+1;d=d+1;printf("%c,%c,"

16、,*c,d); main() char b='a',a='A'fun(&b,a);printf("%c,%cn",b,a); A.b,B,b,A B.b,B,B,A C.a,B,B,a D.a,B,a,B 28.有以下定義和語(yǔ)句:struct workersint num;char name20;char c;struct int day;int month;int year;s; ;struct workers w,*pw; pw=&w;能給w中year成員賦1980的語(yǔ)句是_。A.*pw.year=1980; B.w.ye

17、ar=1980 C.pw>year=1980; D.w.s.year=1980; 29.下面程序把數(shù)組元素中的最大值放入a0中,則在if 語(yǔ)句中的條件表達(dá)式應(yīng)該是_。 main() int a10=6,7,2,9,1,10,5,8,4,3,*p=a,i; for(i=o;i<10;i+,p+) if(_) *a=*p; printf("%d",*a); A.p>a B.*p>a0 C.*p>*a0 D.*p0>*a0 30.以下程序的運(yùn)行結(jié)果是_。#include <stdio.h>main() int a=10,20,30,

18、40,*p=a,i;for(i=0;i<=3;i+) ai=*p;p+;printf("%dn",a2); A.30 B.40 C.10 D.10 31.以下程序的輸出結(jié)果是_。#include <stdio.h>main() char *s="12134"int k=0,a=0;while(sk+1!='0') k+;if(k%2=0) a=a+(sk-'0'+1);continue;a=a+(sk-'0'); printf("k=%d a=%dn",k,a); A.

19、k=6 a=11 B.k=3 a=14 C.k=4 a=12 D.k=5 a=15 32. 以下程序的輸出結(jié)果是_。#include <stdio.h>main() char a510="one","two","three","four","five"int i,j; char t;for(i=0;i<4;i+) for(j=i+1;j<5;j+) if(ai 0>aj0)t=ai0;ai0=aj0;aj0=t;puts(a1); A.fwo B.fix C.two

20、D.owo 33.下面程序?qū)蓚€(gè)整型變量的值進(jìn)行交換。以下正確的說法是_。main() int a=10,b=20;printf(" (1)a=%d,b=%dn",a,b);swap(&a,&b); printf(" (2)a=%d,b=%dn",a,b); swap(int p,int q) int t; t=p; p=q; q=t; A.該程序完全正確B.該程序有錯(cuò),只要將語(yǔ)句swap(&a,&b); 中的參數(shù)改為a,b即可C.該程序有錯(cuò),只要將swap()函數(shù)中形參p和q以及t均定義為指針即可D.以上說法都不正確34

21、.下面程序的功能是按字典順序比較兩個(gè)字符串a(chǎn),b的大小,如果a大于b則返回正值,等于則返回0,小于則返回負(fù)值。下劃線處應(yīng)該填_。#include "stdio.h"s(char *s ,char *t) for( ; *s=*t; t+,s+) if(*s='0') return 0; return(*s-*t); main() char a20,b10,*p,*q; int i; p=a; q=b; scanf("%s%s",a,b); i=s( _ ); printf("%d",i); A.p,qB.q,pC.a,

22、pD.b,q35.下面程序的運(yùn)行結(jié)果是_。#include <stdio.h>void delch(char *s) int i,j; char *a; a=s; for(i=0,j=0;ai!= '0'i+) if(ai>= '0' &&ai<= '9')sj=ai;j+; sj= '0' main() char *item="a34bc" delch(item); printf("n%s",item); A.abcB.34C.a23D.a34bc36.以下程序的執(zhí)行后輸出結(jié)果是_。#include <stdio.h>main() char str="xyz",

溫馨提示

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