




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C+指針函數(shù)習(xí)題一、選擇題1以下程序的運(yùn)行結(jié)果是( )。sub(int x, int y, int *z) *z=y-x; void main()int a,b;sub(10,5,&a);sub(7,a,&b);cout<<a<<”,”<<b;A) 5, 2 B) -5,-2 C) -5,-12 D) 5, -22. 函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則()。A)稱為函數(shù)的直接遞歸調(diào)用 B)稱為函數(shù)的間接遞歸調(diào)用C)稱為函數(shù)的循環(huán)調(diào)用 D)C語言中不允許這樣的遞歸調(diào)用3變量的指針,其含義是
2、指該變量的( )。A)地址 B) 值 C)名 D)一個(gè)標(biāo)志4.已有定義 int k=2; int * ptr1,* ptr2; 且ptr1和ptr2均已指向變量k,下面不能正確執(zhí)行的賦值語句是( )。A)k=*ptr1 + *ptr2; B)ptr2=k; C)ptr1=ptr2; D)k=*ptr1*(*ptr2);5.(去掉)若有說明語句:double *p,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是 A)*p=&a; scanf(“%lf”,p); B)*p=&a; scanf(“%f”,p); C) p=&a; scanf(“%lf”,*p); D
3、)p=&a; scanf(“%lf”,p); 6.若有語句int *point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是( )。A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point,point7.設(shè)char *s="ta103bc"則指針變量s指向的字符串所占的字節(jié)數(shù)是( )。A)9 B)5 C)6 D)78.下面程序段的運(yùn)行結(jié)果是( )。char *s="abcde" s+=2; cout<
4、<s;A)cde B)字符'c' C)字符'c'的地址 D)無確定的輸出結(jié)果9.設(shè)有下面的程序段:則下列敘述正確的是( )。char s="china" char * p; p=s;A)s和p完全相同 B)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等C) *p與s0相等 D) s數(shù)組長度和p所指向的字符串長度相等10.若有定義 int a5, * p=a; 則對a數(shù)組元素的正確引用是( )。A)*&a5 B)a+2 C)*(p+5) D)*(a+2)11.若已定義char s10; 則在下面表達(dá)式中不表示s1的地址的是( )。A)s+
5、1 B)s+ C)&s0+1 D)&s112.下面程序的運(yùn)行結(jié)果是( )。#include<iostream.h>#include<string.h>int main()char * s1="AbDeG"char * s2="Abdeg"s1+=2; s2+=2;cout<<strcmp(s1,s2);A)負(fù)數(shù) B) 正數(shù) C)零 D)不確定的值13.若有定義: int *p4; 則標(biāo)識符p( )。A)是一個(gè)指向整型變量的指針 B)是一個(gè)指針數(shù)組名C)是一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組 D
6、)說明不合法14.若有int a10 , *p=a; 則p+5表示( )。A)元素a5的地址 B)元素a5的值 C)元素a6的地址 D)元素a6的值15.設(shè)有以下定義:則正確的敘述是()。char *cc2="1234","5678"A)cc數(shù)組的兩個(gè)元素中各自存放了字符串"1234"和"5678"的首地址B)cc數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址C)cc是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組D)cc數(shù)組元素的值分別是"1234"和"5678&qu
7、ot;16.若有以下定義,則能夠正確表示數(shù)組元素x12的表達(dá)式是( )。int x43=1,2,3,4,5,6,7,8,9,10,11,12; int *p=&x00;A)p12 B)(*p+1)+2 C)p+5 D)p517.語句int (*ptr)( );的含義是( )。A)ptr是指向一維數(shù)組的指針變量B)ptr是指向int型數(shù)據(jù)的指針變量C)ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)D)ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針18已有函數(shù)max(a,b),為了讓函數(shù)指針變量p指向函數(shù)max,正確的賦值方法是( )。A)p=max; B)*p=max;
8、C)p=max(a,b); D)*p=max(a,b);19.下面程序段的運(yùn)行結(jié)果是( )。char a="language", * p ; p=a;while(*p!='u') cout<<( *p-32 ); p+; A)LANGUAGE B)language C)LANG D)language20.關(guān)于語句 int *ptr( ); 以下說法正確的是( )。A)ptr是一個(gè)指針變量 B) *ptr是一個(gè)函數(shù)名C)這個(gè)語句是定義函數(shù)的語句 D) ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針21. 以下敘述中正確的是 ()。A)局
9、部變量說明為static存儲(chǔ)類,其生存期將得到延長B)全局變量說明為static存儲(chǔ)類,其作用域?qū)⒈粩U(kuò)大C)任何存儲(chǔ)類的變量在未賦初值時(shí),其值都是不確定的D)形參可以使用的存儲(chǔ)類說明符與局部變量完全相同22. 有以下程序,程序運(yùn)行后的輸出結(jié)果是()。 A)64, 28 B)4, 4 C)4, 3 D)64, 64#include<iostream.h> # define f(x) (x*x)int main( ) int i1, i2; i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; cout<<i1<”,”<<i2; 23.在調(diào)用
10、函數(shù)時(shí),如果實(shí)參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。A) 地址傳遞 B) 單向值傳遞C) 由實(shí)參傳給形參,再由形參傳回實(shí)參 D) 傳遞方式由用戶指定24.有以下程序 ,#include<iostream.h>int fun(int n) if(n=1) return 1; else return (n+fun(n-1); int main( ) int x; cin>>x; x=fun(x); cout<<x; 程序執(zhí)行時(shí),給變量x輸入10,程序的輸出結(jié)果是 ( )A)55 B) 54 C) 65 D) 4525. 已有定義:char a=&q
11、uot;xyz", b='x','y','z',以下敘述中正確的是 ()。A)數(shù)組a和b的長度相同 B)a數(shù)組長度小于b數(shù)組長度C)a數(shù)組長度大于b數(shù)組長度 D)上述說法都不對26. 以下程序的輸出結(jié)果是()。#include<iostream.h> #include<string.h>main() char st20= “hello0t”; cout<<strlen(st)<<”,”<<sizeof(st); A) 9 9 B) 5 20 C) 13 20 D) 20 202
12、7.當(dāng)說明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是( )。A)各成員所需內(nèi)存量的總和 B)結(jié)構(gòu)中第一個(gè)成員所需內(nèi)存量C)成員中占內(nèi)存量最大者所需內(nèi)存 D)結(jié)構(gòu)中最后一個(gè)成員所需內(nèi)存量28.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間( )。A)所有成員一直駐留在內(nèi)存中 B)只有一個(gè)成員駐留在內(nèi)存中C)部分成員駐留在內(nèi)存中 D)沒有成員駐留在內(nèi)存中29.以下程序的結(jié)果是( )。#include<iostream.h>struct WWW int X; int Y; ;void main( ) struct WWW A3=7,8,9,10,12,13; int a; a=A1.X+A2.Y; cou
13、t<<a; A) 17 B) 22 C) 16 D) 2130.以下程序的輸出結(jié)果是( )。 struc STU char name10; int num; void f1(struct STU c) struct STU b=“LiSiGuo”,2042; c=b;
14、; void f2(struct STU *c) struct STU b=“SunDan”,2044; *c=b; main( ) struct STU a=“YangSan”,2
15、041, b=“WangYin”,2043; f1(a); f2(&b); cout<<a.num<<” ,”<< b.num ; 執(zhí)行后的輸出結(jié)果是 A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043二、填空題1
16、.若想輸出b數(shù)組的十個(gè)元素,下面存在錯(cuò)誤的程序行是 。(每個(gè)程序行前面的數(shù)字代表行號)1 int main()2 int b10=1,3,5,7,9,2,4,6,8,10,k;3 for(k=0;k<10;k+,b+)4 cout<<*b;5 2.若有定義語句 int x10 , *p=x ; 在程序中引用數(shù)據(jù)元素xi的四種形是: , , 和xi(假設(shè)i已正確說明并賦值)。 3. C+語言中,數(shù)組名是一個(gè)不可改變的 ,不能對它進(jìn)行賦值運(yùn)算;數(shù)組在內(nèi)存中占用一段連續(xù)的存儲(chǔ)空間,它的首地址由 表示。4.在C+語言中,形參的缺省存儲(chǔ)類是 。三、讀程序?qū)懡Y(jié)果。1. #include&
17、lt;iostream.h> int i = 1; test() int i; cout<<i; i = 2; return(i); int main() cout<<i; i = test(); cout<<i/3; 2.下面程序的運(yùn)行結(jié)果是 。#include<iostream.h> int main() int x=0,1,2,3,4,5,6,7,8,9;int s,i,*p;s=0;p=&x0;for(i=1;i<10;i+=2) s+=*(p+i);cout<<“sum= ”<<s;retur
18、n 0;3.下面程序的運(yùn)行結(jié)果是 。#include<iostream.h> int main( ) int x4=1,3,5,7;int *p;p=x;Cout<<(+*p);return 0;四、程序填空。1.以下程序?qū)?shù)組a中的數(shù)據(jù)進(jìn)行降序排序,請?zhí)羁铡?define N 10int main() int aN,i,j,k=N;cout<<“Enter “<<k<<” data that will be sortedn”;for(i=0;i<N;i+) cin>>*(a+i);for(k=0; ;k+)for(
19、i=0;i<N-k;i+)if(*(a+i)<*(a+i+1)j=*(a+i); *(a+i)=*( );*( )=j; for(i=0;i<N;i+) cout<<*(a+i);return 0;2.下面程序的功能是將兩個(gè)字符串s1和s2連接起來,請?zhí)羁铡?include<iostream.h> int main() char s180,s280;gets(s1); gets(s2);conj(s1,s2);puts(s1);return 0;void conj(char *p1, char *p2) /此函數(shù)實(shí)現(xiàn)把字符串p2連接在p1的后面。whi
20、le( (*p1) != 0) ; while( (*p2) != 0 )*p1= ; p1+; p2+; 3.下面程序的功能是比較2個(gè)字符串的大小,請?zhí)羁铡?include<iostream.h> int main() char s180, s280;gets(s1); gets(s2);Cout<<“Result is: ”<<comp(s1,s2) ;return 0;/以下函數(shù)實(shí)現(xiàn)比較2個(gè)字符串的大小,若p1比p2大,返回?cái)?shù)值1,否則返回?cái)?shù)值-1,int comp(char *p1, char *p2) while( (*p1 !='0
21、9;)&&(*p2 !='0') )if(*p1 != *p2 ) ;p1+; ;if( ) return 1;else return -1;五、編程題。1.編寫程序,把一個(gè)從鍵盤輸入字符串間隔的輸出,請用指針完成。例如:輸入字符串:hello,輸出:hlo2.編寫程序,把一個(gè)字符串中的第m個(gè)字符開始的全部字符復(fù)制生成另一個(gè)字符串。要求從鍵盤輸入字符串及m的值并輸出生成的字符串。3.請編寫一個(gè)函數(shù),它的功能是:對一個(gè)數(shù)組進(jìn)行從小到大的排序。函數(shù)首部為void sort(int a,int n) ,其中a為數(shù)組名,n為數(shù)組元素的個(gè)數(shù)。主函數(shù)如下,請把子函數(shù)補(bǔ)充完整
22、。#include<iostream.h> #define N 10int main()int numN,i=0;for(i=0;i<N;i+) cin>>numi; /輸入數(shù)據(jù)sort( num, N); /調(diào)用子函數(shù),對數(shù)組的元素進(jìn)行排序。printf("n排序之后:");for(i=0;i<N;i+) cout<<numi<<” ”; /輸出數(shù)據(jù)return 0;/以下為子函數(shù)部分。一 選擇題12345678910CBABDDCCCD11121314151617181920BABAADCACD21222324
23、252627282930ACBACBAABA二 填空題第1題3第2題*(x+i)*(p+i)pi第3題地址常量數(shù)組名第4題auto三 讀程序?qū)懡Y(jié)果。1.1,隨機(jī)數(shù),0,2.Sum=253.2四 程序填空。1.k<N-1a+i+1a+i+12P1+*p2*p1='0'3.breakp2+ *p1>*p2五 編程題第一題:思路#define N 100int main()char strN;void fun(char *s); /子函數(shù)說明gets(str); /讀入字符串fun(str);/函數(shù)調(diào)用return 0;/*以下為子函數(shù),請補(bǔ)充完整 把參數(shù)字符串間隔輸出要求使用指針,在這里,參數(shù)是指針,滿足要求在子函數(shù)中,使用一個(gè)while循環(huán),使得指針每次遞增2,輸出它所指向的字符即可。也就是說,子函數(shù)只需要一個(gè)while語句。*/void fun(char *s)。第二題:思路#define N 100int main()char str1N,str2N;int m;void fun(c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自卸汽車運(yùn)碎石土施工方案
- 2025年金屬復(fù)合材項(xiàng)目發(fā)展計(jì)劃
- 黑龍江水下封堵施工方案
- 水泥屋頂光伏施工方案
- 河北立體綠化施工方案
- 數(shù)控加工工藝與編程技術(shù)基礎(chǔ) 教案 模塊三 項(xiàng)目三 自動(dòng)編程(1-2)
- 2025年山東省聊城市高三下學(xué)期一模生物試題(原卷版+解析版)
- 智研咨詢發(fā)布:2025年中國制氫催化電極行業(yè)市場全景調(diào)查及投資前景預(yù)測報(bào)告
- 【市占率證明權(quán)威指南】制藥裝備行業(yè)市占率全解(智研咨詢發(fā)布)
- 低碳技術(shù)的研發(fā)與應(yīng)用策略
- 機(jī)電控制與可編程序控制器課程設(shè)計(jì)報(bào)告
- 簡版?zhèn)€人征信報(bào)告模板
- 森林防火主題教育班會(huì)PPT
- 船舶安檢缺陷處理建議表籍國內(nèi)航行海船
- 輻照交聯(lián)電線電纜型號說明
- 公路工程決算編制辦法(交公路發(fā)2004-507號)附表
- 礦山機(jī)械無人駕駛項(xiàng)目可行性研究報(bào)告模板
- 預(yù)充氣競技步槍 標(biāo)準(zhǔn)A4靶紙
- 避免同業(yè)競爭承諾函
- 產(chǎn)品批量質(zhì)量事故追責(zé)管理規(guī)范
- VSC中壓真空接觸器無法分閘的原因分析及其對策
評論
0/150
提交評論