第4章順序結構-C語言程序設計(譚浩強第三版)_第1頁
第4章順序結構-C語言程序設計(譚浩強第三版)_第2頁
第4章順序結構-C語言程序設計(譚浩強第三版)_第3頁
第4章順序結構-C語言程序設計(譚浩強第三版)_第4頁
第4章順序結構-C語言程序設計(譚浩強第三版)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1第4章簡單的c程序設計c語句概述賦值語句數據的輸出

數據的輸入程序舉例24.1

c語句概述34.1

c語句概述5類控制語句函數調用語句表達式語句空語句復合語句4

(1)控制語句??刂普Z句用于完成一定的控制功能。C只有9種控制語句:

if()…else… for()… while()… do…while() continue break switch goto return(2)函數調用語句。函數調用語句由一個函數調用加一個分號構成。Printf(“ThisisaCstatement.”);

(3)表達式語句。表達式語句由一個表達式加一個分號構成。

(4)空語句:;。

(5)復合語句??梢杂脅}把一些語句括起來成為復合語句。5

賦值語句是由賦值表達式加上一個分號構成例:a=100賦值表達式

a=100;賦值語句4.2

賦值語句64.3

數據輸入輸出的概念及在C語言中的實現(一).所謂輸入輸出是以計算機主機為主體而言的輸出:從計算機向外部輸出設備(顯示器,打印機)輸出數據輸入:從輸入設備(鍵盤,鼠標,掃描儀)向計算機輸入數據.(二).C語言本身不提供輸入輸出語句,輸入和輸出操作是由C函數庫中的函數來實現的例如:字符輸入函數:getchar字符輸出函數:putchar格式輸入函數:scanf格式輸出函數:printf字符串輸入函數:gets字數串輸出函數:puts(三).在使用系統庫函數時,要用預編譯命令“#include”將有關的“頭文件”包括到用戶源文件中.例如:在調用標準輸入輸出庫函數時,文件開頭應該有:

#include“stdio.h”先從當前目錄,再庫文件所在目錄或:

#include<stdio.h>74.4

數據的輸出

數據輸出:是指把計算機內存中的數據送到外部設備上去的操作。默認的輸入設備是鍵盤,默認的輸出設備是顯示器。C語言沒有輸入/輸出語句。I/O操作通過系統函數實現。介紹兩個輸出函數:

printf():按指定格式向終端(顯示器)輸出若干個任意類型的數據。

putchar():向終端(顯示器)輸出一個字符。

8格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數據返值:正常,返回輸出字節數;出錯,返回EOF(-1)

輸出表:要輸出的數據(可以沒有,多個時以“,”分隔)

格式控制串:包含兩種信息1、格式說明%[修飾符]格式字符

,用于指定輸出格式,將數據轉換為指定的格式輸出.如:%d、%f2、普通字符或轉義序列:將被原樣輸出的字符(包括轉義字符).

printf(“%d%d”,a,b);

格式說明輸出表列

printf(“a=%db=%d\n”,a,b);

普通字符一、格式輸出函數:9完整格式說明為:printf函數%格式說明起始符—0m.nl或h格式字符指定輸出類型輸出長度修正指定輸出寬度及精度指定空位填0指定左對齊輸出10d,ix,Xoucse,Efg%%格式字符:十六進制無符號整數不帶符號十進制整數十進制整數指數形式浮點小數單一字符字符串八進制無符號整數小數形式浮點小數e和f中較短一種百分號本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%說明 格式字符要用小寫格式字符與輸出項個數應相同,按先后順序一一對應輸出轉換:格式字符與輸出項類型不一致,自動按指定格式輸出例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);輸出結果:34

a=3,b=4例main(){unsignedintu=65535;printf(”u=%d\n",u);}輸出結果:u=-11111111111111165535%—0m.nl或h

格式字符11.n對實數,指定小數點后位數(四舍五入)對字符串,指定實際輸出位數修飾符功能m輸出數據域寬,數據長度<m,左補空格;否則按實際輸出輸出數據在域內左對齊(缺省右對齊)-指定在有符號數的正數前顯示正號(+)+輸出數值時指定左面不使用的空位置自動填00在八進制和十六進制數前顯示前導0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l%—0m.nl或h

格式字符附加格式說明符(修飾符)12例整型、字符、實型字符串的輸出。inta=1234;floatf=123.456;charch=‘a’;printf(“%8d,%-8d,%2d\n”,a,a,a);printf(“%f,%10f,%10.1f,-%10.1,%.2f,%.2e\n”,f,f,f,f,f,f);printf(“%3c\n”,ch);運行結果:

1234,1234,1234123.456000,123.456000,123.5,123.5,123.46,1.23e+02a例m.n-13運行結果:

CHINA,CH,CHIN,CHI例字符串的輸出。

#include<stdio.h>

voidmain()

{

printf(“%3s,%7.2s,%.4s,%-5.3s\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);

}

14printf函數注意:除X、G、E外,其余格式字符必須小寫。15二、字符輸出函數

putchar()結果:AA例1:#include“stdio.h”main(){charc1,c2;c1=‘A’;c2=65;

putchar(c1);putchar(c2);}例2:輸出控制字符、轉義字符。#include“stdio.h”main(){putchar(‘\101’);putchar(‘\n’);putchar(‘\\’);}結果:A

\格式:putchar(c)參數:c為字符常量、變量或表達式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為EOF(-1)164.5

數據的輸入

數據輸入:是指從計算機的外部設備上將數據送入內存的操作。介紹兩個輸入函數:scanf():按指定格式從鍵盤讀入數據給變量,存入地址表指定的存儲單元中。getchar():從鍵盤輸入一個字符。17一、格式化輸入函數

scanf()

格式:scanf(“格式控制字符串”,地址表列)功能:按指定格式從鍵盤讀入數據。格式字符串、普通字符內存地址,可以是變量的地址、數組元素的地址等。

形式為:%[*mhl]格式字符

d,i,o,x(X),u,c,s,f,e(E),g(G)18常用:

%d——int型變量的地址%ld——long型變量的地址%f——float型變量的地址%lf——double型變量的地址%c——char型變量的地址%s——char型數組名一、格式化輸入函數

scanf()

19例scanf(“%4d%2d%2d”,&yy,&mm,&dd);

輸入19991015

則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);

輸入12345678765.43則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);

輸入1234567則12a,67b附加格式說明符(修飾符)修飾符功能*表示本輸入項在輸入后不賦給相應的變量數字m指定輸入數據寬度,遇空格或不可轉換字符則結束

h用于d,i,o,x,u前,指定輸入為short型整數

l用于d,i,o,x,u前,指定輸入為long型整數;用于e,f,g前,指定輸入為double型實數

L用于e,f,g前,指定輸入為longdouble型實數20一、格式化輸入函數

scanf()

輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符

其它字符做分隔符:格式串中兩個格式符間字符例scanf(“%d%o%x”,&a,&b,&c);輸入123123123例scanf(“%d:%d:%d”,&h,&m,&s);輸入12:30:45則12h,30m,45s例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);輸入a=12,b=24,c=3621當一行內輸入的數據個數小于格式字符串的個數時,光標會出現在下一行,等待用戶繼續輸入。當一行內輸入的數據個數大于格式字符串的個數,會把多于的數據留給后面的scanf函數使用。一、格式化輸入函數

scanf()

例scanf(“%7.2f”,&a);是不合法的說明:輸入數值時不能規定精度22一、格式化輸入函數

scanf()

用“%c”格式符時,空格和轉義字符作為有效字符輸入。

可以指定字符寬度例如scanf(“%c%c%c”,&c1,&c2,&c3);若輸入abc則ac1,

c2,bc3例如scanf(“%3c%2c”,&c1,&c2);若輸入

abcde

則‘a’c1,‘d’c223一、格式化輸入函數

scanf()

輸入數據時,遇以下情況認為該數據結束:

遇空格、TAB、或回車

遇寬度結束

遇非法輸入例如scanf(“%d%c%f”,&a,&b,&c);若輸入1234a123o.26則1234a,‘a’b,123

c24例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);執行:123輸出:x=123,ch=10例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);執行:123輸出:x=123,ch=10注意:輸入函數留下的“垃圾”(略)25二、字符輸入函數

getchar()注意:(1)getchar()

只接受一個字符。輸入多個字符時,多余字符作廢。(按回車后才開始接收字符)(2)用getchar()得到的字符可以賦給字符型變量、整形變量或作為表達式的一部分。如c=getchar()+32;putchar(c);若輸入是:A則輸出是:a(3)使用getchar()、putchar()時,在程序的開頭要有:

#include<stdio.h>或#include“stdio.h”格式:getchar()功能:從鍵盤緩沖區讀入一個字符。函數值:從輸入設備得到的字符。26例:#include<stdio.h>main(){intc;printf(“Enteracharacter:”);c=getchar();printf(“%c:%d\n”,c,c);}Enteracharacter:aa:97二、字符輸入函數

getchar()274.6

順序程序設計舉例順序結構程序設計主要過程——定義變量,輸入或賦值,計算,輸出結果28#include<math.h>#include<stdio.h>main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);printf("area=%7.2f\n",area);}例1輸入三角形邊長,求面積輸入:3,4,6輸出:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論