freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vc程序設(shè)計(編輯修改稿)

2024-11-29 16:48 本頁面
 

【文章內(nèi)容簡介】 ) 將字符數(shù)組中的所有字符都設(shè)為指定字符 C, 并以 \0結(jié)尾 toupper(字符 ) Ctype 返回字符串的長度 (不包括 \0) strcat(串 s1, 串 s2) 函數(shù)的用法 函數(shù)的用法 函數(shù)的用法 includeiostream const NameLen=20。 void order(char name[][NameLen],int n) //字符串排序 { char temp[NameLen]。 for(int i=0。in1。i++) //選擇排序 for(int j=i+1。jn。j++) if(strcmp(name[i],name[j])0) //比較兩個字符串的大小 { strcpy(temp,name[i])。 //字符串交換 strcpy(name[i],name[j])。 strcpy(name[j],temp)。 } } int find(char name[][NameLen],int n,char aname[NameLen]) { for(int i=0。in。i++) if(strcmp(name[i],aname)==0) //找到 , 返回位置 。 return i+1。 else if(strcmp(name[i],aname)0) //未找完 , 但找不到 , 返回 0 return 0。 return 0。 //找完 , 找不到 , 返回 } void main() { charNameTab[][NameLen]={GongJing,LiuNa,HuangPin,AnZijun, LianXiaolei,ChenHailing,CuiPeng,LiuPing}。 char aname[NameLen]。 int n=sizeof(NameTab)/NameLen。 order(NameTab,n)。 for(int i=0。in。i++) //輸出排序后的各姓名 couti+139。\t39。NameTab[i]endl。 coutInput a name:。 cinaname。 if(n=find(NameTab,n,aname)) coutPosition:nendl。 else coutNot found!endl。 } 運行結(jié)果 : 1 AnZijun 2 ChenHailing 3 CuiPeng 4 GongJing 5 HuangPin 6 LianXiaolei 7 LiuNa 8 LiuPing Input a name:LiuPing↙ Position:8 指針 指針提供了一種較為直觀的 地址 操作的手段,正確地使用指針,可以方便、靈活而有效地組織和表示復(fù)雜的數(shù)據(jù)。 指針在 C++程序中扮演著非常重要的角色,從某種程度上而言,如果不能 深刻的理解 指針的概念,正確而有效的掌握指針,就不可能真正學(xué)好 C++,但是指針也是我們最容易產(chǎn)生困惑并導(dǎo)致程序出錯的原因之一。 1. 地址與指針 地址: 當(dāng)定義一個變量后,內(nèi)存中將會劃出一塊由若干個存儲單元組成的區(qū)域,用于保存該變量的數(shù)據(jù)。在 內(nèi)存里每個存儲單元都有各自的編號 ,稱為地址。 指針: 在 C++中,提供了指針類型,它是一種 用于存放內(nèi)存單元地址的變量類型 ,地址就存儲在這種指針類型的變量中。正因為 指針變量存儲的是地址 ,用它來指明內(nèi)存單元,所以形象地稱這種地址變量為指針(變量)。 2. 指針變量的定義 ? 數(shù)據(jù)類型是指針變量所指向?qū)ο蟮臄?shù)據(jù)類型,它可以是基本數(shù)據(jù)類型,也可以是構(gòu)造數(shù)據(jù)類型以及 void 類型。 ? 變量名是用戶自定義的標(biāo)識符。 ? *表示聲明的變量是一個指針變量,而不是普通變量。 如: int *ip。 //定義了一個 int型的指針變量 ip float *fp。 //定義了一個 float型指針變量 fp typedef int A[10]。 A *ap。 // 定義了一個 A類型的指針變量 ap sizeof(ip)=sizeof(fp)=sizeof(ap)=4。 數(shù)據(jù)類型 * 變量名; 3. 指針的初始化與賦值 指針定義 , 只是得到了一個用于存儲地址的指針變量 。 若指針變量既沒有初始化 , 也沒有賦值 , 其地址值是一個隨機的數(shù) 。 ( 1) 不要將非地址常量、變量以及無意義的實際地址賦給指針變量。如: int *p=100。 //錯誤, 100是一個 int型常量,不是一個地址常量。 int *p=(char *)100。 //100是無意義地址 , 可能指向危險區(qū)域 。 ( 2) 可以使用一個已初始化的指針去給另一個指針賦值 , 但類型必須一致;若不一致 , 可進行強制類型轉(zhuǎn)換 。 如: char *p=NULL。 int *ip=(int *)p+100。 //將 char型指針強制轉(zhuǎn)化成 int型指針 。 數(shù)據(jù)類型 *指針變量名 =初始地址表達式; ( 3) 對于基本數(shù)據(jù)類型的變量 、 數(shù)組元素我們可以使用取地址運算符 amp。來獲得它們的地址 , 但是也只有類型一致才能賦值 。 如: int a[10]; //定義 int型數(shù)組 int *i_pointer=a; //定義并初始化 int型指針 ( 4) void類型指針 , 可以存儲任何的類型地址;但將一個 void類型的地址賦值 給非 void類型的指針變量 , 要使用類型強制轉(zhuǎn)換 。 如: void v。 //錯誤 , 不能定義 void類型的變量 void *vp。 //定義 void類型的指針 4.指針運算 因指針變量存放的是 地址 , 所以 指針的運算實際上就是地址的運算 。 指針通常進行下列幾種運算:賦值運算 、 取值運算 、算術(shù)運算 、 相減運算 、 比較運算 。 ( 1) * 和 amp。運算 *稱為 指針運算符 。出現(xiàn)在數(shù)據(jù)定義語句中時, * 在數(shù)據(jù)類型與變量之間,是一個 二元運算符 ,用來定義指針變量;出現(xiàn)指針變量表達式 左邊 時,是一個一元運算符,表示訪問指針?biāo)笇ο蟮膬?nèi)容 。 如: int a[4]={1,2,3}。 int *ip=amp。a[2]。 cout*ip。 // 輸出 ip指向單元的內(nèi)容 *ip=100。 // 將 100賦給 a[2]。 00 13 A 00 0 a [0] = 1 00 13 A 00 4 a [1] = 2 * i p 00 13 A 00 8 a [2] = 3 00 13 A 00 C a [3] = 0 … i p 00 13 A 01 4 i p= 00 13 A 00 8 ( 2) 指針與整數(shù)的加減運算 指針加上或減去一個整數(shù) n,表示指針從當(dāng)前位置向后或向前移動 n個 sizeof(數(shù)據(jù)類型) 長度的存儲單元。因此對于不同的數(shù)據(jù)類型, n的實際大小就不同。 如: int b[2][3][4]。 typedef char A[10]。 int *p1=b[1][0]。 int *p2=(int *)b[1]。 int *p3=(int *)(b+1)。 double *pd=(double *)p3。 A *pa=(A *)p3。 coutp1,p2,p3,pd,paendl。 coutp1+1,p2+1,p3+1,pd+1,pa+1endl。 運行結(jié)果 : 0013FF80, 0013FF80, 0013FF80, 0013FF80, 0013FF80 0013FF84, 0013FF84, 0013FF84, 0013FF88, 0013FF8A ( 3) 指針自增 、 自減運算 指針的自增、自減運算是指針加減運算的特例。指針的自增或自減表示指針從當(dāng)前位置向后或向前移動 sizeof(數(shù)據(jù)類型)長度的存儲單元。 例如:程序段: int *p, *q, a=5。 p=amp。a。 p++。 //指針 p后移 4個字節(jié) *p++。 //先讀取 p指向的變量 a的值 5, 然后使指針 p后移 4個字節(jié) (*p)++。 //讀取 p指向的變量 a的值 , 然后使 p指向的變量 a自增 1 *++p。 //先使指針 p后移 4個字節(jié) , 然后讀取 p指向的變量的值 ++*p。 //將 p指向的變量 a自增 1 *q++=*p++。 //這是一種常用的表達式 , 依次執(zhí)行 :*q=*p, q++, p++ ( 4) 兩指針相減 當(dāng)兩個指針 指向同一數(shù)組時 , 兩個指針的相減 才有意義 。 兩個指針相減的結(jié)果為一整數(shù) , 表示兩個指針之間數(shù)組元素的個數(shù) 。 指針 ( 5) 兩個指針的比較運算 兩個指針的比較一般用于下列兩種情況:一是比較兩個指針?biāo)赶虻膶ο笤趦?nèi)存中的 位置關(guān)系 ;二是判斷指針是否為 空指針 。 5. void類型指針 指向 void類型的指針是一種 不確定類型 的指針 , 它 可以指向任何類型的變量 。 實際使用 void型指針時 , 只有通過 強制類型轉(zhuǎn)換 才能使 void型指針得到具體變量的值 。在 沒有轉(zhuǎn)換前 void型指針 不能 進行指針的算術(shù)運算 。 例如: void *vp。 //定義了一個 void型指針 vp int i=6, *ip。 vp=amp。i。 // vp指向整型變量 i cout“i=”*vpendl。 // 錯誤 couti=*(int *)pendl。 ip=(int *)vp。 //ip指向 vp指向的變量 i couti=*ipendl。 指針與字符串 字符型指針: 用于存放字符型變量的地址 , 而 字符串的本質(zhì)是以 \0結(jié)尾的字符數(shù)組 , 一個字符型指針存儲了字符數(shù)組的第一個元素的地址 , 也就存儲了字符串的地址 , 這個指針就指向了字符串 。 在定義一個字符數(shù)組時 , 可以將一個字符串常量作為初值 , 但將字符串常量作為初值賦給字符數(shù)組和將字符串常量作為 初值 賦給字符指針變量 , 二者的含義是不同的 。 例如: char str[5]=abcd。 char *p_str=abcd。 在上述字符串定義有下列不同: (1) 字符數(shù)組 str[5]被賦值為 “ abcd”, 因此 , 數(shù)組 str的五個數(shù)組元素的值分別為 字符 ‘ a’、 ‘ b’、 ‘ c’、 ‘ d’和 ‘ \0’。 字符指針 p_str被賦值為 “ abcd”, 則意味著 指針 p_str的值 為字符串常量 abcd的 第一個字符 39。a39。在內(nèi)存中的地址 。 (2) 字符指針 p_str比 str多分配了一個存儲地址的空間 , 用于存儲字符串的首地 址 。 指針與數(shù)組 1 使用指針操作符 *存
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1