




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第四章C語言程序設計初步
一 C程序的語句二 賦值語句三 數據輸出語句四 數據輸入語句
一、C程序的語句C程序的執行部分是由語句組成的。程序的功能也是由執行語句實現的。C語句可分為以下五類:
1.表達式語句
2.函數調用語句
3.控制語句
4.復合語句
5.空語句1.表達式語句
表達式語句由表達式加上分號“;”組成。其一般形式為:
表達式;
執行表達式語句就是計算表達式的值。例如:
x=y+z;賦值語句。
y+z;加法運算語句,但計算結果不能保留,無實際意義。
i++;自增1語句,i值增1。
2.函數調用語句由函數名、實際參數加上分號“;”組成。其一般形式為:函數名(實際參數表);執行函數語句就是調用函數體并把實際參數賦予函數定義中的形式參數,然后執行被調函數體中的語句,求出函數值(以后再詳細介紹)。例如printf("CProgram");調用庫函數,輸出字符串。3.控制語句 控制語句用于控制程序的流程,以實現程序的各種結構方式。它們由特定的語句定義符組成。C語言有九種控制語句。可分成以下三類:(1)條件判斷語句
if語句,switch語句(2)循環執行語句
dowhile語句,while語句,for語句(3)轉向語句
break語句,goto語句,continue語句,return語句4.復合語句把多個語句用括號{}括起來組成的一個語句稱復合語句。在程序中應把復合語句看成是單條語句.
例如
{x=y+z;a=b+c;printf(“%d%d”,x,a);
}
復合語句內的各條語句都必須以分號“;”結尾,在括號“}”外不能加分號。5.空語句只有分號“;”組成的語句稱為空語句。空語句是什么也不執行的語句。在程序中空語句可用來作空循環體。例如
while(getchar()!='\n');
本語句的功能是,只要從鍵盤輸入的字符不是回車則重新輸入。這里的循環體為空語句。二、賦值語句
賦值語句是由賦值表達式再加上分號構成的表達式語句。其一般形式為:變量=表達式;
在賦值語句的使用中需要注意以下幾點:
其展開之后的一般形式為:
變量=變量=…=表達式;
例如:
a=b=c=d=e=5;
按照賦值運算符的右接合性,因此實際上等效于:
e=5;d=e;c=d;b=c;a=b;1.“=”右邊的表達式可以又是一個賦值表達式,如:
變量=(變量=表達式);
2.注意變量賦初值和賦值語句的區別如下述說明是錯誤的:
inta=b=c=5;
必須寫為
inta=5,b=5,c=5;
而賦值語句允許連續賦值。3.注意賦值表達式和賦值語句的區別下述語句是合法的:
if((x=y+5)>0)z=x;
下述語句是非法的:
if((x=y+5;)>0)z=x;
因為x=y+5;是語句,不能出現在表達式中。三、數據輸出語句
在C語言中,所有的數據輸入/輸出都是由庫函數完成的。因此都是函數語句。
1、printf函數
printf函數稱為格式輸出函數。其功能是按用戶指定的格式,把指定的數據顯示到顯示器屏幕上。
(在使用printf函數之前可以不包含stdio.h文件)
其中:格式控制字符串:格式字符串、非格式字符串格式字符串是以%開頭,如“%d”、“%f”
非格式字符串在輸出時原樣照印。輸出表列:給出各個輸出項,要求格式字符串和各輸出項在數量和類型上應該一一對應。1)printf函數調用的一般形式
printf函數調用的一般形式為:
printf(“格式控制字符串”,輸出表列)
Include<stdio.h>main(){inta=88,b=89;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);}本例中四次輸出了a,b的值,但由于格式控制字符串不同,輸出的結果也不相同。#8889#88,89#X,Y#a=88,b=892)格式字符串(1)d格式符輸出十進制帶符號整數(正數不輸出符號)%d按實際長度輸出int型數據%mdm:域寬,如數位<m,左端補空格如數位>m,輸出實際位數%ld%mld輸出長整型(long)數據,也可指定寬度例如:include<stdio.h> main(){inta,b;longd;a=123;b=12345;d=135790;printf("%4d,%4d\n",a,b);printf("%ld,%8ld\n",d,d);}(2)o格式符以八進制形式輸出整數(long型用%lo),
將內存單元中的數值按8進制數輸出。如:inta=-1;printf("%d,%o",a,a);
輸出結果為:
-1,1777771111111111111111a(3)x格式符
以十六進制形式輸出整數(用法同上)(4)u格式符
以十進制形式輸出unsigned型整數
int型也可用%u輸出
long型可用%lu輸出如
unsignedinta=65535;intb=-2;printf("a=%d,%o,%x,%u\n",a,a,a,a);printf("b=%d,%o,%x,%u\n",b,b,b,b);結果為:
#a=-1,177777,ffff,65535#b=-2,177776,fffe,65534 #(5)c格式符
輸出一個字符,可以指定寬度例如:c='a';printf("%3c\n",c);
#a #(6)s格式符
輸出一個字符串%s%ms輸出占m列,左補空格%-ms輸出占m列,右補空格
%m.ns輸出占m列,取字符串左端n個字符,左補空格%-m.ns輸出占m列,取字符串左端n個字符,右補空格
例如:printf("%3s,%7.2s,","CHINA","CHINA");printf("%.4s,%-5.3s\n","CHINA","CHINA");
輸出結果為:#CHINA,CH,CHIN,CHI #(7)f格式符
輸出實數(單精度、雙精度)%f輸出整數部分和6位小數注意:輸出的不一定全是有效數字%m.nf輸出數據占m列,n位小數,左補空格%-m.nf輸出數據占m列,n位小數,右補空格例如:floatx,y;x=111111.111;y=222222.222printf("%f\n",x+y); printf("%5.4f\n",x+y);
結果為:#333333.328125 #333333.3281 #(8)e格式符(9)g格式符自學
main(){inta=15;floatb=138.3576278;doublec=35648256.3645687;chard='p';printf("a=%d,%5d,%o,%x\n",a,a,a,a);printf("b=%f,%5.4f\n",b,b,b);printf("c=%f,%8.4f\n",c,c);printf("d=%c,%8c\n",d,d);}#15,15,17,f#138.357627,138.3576#35648256.364568,35648256.3645#p,p#
2、putchar函數
putchar函數其功能是在顯示器上輸出單個字符。其一般形式為:
putchar(字符變量)
例如:putchar('A');輸出大寫字母Aputchar(x);輸出字符變量x的值
putchar('\n');換行對控制字符執行控制功能,不在屏幕上顯示。使用本函數前必須要用文件包含命令:
#include<stdio.h>#include<stdio.h>main(){chara='B',b='o',c='k';putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t');putchar(a);putchar(b);putchar('\n');putchar(b);putchar(c);}四、數據輸入語句
C語言的數據輸入也是由函數語句完成的。本節介紹函數scanf和getchar。
1、scanf函數
scanf函數稱為格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變量之中。(在使用scanf函數之前可以不包含stdio.h文件)其中:格式控制字符串的作用與printf函數相同,但不能顯示非格式字符串,也就是不能顯示提示字符串。地址表列中給出各變量的地址。地址是由地址運算符“&”后跟變量名組成的(&a、&b)。
5671)scanf函數的一般形式
scanf函數的一般形式為:
scanf(“格式控制字符串”,地址表列);
main(){inta,b,c;printf(“inputa,b,c:\n”);/*在屏幕上輸出提示*/scanf(“%d%d%d”,&a,&b,&c);/*注意&的用法!*/printf("a=%d,b=%d,c=%d",a,b,c);}由于沒有非格式字符在“%d%d%d”之間作輸入時的間隔,輸入時用一個以上的空格或回車鍵作為間隔。如:
#789
或#7#8#9思考:如scanf改成:scanf(“%d,%d,%d”,&a,&b,&c);如何輸入?2)格式字符串%后面所跟的字符
格式字符字符意義
d 輸入十進制整數
o 輸入八進制整數
x 輸入十六進制整數
f或e 輸入實型數(用小數形式或指數形式)c 輸入單個字符
s輸入字符串
3)附加格式字符串
字符說明
l用于輸入長整型數如%ld、%lo、%lx、 %lu及double型數據如%lf、%leh用于輸入短整型數據
m(正整數)指定輸入數據所占寬度*表示本輸入項在讀入后不賦給相應的變量說明:1.“*”符用以表示該輸入項讀入后不賦予相應的變量,即跳過該輸入值。如scanf("%d%*d%d",&a,&b);
當輸入為:123時,把1賦予a,2被跳過,3賦予b。2.寬度用十進制整數指定輸入的寬度(即字符數)。例如:
scanf("%5d",&a);
輸入:12345678
只把12345賦予變量a,其余部分被截去。又如:
scanf("%4d%4d",&a,&b);
輸入:12345678
將把1234賦予a,而把5678賦予b。3.scanf函數中沒有精度控制,如:
scanf("%5.2f",&a);
是非法的。不能企圖用此語句輸入小數為2位的實數。4.長度格式符為l和h,l表示輸入長整型數據(如%ld)
和雙精度浮點數(如%lf)。4)使用scanf函數還必須注意以下幾點:
a.scanf中要求給出變量地址,如給出變量名則會出錯。如scanf("%d",a);
是非法的,應改為
scanf("%d",&a);b.在輸入多個數值數據時,若格式控制串中有其它字符,則在輸入時就輸入與這些字符相同的字符;
scanf("%d,%d",&a,&b)
應輸入3,5
如沒有非格式字符作輸入數據之間的間隔則可用空格、TAB或回車作間隔。c.在輸入字符數據時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。例如:
scanf("%c%c%c",&a,&b,&c);
輸入為:
def
則把‘d’賦予a,空格賦予b,'e'賦予c。只有當輸入為:
def
時,才能把'd'賦于a,'e'賦予b,'f'賦予c。如果在格式控制中加入空格作為間隔,如
scanf("%c%c%c",&a,&b,&c);
則輸入時各數據之間可加空格。
d.在輸入數據時,遇以下情況認為數據結束:遇空格、回車、TAB
遇寬度結束遇非法輸入,如:
scanf("
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肝炎護理課件下載
- 廣東高一期末數學試卷
- 肛癰中醫課件
- 定遠一中初中數學試卷
- 第六七單元的數學試卷
- 各地五年級期末數學試卷
- 2025年江西鷹潭市面向應屆畢業生大學生鄉村醫生專項招聘2人筆試歷年專業考點(難、易錯點)附帶答案詳解
- 2025年年嘉興市婦幼保健院公開招聘高層次人才35人(第一批)筆試歷年專業考點(難、易錯點)附帶答案詳解
- 2025年01月甘肅隴南康縣婦幼保健院招聘檢驗科編外專業技術人員筆試歷年專業考點(難、易錯點)附帶答案詳解
- 肝功能不全的檢測與治療
- qcpcb制作、檢驗及包裝送貨
- 人因工程學課后習題及解答
- 供應商管理培訓 課件
- J波與J波綜合征課件
- 微整面部美學設計面部風水設計課件
- 5噸龍門吊安裝與拆除專項施工方案
- 康復科護理質量監測指標
- 農藥基本常識課件
- 新教材 人教版高中英語必修第一冊全冊各單元知識點提煉匯總(單詞短語語法寫作等)
- 零星工程施工組織設計方案
- GM∕T 0031-2014 安全電子簽章密碼應用技術規范
評論
0/150
提交評論