版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程的主要內(nèi)容(5)程序設(shè)計(jì)基本概念計(jì)算機(jī)的工作模型(依曼體系結(jié)構(gòu)、硬件與)程序設(shè)計(jì)泛型(過(guò)程式、對(duì)象式、)程序設(shè)計(jì)步驟程序設(shè)計(jì)語(yǔ)言C與C+的常見(jiàn)不同之處09:43南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系1#include <stdio.h> #include <math.h> int main(void)int sum=0, i;printf("This is a C programm.n");for(i=0; i<10; i+)sum = sum + i;#include #include<iostream><cmath>usin
2、g namespace std;int main( )printf("sum=%dn", sqrt(sum cout << "This is a C+ programm. " << endl; int sum=0;for(int i=0; i<10; i+)return 0;sum = sum + i;cout << "sum=" << sqrt(sum) << endl; return 0;C與C+的常見(jiàn)不同之處1、對(duì)面向?qū)ο蟮闹С諧:很難支持 結(jié)構(gòu)、聯(lián)合C+:比較好
3、地支持 類(lèi)庫(kù)2、I/O方式C: 庫(kù)函數(shù)C+: 庫(kù)函數(shù) 基于類(lèi)庫(kù)的臺(tái)I/O,eg. cout、cin等對(duì)象, endl等操縱符常用輸入輸出庫(kù)函數(shù)printf( )、scanf( ) putchar( )、getchar( ) puts( )、gets( )C:# include "stdio.h" 或 # include <stdio.h>C+:# include "cstdio" 或 # include <cstdio>ppC+把C的stdio.h中的內(nèi)容加入cstdio的std名空間中(C+把C的*.h中的內(nèi)容都加入c*的std
4、名空間中)putchar(c);(向終端輸出一個(gè)字符) 如:char a = 'k'putchar(a); 或putchar('k');getchar( );(從終端輸入一個(gè)字符,接受空格、回車(chē)鍵) 如:char c;c = getchar( );puts(char *s);(向標(biāo)準(zhǔn)輸出文件輸出一個(gè)字符串) 如:char *str = "nanjing"puts(str);gets(char *s);(從標(biāo)準(zhǔn)輸入文件以回車(chē)鍵作為輸入的結(jié)束)如:char str100;gets(str);一個(gè)字符串,接受空格,getchar( )的應(yīng)用在Dev
5、 C+、Turbo c等環(huán)境中,正常情況下,輯、編譯完、,屏幕都是停留在編輯窗口,而運(yùn)行結(jié)果是顯示在用戶窗口的,為了看到運(yùn)行后的顯示結(jié)果,要程序員切換到用戶窗口。如果在程序的最后加一句getchar( );則程序執(zhí)行到這里時(shí),會(huì)停留在用戶窗口,等待用戶輸入一字符,這時(shí)就可以順便看到前面程序執(zhí)行的顯示結(jié)果,輸入一個(gè)鍵后,程序。畢,屏幕又停留在編輯窗口getchar( )的應(yīng)用有些場(chǎng)合需要把字符輸入作為一個(gè)子表getchar()更方便。,這時(shí)候用while ( (grade = getchar() != 'X') while ( (cin >> grade) !=
6、39;X') /?如:printf(參數(shù)1,參數(shù)2,參數(shù)n) 輸出結(jié)果:a=3 b=4向標(biāo)準(zhǔn)輸出文件輸出若干個(gè)任意類(lèi)型的數(shù)據(jù)參數(shù)1是一個(gè)字符串,字符串中可以是格式說(shuō)明字符, 也可以是要原樣輸出的字符,還可以是轉(zhuǎn)義字符;參數(shù)2參數(shù)n是輸出項(xiàng)格式說(shuō)明字符串:%正負(fù)號(hào)0輸出占位總長(zhǎng)度.小數(shù)部分或字符串輸出長(zhǎng)度l<形式字母>輸出項(xiàng)格式說(shuō)明普通字符printf("a=%d b=%d", a, b);形式字母形式字母輸出格式d10進(jìn)制整數(shù)x16進(jìn)制整數(shù)o8進(jìn)制整數(shù)u無(wú)符號(hào)10進(jìn)制整數(shù)c單字符s字符串e指數(shù)形式的浮點(diǎn)數(shù)f小數(shù)形式的浮點(diǎn)數(shù)ge和f中較短的一種符號(hào)“”本身
7、%printf(%d)原樣輸出printf("Today is sunny.");Today is sunny.%d(按十進(jìn)制整數(shù)的實(shí)際長(zhǎng)度輸出)int a=3, b=12345;printf("%d", a);3printf("a=%d, b=%d", a, b); a=3, b=12345%0md(按長(zhǎng)度m輸出整數(shù);不足m的printf("a=%03d, b=%3d", a, b);%-md(不足m的右補(bǔ)空格,其他同上) printf("a=%-3d, b=%3d", a, b);%ld(輸
8、出長(zhǎng)整型數(shù)) long c=135790;0,其他同上)a=003, b=12345a=3, b=12345printf("c=%ld", c);c=135790printf(%c、%s)%c(輸出字符)char ch = 'a' ;printf("%c", ch);%s(輸出字符串) printf("%s", "a");%ms(按長(zhǎng)度m輸出字符串;不足m的空格,其它同上)printf("%3s", " printf("%3s", "OK&
9、quot;);");OK%-m.ns(按長(zhǎng)度m輸出字符串;只取字符串左端n個(gè)字符; 不足m的右補(bǔ)空格,多于m或省略m的,自動(dòng)取m=n)printf("%-7.1s, %-1.2s, %-.1s", "C", ", CH, C", "");printf(%f)%f(以小數(shù)形式輸出實(shí)數(shù);輸出全部整數(shù),并輸出6位小數(shù);一般有7位是有效數(shù)字)float x=111111.111;printf("%f", x);111111.109375%m.nf(輸出全部整數(shù),并輸出n位小數(shù);不足m prin
10、tf("x=%10.2f", x); x= 111111.11空格)%e(以規(guī)范化指數(shù)形式輸出實(shí)數(shù);小數(shù)占6位,指數(shù)占5位,共13位)float z=123.456 ;printf("%e", z); 1.234560e+002scanf(參數(shù)1,參數(shù)2,參數(shù)n)從標(biāo)準(zhǔn)輸入文件輸入若干個(gè)任意類(lèi)型的數(shù)據(jù)參數(shù)1是一個(gè)字符串,字符串中可以是格式說(shuō)明字符, 也可以是要原樣輸入的字符;參數(shù)2參數(shù)n是地址表列,是&變量名、數(shù)組名或指針變量名格式說(shuō)明字符串:% 輸入數(shù)據(jù)的長(zhǎng)度lh*<形式字母>形式字母有d、o、x、c、s、f、e 帶*的輸入項(xiàng)不賦給
11、相應(yīng)的變量l用于輸入長(zhǎng)整型或雙精度型數(shù)據(jù),h用于輸入短整型數(shù)據(jù)輸入數(shù)據(jù)時(shí),以一個(gè)或多個(gè)空為間隔,也可以用回tab,不能用逗號(hào)分隔;對(duì)%c不需要分隔車(chē)鍵、跳符;遇到回車(chē)或字符則認(rèn)為該數(shù)據(jù)輸入結(jié)束scanf(%d)int a, b, c;scanf("%d%d%d", &a, &b, &c);34 5則a,b,c分別為3,4,5scanf("a=%d, b=%d, c=%d", &a, &b, &c); a=8, b=9, c=10則a,b,c分別為8,9,10scanf("%3d%3d",
12、 &a, &b); 123456則a,b分別為123,456scanf(%d、%c)scanf("%d%d", &a, &b); 1234O 45則a為1234,b為一無(wú)意義值scanf("%2d%*3d%2d", &a, &b);數(shù)據(jù)間輸入2個(gè)空格,一個(gè)匹配格式串中的空格,另一個(gè)分隔兩個(gè)數(shù)1234567則a,b分別為12,67char c1,c2,c3;scanf("%c%c%c", &c1, &c2, &c3); a b c則c1,c2,c3分別為a,bsca
13、nf(%s)不接收空格,以回車(chē)鍵作為輸入的結(jié)束char str81; scanf("%s", str);hello則str為"hello"scanf("%c%c", &a, &b);輸入的數(shù)據(jù)被當(dāng)成字符,如: 輸入2.5,則a為2,b為. 輸入2 3,則a為2,b為空格scanf("%d%d", &a, &b);需輸入數(shù)字,用空格、Tab或回車(chē)分隔,如: 輸入2.5 3,則a為2,b為? 輸入213o9,則a為213,b為?scanf("%d%c%d", &
14、;a, &b, &c);輸入兩個(gè)整數(shù)之間的分隔符被b接收 輸入3 4,則a、b、c為3、空格、4 輸入3(回車(chē))4,則a、b、c為3、回車(chē)、4 輸入q,則a、b、c為?其他常用庫(kù)函數(shù)sqrt(x): 求平方根sin(x): 返回以弧度表示的x的正弦值文本屏幕處理函數(shù)(conio清屏clrscr( )cos(x): 返回以弧度表示的x的余弦值pow(x,y): 返回xy的值exp(x): 返回ex的值log(x): 返回logex的值數(shù)學(xué)函數(shù)(math.h)對(duì)于三角函數(shù),應(yīng)注意log10(x): 返回log10x的值fabs(x): 返回x的絕對(duì)值isalpha(ch): 檢查c
15、h是否字母isdigit(ch): 檢查ch是否數(shù)字(09) islower(ch): 檢查ch是否小寫(xiě)字母isupper(ch): 檢查ch是否大寫(xiě)字母字符函數(shù)(ctype.h)字符串函數(shù)(string.h)動(dòng)態(tài)分配函數(shù)(stdlib.h/malloc.h)C與C+的常見(jiàn)不同之處3、變量定義的位置不同:C: C89:在復(fù)合語(yǔ)句的開(kāi)頭定義好本復(fù)合語(yǔ)句需要用到的變量;(一些編譯器只支持在函數(shù)的開(kāi)頭定義變量) C99:可以在函數(shù)的任意位置,隨用隨定義;C+: 可以在函數(shù)的任意位置,隨用隨定義;#include <iostream> using namespace std;int mai
16、n( )cout << "a simple calculation: " << endl; int m, n;cin >> m >> n;cout << m << "+" << n << " = " << m+n << endl; cout << m << "*" << n << " = " << m*n <&l
17、t; endl; return 0;#include <stdio.h>int main(void)int m, n;printf("a simple calculation: n"); scanf("%d%d", &m, &n); printf("%d+%d = %d n", m, n, m+n); printf("%d*%d = %d n", m, n, m*n); return 0;4、for語(yǔ)句的循環(huán)變量int sum=0;for(int i=1; i<=100; i+ )
18、/VC6可以隨處定義sum = sum+i;printf(“sum=%d, i=%d”, sum, i); / VC6可以i(例外)int i, sum=0;/C89 for( i=1; i<=100; i+ )sum = sum+i; printf("sum=%d, i=%d", sum, i);int sum=0;for(int i=1; i<=100; i+ )/C99, C+可以隨處定義sum = sum+i;printf("sum=%d, i=%d", sum, i); / 但是此處不能iC與C+的常見(jiàn)不同之處5、const關(guān)鍵字C
19、: C89沒(méi)有 C99有C+: 有C與C+的常見(jiàn)不同之處6、基本類(lèi)型C:弱類(lèi)型語(yǔ)言 C89:沒(méi)有邏輯類(lèi)型 C99:有邏輯類(lèi)型,關(guān)鍵字是_BoolC+:強(qiáng)類(lèi)型語(yǔ)言 有邏輯類(lèi)型,關(guān)鍵字是 boolC與C+的常見(jiàn)不同之處7、名空間:C: 有名空間(namespace)的概念(邏輯上相關(guān)的標(biāo)識(shí)符放在同一個(gè)名空間里,所以結(jié)構(gòu)類(lèi)型名與其它普通變量名可以重名),但用戶不可 以指定名空間C+: 有名空間(namespace)的概念 用戶可以指定名空間ü using namespaceü 作用域運(yùn)算符 :C與C+的常見(jiàn)不同之處8、內(nèi)聯(lián)函數(shù):C: C89:不支持 C99:支持,inlineC+
20、: 支持,inlineC與C+的常見(jiàn)不同之處9、函數(shù)名重載:C: 不支持C+: 支持p sqrt()C與C+的常見(jiàn)不同之處10、數(shù)組的長(zhǎng)度:C: C89:常量(比如TC) C99:可以是變量(比如GCC)C+: 常量(比如VC6、VS2008) DevC+例外C與C+的常見(jiàn)不同之處11、C: 無(wú)C+: 有類(lèi)型:C與C+的常見(jiàn)不同之處12、申請(qǐng)動(dòng)態(tài)空間方式:C: 用庫(kù)函數(shù)malloc/C+: 用庫(kù)函數(shù)malloc/ 用new/deletestruct Nodeint value; Node * next;int main()Node *h = new Nod h->value = 1;h-
21、>next = NULL;Node *q = new Nod q->value = 100;q->next = h; h = q;for (Node *p=h; p!=cout << p-> cout << endl;delete h, q; return 0;# main()<stdlib.h>Node *h =.Node *q =.printf(" printf("n");(h);(q);.(Node *)malloc(sizeof(Node);(Node *)malloc(si
22、zeof(Node);%d,", p->value);鏈表的反轉(zhuǎn)(循環(huán)法).××××hqp.×××a3a2a1a0a3a2a1a0void reverse(Node *&h)-3hhqpqp.××void reverse(Node *&h)Node *p=h; h = NULL;while (p != NULL)Node *q=p; p = p->next; q->next = h;h = q;a3a2a1a0 void reverse(Node *&h)-2h hqpqp.×void reverse(Node *&h)Node *p=h; h = NULL;while (p != NULL)No
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Windows Server 2022活動(dòng)目錄管理實(shí)踐( 第2版 微課版)-課件項(xiàng)目14 活動(dòng)目錄環(huán)境中的多用戶隔離FTP實(shí)驗(yàn)
- 2023-2024學(xué)年四川省綿陽(yáng)市游仙區(qū)富樂(lè)學(xué)校九年級(jí)(上)學(xué)情調(diào)查數(shù)學(xué)試卷(10月份)
- 魯教版八年級(jí)數(shù)學(xué)上冊(cè)第一章因式分解素養(yǎng)綜合檢測(cè)課件
- 北師大版八年級(jí)生物上冊(cè)專(zhuān)項(xiàng)素養(yǎng)綜合練(六)跨學(xué)科試題課件
- 【核心素養(yǎng)】部編版小學(xué)語(yǔ)文一年級(jí)上冊(cè)語(yǔ)文園地三主題閱讀(含答案)
- 內(nèi)蒙古赤峰市洪山區(qū)重點(diǎn)中學(xué)2024年中考押題數(shù)學(xué)預(yù)測(cè)卷含解析
- 四川省五通橋區(qū)2022-2023學(xué)年八年級(jí)上學(xué)期期末教學(xué)質(zhì)量檢測(cè)地理試卷
- 八年級(jí)生物期中模擬卷(全解全析)(內(nèi)蒙古專(zhuān)用)
- 2024年煙花爆竹儲(chǔ)存證考試題庫(kù)及答案
- 酒店用房合同模板
- 腸系膜動(dòng)脈夾層護(hù)理課件
- 道德與法治九年級(jí)上冊(cè)每課教學(xué)反思
- 2024年醫(yī)保知識(shí)題庫(kù)及答案(通用版)
- 大陳島墾荒精神
- 維吾爾族舞蹈
- 門(mén)診部工作總結(jié)匯報(bào)
- 靜壓樁施工對(duì)周邊環(huán)境的影響及控制措施
- 肖戰(zhàn)分析報(bào)告
- 第20課《讓社區(qū)更和諧》課件
- 鍋爐吊裝安全施工方案
- 既有建筑幕墻安全維護(hù)管理辦法范文
評(píng)論
0/150
提交評(píng)論