程序設計初步 課件_第1頁
程序設計初步 課件_第2頁
程序設計初步 課件_第3頁
程序設計初步 課件_第4頁
程序設計初步 課件_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第1頁第3章程序設計初步本章概述本章的學習目標主要內容第1頁第3章程序設計初步本章概述第2頁本章概述本章主要介紹以下內容:常用的輸入輸出函數簡單順序結構程序設計舉例第2頁本章概述本章主要介紹以下內容:第3頁本章的學習目標本章教學目的:

掌握賦值語句的使用方法,掌握putchar、getchar、printf、scanf函數的使用方法,能編寫簡單的程序。本章教學重點:printf、scanf函數的使用方法本章教學難點:printf、scanf函數的使用方法第3頁本章的學習目標本章教學目的:第4頁主要內容3.1C語句概述3.2順序結構程序設計3.3數據的輸入與輸出3.4程序設計舉例第4頁主要內容3.1C語句概述第5頁3.1C語句概述3.1.1C語句的種類

在C程序中,共有如下五種C語句組成:1.表達式語句由一個表達式的后面加上一個分號構成的語句2.函數調用語句由函數名、實際參數加上“;”組成。其一般形式為:“函數名(實際參數表);”。第5頁3.1C語句概述3.1.1C語句的種類第6頁3.控制語句控制語句用于控制程序的流程,以實現程序的各種結構方式。它們由特定的語句定義符組成。C語言有九種控制語句。可分成以下三類:(1)條件判斷語句:if語句、switch語句(2)循環執行語句:dowhile語句、while語句、for語句(3)轉向語句:break語句、continue語句、goto語句、return語句

4.復合語句把多個語句用括號{}括起來組成的語句稱為復合語句。在程序中應把復合語句看成是單條語句,而不是多條語句,例如5.空語句只有“;”組成的語句稱為空語句第6頁3.控制語句第7頁3.1C語句概述3.1.2C程序的賦值語句說明:1.由于在賦值符“=”右邊的表達式可以是另一個賦值表達式,因此,下述形式“變量=(變量=表達式);”是成立的,從而形成嵌套的形式。其展開之后的一般形式為:“變量=變量=…=表達式;”2.注意在變量說明中給變量賦初值和賦值語句的區別。給變量賦初值是變量說明的一部分,賦初值后的變量與其后的其它同類型變量之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。

第7頁3.1C語句概述3.1.2C程序的賦值語句第8頁3.1C語句概述3.在變量說明中,不允許連續給多個變量賦初值。如下述說明是錯誤的:“inta=b=c=5;”,必須寫成“inta=5,b=5,c=5;”,而賦值語句允許連續賦值。4.注意賦值表達式和賦值語句的區別,賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。語句“if((x=y+5)>0)z=x;”是合法的,它的功能是,若表達式“x=y+5”大于0則z=x。語句“if((x=y+5;)>0)z=x;”是非法的,因為“x=y+5;”是語句,不能出現在表達式中。第8頁3.1C語句概述3.在變量說明中,不允許連續給多個第9頁3.2順序結構程序設計通常,結構化程序設計包括下列三種基本結構,即順序結構、選擇結構和循環結構。它們的結構流程圖如下圖所示:第9頁3.2順序結構程序設計通常,結構化程序設計包括下第10頁例3.1已知長方形的長和寬,計算其周長和面積。流程圖如圖3.2所示,程序如下。#include<stdio.h>intmain(){floatx,y,c,area;printf("輸入長和寬:");scanf("%f,%f",&x,&y);c=2*(x+y);area=x*y;printf("周長是:%f\n",c);printf("面積是:%f\n",area);return0;}運行情況如下:輸入長和寬:3.0,4.0↙周長是:14.000000面積是:12.000000圖3.2計算周長和面積的流程圖第10頁例3.1已知長方形的長和寬,計算其周長和面積。流第11頁3.3數據的輸入與輸出在C語言中,所有的數據輸入/輸出都是由庫函數完成的,因此都是函數調用語句。本節主要介紹常用的格式輸出函數printf()、格式輸入函數scanf()及字符輸入函數getchar()、getch()和字符輸出函數putchar()。

第11頁3.3數據的輸入與輸出在C語言中,所有的數據輸第12頁3.3數據的輸入與輸出3.3.1printf函數

1.printf()函數的一般形式

printf函數的調用格式為:

printf(“格式控制串”,輸出表列);“格式控制串”用于指定輸出格式。它必須用雙引號括起來,由格式說明符、普通字符和轉義字符組成。第12頁3.3數據的輸入與輸出3.3.1print第13頁3.3數據的輸入與輸出例3.2寫出下面程序的輸出結果。程序代碼如下:#include<stdio.h>intmain(){inta=65,b=97;printf("%d%d\n",a,b);printf("%d,%d\n",a,b);printf("%c,%c\n",a,b);printf("a=%d,b=%d",a,b);return0;}程序的輸出結果如下:659765,97A,aa=65,b=97第13頁3.3數據的輸入與輸出例3.2寫出下面程序第14頁3.3數據的輸入與輸出2.printf函數格式說明(1)

整型數據輸出的格式字符整型的輸出形式有四種:帶符號的十進制整型形式、無符號的十進制整型形式、無符號的十六進制形式和無符號的八進制形式。分別使用格式字符d、u、x或X和o。其中x表示以小寫形式輸出十六進的a~f,X表示以大寫形式輸出。(2)

字符型數據輸出的格式字符在輸出字符型數據時,若要輸出一個字符,則使用格式字符c;若要輸出一串字符,則要使用格式字符s。

第14頁3.3數據的輸入與輸出2.printf函數格第15頁3.3數據的輸入與輸出(3)

實型數據輸出的格式字符實型數據輸出的格式字符有f、e或E、g或G幾種方式。其中格式字符f表示以小數形式輸出實數;格式字符e或E表示以指數形式輸出實數;格式字符g或G表示輸出時自動選擇使用格式字符f或e。第15頁3.3數據的輸入與輸出(3)

實型數據輸第16頁例3.3寫出下面程序的輸出結果。#include<stdio.h>intmain(){inta,b;charc;floats1,s2,sum;a=65;b=-3;s1=123.4;s2=56.75;sum=s1+s2;c='A';printf("%d%c%d%o%f%c%d",a,a,b,b,sum,c,c);return0;}程序運行結果如下:65A–3177775180.150002A65第16頁例3.3寫出下面程序的輸出結果。第17頁3.3數據的輸入與輸出3.轉義字符在printf()函數中,也可以使用轉義字符(在第二章中已經介紹),轉義字符是一個以“\”開頭的字符序列。在表2.2中已列出常用的轉義字符。4.修飾字符在printf()函數中,所有的輸出格式都是以“%”開始,再接一組有意義的字母。若想使數據按固定的字段長度輸出,可以在“%”后面加上輸出長度的數值。如“%3d”,表示輸出十進制整數時,長度共占3列;“%6.3f”則表示輸出浮點數時,長度包括小數點共有6列,小數點前占2列,小數占3列。第17頁3.3數據的輸入與輸出3.轉義字符第18頁例3.4寫出如下程序的執行結果。#include<stdio.h>intmain(){printf("\"whatdoyoulike?\"");return0;}程序輸出結果如下:"Whatdoyoulike?"第18頁例3.4寫出如下程序的執行結果。第19頁printf()函數的修飾符第19頁printf()函數的修飾符第20頁例3.5寫出下面程序的輸出結果。#include<stdio.h>intmain(){inti=56,j=13;floatf=12.3456;printf("i=%-4d",i);printf("j=%4d\n",j);printf("f=%6.2f\n",f);return0;}輸出結果如下:i=56j=13f=12.35第20頁例3.5寫出下面程序的輸出結果。#include第21頁例3.6寫出下面程序的輸出結果。#include<stdio.h>intmain(){inta=2,b=8;floatx=123.4567,y=-567.123;charc='A';longd=1234567;unsignedlonge=65535;printf("%3d%3d\n",a,b);printf("%-12f,%-12f\n",x,y);printf("%7.2f,%7.2f\n",x,y);printf("%e,%10.2e\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%lx\n",d,d,d);printf("%u,%o,%x\n",e,e,e);printf("%s,%5.3s\n","computer","computer");return0;}程序的運行結果如下:

28123.456703,–567.122986

(計算機表示實數不精確,

所以顯示結果有誤差)123.46,-567.12

(列寬為7,小數點后取兩位)1.234567e+002,-5.67e+002A,65,101,411234567,4553207,12d68765535,177777,ffffcomputer,com

(按%5.3s格式輸出“computer”,取“computer”前3個字符,列寬為5)第21頁例3.6寫出下面程序的輸出結果。#include第22頁3.3數據的輸入與輸出3.3.2scanf函數格式輸入函數scanf()的作用是在終端設備上,以指定的格式輸入一個或多個任意類型的數據。第22頁3.3數據的輸入與輸出3.3.2scanf第23頁3.3數據的輸入與輸出1.scanf()函數的一般格式scanf()函數的調用格式scanf(“格式控制串”,&變量1,&變量2,…);“格式控制串”用于指定輸入格式,它必須用雙引號括起來,由格式說明符、普通字符組成。格式說明符由%和格式字符組成,用于說明輸入數據的格式。如“%d”表示按十進制整型輸入,“%c”表示按字符型輸入。普通字符是指在輸入數據時按原樣輸入的字符。而“&變量1”、“&變量2”等則是當用戶由鍵盤上輸入數據并按下回車鍵后,數據內容就會傳送到相應變量的內存單元中。使用scanf()函數時要注意的是,在變量名前面必須加上地址運算符“&第23頁3.3數據的輸入與輸出1.scanf()函數的一第24頁3.3數據的輸入與輸出例3.7

由鍵盤輸入兩個整數并求其平均值及總和。#include<stdio.h>intmain(){inta,b;scanf(“%d%d”,&a,&b);/*由鍵盤輸入兩個數并賦給變量a、b*/printf(“a+b=%d\n”,a+b);/*計算總和并輸出內容*/printf(“(a+b)/2=%1f\n”,(float)(a+b)/2);/*輸出平均值*/return0;}第24頁3.3數據的輸入與輸出例3.7由鍵盤輸入兩個整第25頁3.3數據的輸入與輸出第25頁3.3數據的輸入與輸出第26頁3.3數據的輸入與輸出3.使用scanf()函數必須注意的問題(1)在scanf()函數“格式控制串”部分中的每個格式說明符,都必須有一個變量與之對應。而且,格式說明符必須要與相應變量的類型一致。(2)scanf()中要求給出變量地址,如只給出變量名則會出錯。如語句“scanf(“%d”,a);”是非法的,應改為“scanf(“%d”,&a);”才是合法的。(3)當格式說明符之間沒有任何字符時,在輸入數據時,兩個數據之間使用“空格”、“tab”或“回車”鍵作間隔;如果格式說明符之間包含其他字符,則輸入數據時,應輸入與這些字符相同的字符作間隔。第26頁3.3數據的輸入與輸出3.使用scanf()函第27頁3.3數據的輸入與輸出(4)可以在格式說明符的前面指定輸入數據所占的列數,系統將自動按此列數截取所需的數據,如:scanf(“%2d%3d”,&x,&y);當用戶輸入12345時,系統將自動地把12賦給變量x,將345賦給變量y。這種方式也可用于字符型數據的輸入。第27頁3.3數據的輸入與輸出(4)可以在格式說明符的前第28頁3.3數據的輸入與輸出3.3.3

getchar、putchar及getch函數

除了可以使用scanf()函數和printf()函數進行輸入輸出外,還可以使用另外一些輸入與輸出字符的函數進行輸入輸出字符。如getchar()、putchar()、getch()函數。第28頁3.3數據的輸入與輸出3.3.3getchar第29頁3.3數據的輸入與輸出1.getchar()和putchar()函數利用getchar()函數可以從鍵盤上輸入一個字符,使所輸入的字符會立即顯示出來,并且當按下回車鍵后,這個字符才會被變量接收。若是同時輸入數個字符,getchar()函數會把第一個讀取的字符放到指定的變量中,若是程序中使用到其它的getchar()函數,這些剩余的字符則會被其它的getchar()函數陸續傳送到其指定的變量中。第29頁3.3數據的輸入與輸出1.getchar()和p第30頁3.3數據的輸入與輸出getchar()函數的格式如下:

ch=getchar();若要將字符變量的內容輸出在屏幕上,可以使用前面介紹過的printf()函數,也可以利用putchar()函數來實現。putchar()函數會把字符變量、常量等當成參數傳遞到函數后再輸出。putchar()函數的格式如下:

putchar(ch);第30頁3.3數據的輸入與輸出getchar()函數的格第31頁3.3數據的輸入與輸出例3.8說明getchar()函數和putchar()函數的使用方法。#include<stdio.h>intmain(){charch;printf(“Inputacharacter:”);ch=getchar();/*輸入一個字符,并賦給變量ch*/printf(“\nThecharacteryouinputis:”);putchar(ch);return0;}第31頁3.3數據的輸入與輸出例3.8說明getcha第32頁3.3數據的輸入與輸出2.getch()函數利用getch()函數,可以從鍵盤上輸入一個字符,而不需要按下回車鍵,變量會馬上接收這個字符,屏幕上也看不到這個被輸入的字符。getch()函數經常用于用戶不希望看到所輸入的內容的時候,如輸入密碼等。getch()函數的格式如下:

ch=getch();第32頁3.3數據的輸入與輸出2.getch()函數第33頁3.3數據的輸入與輸出例3.9說明getch()函數的使用方法。#include<stdio.h>intmain(){charch;printf(“Inputacharacter:”);ch=getch();/*輸入一個字符,并賦給變量ch*/printf(“\nThecharacteryouinputis:“);putchar(ch);return0;}第33頁3.3數據的輸入與輸出例3.9說明getch(第34頁3.4

程序設計舉例例3.10輸入用分表示的時間數,將其換算成用小時和分表示的時間數,然后輸出。例如輸入150分,換算成2小時30分后輸出。程序如下:#include<stdio.h>intmain(){intk,m,n;printf(“輸入用分表示的時間數:”);scanf(“%d”,&k);m=k/60;n=k%60;printf(“\n%d分等于%d小時%d分。\n”,k,m,n);return0;}第34頁3.4程序設計舉例例3.10輸入用分表示的時間第35頁3.4

程序設計舉例例3.11從鍵盤輸入一個小寫英文字母,分別以十進制、八進制、十六進制輸出它的ASCII碼值;分別計算以該ASCII碼值為邊長和半徑的正方形面積和圓面積。程序如下:#include<stdio.h>intmain(){charch;floats1,s2;printf(“Inputacharacter:”);ch=getchar();printf(“\n%c,%d,%o,%x\n”,ch,ch,ch,ch);s1=ch*ch;s2=3.14*ch*ch;printf(“%f,%f\n”,s1,s2);return0;}第35頁3.4程序設計舉例例3.11從鍵盤輸入一個小寫第36頁3.5本章小結本章介紹了C語言中常用輸入,輸出函數的使用方法。通過程序實例介紹了常用的順序結構程序設計方法。第36頁3.5本章小結本章介紹了C語言中常用輸入,輸出演講完畢,謝謝觀看!演講完畢,謝謝觀看!第38頁第3章程序設計初步本章概述本章的學習目標主要內容第1頁第3章程序設計初步本章概述第39頁本章概述本章主要介紹以下內容:常用的輸入輸出函數簡單順序結構程序設計舉例第2頁本章概述本章主要介紹以下內容:第40頁本章的學習目標本章教學目的:

掌握賦值語句的使用方法,掌握putchar、getchar、printf、scanf函數的使用方法,能編寫簡單的程序。本章教學重點:printf、scanf函數的使用方法本章教學難點:printf、scanf函數的使用方法第3頁本章的學習目標本章教學目的:第41頁主要內容3.1C語句概述3.2順序結構程序設計3.3數據的輸入與輸出3.4程序設計舉例第4頁主要內容3.1C語句概述第42頁3.1C語句概述3.1.1C語句的種類

在C程序中,共有如下五種C語句組成:1.表達式語句由一個表達式的后面加上一個分號構成的語句2.函數調用語句由函數名、實際參數加上“;”組成。其一般形式為:“函數名(實際參數表);”。第5頁3.1C語句概述3.1.1C語句的種類第43頁3.控制語句控制語句用于控制程序的流程,以實現程序的各種結構方式。它們由特定的語句定義符組成。C語言有九種控制語句。可分成以下三類:(1)條件判斷語句:if語句、switch語句(2)循環執行語句:dowhile語句、while語句、for語句(3)轉向語句:break語句、continue語句、goto語句、return語句

4.復合語句把多個語句用括號{}括起來組成的語句稱為復合語句。在程序中應把復合語句看成是單條語句,而不是多條語句,例如5.空語句只有“;”組成的語句稱為空語句第6頁3.控制語句第44頁3.1C語句概述3.1.2C程序的賦值語句說明:1.由于在賦值符“=”右邊的表達式可以是另一個賦值表達式,因此,下述形式“變量=(變量=表達式);”是成立的,從而形成嵌套的形式。其展開之后的一般形式為:“變量=變量=…=表達式;”2.注意在變量說明中給變量賦初值和賦值語句的區別。給變量賦初值是變量說明的一部分,賦初值后的變量與其后的其它同類型變量之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。

第7頁3.1C語句概述3.1.2C程序的賦值語句第45頁3.1C語句概述3.在變量說明中,不允許連續給多個變量賦初值。如下述說明是錯誤的:“inta=b=c=5;”,必須寫成“inta=5,b=5,c=5;”,而賦值語句允許連續賦值。4.注意賦值表達式和賦值語句的區別,賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。語句“if((x=y+5)>0)z=x;”是合法的,它的功能是,若表達式“x=y+5”大于0則z=x。語句“if((x=y+5;)>0)z=x;”是非法的,因為“x=y+5;”是語句,不能出現在表達式中。第8頁3.1C語句概述3.在變量說明中,不允許連續給多個第46頁3.2順序結構程序設計通常,結構化程序設計包括下列三種基本結構,即順序結構、選擇結構和循環結構。它們的結構流程圖如下圖所示:第9頁3.2順序結構程序設計通常,結構化程序設計包括下第47頁例3.1已知長方形的長和寬,計算其周長和面積。流程圖如圖3.2所示,程序如下。#include<stdio.h>intmain(){floatx,y,c,area;printf("輸入長和寬:");scanf("%f,%f",&x,&y);c=2*(x+y);area=x*y;printf("周長是:%f\n",c);printf("面積是:%f\n",area);return0;}運行情況如下:輸入長和寬:3.0,4.0↙周長是:14.000000面積是:12.000000圖3.2計算周長和面積的流程圖第10頁例3.1已知長方形的長和寬,計算其周長和面積。流第48頁3.3數據的輸入與輸出在C語言中,所有的數據輸入/輸出都是由庫函數完成的,因此都是函數調用語句。本節主要介紹常用的格式輸出函數printf()、格式輸入函數scanf()及字符輸入函數getchar()、getch()和字符輸出函數putchar()。

第11頁3.3數據的輸入與輸出在C語言中,所有的數據輸第49頁3.3數據的輸入與輸出3.3.1printf函數

1.printf()函數的一般形式

printf函數的調用格式為:

printf(“格式控制串”,輸出表列);“格式控制串”用于指定輸出格式。它必須用雙引號括起來,由格式說明符、普通字符和轉義字符組成。第12頁3.3數據的輸入與輸出3.3.1print第50頁3.3數據的輸入與輸出例3.2寫出下面程序的輸出結果。程序代碼如下:#include<stdio.h>intmain(){inta=65,b=97;printf("%d%d\n",a,b);printf("%d,%d\n",a,b);printf("%c,%c\n",a,b);printf("a=%d,b=%d",a,b);return0;}程序的輸出結果如下:659765,97A,aa=65,b=97第13頁3.3數據的輸入與輸出例3.2寫出下面程序第51頁3.3數據的輸入與輸出2.printf函數格式說明(1)

整型數據輸出的格式字符整型的輸出形式有四種:帶符號的十進制整型形式、無符號的十進制整型形式、無符號的十六進制形式和無符號的八進制形式。分別使用格式字符d、u、x或X和o。其中x表示以小寫形式輸出十六進的a~f,X表示以大寫形式輸出。(2)

字符型數據輸出的格式字符在輸出字符型數據時,若要輸出一個字符,則使用格式字符c;若要輸出一串字符,則要使用格式字符s。

第14頁3.3數據的輸入與輸出2.printf函數格第52頁3.3數據的輸入與輸出(3)

實型數據輸出的格式字符實型數據輸出的格式字符有f、e或E、g或G幾種方式。其中格式字符f表示以小數形式輸出實數;格式字符e或E表示以指數形式輸出實數;格式字符g或G表示輸出時自動選擇使用格式字符f或e。第15頁3.3數據的輸入與輸出(3)

實型數據輸第53頁例3.3寫出下面程序的輸出結果。#include<stdio.h>intmain(){inta,b;charc;floats1,s2,sum;a=65;b=-3;s1=123.4;s2=56.75;sum=s1+s2;c='A';printf("%d%c%d%o%f%c%d",a,a,b,b,sum,c,c);return0;}程序運行結果如下:65A–3177775180.150002A65第16頁例3.3寫出下面程序的輸出結果。第54頁3.3數據的輸入與輸出3.轉義字符在printf()函數中,也可以使用轉義字符(在第二章中已經介紹),轉義字符是一個以“\”開頭的字符序列。在表2.2中已列出常用的轉義字符。4.修飾字符在printf()函數中,所有的輸出格式都是以“%”開始,再接一組有意義的字母。若想使數據按固定的字段長度輸出,可以在“%”后面加上輸出長度的數值。如“%3d”,表示輸出十進制整數時,長度共占3列;“%6.3f”則表示輸出浮點數時,長度包括小數點共有6列,小數點前占2列,小數占3列。第17頁3.3數據的輸入與輸出3.轉義字符第55頁例3.4寫出如下程序的執行結果。#include<stdio.h>intmain(){printf("\"whatdoyoulike?\"");return0;}程序輸出結果如下:"Whatdoyoulike?"第18頁例3.4寫出如下程序的執行結果。第56頁printf()函數的修飾符第19頁printf()函數的修飾符第57頁例3.5寫出下面程序的輸出結果。#include<stdio.h>intmain(){inti=56,j=13;floatf=12.3456;printf("i=%-4d",i);printf("j=%4d\n",j);printf("f=%6.2f\n",f);return0;}輸出結果如下:i=56j=13f=12.35第20頁例3.5寫出下面程序的輸出結果。#include第58頁例3.6寫出下面程序的輸出結果。#include<stdio.h>intmain(){inta=2,b=8;floatx=123.4567,y=-567.123;charc='A';longd=1234567;unsignedlonge=65535;printf("%3d%3d\n",a,b);printf("%-12f,%-12f\n",x,y);printf("%7.2f,%7.2f\n",x,y);printf("%e,%10.2e\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%lx\n",d,d,d);printf("%u,%o,%x\n",e,e,e);printf("%s,%5.3s\n","computer","computer");return0;}程序的運行結果如下:

28123.456703,–567.122986

(計算機表示實數不精確,

所以顯示結果有誤差)123.46,-567.12

(列寬為7,小數點后取兩位)1.234567e+002,-5.67e+002A,65,101,411234567,4553207,12d68765535,177777,ffffcomputer,com

(按%5.3s格式輸出“computer”,取“computer”前3個字符,列寬為5)第21頁例3.6寫出下面程序的輸出結果。#include第59頁3.3數據的輸入與輸出3.3.2scanf函數格式輸入函數scanf()的作用是在終端設備上,以指定的格式輸入一個或多個任意類型的數據。第22頁3.3數據的輸入與輸出3.3.2scanf第60頁3.3數據的輸入與輸出1.scanf()函數的一般格式scanf()函數的調用格式scanf(“格式控制串”,&變量1,&變量2,…);“格式控制串”用于指定輸入格式,它必須用雙引號括起來,由格式說明符、普通字符組成。格式說明符由%和格式字符組成,用于說明輸入數據的格式。如“%d”表示按十進制整型輸入,“%c”表示按字符型輸入。普通字符是指在輸入數據時按原樣輸入的字符。而“&變量1”、“&變量2”等則是當用戶由鍵盤上輸入數據并按下回車鍵后,數據內容就會傳送到相應變量的內存單元中。使用scanf()函數時要注意的是,在變量名前面必須加上地址運算符“&第23頁3.3數據的輸入與輸出1.scanf()函數的一第61頁3.3數據的輸入與輸出例3.7

由鍵盤輸入兩個整數并求其平均值及總和。#include<stdio.h>intmain(){inta,b;scanf(“%d%d”,&a,&b);/*由鍵盤輸入兩個數并賦給變量a、b*/printf(“a+b=%d\n”,a+b);/*計算總和并輸出內容*/printf(“(a+b)/2=%1f\n”,(float)(a+b)/2);/*輸出平均值*/return0;}第24頁3.3數據的輸入與輸出例3.7由鍵盤輸入兩個整第62頁3.3數據的輸入與輸出第25頁3.3數據的輸入與輸出第63頁3.3數據的輸入與輸出3.使用scanf()函數必須注意的問題(1)在scanf()函數“格式控制串”部分中的每個格式說明符,都必須有一個變量與之對應。而且,格式說明符必須要與相應變量的類型一致。(2)scanf()中要求給出變量地址,如只給出變量名則會出錯。如語句“scanf(“%d”,a);”是非法的,應改為“scanf(“%d”,&a);”才是合法的。(3)當格式說明符之間沒有任何字符時,在輸入數據時,兩個數據之間使用“空格”、“tab”或“回車”鍵作間隔;如果格式說明符之間包含其他字符,則輸入數據時,應輸入與這些字符相同的字符作間隔。第26頁3.3數據的輸入與輸出3.使用scanf()函第64頁3.3數據的輸入與輸出(4)可以在格式說明符的前面指定輸入數據所占的列數,系統將自動按此列數截取所需的數據,如:scanf(“%2d%3d”,&x,&y);當用戶輸入12345時,系統將自動地把12賦給變量x,將345賦給變量y。這種方式也可用于字符型數據的輸入。第27頁3.3數據的輸入與輸出(4)可以在格式說明符的前第65頁3.3數據的輸入與輸出3.3.3

getchar、putchar及getch函數

除了可以使用scanf()函數和printf()函數進行輸入輸出外,還可以使用另外一些輸入與輸出字符的函數進行輸入輸出字符。如getchar()、putchar()、getch()函數。第28頁3.3數據的輸入與輸出3.3.3getchar第66頁3.3數據的輸入與輸出1.getchar()和putchar()函數利用getchar()函數可以從鍵盤上輸入一個字符,使所輸入的字符會立即顯示出來,并且當按下回車鍵后,這個字符才會被變量接收。若是同時輸入數個字符,getchar()函數會把第一個讀取的字符放到指定的變量中,若是程序中使用到其它的getchar()函數,這些剩余的字符則會被其它的getchar()函數陸續傳送到其指定的變量中。第29頁3.3數據的輸入與輸出1.getchar()和p第67頁3.3數據的輸入與輸出getchar()函數的格式如下:

ch=getcha

溫馨提示

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

最新文檔

評論

0/150

提交評論