




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、程序設(shè)計(jì)基礎(chǔ)(C語言)東北大學(xué)高級(jí)語言程序設(shè)計(jì)課程組課程網(wǎng)站: 程序設(shè)計(jì)基礎(chǔ)(C語言) main( ) int height=5; /*the height of the triangle */ int width=4; /* the width of the triangle int area; /* area of the triangle(computed) */ area=(width*height)/2; 程序設(shè)計(jì)基礎(chǔ)(C語言) #include 或 #include “stdio.h”程序設(shè)計(jì)基礎(chǔ)(C語言) 符才有效 n此函數(shù)只接受一個(gè)字符,而非一串字符若輸入 abcde,該 函數(shù)
2、也只接受第一個(gè)字符 a ngetchar函數(shù)得到的字符可以賦 給一個(gè)字符變量或整型變量,也可以不賦給任何變量而是作為表達(dá)式的一部分例例:#include main()() int i; i=getchar()() printf(“%c:%dn”,i,i); 執(zhí)行本程序時(shí),按鍵執(zhí)行本程序時(shí),按鍵A時(shí)時(shí)顯示結(jié)果如下:顯示結(jié)果如下:A:65程序設(shè)計(jì)基礎(chǔ)(C語言) format 參數(shù)中的類型說明相一致在C語言中一個(gè)變量的地址可以通過&地址運(yùn)算符得到例如:int a,b; 則a,b的地址為&a,&b程序設(shè)計(jì)基礎(chǔ)(C語言) int aint a; scanfscanf(“%d%d”
3、 ” ,&a&a););含義:含義: 按變量按變量a a在內(nèi)存的地址將從外界在內(nèi)存的地址將從外界 獲取的值存入變量獲取的值存入變量a a所描述的存所描述的存 儲(chǔ)單元,變量儲(chǔ)單元,變量a a的地址在編譯階的地址在編譯階 段分配。段分配。說明說明格式格式輸入變量地址輸入變量地址 scanf()scanf()中各個(gè)中各個(gè)變量變量要加地要加地 址操作符,就是變量名前加址操作符,就是變量名前加“&”&” 地址操作符地址操作符, ,這是容易忽視的一這是容易忽視的一 個(gè)問題。如果忘記了在函數(shù)的每個(gè)問題。如果忘記了在函數(shù)的每 個(gè)變量前面加個(gè)變量前面加& &符號(hào)符
4、號(hào), ,可能會(huì)導(dǎo)致可能會(huì)導(dǎo)致 程序甚至系統(tǒng)崩潰。程序甚至系統(tǒng)崩潰。由由“ ”括起括起 的字符串。的字符串。程序設(shè)計(jì)基礎(chǔ)(C語言) 輸入n可以指定輸入數(shù)據(jù)的域?qū)挘到y(tǒng)自動(dòng)按域?qū)捊厝≥斎霐?shù)據(jù)例如:scanf(“%3d”,&a);/*按寬度3輸入一個(gè)整數(shù)給變量a*/n字符*:*表示按規(guī)定格式輸入但不賦予相應(yīng)的變量,作用是跳過相應(yīng)的數(shù)據(jù)例如: scanf(“%d%*d%d”,&a,&b);n輸入long型數(shù)據(jù)必須用%ld,輸入double數(shù)據(jù)必須用%lf或%le 程序設(shè)計(jì)基礎(chǔ)(C語言) scanf(“%d,%d;”,&a,&b);/*輸入:3,4 */ 問題:如
5、果3 4 ? scanf(“a=%d;b=%c;”,&a,&b);/*輸入是:a=3;b=a; */a=3 ,而,而b的值不確定。這是因?yàn)楦袷降闹挡淮_定。這是因?yàn)楦袷酱械亩禾?hào)是普通字符,要照原樣輸入串中的逗號(hào)是普通字符,要照原樣輸入程序設(shè)計(jì)基礎(chǔ)(C語言) 例如: scanf(“%d%4d”,&a,&b ); /*輸入序列為:123 12345則a=123 , b=1234*/ 為什么?雖然輸入的是12345但%4d寬度為4位,截取前4位,即1234 程序設(shè)計(jì)基礎(chǔ)(C語言) 兩個(gè)數(shù)據(jù)之間可以使用空格、tab鍵或回車鍵作為間隔輸入字符數(shù)據(jù)時(shí),由于空格和轉(zhuǎn)義字符都是
6、有效字符,所以不能以空格作為間隔符n例如:scanf(“%d%c”,&a,&c);輸入32a /*空格符作為輸入 數(shù)據(jù)被賦值給字符型變量c*/不允許有精度輸入n例如: scanf(“%7.2f”,&a);是錯(cuò)誤的程序設(shè)計(jì)基礎(chǔ)(C語言) : #include“stdio.h”#include“stdio.h” main main()() char o=O char o=O,k=K k=K ; putcharputchar(o o);); putcharputchar(k k);); 程序設(shè)計(jì)基礎(chǔ)(C語言) ”括起來當(dāng)系統(tǒng)遇到輸出的格式說明符后,會(huì)自動(dòng)用后面對(duì)應(yīng)的輸出項(xiàng)的值
7、代替它的位置,然后輸出n輸出項(xiàng)列表列出要輸出的項(xiàng)可以是常量、變量或表達(dá)式當(dāng)沒有輸出項(xiàng)列表,同時(shí)格式字符串中也不含格式信息,則輸出的是格式字符串本身【例】【例】 printfprintf(“%d%f%c” %d%f%c” ,a a, ,b b, ,c c););程序設(shè)計(jì)基礎(chǔ)(C語言) #include #include main( ) main( ) int total; int total; total=4+4; total=4+4; printf(“The total is %dn”); printf(“The total is %dn”); 311.c 該語句告訴程序顯示一個(gè)十進(jìn)制該語句告
8、訴程序顯示一個(gè)十進(jìn)制數(shù)數(shù),但是沒有指定變量但是沒有指定變量.C不會(huì)檢查不會(huì)檢查 并確認(rèn)并確認(rèn) printf 函數(shù)被賦予了正確函數(shù)被賦予了正確的常量。由于沒有值的常量。由于沒有值,所以所以C生成生成了一個(gè)值。正確的語句應(yīng)該是:了一個(gè)值。正確的語句應(yīng)該是: printf(“The total is %dn”,total ); 例例2: #include #include main( ) main( ) float answer; float answer; answer=7.0/20.0; answer=7.0/20.0; printf(“The answer is %dn”,answer); p
9、rintf(“The answer is %dn”,answer); 312.c使用使用%d指定要顯示的整數(shù)指定要顯示的整數(shù),但要但要轉(zhuǎn)化的是一個(gè)實(shí)數(shù)轉(zhuǎn)化的是一個(gè)實(shí)數(shù),printf函數(shù)無函數(shù)無法檢查參數(shù)類型法檢查參數(shù)類型,所以將實(shí)數(shù)賦予所以將實(shí)數(shù)賦予函數(shù)函數(shù),而指定格式為整數(shù)而指定格式為整數(shù),函數(shù)將這函數(shù)將這個(gè)數(shù)當(dāng)作整數(shù)看待個(gè)數(shù)當(dāng)作整數(shù)看待.數(shù)據(jù)輸出程序設(shè)計(jì)基礎(chǔ)(C語言) printf(字符串);功能: 按原樣輸出字符串例: printf(“hello c programming.n);n形式2: printf(格式字符串,輸出項(xiàng)表);功能: 按格式字符串中的格式依次輸出輸出項(xiàng)表中的各輸出項(xiàng)程
10、序設(shè)計(jì)基礎(chǔ)(C語言) printf(格式字符串,輸出項(xiàng)表);例:設(shè)a=2,b=2.5,c=A; printf(“a=%d,b=%f,c=%cn”,a,b,c); /*輸出: a=2,b=2.500000,c=A*/ %d表示輸出a的值整數(shù)2 %f表示輸出b的值2.5,%f格式要求輸出6位小數(shù),在2.5的后面補(bǔ)5個(gè)0; %c表示輸出c的值A(chǔ) “a=”、 “b=” 、 “c=” 、,和“n不是格式符,按原樣輸出程序設(shè)計(jì)基礎(chǔ)(C語言) 長度修飾符:l(長),h(短),放在格式字符前面 域?qū)捄途让枋龇簃(域?qū)挘﹏(精度),放在長度修飾符的前面 對(duì)齊方式描述符:一般所有輸出數(shù)據(jù)缺省為右對(duì)齊格式,若加
11、一個(gè)“-”號(hào),則變?yōu)椤白髮?duì)齊”方式,放在域?qū)捗枋龇那懊娴那懊娉绦蛟O(shè)計(jì)基礎(chǔ)(C語言) int i=123, float j=12.34567; printf(“%4d+%5.2f”,i,j);/* 123+12.35 */ printf(“%2d+%2.1f”,i,j); /*123+12.3*/ printf(“%4d%10.4f”,i,j); /* 123 12.3457*/ printf(“%-4d%10.4f”,i,a);/* 123 12.3457 */ printf(“%4d%-10.4f”,i,a); /* 12312.3457*/程序設(shè)計(jì)基礎(chǔ)(C語言) 時(shí),左補(bǔ)空格n%0md以
12、寬度m輸出整型數(shù),不足m 時(shí),左補(bǔ)0n%m.nf以寬度m輸出實(shí)型小數(shù),小數(shù)位為n位程序設(shè)計(jì)基礎(chǔ)(C語言) 若指定的域?qū)挻笥诟↑c(diǎn)數(shù)的整數(shù)部分,相應(yīng)的小數(shù)位按精度的位數(shù)四舍五入 若域?qū)捫∮诘扔诟↑c(diǎn)數(shù)整數(shù)部分的寬度,則該浮點(diǎn)數(shù)按實(shí)際位數(shù)輸出,但小數(shù)位數(shù)仍遵守精度的規(guī)定程序設(shè)計(jì)基礎(chǔ)(C語言) 出結(jié)果是:出結(jié)果是: a1=1;a2=2;a1=1;a2=2; a3=3;a4=4; a3=3;a4=4; printf printf(“%1cn”,a1%1cn”,a1); ; printf printf(“%2cn”,a2%2cn”,a2); ; printf printf(“%3cn”,a3%3cn”,a3
13、); ; printf printf(“%4cn”,a4%4cn”,a4); ;a)1a)1 2 2 3 3 4 4b) 1b) 1 2 2 3 3 4 4c)1c)1 02 02 003 003 0004 0004d)d)輸出格式輸出格式 的描述符的描述符 不正確不正確 【例】若執(zhí)行程序時(shí)的輸入是:【例】若執(zhí)行程序時(shí)的輸入是:12345671234567,則程序的輸出結(jié)果是:則程序的輸出結(jié)果是: #include#include main main()() int x int x,y y; scanfscanf(“%2d%2d%* *2d%1d”2d%1d”,&x&x,&am
14、p;y&y);); printfprintf(“x+y=%dx+y=%d;n”n”,x+yx+y);); x+y=17 x+y=17;*省略兩位省略兩位 12+5程序設(shè)計(jì)基礎(chǔ)(C語言) #include #include main( ) main( ) int a; int a; float b,c; float b,c; scanf scanf(“%2d%3f%4f”,a,b,c%2d%3f%4f”,a,b,c); ; printf printf(“na=%d,b=%f,c=%f”,a,b,cna=%d,b=%f,c=%f”,a,b,c); ; 若運(yùn)行時(shí)從鍵盤輸入若運(yùn)行時(shí)從鍵盤輸入9
15、8765432109876543210,則上面程序的輸出結(jié)果是:則上面程序的輸出結(jié)果是:A)a=98,b=765,c=4321A)a=98,b=765,c=4321B)a=10,b=432,c=8765B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0D)a=98,b=765.0,c=4321.0 【例】讀程序,寫出運(yùn)行結(jié)果?!纠孔x程序,寫出運(yùn)行結(jié)果。 #include#include main main()() int a i
16、nt a,b b,c c; a=a=(b=b=(c=3c=3)* *5 5)* *2-32-3; printfprintf(“a=%da=%d,b=%db=%d,c=%dn”c=%dn”,a a,b b,c c);); a=27 a=27,b=15b=15,c=3c=3程序設(shè)計(jì)基礎(chǔ)(C語言) 2.5+1*7%2/4的結(jié)果是多少?例題n小測(cè)試:若運(yùn)行以下程序時(shí),從鍵盤輸入若運(yùn)行以下程序時(shí),從鍵盤輸入25,13,10,則輸出結(jié)果為則輸出結(jié)果為 mian() int a1,a2,a3; scanf(“%d%d%d”,&a1,&a2,&a3); printf(“a1+a2+a3=%dn”,a1+a2+a3) A. a1+a2+a3=48 B. a+a2+a3=25C. a1+a2+a3=10 D. 不確定值不確定值 若若a,b,c均為均為int型變量,則執(zhí)行型變量,則執(zhí)行以下程序后的輸出結(jié)果是以下程序后的輸出結(jié)果是 b=(a=10,a+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年自招面試題及答案廣東
- 2025年周年慶活動(dòng)測(cè)試題及答案
- 2025年瑜伽智商測(cè)試題及答案
- 2025年門店督導(dǎo)面試試題及答案
- 2025年奧數(shù)滿分試題及答案
- 2025年山東初三畢業(yè)試題及答案
- 2025年湘潭理工面試試題及答案
- 2025年大腦神經(jīng)期末試題及答案
- 2025年初級(jí)電工考試題及答案中
- 2025年德力集團(tuán)面試題及答案
- 流感病人的護(hù)理ppt課件
- 高邊坡施工危險(xiǎn)源辨識(shí)及分析
- 【李建西醫(yī)案鑒賞系列】三當(dāng)歸四逆湯治療頸腫案
- 安全文明施工管理(EHS)方案(24頁)
- 結(jié)構(gòu)化思維PPT通用課件
- 劉姥姥進(jìn)大觀園課本劇劇本3篇
- 新湘教版中考數(shù)學(xué)總復(fù)習(xí)教案
- 2022年拖拉機(jī)駕駛?cè)丝荚噮⒖碱}庫(含答案)
- 產(chǎn)品承認(rèn)書客(精)
- 長方體和正方體的認(rèn)識(shí)(動(dòng)畫)(課堂PPT)
- 磷石膏堆場污染防治技術(shù)指南
評(píng)論
0/150
提交評(píng)論