C程序設計第04章簡單程序課件_第1頁
C程序設計第04章簡單程序課件_第2頁
C程序設計第04章簡單程序課件_第3頁
C程序設計第04章簡單程序課件_第4頁
C程序設計第04章簡單程序課件_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第四章

主要內容4.1C語句概述4.2賦值語句4.3數據輸入輸出的概念及在c語言中的實現4.4字符數據的輸入輸出4.5格式輸入與輸出4.6順序結構程序設計舉例

§4.1C語句概述C程序源程序文件1源程序文件2源程序文件n預處理命令函數n函數1數據聲明函數首部函數體數據聲明執行語句

§4.1C語句概述(續)一個c程序可以有若干個源程序文件組成一個源文件可以有若干個函數和預處理命令以及全局變量聲明部分組成一個函數有函數首部和函數體組成函數體由數據聲明和執行語句組成C語句分為5類控制語句函數調用語句表達式語句空語句復合語句

§4.1C語句概述(續)(一)控制語句完成一定的控制功能 1if()~else條件語句6break間斷語句 2for()~循環語句7switch()開關語句 3while()~循環語句8goto轉向語句 4do~while();循環語句9return返回語句 5continue繼續語句§4.1C語句概述(續)(二)函數調用語句有一個函數調用加一個分號構成一個語句

Printf(“ThisisaCstatement.”);例:§4.1C語句概述(續)(三)表達式語句有一個表達式加一個分號構成一個語句

a=3;例:分號賦值表達式表達式語句+=

§4.1C語句概述(續)(四)空語句只有一個分號的語句

(什么也不做)用來做流程的轉向點用來作為循環語句中的循環體;§4.1C語句概述(續)(五)復合語句用一對{}括起來的語句

{ z=x+y; t=z/100; printf(“%f”,t); }例:§4.2賦值語句賦值語句是由賦值表達式加上一個分號構成例:a=100賦值表達式

a=100;賦值語句條件中不能含有賦值符號,但是賦值表達式可以包含于條件表達式中例:if(a=b)t=a;錯誤

if((a=b)>0)t=a;正確§4.2賦值語句(續)1:C語言中的賦值號“=”是一個運算符,在其他大多數語言中賦值號不是運算符.2:其他大多數高級語言沒有“賦值表達式”這一概念.問題:c語言中的賦值語句于其他高級語言的賦值語句有什么不同點?§4.3數據輸入輸出的概念及在C語言中的實現(一).所謂輸入輸出是以計算機主機為主體而言的輸出:從計算機向外部輸出設備(顯示器,打印機)輸出數據輸入:從輸入設備(鍵盤,鼠標,掃描儀)向計算機輸入數據.§4.3數據輸入輸出的概念及在C語言中的實現(二).C語言本身不提供輸入輸出語句,輸入和輸出操作是由C函數庫中的函數來實現的例如:字符輸入函數:getchar字符輸出函數:putchar格式輸入函數:scanf格式輸出函數:printf字符串輸入函數:gets字符串輸出函數:puts§4.3數據輸入輸出的概念及在C語言中的實現(三).在使用系統庫函數時,要用預編譯命令“#include”將有關的“頭文件”包括到用戶源文件中.例如:在調用標準輸入輸出庫函數時,文件開頭應該有:#include“stdio.h”或:#include<stdio.h>頭文件§4.4字符數據的輸入輸出(一).字符輸出函數一般形式:putchar(c)

函數作用:向終端輸出一個字符

字符型變量整型變量§4.4字符數據的輸入輸出(續)例4.1輸出單個字符。

#include<stdio.h>

voidmain()

{

chara,b,c;

a=‘B’;b=‘O’;c=‘Y’;

putchar(a);putchar(b);putchar(c);putchar(‘\n’);

}

運行結果:BOYputchar(a);putchar(‘\n’);putchar(b);putchar(‘\n’);putchar(c);putchar(‘\n’);運行結果:BOY§4.4字符數據的輸入輸出(續)(二).字符輸入函數一般形式:getchar()

函數作用:從終端(或系統隱含指定的輸入設備)輸入一個字符。函數值:從輸入設備得到的字符。§4.4字符數據的輸入輸出(續)例4.2輸入單個字符。

#include<stdio.h>

voidmain()

{

charc;

c=getchar();

putchar(c);

putchar(‘\n’);

}

運行程序:

從鍵盤輸入字符‘a’

按Enter鍵

屏幕上將顯示輸出的字符‘a’

a

a§4.5格式輸入與輸出(一).格式輸出函數函數作用:向終端(或系統隱含指定的輸出設備)輸出若干個任意類型的數據。一般格式:printf(格式控制,輸出表列)%d:以帶符號的十進制形式輸出整數%o:以八進制無符號形式輸出整數%x:以十六進制無符號形式輸出整數Tobecontinued……§4.5格式輸入與輸出(續)%u:以無符號十進制形式輸出整數%c:以字符形式輸出,只輸出一個字符%s:輸出字符串%f:以小數形式輸出單,雙精度數,隱含輸出六位小數%e:以指數形式輸出實數%g:選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0§4.5格式輸入與輸出(續)幾種常見的格式符的修飾符:L:用于長整型整數,可加在格式符d,o,x,u前面M(代表一個正整數):數據最小寬度N(代表一個正整數):對實數,表示輸出n位小數;對字符串,表示截取的字符個數—:輸出的數字或字符在域內向左靠§4.5格式輸入與輸出(續)d格式符。用來輸出十進制整數。幾種用法:①%d:按十進制整型數據的實際長度輸出。②%md:m為指定的輸出字段的寬度。如果數據的位數小于m,則左端補以空格,若大于m,則按實際位數輸出。例:

printf(″%4d,%4d″,a,b);

若a=123,d=12345,則輸出結果為123,12345③%ld:輸出長整型數據。

例:

longa=135790;/*定義a為長整型變量*/

printf(″%ld″,a);§4.5格式輸入與輸出(續)例4.4字符數據的輸出。

#include<stdio.h>

voidmain()

{

charc=‘a’;

inti=97;

printf(“%c,%d\n”,c,c);

printf(“%c,%d\n”,i,i);

}

運行結果:

a,97

a,97指定輸出字數的寬度,

printf(“%3c”,c);

則輸出:

a§4.5格式輸入與輸出(續)(6)s格式符輸出字符串.①%s。例如:printf(″%s″,″CHINA″)輸出字符串“CHINA”(不包括雙引號)。②%ms,輸出的字符串占m列,若串長大于m,則全部輸出,若串長小于m,則左補空格。③%-ms,若串長小于m,字符串向左靠,右補空格。④%m.ns,輸出占m列,只取字符串中左端n個字符,輸出在m列的右側,左補空格。⑤%-m.ns,n個字符輸出在m列的左側,右補空格,若n〉m,m自動取n值。§4.5格式輸入與輸出(續)例4.6輸出實數時的有效位數。

#include<stdio.h>

voidmain()

{floatx,y;

x=111111.111;y=222222.222;

printf(″%f″,x+y);

運行結果:

333333.328125

§4.5格式輸入與輸出(續)例4.8輸出實數時指定小數位數。

#include<stdio.h>

voidmain()

{

floatf=123.456;

printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f);

運行結果:

123.455994123.455994123.46123.46123.46

§4.5格式輸入與輸出(續)(8)e格式符,以指數形式輸出實數。可用以下形式:①%e。不指定輸出數據所占的寬度和數字部分的小數位數.例:printf(″%e″,123.456);輸出:1.234560

e+0026列5列所輸出的實數共占13列寬度。(注:不同系統的規定略有不同)

§4.5格式輸入與輸出(續)說明:可以在printf函數中的“格式控制”字符串中包含轉義字符。一個格式說明必須以“%”開頭。想輸出%,則應該在格式控制字符串中用連續兩個%表示§4.5格式輸入與輸出(續)(一).格式輸入函數函數作用:按照變量在內存的地址將變量值存進去。一般格式:scanf(格式控制,地址表列)同printf函數是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址§4.5格式輸入與輸出(續)例4.9用scanf函數輸入數據。

#include<stdio.h>

voidmain()

{

inta,b,c;

scanf(“%d%d%d”,&a,&b,&c);

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

}

運行情況:

345(輸入a,b,c的值)

3,4,5(輸出a,b,c的值)a在內存中的地址&是地址運算符§4.5格式輸入與輸出(續)

使用scanf函數時應注意的問題:(1)scanf函數中的“格式控制”后面應當是變量地址,而不應是變量名。(2)如果在“格式控制”字符串中除了格式說明以外還有其他字符,則在輸入數據時在對應位置應輸入與這些字符相同的字符。(3)在用“%c”格式輸入字符時,空格字符和“轉義字符”都作為有效字符輸入(4)在輸入數據時,遇以下情況時認為該數據結束。①遇空格,或按“回車”或“跳格”(Tab)鍵;②按指定的寬度結束,如“%3d”,只取3列;③遇非法輸入。§4.6順序結構程序設計舉例例4.10輸入三角形的三邊長,求三角形面積。假設:三個邊長a,b,c能構成三角形。已知面積公式:area=s=(a+b+c)*0.5開始輸入三邊長計算s計算面積結束§4.6順序結構程序設計舉例(續)#include<stdio.h>

#include<math.h>

voidmain()

{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);}

數學函數庫因為要用到其中的sqrt函數運行情況:

3,4,6

a=3.00,b=4.00,c=6.00,s=6.50

area=5.33§4.6順序結構程序設計舉例(續)例4.11從鍵盤輸入一個大寫

溫馨提示

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

評論

0/150

提交評論