第六章字符型數(shù)據(jù)_第1頁
第六章字符型數(shù)據(jù)_第2頁
第六章字符型數(shù)據(jù)_第3頁
第六章字符型數(shù)據(jù)_第4頁
第六章字符型數(shù)據(jù)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設計第6章字符型數(shù)據(jù)6.1字符類型

前幾章學習的整型、實型都是數(shù)值型。除數(shù)值型外,還有一類數(shù)據(jù)是計算機經常處理的數(shù)據(jù),這就是字符型。

字符型數(shù)據(jù)包含的是一個字符集。一般用的是ASCII碼字符集,見附錄7。

字符集中的每一個字符都有一個序號,稱為ASCII碼。ASCII碼大的字符比ASCII碼小的字符值大。字符類型的標識符是char。字符常量定義:用單引號括起來的單個普通字符或轉義字符.

字符常量的值:該字符的ASCII碼值<轉義字符及其含義:轉義字符含義\n\v\r\a\‘\ddd\t\b\f\\\“\xhh轉義字符含義換行垂直制表回車響鈴單引號3位8進制數(shù)代表的字符水平制表退格換頁反斜線雙引號2位16進制數(shù)代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’

‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()如‘A’——65,‘a’——97,‘0’——48,‘\n’——10如‘a’‘A’‘?’‘\n’‘\101’轉義字符:反斜線后跟一個字符或一個代碼值表示例轉義字符舉例main(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\'C\'");}運行結果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’字符常量與字符串常量不同字符串常量定義:用雙引號(“”)括起來的字符序列存儲:每個字符串尾自動加一個‘\0’作為字符串結束標志hello\0例字符串“hello”在內存中aa\0例‘a’“a”例空串“”\0例:charch;ch=“A”;例:charch;ch=‘A’;沒有字符串變量,用字符數(shù)組存放字符型變量char變量名1,[變量名2,......變量名n];

如:charc1,c2;一個字符型變量的值只能是一個單個字符;在內存中占一個字節(jié);字符變量存放的是字符的ASCII碼;char與int數(shù)據(jù)間可進行算術運算;

原因:

由于字符型變量在內存中是以字符的ASCII碼—一個無符號整數(shù)的形式來存放的,所以在一定范圍內,字符型數(shù)據(jù)和整型數(shù)據(jù)是可以互相通用的,二者的區(qū)別僅在于:字符型常量占一個字節(jié),而整型常量占兩個字節(jié)。例‘B’-’A’=1‘a’+1=98=‘b’‘A’+32=97=‘a’‘9’-’0’=57-48=99+’0’=9+48=57=‘9’【例1】將小寫字母轉化為大寫字母。main(){charc1,c2;c1='x';c2='y';c1=c132;c2=c232;printf("\n%c,%c",x1,x2);}程序的輸出結果是:X,Y大小寫字母之間,它們的ASCII碼正好相差32。scanf語句讀入字符用“%c”格式符時,空格和轉義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);

若輸入abc

則ac1,

c2,bc3格式:getchar()功能:從鍵盤讀一字符返值:正常,返回讀取的代碼值;出錯,返回EOF(-1)6.3.1字符輸入函數(shù)例#include<stdio.h>main(){intc;printf("Enteracharacter:");c=getchar();printf("%c--->hex%x\n",c,c);}#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}運行結果:AB6.3.2字符輸出函數(shù)------putchar()格式:putchar(c)參數(shù):c為字符常量、變量或表達式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為EOF(-1)程序舉例

1.編寫程序輸入一行字符中所有的小寫字母轉換成大寫字母,其他字符不變。#include<stdio.h>

voidmain(){charc;while((c=getchar())!=‘\n’){if(c>=‘a’&&c<=‘z’)c=c-32;putchar(c);}putchar(‘\n’);}2.編寫程序統(tǒng)計輸入的字符中的空格符,換行符和橫向跳格符的個數(shù).用!號結束.#include<stdio.h>#include<ctype.h>main(){longn=0;charch;while((ch=getchar())!=‘!’)if(isspace(ch))/*if(ch==‘‘||ch==‘\n’||ch==‘\t’)*/n++;printf(“n=%d\n”,n);}1.有以下程序(典型題)

#include<stdio.h>{charc1=‘A’,c2=‘a’;printf(“%d,%d\n”,c1,c2);}結果:65,97

2.有以下程序:#include<stdio.h>main(){charc;while((c=getchar())!=‘\n’){switch(c-’2’){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}printf(“\n”);}若輸入2473輸出668977作業(yè):上機完成.1.編寫程序,輸入一行字符(用回車結束)輸出每個字符及與之對應的ASCII代碼值,每行輸出三對.2.編寫程序統(tǒng)計輸入的一行小寫字母的個數(shù).#include<stdio.h>main(){charch;intn=0;while((ch=getchar())!=‘\n’){if(n%3==0)printf(“\n”);n++;printf(“%cASCII=%d”,ch,ch);}putchar(‘\n’);}

#include<stdio.h>ma

溫馨提示

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

評論

0/150

提交評論