2、deintmain(){inti;for(i=0;i<10;i++){printf("Hello!");}return0;}C++CC語(yǔ)言與C++語(yǔ)言的區(qū)別變量定義位置結(jié)構(gòu)體變量數(shù)據(jù)類型輸入輸出動(dòng)態(tài)內(nèi)存分配其他區(qū)別1.變量定義位置C89要求所有變量都必須定義在塊的最前部C++沒有這個(gè)要求,可以在程序任意位置定義新的變量2.結(jié)構(gòu)體變量在C++中,struct結(jié)構(gòu)體支持成員函數(shù)的定義,C中不行。如果在C的struct中定義函數(shù),編譯時(shí)會(huì)顯示一個(gè)“field‘functionname’declaredasfunction”錯(cuò)誤2.結(jié)
3、構(gòu)體變量(續(xù))/*ch3_10.c*/structA{inta;intb();};intmain(){structAc;c.a=2;return0;}編譯錯(cuò)誤:“ch3_10.c:5:error:field'b'declaredasafunction”C++標(biāo)準(zhǔn)可以通過編譯2.結(jié)構(gòu)體變量(續(xù))在C語(yǔ)言中,聲明一個(gè)結(jié)構(gòu)體類型A之后,使用下面的語(yǔ)句來定義結(jié)構(gòu)體變量a:structAa;而C++語(yǔ)言中可以省略struct3.數(shù)據(jù)類型C++中有bool(或boolean類型);C中沒有這樣的bool類型,均為數(shù)值類型!C編譯器不能通過編譯,C++編譯器可以
4、boola;a=1;4.輸入輸出C中使用printf、scanf輸入輸出使用時(shí)必須包含stdio.h頭文件inta;scanf("%d",&a);printf("您輸入的數(shù)值是%d",a);A.scanf()函數(shù)功能:從鍵盤讀入指定格式的數(shù)據(jù)格式:scanf("控制字符串",輸入項(xiàng)列表);注意:scanf中各變量一定是表示地址的標(biāo)識(shí)符(加&)控制字符串控制字符串有兩部分組成:格式說明形式:%[<修飾符>]<格式字>普通字符空格可打印字符格式說明各格式字符及其意義:(詳見C教程)d:輸入一個(gè)十進(jìn)制整數(shù)o:輸入一個(gè)八進(jìn)制整數(shù)x:輸入一個(gè)十六進(jìn)制整數(shù)
5、f:輸入一個(gè)小數(shù)形式的浮點(diǎn)數(shù)e:輸入一個(gè)指數(shù)形式的浮點(diǎn)數(shù)c:輸入一個(gè)字符s:輸入一個(gè)字符串空格在多個(gè)輸入時(shí),一般用空格或回車作為分隔符若以空格作為分隔符,當(dāng)輸入中包含字符類型時(shí),可能產(chǎn)生非預(yù)期的結(jié)果scanf("%d%c",&a,&ch);輸入:45q輸出:45空格空格(續(xù))如下語(yǔ)句會(huì)有正確輸出此處%d后的空格,就可以跳過字符'q'前的所有空格scanf("%d%c",&a,&ch);輸入:45q輸出:45q可打印字符看一個(gè)例子輸入為:1,2,q可以得到a=1,b=2,ch=q輸入為:12q除a的值為1外,對(duì)b與ch的賦值失敗scanf("%d,%
6、d,%c",&a,&b,&ch);B.printf()函數(shù)功能:從缺省輸出設(shè)備(一般為顯示器)輸出規(guī)定格式的字符串格式:printf("控制字符串",輸入項(xiàng)列表);控制字符串控制字符串有兩部分組成:格式說明形式:%[<修飾符>]<格式字>普通字符空格可打印字符格式說明各格式字符及其意義:(詳見C教程)c:按字符型輸出o:按八進(jìn)制輸出d:按十進(jìn)制輸出x:按十六進(jìn)制輸出u:按無符號(hào)整數(shù)輸出f:按浮點(diǎn)型小數(shù)輸出g:按e和f格式中較短的一種輸出e:按科學(xué)計(jì)數(shù)法輸出普通字符普通字符:可打印字符主要是說明字符,按原樣輸出,支持漢字輸出轉(zhuǎn)義字符(例)不能直接打印
7、,控制產(chǎn)生特殊的輸出效果普通字符(續(xù))轉(zhuǎn)義字符示例i=789,n=123,a=92.34567,且i為整型,n為長(zhǎng)整型。printf("%4dt%7.4ft%lu",i,a,n);輸出為:78992.3457123C語(yǔ)言輸入輸出總結(jié)輸入輸出可能是C和C++的最明顯的區(qū)別C中用scanf(),printf()來完成輸入輸出操作C++中全局對(duì)象cin、cout來輸入輸出,比C更方便,而且類型檢查機(jī)制更加完善C++中的使用方式new申請(qǐng)delete釋放C中的使用方式malloc()申請(qǐng)free()釋放5.動(dòng)態(tài)內(nèi)存分配函數(shù)原型:void*mal
8、loc(longsize);作用:在對(duì)內(nèi)存中分配size各字節(jié),并返回了指向這塊內(nèi)存首地址的指針如果分配失敗,返回NULL