




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第6章字符型數(shù)據(jù)第6章字符型數(shù)據(jù)16.1字符型常量6.1.1字符常量字符常量是用一對單引號括起來的一個字符。如‘a(chǎn)’、‘B’、‘>’、‘?’等都是字符常量。作為字符常量的小寫字母a,在程序中寫成‘a(chǎn)’,以便和標識符a區(qū)別開來。關(guān)于字符常量,以下有幾點說明:(1)其中單引號只是作為定界符使用,并不是字符常量的組成部分,也就是說在輸出字符常量時,一對單引號并不被輸出。(2)單引號中的大寫字母和小寫字母代表不同的字符常量,如‘A’和‘a(chǎn)’是不同的字符常量。(3)被一對單引號括起來的字符不允許是單引號或反斜杠,即‘’’或‘\’。冀教版六年下丟棄塑料袋的調(diào)查課件之一2冀教版六年下丟棄塑料袋的調(diào)查課件之一3冀教版六年下丟棄塑料袋的調(diào)查課件之一4字符形式功能\n回車換行,將光標從當前位置移到下一行開頭\t橫行跳格,相當于TAB鍵,光標從當前位置跳到下一個TAB位置\b退格,光標從當前位置向左退一格\r回車不換行,光標從當前位置移到本行開頭\f換頁,將光標從當前位置移到下一頁開頭\\反斜杠字符“\”\’單引號字符(撇號)\’’雙引號字符\ddd1~3位八進制數(shù)代碼對應的字符\xhh1~2位十六進制數(shù)代碼對應的字符字符形式功能\n回車換行,將光標從當前位置移到下一行開頭\t5以下是關(guān)于轉(zhuǎn)義字符的幾點說明:1.轉(zhuǎn)義字符常量只代表一個字符。2.反斜杠后的八進制數(shù)可以不用0開頭,如‘\141’代表的就是字符常量‘a(chǎn)’。3.反斜杠后的十六進制數(shù)只能以小寫字母x開頭,不允許用大寫X,也不能用0x開頭,如‘\x41’是代表字符常量‘A’?!攸c提示:轉(zhuǎn)義字符常量,均以一個“\”開頭。若要輸出一個\字符,則輸出格式應為’\\’。以下是關(guān)于轉(zhuǎn)義字符的幾點說明:66.1.3字符串常量字符串常量是由一對雙引號“”括起來的字符序列。例如:“CProgram”、“string”都是字符串常量。字符串常量與字符常量的區(qū)別有以下:(1)使用的引號類型不同:字符常量由單引號括起來,字符串常量則用雙引號括起來。例如:“a”是字符串,‘a(chǎn)’是字符,二者不同。(2)容量不同:字符常量只能是單個字符,字符串常量則可以含一個或多個字符。(3)占用內(nèi)存空間大小不同:字符常量占一個字節(jié)的內(nèi)存空間,字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個字節(jié)用來存放字符‘\0’,作為字符串的結(jié)束標志。
6.1.3字符串常量7字符常量‘B’與字符串常量“B”雖然都只是一個字符,但占用的內(nèi)存空間不同,前者為1個,后者為2個。C語言中沒有專門存放字符串的字符串變量,字符串如果需要放在變量中,應該放在一個字符型數(shù)組中,即用一個字符型數(shù)組來存放一個字符串。這分部內(nèi)容將在后面章節(jié)予以介紹。※重點提示:系統(tǒng)在每個字符串的最后自動加入一個字符'\0'作為字符串結(jié)束標志。要注意字符常量和字符串常量的區(qū)別。字符常量‘B’與字符串常量“B”雖然都只是一個字符,但占用86.1.3可對字符量進行的運算由于字符量具有數(shù)值,在機器內(nèi)也是以整型常量的形式存放,因此字符可參與任何整數(shù)運算。1.利用算術(shù)運算實現(xiàn)大寫字母與小寫字母的互換。例如:‘A’+32≡65+32≡’a’‘b’-32≡98-32≡’B’2.利用算術(shù)運算實現(xiàn)字符與整數(shù)值之間的互換。例如:‘9’﹣’0’≡57﹣48≡9表達式中,57、48分別是用十進制表示的字符‘9’、’0’的ASCII代碼值。注意,編程時要分清整數(shù)9和字符9的區(qū)別。6.1.3可對字符量進行的運算93.字符常量也可以進行關(guān)系運算。例如:‘a(chǎn)’<’b’在ASCII代碼表中,’a’的值是97,小于’b’的值98,所以關(guān)系運算的結(jié)果為“真”。4.字符常量還可以進行邏輯運算。例如:‘a(chǎn)’&&’b’的邏輯值為1?!攸c提示:字符常量在機器內(nèi)以整型常量的形式存放,占一個字節(jié)。因此,字符常量與整型常量等價。也就是說,字符常量可以像整數(shù)一樣,在程序中參與各種運算。3.字符常量也可以進行關(guān)系運算。106.2字符變量字符變量就是值為單個字符的變量。字符型變量的說明格式為:char變量名表;1.字符變量在內(nèi)存中占一個字節(jié),只能存放一個字符,可以是ASCII字符集中的任何字符。當把字符放入字符變量中時,字符變量中的值就是該字符的ASCII值。2.在合法的取值范圍內(nèi),字符型變量與整型變量可以通用。3.字符型數(shù)據(jù)輸入、輸出形式靈活多樣。一字符數(shù)據(jù)既可以以字符形式輸出,也可以以整數(shù)形式輸出。※重點提示:字符變量可以作為整型變量來處理,可以參與對整型變量所允許的任何運算。6.2字符變量116.3字符的輸入和輸出6.3.1調(diào)用printf和scanf函數(shù)輸出和輸入字符用printf函數(shù)輸出字符時須使用格式說明%c,但可以在格式字符前加一整數(shù)m,用來指定輸出字符的寬度。調(diào)用scanf函數(shù)可以輸入字符。也須使用格式說明符號%,且輸入的字符變量前必須加&.以下是幾點關(guān)于scanf輸入字符的幾點說明:(1)當使用的格式說明符%c一個緊接著一個,在輸入的時候字符之間沒有間隔符時,空格、回車和橫向跳格符都將按字符讀入。(2)在格式控制串中可以加入空格。6.3字符的輸入和輸出12(3)格式控制符前也可以加一整數(shù)m,用來指定輸入數(shù)據(jù)所占寬度。這時在輸入字符數(shù)據(jù)時,應嚴格按指定的寬度輸入數(shù)據(jù),且取指定寬度中的第一個字符作為輸入的數(shù)據(jù)。(4)當從鍵盤輸入字符,并且在格式說明中并未指定寬度時,輸入的字符將按順序賦予各輸入項。printf和scanf函數(shù)的輸入格式符可以參考第三章中的詳細說明。以下是scanf函數(shù)應用舉例。(3)格式控制符前也可以加一整數(shù)m,用來指定輸入數(shù)據(jù)所占寬度13例如:求方程ax2+bx+c=0的根。其中a,b,c由鍵盤輸入,設(shè)b2-4ac>0。
#include<math.h>
main()
{floata,b,c,disc,x1,x2,p,q;
printf("Pleaseenterfloata,b,c:\n");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);}
程序運行結(jié)果為:
x1=-0.37
x2=5.37例如:求方程ax2+bx+c=0的根。其中a,b,c由鍵盤輸14說明:(1)該程序是利用如下一元二次方程的求根公式來求解的:再將此公式分為兩項:則方程兩根可表示為:,,說明:,,15(2)程序第9行中sqrt()是求平方根函數(shù)。由于要調(diào)用數(shù)學函數(shù)庫中的函數(shù),因此必須在程序的開頭用預處理命令#include<math.h>,把頭文件“math.h”包含到程序中來。請注意,以后凡是在程序中要用到數(shù)學函數(shù)庫中的函數(shù),都應當這樣處理?!攸c提示:用printf函數(shù)輸出以及用scanf函數(shù)輸入字符都必須使用格式說明%c。(2)程序第9行中sqrt()是求平方根函數(shù)。由于要調(diào)用數(shù)學166.3.2調(diào)用putchar和getchar函數(shù)輸出和輸入字符1.putchar()函數(shù)putchar的作用是向終端設(shè)備輸出一個字符。其一般形式為:putchar(參數(shù))(1)在一個函數(shù)中要調(diào)用putchar函數(shù),應在該函數(shù)的前面(或本文件開頭)加上編譯預處理語句:#include<stdio.h>6.3.2調(diào)用putchar和getchar函數(shù)輸出和輸入17(2)putchar函數(shù)的參數(shù)可以是字符變量或字符常量或整型變量,也可以是某個字符對應的ASCII碼值,還可以是表達式。并且還可以是控制字符,如'\n',它的作用是回車換行,即使輸出的當前位置移到下一行的開頭。(3)putchar函數(shù)使用舉例#include<stdio.h>main(){charc1,c2;c1='H';c2='i';putchar(c1);putchar(c2);}程序運行結(jié)果為:Hi(2)putchar函數(shù)的參數(shù)可以是字符變量或字符常量或整型182.getchar()函數(shù)getchar函數(shù)的作用是向終端設(shè)備輸入一個字符。其一般形式為:getchar()getchar函數(shù)不需要參數(shù),函數(shù)的值是從輸入設(shè)備得到的字符。該函數(shù)的使用方式有兩種:(1)把函數(shù)getchar得到的字符代碼賦給一個字符型或整型變量。例如:inta;a=getchar();(2)把函數(shù)getchar得到的字符代碼直接作為表達式的一部分,而不賦給任何變量。例如:printf("%c",getchar());冀教版六年下丟棄塑料袋的調(diào)查課件之一19(3)getchar函數(shù)使用舉例#include<stdio.h>main(){inta;printf("Pleaseenteracharacter:");a=getchar();printf("%c\t%d\t%o\t%x\n",a,a,a,a);}程序運行結(jié)果為:Pleaseenteracharacter:F<回車>F7010646(3)getchar函數(shù)使用舉例20說明:該程序的作用是從鍵盤上輸入一個字符,然后顯示該字符及其十進制、八進制、十六進制的ASCII碼值。②試利用getchar函數(shù)與putchar函數(shù)顯示由鍵盤輸入的一個字符#include<stdio.h>main(){charc1;c1=getchar();putchar(c1);}程序運行結(jié)果為:M<回車>M說明:該程序的作用是從鍵盤上輸入一個字符,然后顯示該字符及其21說明:putchar函數(shù)的參數(shù)可以是表達式,因此上述程序的第3、4、5行可以簡化為一條語句:putchar(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 古代文學哲學思想試題及答案
- 中初級電焊工試題及答案
- 2024年寵物營養(yǎng)師考試中的科技應用探討及試題答案
- 房地產(chǎn) -住宅項目規(guī)范研究報告-技術(shù)標準和市場影響 202503
- 不同車型維修技巧考題及答案
- 統(tǒng)計學備考策略試題及答案解密
- 寵物營養(yǎng)知識的傳播與教育試題及答案
- 美容師個人品牌建立與推廣試題及答案
- 全面覆蓋的語文測評試題及答案
- 美容師考試實操技巧歸納試題及答案
- 研發(fā)項目審計報告樣本
- 小米手機產(chǎn)品生命周期及營銷策略分析
- 屋頂光伏知識培訓課件
- 鼻骨骨折病人護理課件
- 《金屬材料力學性能》課件
- 中國人的禮儀規(guī)矩
- 《建筑基坑工程監(jiān)測技術(shù)標準》(50497-2019)
- 《新能源汽車電機及控制系統(tǒng)檢修》 課件 項目三 驅(qū)動電機控制系統(tǒng)檢修
- 國家電網(wǎng)應急能力評估報告
- 大學軍事理論課教程第四章現(xiàn)代戰(zhàn)爭第一節(jié) 戰(zhàn)爭概述
- 人工智能的利與弊ppt
評論
0/150
提交評論