![C3 順序結構程序設計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/b8939126-a513-4d0b-9088-302d9229cdb2/b8939126-a513-4d0b-9088-302d9229cdb21.gif)
![C3 順序結構程序設計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/b8939126-a513-4d0b-9088-302d9229cdb2/b8939126-a513-4d0b-9088-302d9229cdb22.gif)
![C3 順序結構程序設計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/b8939126-a513-4d0b-9088-302d9229cdb2/b8939126-a513-4d0b-9088-302d9229cdb23.gif)
![C3 順序結構程序設計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/b8939126-a513-4d0b-9088-302d9229cdb2/b8939126-a513-4d0b-9088-302d9229cdb24.gif)
![C3 順序結構程序設計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/b8939126-a513-4d0b-9088-302d9229cdb2/b8939126-a513-4d0b-9088-302d9229cdb25.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C C C語言程序設計語言程序設計第第3 3章章 順序結構程序設計順序結構程序設計Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C問題:一年有春夏秋冬四季,按序執(zhí)行,做事亦有先后問題:一年有春夏秋冬四季,按序執(zhí)行,做事亦有先后順序,那么順序,那么C C語言在編寫程序時可以采用這樣的順序結語言在編寫程序時可以采用這樣的順序結構嗎?構嗎? 按程序書寫的前后順序依次按序
2、執(zhí)行按程序書寫的前后順序依次按序執(zhí)行。 C C語言同樣提供了這種最簡單的程序設計語言同樣提供了這種最簡單的程序設計結構:順序結構。結構:順序結構。引子引子Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C Cl 本章重點本章重點第第3 3章章 順序結構程序設計順序結構程序設計l 本章難點本章難點n C C語言基本語句的分類語言基本語句的分類n 字符數(shù)據(jù)輸入輸出函數(shù)字符數(shù)據(jù)輸入輸出函數(shù)n 格式化輸入輸出函數(shù)格式化輸入輸出函數(shù)Copyright Henan Polytechnic University 語語言言
3、第第 3 3 章章順順序序結結構構程程序序設設計計C C3.13.23.33.4C語言語句概述語言語句概述字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)格式化輸入輸出函數(shù)順序結構程序設計舉例順序結構程序設計舉例本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C說明語句說明語句變量定義或說明變量定義或說明數(shù)據(jù)類型定義數(shù)據(jù)類型定義函數(shù)聲明等語句函數(shù)聲明等語句可執(zhí)行語句:用來向計算機發(fā)出操作指令??蓤?zhí)行語句:用來向計算機發(fā)出操作指令。簡單語句簡單語句表達式語句:表達式;例:表達
4、式語句:表達式;例: i+; i+; 函數(shù)調(diào)用語句函數(shù)調(diào)用語句控制語句控制語句空語句:只有分號空語句:只有分號“;”組成的語句,程序執(zhí)行時組成的語句,程序執(zhí)行時不產(chǎn)生任何動作。不產(chǎn)生任何動作。復合語句:把多個語句用括號復合語句:把多個語句用括號“”括起來組成的一個括起來組成的一個語句語句C C語言無語言無I/OI/O語句,語句,I/OI/O操作由函數(shù)實現(xiàn)操作由函數(shù)實現(xiàn) #include #include 1 1)條件判斷語句:)條件判斷語句:ifif語句、語句、switchswitch語語句等;句等;2) 2) 循環(huán)執(zhí)行語句:循環(huán)執(zhí)行語句:do-whiledo-while語句、語句、while
5、while語句、語句、forfor語句;語句;3) 3) 轉向語句:轉向語句:breakbreak語句、語句、gotogoto語句、語句、continuecontinue語句、語句、returnreturn語句。語句。3.1 C3.1 C語言語句概述語言語句概述printf(C Program);/*調(diào)用庫函數(shù),調(diào)用庫函數(shù),輸出字符串輸出字符串*/ while(getchar()!=n) ; 語句語句1; 語句語句2; 語句語句n; 。 x=y+z; a=b+c; printf(%d%d,x,a); Copyright Henan Polytechnic University 語語言言第第 3
6、 3 章章順順序序結結構構程程序序設設計計C C3.13.23.33.4C語言語句概述語言語句概述字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)格式化輸入輸出函數(shù)順序結構程序設計舉例順序結構程序設計舉例本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C輸出輸出3.2 3.2 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出從從計算機計算機向向外部外部輸出設備(如顯示器、打印機輸出設備(如顯示器、打印機、磁盤等)輸出數(shù)據(jù)、磁盤等)輸出數(shù)據(jù) 輸入輸入從從輸入設備輸入設備(如鍵盤、磁盤、光
7、盤、掃描儀等(如鍵盤、磁盤、光盤、掃描儀等)向)向計算機計算機輸入數(shù)據(jù)輸入數(shù)據(jù)在VC中,調(diào)用輸入/輸出函數(shù)之前,必須使用下面預編譯命令對頭文件“stdio.h”(stdio是standard input/output的縮寫)進行文件包含說明。 #include Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C格式格式: putchar( ch ): putchar( ch )參數(shù)參數(shù): : ch為字符常量或變量,為字符常量或變量,也可以是一個轉義字符也可以是一個轉義字符 功能:功能:在默認輸出終端(一
8、般為顯示器)上在默認輸出終端(一般為顯示器)上輸出單個字符輸出單個字符 字符輸出函數(shù)(字符輸出函數(shù)(putcharputchar)3.2 3.2 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C#include #include main()main() char ch=B; char ch=B; putchar(ch); / putchar(ch); /* *輸出變量的值字符輸出變量的值字符B B* */ / putchar(n); / putchar(n); /
9、* *輸出一個換行符輸出一個換行符* */ / putchar(B); / putchar(B); /* *直接輸出字符直接輸出字符B B* */ / putchar(n); / putchar(n); /* *輸出一個換行符輸出一個換行符* */ / putchar(0 x42); / putchar(0 x42); /* *使用使用ASCIIASCII值輸出字符值輸出字符B B* */ / putchar(n); / putchar(n); /* *輸出一個換行符輸出一個換行符* */ / 運行結果:運行結果:B B B B B B例:輸出單個字符例:輸出單個字符Copyright Hen
10、an Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C格式格式:getchar( ):getchar( )功能:功能:從系統(tǒng)默認的輸入終端(一般為從系統(tǒng)默認的輸入終端(一般為鍵盤)輸入一個字符,可以是字母鍵盤)輸入一個字符,可以是字母字符、數(shù)字字符和其他字符等字符、數(shù)字字符和其他字符等例例3.2 輸入單個字符,并輸出。輸入單個字符,并輸出。#include main() char c; c=getchar(); putchar(c); 運行結果:運行結果:字符輸入函數(shù)(字符輸入函數(shù)(getchargetchar)getchar函數(shù)等
11、待輸入直到按回函數(shù)等待輸入直到按回車才結束,回車前所輸入的全車才結束,回車前所輸入的全部字符都會在在屏幕上顯示,部字符都會在在屏幕上顯示,但只有第一個字符作為函數(shù)的但只有第一個字符作為函數(shù)的返回值。返回值。例例3.2 輸入單個字符,并輸出。輸入單個字符,并輸出。#include main() putchar(getchar(); Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C3.13.23.33.4C語言語句概述語言語句概述字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)格式化輸入輸出函數(shù)順序
12、結構程序設計舉例順序結構程序設計舉例本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C格式:格式:printf(printf(格式控制字符串格式控制字符串 ,輸出表列,輸出表列););功能:功能:將數(shù)據(jù)在終端設備(或系統(tǒng)默認的輸出設將數(shù)據(jù)在終端設備(或系統(tǒng)默認的輸出設備上)按指定格式輸出備上)按指定格式輸出 說明:說明:輸出表列是以逗號隔開的表達式;輸出表列是以逗號隔開的表達式; 格式控制字符串規(guī)定輸出格式 格式控制串作用:格式控制串作用:為各輸出項提供輸出格式為各輸出項提供輸出
13、格式% % 修飾符修飾符 格式字符格式字符:將要:將要輸出的數(shù)據(jù)轉換為指定的格式輸出,輸出的數(shù)據(jù)轉換為指定的格式輸出,由由“%”%”符號開始,符號開始,緊跟其后的是格式描述符,說明輸出數(shù)據(jù)的類型、形式、緊跟其后的是格式描述符,說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。長度、小數(shù)位數(shù)等。 原樣輸出普通字符:在程序運行過程中起提示作用原樣輸出普通字符:在程序運行過程中起提示作用格式輸出函數(shù)(格式輸出函數(shù)(printfprintf)3.3 3.3 格式化輸入輸出函數(shù)格式化輸入輸出函數(shù)Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結
14、構構程程序序設設計計C C例例3.3 輸出函數(shù)輸出函數(shù)printf程序示例。程序示例。#include main() int i=3314; float a=2.1454; printf(i=%d,a=%f,a*10=%en,i,a,a*10);運行結果:運行結果:i=3314,a=2.145400,a*10=2.145400e+001Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C Cprintfprintf函數(shù)中常用的輸出格式函數(shù)中常用的輸出格式printf函數(shù)的輸出格式的一般形式為:函數(shù)的輸出格式的
15、一般形式為: %標志標志寬度指示符寬度指示符.精度指示符精度指示符長度修飾符長度修飾符格式字符格式字符格式字符格式字符格 式 字 符說 明d或或iox,Xufe,E以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)以八進制形式輸出無符號整數(shù)(不輸出前綴以八進制形式輸出無符號整數(shù)(不輸出前綴0)以十六進制形式輸出無符號整數(shù)(不輸出前綴以十六進制形式輸出無符號整數(shù)(不輸出前綴0 x),),對于對于x用用abcdef輸出;對于輸出;對于X用用ABCDEF輸出輸出以十進制形式輸出無符號整數(shù)以十進制形式輸出無符號整數(shù)以小數(shù)形式輸出單、雙精度實數(shù),隱含輸出以小數(shù)形式輸
16、出單、雙精度實數(shù),隱含輸出6位小數(shù)位小數(shù)以指數(shù)形式輸出單、雙精度實數(shù),數(shù)字部分小數(shù)位數(shù)為以指數(shù)形式輸出單、雙精度實數(shù),數(shù)字部分小數(shù)位數(shù)為6位位,指數(shù)部分占,指數(shù)部分占5位,用位,用“E”時,指數(shù)以大寫表示時,指數(shù)以大寫表示Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C格式字符格式字符格 式 字 符說 明g,Gcsp以以%f或或%e中較短的輸出寬度輸出單、雙精中較短的輸出寬度輸出單、雙精度實數(shù),不輸出無意義的度實數(shù),不輸出無意義的0,用,用“G”時,則時,則指數(shù)以大寫表示指數(shù)以大寫表示 輸出單個字符輸
17、出單個字符 輸出字符串輸出字符串 輸出變量的內(nèi)存地址輸出變量的內(nèi)存地址 Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C寬度(域?qū)挘┲甘痉挾龋ㄓ驅(qū)挘┲甘痉W饔茫鹤饔茫河脕碇付ㄝ敵鰯?shù)據(jù)項的最小字段寬度,通常用十進用來指定輸出數(shù)據(jù)項的最小字段寬度,通常用十進制表示。制表示。 省略寬度指示符時省略寬度指示符時,按實際位數(shù)輸出;,按實際位數(shù)輸出;若實際位數(shù)大于定義的寬度,若實際位數(shù)大于定義的寬度,也按實際位數(shù)輸出;也按實際位數(shù)輸出;若實際位數(shù)小于定義的寬度,若實際位數(shù)小于定義的寬度,數(shù)據(jù)右對齊,左邊補數(shù)
18、據(jù)右對齊,左邊補以空格。以空格。Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C未指定寬度和指定輸出寬度時的輸出結果未指定寬度和指定輸出寬度時的輸出結果輸 出 語 句輸 出 結 果printf(%3dn,4321);printf(%fn,123.54);printf(%12fn,123.54);4321123.540000123.540000printf(%en,123.54);1.235400e + 002printf(%14en,123.54);1.235400e + 002printf(%gn,
19、123.5);123.5printf(%8gn,123.5);123.5Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C精度指示符精度指示符以以“.”“.”開頭,后跟十進制整數(shù)開頭,后跟十進制整數(shù)精度指示符通常與寬度指示符結合使用,格式為:精度指示符通常與寬度指示符結合使用,格式為:“m.n”“m.n”,“m”“m”表示輸出數(shù)據(jù)所占總的寬度,表示輸出數(shù)據(jù)所占總的寬度,“n”n”表示輸出數(shù)據(jù)的精度表示輸出數(shù)據(jù)的精度浮點數(shù)浮點數(shù)n n表示輸出數(shù)據(jù)的小數(shù)的位數(shù),表示輸出數(shù)據(jù)的小數(shù)的位數(shù),輸出數(shù)據(jù)的小數(shù)位數(shù)大
20、于輸出數(shù)據(jù)的小數(shù)位數(shù)大于“n”n”時,截去右邊多余的時,截去右邊多余的小數(shù),并對截去的第一位小數(shù)做四舍五入;小數(shù),并對截去的第一位小數(shù)做四舍五入;輸出數(shù)據(jù)的小數(shù)位數(shù)小于輸出數(shù)據(jù)的小數(shù)位數(shù)小于“n”n”時,在小數(shù)的最右邊時,在小數(shù)的最右邊添添0 0。Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C省略省略“m.n”“m.n”中的中的m m用用“.n”.n”表示小數(shù)的位數(shù),并對截去的第一位小數(shù)表示小數(shù)的位數(shù),并對截去的第一位小數(shù)進行四舍五入,這時輸出數(shù)據(jù)的寬度由系統(tǒng)決定。進行四舍五入,這時輸出數(shù)據(jù)的寬度由
21、系統(tǒng)決定。若指定若指定“%.0f”%.0f”,則不輸出小數(shù)部分,但要對第一,則不輸出小數(shù)部分,但要對第一位小數(shù)進行四舍五入。位小數(shù)進行四舍五入。對于對于g g或或G G“.n”“.n”表示輸出的有效數(shù)字,并對截去的第一位進表示輸出的有效數(shù)字,并對截去的第一位進行四舍五入,整數(shù)部分并不丟失,隱含的輸出有效行四舍五入,整數(shù)部分并不丟失,隱含的輸出有效數(shù)字為數(shù)字為6 6位有效數(shù)字。位有效數(shù)字。對于字符串對于字符串“.n”“.n”則表示要輸出字符的個數(shù);則表示要輸出字符的個數(shù);如果實際位數(shù)大于所定義的精度時,則截去超過的如果實際位數(shù)大于所定義的精度時,則截去超過的部分。部分。Copyright Hen
22、an Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C輸 出 語 句輸 出 結 果指定精度時的輸出結果指定精度時的輸出結果printf(%8.3fn,123.55); 123.550 printf(%8.1fn,123.55); 123.6 printf(%8.0fn,123.55); printf(%gn,123.56789);printf(%.7gn,123.56789); printf(%.5sn,“abcdefg”); 124 123.568 123.5679 abcde 注意:輸出數(shù)據(jù)的實際精度不完全取決于格式控制串中的寬
23、度和精度,而是取決于數(shù)據(jù)的存儲精度。如果在格式控制串中指定的寬度和精度超過了相應類型數(shù)據(jù)的有效數(shù)字,輸出的多余數(shù)字是沒有意義的,只是系統(tǒng)用來填充數(shù)據(jù)寬度而已。Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C標志標志標志及其意義標志及其意義 標 志意 義 輸出結果左對齊,右邊填空格;缺省則輸出輸出結果左對齊,右邊填空格;缺省則輸出結果右對齊,左邊填空格結果右對齊,左邊填空格 +輸出符號(正號或負號)輸出符號(正號或負號) 空格空格輸出值為正時冠以空格,為負時冠以負號輸出值為正時冠以空格,為負時冠以負號
24、#對對c,s,d,u類無影響;對類無影響;對o類,在輸出時加前綴類,在輸出時加前綴0;對;對x類,在輸出時加前綴類,在輸出時加前綴0 x Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C標志標志標志的用法標志的用法輸 出 語 句輸 出 結 果111 printf(%6dn,111); printf(% 6dn,111);111 printf(% + dn,111); +111 printf(%dn,111); 111 printf(%dn,111); 111 printf(%#on,10); 012
25、printf(%#xn,16);0 x10 Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C長度修飾符長度修飾符長度修飾符為長度修飾符為h h、l l兩種兩種h h表示按短整型(表示按短整型(shortshort)輸出,可加在格式符)輸出,可加在格式符d d、o o、x x、u u前面,如前面,如%hd%hd;l l表示按長整型(表示按長整型(longlong)輸出,如)輸出,如%ld%ld、%lx%lx等。等。l l也也可加在格式符可加在格式符f f前面,但沒有什么意義。前面,但沒有什么意義。例例3
26、.4 輸出函數(shù)輸出函數(shù)printf程序示例。程序示例。#include main() int a=15; float b=123.1234567; double c=12345678.1234567; char d=p; printf(a=%d,%5d,%o,%xn,a,a,a,a); printf(b=%f,%lf,%5.4lf,%en,b,b,b,b); printf(c=%lf,%f,%8.4lfn,c,c,c); printf(d=%c,%8cn,d,d); 運行結果如下:運行結果如下:a=15,15,17,fb=123.123459,123.123459,123.1235,1.231
27、235e+002c=12345678.123457,12345678.123457,12345678.1235d=p,pCopyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C調(diào)用調(diào)用printfprintf函數(shù)時的注意事項函數(shù)時的注意事項 如果格式控制字符串中的格式描述符少于輸出項的個數(shù),多余的輸出項不予輸出;如果格式控制字符串中的格式描述符多于輸出項的個數(shù),則對于多余的格式將輸出不定值(或0值)。(1)輸出表列中的各輸出項要用逗號隔開,輸出項可以是合法的常量、變量或表達式。格式控制字符串中的格式描述符與輸
28、出列表的輸出項在數(shù)量和類型上應該一一對應。例例 int a=3,b=4;int a=3,b=4; printf(“%d %dn”,a,b); printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); printf(“a=%d , b=%dn”,a,b);輸出結果輸出結果: 3 4: 3 4 a=3, b=4 a=3, b=4例例 int a=3,b=4; printf(%d %dn,a,b); printf(“a=%d , b=%dn”,a,b); 例例 int a=3,b=4; printf(%d %dn,a,b); printf(a=%d , b=
29、%dn,a); Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C調(diào)用調(diào)用printfprintf函數(shù)時的注意事項函數(shù)時的注意事項 (2)如果格式控制字符串中的格式描述符與對應的輸出項類型不匹配,將導致數(shù)據(jù)不能正確輸出,這時系統(tǒng)并不報錯例如:在輸出長整型數(shù)據(jù)時,應使用%ld格式說明,在VC 6.0中也可使用%d(因為int型和long型數(shù)據(jù)所占字節(jié)數(shù)相同),但如果使用%hd,將輸出錯誤的數(shù)據(jù)。例3.5 輸出函數(shù)printf程序示例。#include main() long a=80000; printf
30、(x=%hdn,a);運行結果:x=14464Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C調(diào)用調(diào)用printfprintf函數(shù)時的注意事項函數(shù)時的注意事項 (3)在格式控制字符串中,除了合法的格式說明外,可以包含任意的合法字符(包括轉義字符),這些字符在輸出時將原樣輸出。(4)如果需要輸出百分號%,則應該在格式控制字符串中用連續(xù)的百分號“%”來表示。(5)printf函數(shù)的返回值通常是本次調(diào)用中輸出項的個數(shù)。(6)盡量不要在輸出函數(shù)中改變輸出變量的值,因為在輸出時,先對輸出表列的各項求值,然后再輸
31、出。輸出順序是從左到右,而求值順序,有的編譯系統(tǒng)是從左到右,有的是從右到左,VC 6.0是按從右到左進行的。例例3.6 輸出函數(shù)輸出函數(shù)printf程序示例。程序示例。#include main() int i=8; printf(%dt%dn,i,+i);輸出結果為:9 9Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C格式輸入函數(shù)(格式輸入函數(shù)(scanf)格式格式: scanf(“: scanf(“格式控制串格式控制串”,地址表),地址表)功能:從終端設備(或系統(tǒng)默認的輸入設備)功能:從終端設備
32、(或系統(tǒng)默認的輸入設備)上輸入數(shù)據(jù)。上輸入數(shù)據(jù)。格式控制字符串的作用是指定輸入數(shù)據(jù)的格式,由格式控制字符串的作用是指定輸入數(shù)據(jù)的格式,由“%”“%”符號開始,其后是格式描述符。符號開始,其后是格式描述符。各輸入項只能是合法的地址表達式各輸入項只能是合法的地址表達式例例 scanf(“%d”,&a);scanf(“%d”,&a); 輸入:輸入:10 10 則則 a=10 a=10例例 scanf(“%x”,&a);scanf(“%x”,&a); 輸入:輸入:11 11 則則 a=17 a=17例例 scanf(%d%d,&a,&b);Copyright Henan Polytechnic Uni
33、versity 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C Cscanf函數(shù)中常用的格式說明函數(shù)中常用的格式說明scnaf格式字符格式字符 格 式 字 符說 明輸入有符號的十進制整數(shù)輸入有符號的十進制整數(shù) d,i o 輸入無符號的八進制整數(shù)輸入無符號的八進制整數(shù) x,X 輸入無符號的十六進制整數(shù)輸入無符號的十六進制整數(shù) u 輸入無符號的十進制整數(shù)輸入無符號的十進制整數(shù) f,e 輸入實型數(shù)(用小數(shù)形式或指數(shù)形式)輸入實型數(shù)(用小數(shù)形式或指數(shù)形式)c輸入單個字符輸入單個字符s 輸入字符串,結果存入字符數(shù)組中,輸入輸入字符串,結果存入字符數(shù)組中,輸入時以第一個非空白字符開始,以第一
34、個空時以第一個非空白字符開始,以第一個空白字符結束,白字符結束, 系統(tǒng)自動加上系統(tǒng)自動加上0作為字符串作為字符串結束標志結束標志%*輸入數(shù)據(jù)寬度長度修飾符格式字符Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C Cscanf函數(shù)中常用的格式說明函數(shù)中常用的格式說明“* *”符符表示讀入該輸入項后不賦予相應的變量,即跳過該表示讀入該輸入項后不賦予相應的變量,即跳過該輸入值。輸入值。數(shù)據(jù)寬度數(shù)據(jù)寬度用十進制整數(shù)指定輸入的寬度,即讀取輸入數(shù)據(jù)中用十進制整數(shù)指定輸入的寬度,即讀取輸入數(shù)據(jù)中相應位數(shù)賦給相應的變量,
35、舍棄多余部分。相應位數(shù)賦給相應的變量,舍棄多余部分。長度修飾符長度修飾符長度格式符為長度格式符為h h和和l l。在。在VCVC環(huán)境下,輸入環(huán)境下,輸入shortshort型整數(shù),型整數(shù),格式控制要求用格式控制要求用%hd%hd;輸入;輸入doubledouble型數(shù)據(jù),必須用型數(shù)據(jù),必須用%lf%lf或或%le%le。否則,數(shù)據(jù)可能不能正確輸入。但在。否則,數(shù)據(jù)可能不能正確輸入。但在VCVC中,中,%ld%ld與與%d%d一樣。一樣。10a, 30b12345a12a, 67bscanf(“%d%*d%d”,&a,&b); 輸入輸入 10 25 30 scanf(“%5d”,&a); 輸入輸
36、入12345678 scanf(“%2d %*3d %2d”,&a,&b); 輸入輸入12 345 67 1234a, 5678bscanf(%4d%4d,&a,&b); 輸入輸入12345678 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 輸入輸入19991015 1999yy, 10 mm, 15 ddCopyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C調(diào)用調(diào)用scanfscanf函數(shù)時的注意事項函數(shù)時的注意事項scanfscanf函數(shù)中的格式字符前可以用一個整數(shù)指定函數(shù)中的格式字
37、符前可以用一個整數(shù)指定輸入數(shù)據(jù)所占寬度,但不可以對實型數(shù)指定小輸入數(shù)據(jù)所占寬度,但不可以對實型數(shù)指定小數(shù)位的寬度。數(shù)位的寬度。scanf(%5.2f,&a); 非法的 scanfscanf中要求給出變量地址,如給出變量名則會中要求給出變量地址,如給出變量名則會出錯。出錯。scanf(%d,a);非法的 在輸入多個數(shù)值數(shù)據(jù)時,若格式控制字符串中在輸入多個數(shù)值數(shù)據(jù)時,若格式控制字符串中沒有非格式字符作為輸入數(shù)據(jù)之間的間隔,則沒有非格式字符作為輸入數(shù)據(jù)之間的間隔,則可用可用空格空格、TabTab或或回車回車作為間隔。作為間隔。程序在運行時碰到空格、程序在運行時碰到空格、Tab鍵、回車或非法鍵、回車或
38、非法數(shù)據(jù)時即認為該數(shù)據(jù)結束。數(shù)據(jù)時即認為該數(shù)據(jù)結束。 對對%d輸入輸入“12A”時,時,A即為非法數(shù)即為非法數(shù)據(jù)據(jù)Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C輸入分隔符的指定輸入分隔符的指定一般以空格、一般以空格、TABTAB或回車鍵作為分隔符或回車鍵作為分隔符其它字符做分隔符:格式串中兩個格式符間字符其它字符做分隔符:格式串中兩個格式符間字符例例 scanf(“%d%o%x”,&a,&b,&c); scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%dn
39、”,a,b,c);printf(“a=%d,b=%d,c=%dn”,a,b,c); 輸入輸入 123 123 123 123 123 123 輸出輸出 a=123,b=83,c=291 a=123,b=83,c=291例例 scanf(“%d:%d:%d”,&h,&m,&s); scanf(“%d:%d:%d”,&h,&m,&s); 輸入輸入 12:30:45 12:30:45 則則12 12 h, 30 h, 30 m, 45 m, 45 s s例例 scanf(“%d,%d”,&a,&b)scanf(“%d,%d”,&a,&b) 輸入輸入 3,4 3,4 則則3 3a, 4 a, 4 b
40、b例例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c)scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); ; 輸入輸入 a=12,b=24,c=36 a=12,b=24,c=36 Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C說明:說明:用用“%c”“%c”格式符時,空格和轉義字符作為有效字符格式符時,空格和轉義字符作為有效字符輸入輸入如如 scanf(“%c%c%c”,&c1,&c2,&cscanf(“%c%c%c”,&c1,&c2,&c3);3); 若輸入若輸入
41、a a b b c c 則則a ac1, c1, c2, b c2, b c3c3輸入數(shù)據(jù)時,遇以下情況認為該數(shù)據(jù)結束:輸入數(shù)據(jù)時,遇以下情況認為該數(shù)據(jù)結束:遇空格、遇空格、TABTAB、或回車、或回車遇寬度結束遇寬度結束遇非法輸入遇非法輸入如如 scanf(“%d%c%f”,&a,&b,&c); scanf(“%d%c%f”,&a,&b,&c); 若輸入若輸入1234a123o.26 1234a123o.26 則則 1234 1234 a, a a, a b, 123 b, 123 c c輸入函數(shù)留下的輸入函數(shù)留下的“垃圾垃圾”:例例 int x;int x; char ch; char c
42、h; scanf(“%d”,&x); scanf(“%d”,&x); ch=getchar(); ch=getchar(); printf(“x=%d,ch=%dn”,x,ch); printf(“x=%d,ch=%dn”,x,ch);執(zhí)行:執(zhí)行:123123 輸出:輸出:x=123,ch=10 x=123,ch=10例例 int x;int x; char ch; char ch; scanf(“%d”,&x); scanf(“%d”,&x); scanf(“%c”,&ch); scanf(“%c”,&ch); printf(“x=%d,ch=%dn”,x,ch); printf(“x=%d
43、,ch=%dn”,x,ch);執(zhí)行:執(zhí)行:123123 輸出:輸出:x=123,ch=10 x=123,ch=10解決方法:解決方法:(1 1)用)用getchar()getchar()清除清除(2 2)用函數(shù))用函數(shù)fflush(stdin)fflush(stdin)清除全部剩余內(nèi)容清除全部剩余內(nèi)容(3 3) 用格式串中空格或用格式串中空格或“%“%* *c”c”來來“吃掉吃掉”例例 int x;int x; char ch; char ch; scanf(“%d”,&x); scanf(“%d”,&x); scanf(“ %c”,&ch); scanf(“ %c”,&ch);或或 scan
44、f(“%scanf(“%* *c%c”,&ch);c%c”,&ch); Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C例例 scanf(“%3c%2c”,&c1,&c2);scanf(“%3c%2c”,&c1,&c2); 輸入輸入 abcde abcde 在輸入字符數(shù)據(jù)時,若格式控制字符串中沒有在輸入字符數(shù)據(jù)時,若格式控制字符串中沒有非格式字符,則認為所有輸入的字符均為有效非格式字符,則認為所有輸入的字符均為有效字符。字符。調(diào)用調(diào)用scanfscanf函數(shù)時的注意事項函數(shù)時的注意事項scanf(%c
45、%c%c,&a,&b,&c); 輸入輸入def “d” a , “”b, “e” cscanf(%c%c%c,&a,&b,&c); 輸入輸入def “d” a , “e”b, “f” c例例 scanf(“%3d% scanf(“%3d%* *4d%f”,&k,&f);4d%f”,&k,&f); 輸入輸入 12345678765.43 12345678765.43 123k, 8765.43f ac1, d c2調(diào)用調(diào)用scanfscanf函數(shù)時,應當注意變量類型與格式字函數(shù)時,應當注意變量類型與格式字符保持一致,否則雖然編譯能夠通過,但結果符保持一致,否則雖然編譯能夠通過,但結果將不正確。將
46、不正確。例例3.7 輸入函數(shù)輸入函數(shù)scanf程序示例。程序示例。#include main() long i; double f; scanf(%hd%f,&i,&f); printf(%dt%gn,i,f);運行情況如下:1111111111 123-859032121 -9.25596e+061Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C Cscanfscanf函數(shù)也有一個返回值,這個返回值就是成函數(shù)也有一個返回值,這個返回值就是成功輸入的項數(shù)。功輸入的項數(shù)。調(diào)用調(diào)用scanfscanf函數(shù)時的
47、注意事項函數(shù)時的注意事項調(diào)用調(diào)用scanfscanf函數(shù)時,應當注意變量類型與格式字函數(shù)時,應當注意變量類型與格式字符保持一致,否則雖然編譯能夠通過,但結果符保持一致,否則雖然編譯能夠通過,但結果將不正確。將不正確。例例3.8 輸入函數(shù)輸入函數(shù)scanf的返回值。的返回值。#include main() int x,y; printf(%dn,scanf(%d%d,&x,&y);運行結果運行結果:4554 2例例3.9 輸入函數(shù)輸入函數(shù)scanf程序示例。程序示例。#include main() int a,b,c,d; scanf(%d%d,&a,&b); printf(a=%d,b=%dn
48、, a,b); scanf(%d%d,&c,&d); printf(c=%d,d=%d,c,d);運行結果運行結果:45542389 a=45,b=54c=23,d=89Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C3.13.23.33.4C語言語句概述語言語句概述字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出格式化輸入輸出函數(shù)格式化輸入輸出函數(shù)順序結構程序設計舉例順序結構程序設計舉例本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 3 3 章章順順序序結結構構程程序序設設計計C C例例 輸入圓半徑,輸出圓周長和面積。輸入圓半徑,輸出圓周長和面積。運行情況如下:運行情況如下:5 l=31.4159 s=78.539722rsrl文件包含預處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)3.4 3.4 順序結構程序設計舉例順序結構程序設計舉例Copyright
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公司車輛借用管理協(xié)議
- 2025年企業(yè)并購雙方股權策劃合同樣本
- 2025年產(chǎn)品銷售代表合同范本
- 2025年多功能會議室租賃合同樣本
- 2025年企業(yè)人力資源部門員工雇傭協(xié)議
- 2025年個人租賃協(xié)議范本
- 2025年熱固化油墨項目規(guī)劃申請報告
- 2025年應用軟件設計服務項目立項申請報告模范
- 2025年電力系統(tǒng)安全策劃生產(chǎn)責任協(xié)議書
- 2025年金融機構信用借貸合同范文
- 2020年中秋國慶假日文化旅游市場安全生產(chǎn)檢查表
- 03J111-1 輕鋼龍骨內(nèi)隔墻
- 人教版高中數(shù)學選擇性必修二導學案
- 昆明天大礦業(yè)有限公司尋甸縣金源磷礦老廠箐-小凹子礦段(擬設)采礦權出讓收益評估報告
- 心有榜樣行有力量 -從冬奧冠軍徐夢桃身上感受青春奮斗初中主題班會
- GB/T 3860-1995文獻敘詞標引規(guī)則
- 七年級英語下冊閱讀理解10篇
- 設計質(zhì)量、進度保證措施
- 醫(yī)院評審工作臨床科室資料盒目錄(15個盒子)
- Unit2 School life - 復習課課件 牛津譯林版英語八年級上冊
- 中醫(yī)腰痛病個案護理
評論
0/150
提交評論