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

下載本文檔

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

文檔簡介

PAGE7第8章指針二、習(xí)題(一)、是非題1.運(yùn)算符“*”有時是單目運(yùn)算符,有時又可能是雙目運(yùn)算符。A.對 B.錯2.取地址運(yùn)算符“&”與指針運(yùn)算符“*”的優(yōu)先級相同,結(jié)合方向為自右向左。A.對 B.錯3.指針變量的類型不是該變量本身的類型,而是它所指向的變量的類型。A.對 B.錯4.指針變量不可以作為函數(shù)的參數(shù)。A.對 B.錯5.&b指的是變量b的地址所存放的值。A.對 B.錯6.語句int*p;定義了一個指針變量p,其值是整型的。A.對 B.錯7.語句“int*p;”中*p的含義為取值。 B.錯8.一個變量的地址就稱為該變量的“指針”。A.對 B.錯9.語句inti,*p=&i;是正確的C定義。A.對 B.錯10.變量的指針,其含義是指該變量的一個標(biāo)志。A.對 B.錯11.void類型的指針不指向某種類型的數(shù)據(jù),所以沒有意義。A.對 B.錯12.表達(dá)式*p++的運(yùn)算順序為先自增后取值。A.對 B.錯13.C語言中,執(zhí)行表達(dá)式(*p)++后p的指向改變了。A.對 B.錯14.兩個指針相加沒有意義。A.對 B.錯15.若有定義:int*p1,*p2,m=3,n;,則p1=&m;p2=p1;是正確的賦值語句。A.對 B.錯16.已知inta[4],*p;,則語句p=&a;是正確的。 B.錯17.char*name[5]定義了一個一維指針數(shù)組,它有5個元素,每個元素都是指向字符數(shù)據(jù)的指針型數(shù)據(jù)。A.對 B.錯18.*(&a[i]+j)與a[i][j]的含義相同。A.對 B.錯19.若有定義:int(*p)[4];,則標(biāo)示符p是一個指針,它指向一個含有四個整型元素的一維數(shù)組。A.對 B.錯20.設(shè)有以下定義:char*c[2]={"12","34"};,表示c數(shù)組的兩個元素中分別存放了字符串"12"和"34"的首地址。A.對 B.錯(二)、選擇題1.變量的指針,其含義是指該變量的______。A.值 B.地址 C.名 D.一個標(biāo)志2.下面能正確進(jìn)行字符串賦值操作的是______。s[5]={"ABCDE"}; s[5]={'A','B','C','D','E'};*s;s="ABCDE"; *s;scnaf("%s",&s);3.以下語句或語句組中,能正確進(jìn)行字符串賦值的是______。。*sp;*sp="right"; s[10];s="right";s[10];*s="right"; *sp="right";4.設(shè)有定義:char*c;,以下選項中能夠使字符型指針c正確指向一個字符串的是______。str[]="string";c=str;("%s",c);=getchar();D.*c="string";5.下列語句中,正確的是______。*s;s="Olympic"; s[7];s="Olympic";*s;s={"Olympic"};s[7];s={"Olympic"};6.已有定義intk=2;int*p1,*p2;且p1和p2均已指向變量k,下面不能正確執(zhí)行的賦值語句是______。=*p1+*p2; =k;=p2; =*p1*(*p2);7.若有定義:doublea[10],*s=a;,以下能夠代表數(shù)組元素a[3]的是______。A.(*s)[3]B.*(s+3)C.*s[3]D.*s+38.若有定義inta[5],*p=a;,則對a數(shù)組元素的正確引用是______。A.*&a[5] +2 C.*(p+5) D.*(a+2)9.若有定義語句:doublea,*p=&a;以下敘述中錯誤的是______。A.定義語句中*是一個間接訪問運(yùn)算符B.定義語句中*號只是一個說明符C.定義語句中p只能存放double類型變量的地址D.定義語句中,*p=&a把變量a的地址作為初始賦給指針變量p10.若有程序段:charstr[]="china";char*p;p=str;則下列敘述正確的是______。A.*p與str[0]相等數(shù)組長度和p所指向的字符串長度相等和p完全相同D.數(shù)組str中的內(nèi)容和指針變量p中的內(nèi)容相等11.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是______。,point,*&a B.&*a,&a,*pointC.&point,*point,&a D.&a,&*point,point12.以下選項中,對指針變量p的正確操作是______。a[5],*p;p=&a; a[5],*p;p=a;a[5];int*p=a=1000; a[5];int*p1,*p2=a;*p1=*p2;13.設(shè)有定義語句:intm[]={2,4,6,8},*k=m;,以下選項中表達(dá)式的值為6的是______。A.*(k+2)+2C.*k+2D.*k+=214.若有定義:int*p,m=5,n;,以下正確的程序段是______。=&n;scanf("%d",&p);=&n;scanf("%d",*p);("%d",&n);*p=n;=&n;*p=m;15.以下程序的運(yùn)行結(jié)果是______。#include""main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);},2,1,2,2,2,1,1,2,1,1,1,216.若有定義語句:inta[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是=a [i]=a[i] =a[i] =&a[2][1]17.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是______。#include""main(){int*p,q,a,b;p=&a;printf("inputa:");scnaf("%d",*p);…}A.*p表示的是指針變量p的地址B.*p表示的是變量a的值,而不是變量a的地址C.*p表示的是指針變量p的值D.*p只能用來說明p是一個指針變量18.程序段char*s="abcde";s+=2;printf("%d",s);的運(yùn)行結(jié)果是______。 B.字符'c'C.字符'c'的地址 D.無確定的輸出結(jié)果19.下面程序段的運(yùn)行結(jié)果是______。charstr[]="ABC",*p=str;printf("%d\n",*(p+3));符'C'的地址 D.字符'C'20.下面程序段的運(yùn)行結(jié)果是______。chara[]="language",*p;p=a;while(*p!='u'){printf("%c",*p-32);p++;} 21.若有定義chars[10];,則在下面表達(dá)式中不表示s[1]的地址的是______。+1 ++ C.&s[0]+1 D.&s[1]22.以下程序的運(yùn)行結(jié)果是______。#include<>#include<>main(){charstr[][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",strlen(p));printf("%s\n",p);},One*World,One*Dream!,One*Dream!,One*World23.下列函數(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所指字符串中是否有'\0'24.以下程序的運(yùn)行結(jié)果是______。#include<>main(){char*s={"abc"};do{printf("%d",*s%10);++s; }while(*s);} 25.以下程序的運(yùn)行結(jié)果是______。#include<>voidfun(int*p){printf("%d\n",p[5]);}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);} 26.若有定義語句:char*s="OK",*s2="ok";,以下選項中能夠輸出“OK”的語句是______。(strcmp(s1,s2)=0)puts(s1);(strcmp(s1,s2)!=0)puts(s2);(strcmp(s1,s2)=1)puts(s1);(strcmp(s1,s2)!=0)puts(s1);27.以下程序的運(yùn)行結(jié)果是______。#include<>voidfun(char*c,intd){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){charb='a',a='A';fun(&b,a); printf("%c,%c\n",b,a);},B,b,A,B,B,A,B,B,a,B,a,B28.有以下定義和語句:structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s;};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是______。A.*=1980;—>year=1980;29.下面程序把數(shù)組元素中的最大值放入a[0]中,則在if語句中的條件表達(dá)式應(yīng)該是______。main(){inta[10]={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 B.*p>a[0] C.*p>*a[0] D.*p[0]>*a[0]30.以下程序的運(yùn)行結(jié)果是______。#include<>main(){inta[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}31.以下程序的輸出結(jié)果是______。#include<>main(){char*s="12134";intk=0,a=0;while(s[k+1]!='\0'){k++;if(k%2==0){a=a+(s[k]-'0'+1);continue;}a=a+(s[k]-'0');}printf("k=%da=%d\n",k,a);}=6a=11=3a=14=4a=12=5a=1532.以下程序的輸出結(jié)果是______。#include<>main(){chara[5][10]={"one","two","three","four","five"};inti,j;chart;for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(a[i][0]>a[j][0]){t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;} puts(a[1]);} 33.下面程序?qū)蓚€整型變量的值進(jìn)行交換。以下正確的說法是______。main(){inta=10,b=20;printf("(1)a=%d,b=%d\n",a,b);swap(&a,&b);printf("(2)a=%d,b=%d\n",a,b);}swap(intp,intq){intt;t=p;p=q;q=t;}A.該程序完全正確B.該程序有錯,只要將語句swap(&a,&b);中的參數(shù)改為a,b即可C.該程序有錯,只要將swap()函數(shù)中形參p和q以及t均定義為指針即可D.以上說法都不正確34.下面程序的功能是按字典順序比較兩個字符串a(chǎn),b的大小,如果a大于b則返回正值,等于則返回0,小于則返回負(fù)值。下劃線處應(yīng)該填______。#include""s(char*s,char*t){for(;*s==*t;t++,s++)if(*s=='\0')return0;return(*s-*t);}main(){chara[20],b[10],*p,*q;inti;p=a;q=b;scanf("%s%s",a,b);i=s(__________);printf("%d",i);},q ,p ,p ,q35.下面程序的運(yùn)行結(jié)果是______。#include<>voiddelch(char*s){inti,j;char*a;a=s;for(i=0,j=0;a[i]!='\0';i++)if(a[i]>='0'&&a[i]<='9'){s[j]=a[i];j++;}s[j]='\0';}main(){char*item="a34bc";delch(item);printf("\n%s",item);} 36.以下程序的執(zhí)行后輸出結(jié)果是______。#include<>main(){charstr[]="xyz",*ps=str;while(*ps)ps++;for(ps--;ps-str>=0;ps--)puts(ps);}

溫馨提示

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

評論

0/150

提交評論