C++語言程序設(shè)計第十四講_第1頁
C++語言程序設(shè)計第十四講_第2頁
C++語言程序設(shè)計第十四講_第3頁
C++語言程序設(shè)計第十四講_第4頁
C++語言程序設(shè)計第十四講_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2111000地址地址210210211211212212 999 9991000100010011001去去 211 房間,房間, 那里有線索那里有線索地址地址1000整數(shù)整數(shù)66指針變量指針變量指向指向int a;float b; char;ab2000200220042006c2008 0000000200010003如如:int *i_p, *j_p;float *t; int i=0,; i &ivoid main( ) 0 i_p=&i; int i=0,; i &ivoid main( ) 0 i_p=&i; *i_p=3;i=3;例例1: 以下程

2、序段的輸出結(jié)果是以下程序段的輸出結(jié)果是 .int *var, ab; ab=100;var=&ab;ab=*var+10;cout*varendl;varab100&ab110例例2: 寫出程序的運(yùn)行結(jié)果寫出程序的運(yùn)行結(jié)果 int k=2, m=4, n=6; int *pk=&k,*pm=&m,*p; *p=*pk*(*pm); coutnendl; k2m4n6pk&kpm&mp&n8 *pk*(*pm) *p=8k*m p=&n;n=8#include void main() int i=100, j=200; int *p

3、1, *p2; p1=&i; p2=&j; *p1=*p1+1; p1=p2; *p1=*p1+1; couti ab; maxp= e cout*minp *maxp; =ab?&a:&b; #include a0a1a2a3a4pa&a0pa+1pa+4int: 4float: 4char: 1&a1&a4a0a1a2a3a4aa+1a+4a0a1a2a3a4p&a0p+1p+4#include void main() char a =Stu-Dent, *pa; for(pa=a; *pa!=0; pa+) if(*pa=A

4、&*pa=a&*pa=z) *pa=*pa-32; puts(a);例例5:寫結(jié)果。:寫結(jié)果。 a0a1a2a3a4Stu-Dpa&a0ent0a5a6a7a8s&a1T&a2U&a3&a4d&a5E&a6N&a7T&a8#include void main() int a =1,2,3,4,5,6,7,8,9,10; int *p; p=a; printf(%dn, *p+9);#include void main() int a =3, 2, 5, 6, 7, 4; int *p=a; p+; prin

5、tf(%dn, *(p+3);例例6:寫結(jié)果:寫結(jié)果 例例7:寫結(jié)果。:寫結(jié)果。 #include void main() char b4=ABC, *s; s=b; do cout*s%10;s+; while(*s!=0);b0b1b2b3ABC0s&b0&b1&b2&b3例例8:寫結(jié)果。:寫結(jié)果。 #include void main() char b4=ABC, *s; s=b; do puts(s);s+; while(*s!=0);b0b1b2b3ABC0s&b0&b1&b2&b3例例9:輸入:輸入1 2 3 4 5

6、6 7 8,寫出以下程序的運(yùn)行結(jié)果。,寫出以下程序的運(yùn)行結(jié)果。#include void main( ) int aM, i, j, t, *p=a;for(i=0; iM; i+)scanf(%d, a+i);i=0; j=M-1; while (ij) t=pi;pi=j;pj=t;i+; j-; for(i=0; iM; i+, p+)printf(%3d, *p); a0a1a2a3a4a5a6a712345678i817263541#define M 8p&a0p0p1p2p3p4p5p6p7&a1&a2&a3&a4&a5&a6

7、&a7 在編譯源程序之前,由預(yù)處理器執(zhí)行的指令。目的在編譯源程序之前,由預(yù)處理器執(zhí)行的指令。目的是對源程序進(jìn)行一些加工處理。是對源程序進(jìn)行一些加工處理。 預(yù)處理指令以預(yù)處理指令以“#”開頭,每條指令占一行。開頭,每條指令占一行。末尾末尾不加分號。不加分號。 三種類型:三種類型:Acpp1.cppBstdio.hBA#include 文件名文件名#include #define 標(biāo)識符標(biāo)識符 文本信息文本信息 #define 宏名宏名(參數(shù)表參數(shù)表) 文本信息文本信息3.14159263a2b例例1 以下程序中以下程序中for循環(huán)循環(huán)的次數(shù)是多少?程序的運(yùn)行結(jié)果是循環(huán)循環(huán)的次數(shù)是多少?程

8、序的運(yùn)行結(jié)果是什么?什么? #define N 2#define M N+1 #define NUM (M+1)*M/2void main( ) int i; for(i=1; i=NUM; i+); printf(%dn, i); 宏展開宏展開(1)(M+1)*M/2(2)(N+1+1)*N+1/2(3)(2+1+1)*2+1/2=8答:答: 執(zhí)行執(zhí)行8次次結(jié)果:結(jié)果:9N+1 M2 N#include NUM(M+1)*M/2 NUM例例2 寫結(jié)果。寫結(jié)果。 F(m+n)(1)P*m+n*m+n(2)4*m+n*m+n 20m+n x4 P#include #define P 4#defi

9、ne F(x) P*x*xvoid main() int m=2, n=4; coutF(m+n)endl;=20例例3 寫結(jié)果。寫結(jié)果。 F(m+n)(1)P*(m+n)*(m+n)(2)4*(m+n)*(m+n) 36m+n x4 P#include #define P 4#define F(x) P*(x)*(x)void main() int m=2, n=4; cout4/F(m+n)endl;4/4*(m+n)*(m+n)宏展開宏展開例例4 寫結(jié)果。寫結(jié)果。 F(m+n)(1)(P*(m+n)*(m+n)(2)(4*(m+n)*(m+n) 0m+n x4 P#include #de

10、fine P 4#define F(x) (P*(x)*(x)void main() int m=2, n=4; cout4/F(m+n)endl;4/(4*(m+n)*(m+n) 例例5 寫結(jié)果。寫結(jié)果。 f(a-1) a-1*a-1*a-1 f(a-1)-4 8a-1 x (a-1) x#include #define f(x) x*x*xvoid main() int a=3,s,t; s=f(a-1); t=f(a-1); couts tendl;(a-1)*(a-1)*(a-1)1、編寫程序,計算兩個矩陣(均為、編寫程序,計算兩個矩陣(均為2行行2列)之積。輸入分列)之積。輸入分2*

11、2行:前兩行為第一個矩陣,后兩行為第二個矩陣。行:前兩行為第一個矩陣,后兩行為第二個矩陣。 樣例輸入:樣例輸入: 1 2 4 5 3 5 1 7 2、編寫程序,輸出矩陣(、編寫程序,輸出矩陣(3行行3列)的左上三角。列)的左上三角。樣例輸入:樣例輸入: 1 2 3 4 5 6 7 8 9 樣例輸出:樣例輸出: 5 19 17 55 樣例輸出:樣例輸出: 1 2 3 4 5 7 3、編寫程序,輸出、編寫程序,輸出n層正方形圖案。正方形圖案最外層是第一層正方形圖案。正方形圖案最外層是第一層,每層用的數(shù)字和層數(shù)相同。層,每層用的數(shù)字和層數(shù)相同。樣例輸入:樣例輸入:3 4、編寫程序,計算二維數(shù)組中各行

12、之和、各列之和以及所有、編寫程序,計算二維數(shù)組中各行之和、各列之和以及所有元素之和。元素之和。樣例輸入:樣例輸入: 2 3 1 2 3 4 5 6 樣例輸出:樣例輸出: 1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1 1 樣例輸出:樣例輸出: 6 15 5 7 9 21 5、編寫程序,找出、編寫程序,找出m行行n列的二維數(shù)組中每行元素的最大值以列的二維數(shù)組中每行元素的最大值以及每列元素的最小值。輸入分及每列元素的最小值。輸入分m+1行:第一行為行:第一行為m和和n的值,的值,以下以下m行代表二維數(shù)組,其中每一行包括行代表二維數(shù)組,其中每一行包括n個數(shù)。輸

13、出分兩行:個數(shù)。輸出分兩行:第一行為每行元素的最大值,第二行為每列元素的最小值。第一行為每行元素的最大值,第二行為每列元素的最小值。樣例輸入:樣例輸入: 3 31 2 -1-3 4 27 9 8樣例輸出:樣例輸出: 2 4 9-3 2 -1 第第1題:題:編寫程序,輸入一十六進(jìn)制的數(shù),如果輸入的不是十六進(jìn)制,則編寫程序,輸入一十六進(jìn)制的數(shù),如果輸入的不是十六進(jìn)制,則輸出輸出NO,否則輸出對應(yīng)的十進(jìn)制值。,否則輸出對應(yīng)的十進(jìn)制值。 樣例輸入:樣例輸入:1A2b 樣例輸出:樣例輸出:6699 樣例輸入:樣例輸入:15G9 樣例輸出:樣例輸出:NO第第2題:題:編寫程序,輸入字符串(包含多個編寫程序

14、,輸入字符串(包含多個*),刪除所有前導(dǎo)和尾部),刪除所有前導(dǎo)和尾部的的*。 樣例輸入:樣例輸入:*A*BC*DEF*G*樣例輸出:樣例輸出:A*BC*DEF*G第第3題:題:編寫程序,輸入兩個字符串(不包含空格),將兩個字符串中均編寫程序,輸入兩個字符串(不包含空格),將兩個字符串中均出現(xiàn)的字符構(gòu)成一個新字符串(字符以第一個字符串為準(zhǔn))并輸出現(xiàn)的字符構(gòu)成一個新字符串(字符以第一個字符串為準(zhǔn))并輸出。出。 樣例輸入:樣例輸入:ABBCDE DBFG樣例輸出:樣例輸出:BBD 第第4題:題:編寫程序,輸入字符串(包含空格),統(tǒng)計其中單詞的個數(shù),單編寫程序,輸入字符串(包含空格),統(tǒng)計其中單詞的個

15、數(shù),單詞之間以一個或多個空格分隔。詞之間以一個或多個空格分隔。 樣例輸入:樣例輸入:How are you樣例輸出:樣例輸出:3第第5題:題:編寫程序,輸入字符串(不包含空格)和子串,統(tǒng)計該字符串中編寫程序,輸入字符串(不包含空格)和子串,統(tǒng)計該字符串中指定子串的個數(shù)。指定子串的個數(shù)。 樣例輸入:樣例輸入:abababab bab 樣例輸出:樣例輸出:3第第6題:題:在情報傳遞過程中,為了防止情報被截獲,往往需要對情報用一在情報傳遞過程中,為了防止情報被截獲,往往需要對情報用一定的方式加密,簡單的加密算法雖然不足以完全避免情報被破譯,定的方式加密,簡單的加密算法雖然不足以完全避免情報被破譯,但仍然能防止情報被輕易地識別。一種簡單的加密方法:對給定但仍然能防止情報被輕易地識

溫馨提示

  • 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

提交評論