C語言----字符(基礎篇九)


  最近廢話不多繼續提升。

  字符常量 

   ‘a’和’9’都是字符常量

    注意:’9’和9有很大區別

    ※單引號的空格’□’也是一個字符常量,但不能寫成連續兩個單引號’’

  字符變量

    char c; /*定義一個字符變量*/

    ※字符變量在內存中占一個字節,它只能存放ASCII(美國信息交換標准代碼)碼。

    ※標准的ASCII碼只有127個字符(見附錄1),電子設備統一了標准,各種電報機,打印機,電腦就可參照標准大規模生產,還可以通過ASCII碼交換數據。

    ※我們在用鍵盤輸入數據時,電腦會從ASCII對照表中讀取相應的ASCII碼裝入內存,而不是真實的字符。同理,想要顯示信息在屏幕上時,也要使用參照表將ASCII碼轉換成字符,再顯示在屏幕上。

 

    ※大家看到,在 ASCII碼表中,每個字符都有序號,要記住我們常用的字符對應的序號也不難,方法如下:

 

       ‘0’~’9’對應的整數為48~57

 

       ‘A’~’Z’對應的整數為65~90

       ‘a’~’z’ 對應的整數為97~122

 

    ※大寫字母與小寫字母的差值為32,於是得出小寫字母減32的值剛好是對應的大寫字母。

 

 

 

 

 

 

 

 

 

 

 

 

 

  字符類型的輸入輸出

    printf和scanf   兩個函數的意思是:printf => print + format 。   sacnf => scan + format .

    格式控制符為%c

      如:

        char c;

        scanf(“%c”,&c);

        printf(“%c”,c);

 

    putchar和getchar

      如:

        char c;

        c=getchar();

        putchar(c);

 

    ※無論是字符還是字符串常量,引號在屏幕上輸入輸出都不會顯示。在編程時一定要加上,以區分其它類型的常量。

 

  字符運算

    ※C語言規定,所有的字符運算都是轉成ASCII碼的整數運算。

      如:

        ‘B’-‘A’ 相當於66-65=1

        ‘a’+1相當於97+1=98=’b’

        ‘9’+’9’ 相當於57+57=114=’r’

    ※既然字符型數據和整型數據可這么方便的轉換,那么字符型數據也經常使用%d輸出,用來得到字符的ASCII碼序號。

    ※不可以對字符串進行類似的運算,如”b”-“a”是錯誤的,字符串運算必須通過函數,將在后面介紹

 

// 9 _1 字符運算
#include <stdio.h>

void main()
{
    int i1, i2;
    char c1, c2;

    //字符 + 整型 賦值給整型
    i1 = 'a' + 1;
    i2 = 'a' - 'b';

    printf("i1 = %d\n i2 = %d\n", i1, i2);


    //整型 賦值給字符型
    c1 = 97;
    c2 = 48;
    printf("c1=%c\nc2=%c\n", c1, c2);

    printf("整型輸出字符型c1=%d\nc2=%d\n", c1, c2);

    printf("字符型輸出整型i1=%c\ni2=%c\n", i1, i2);


}

 

  用scanf輸入字符

 

    ※每個%c只接收一個字符

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

      如果輸入

        uvwxyz(回車)

        系統會自動一個一個地截取,使a=’u’,b=’v’,c=’w’

 

    ※在字符型變量上使用列寬控制時,第一個變量只會讀取第一個字符,第二個變量會跳躍列寬后再讀取一個字符

      scanf(“%3c%3c”,&c1,&c2);

      如果輸入

        abcde(回車)

        c1為a,c2為d        因為是3個字符列寬,所以c2為d

 

 

    ※空格和回車都作為字符

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

        如果輸入

          x□y□z                  □ 占位符代表回車和空格

          系統會自動使a=’x’,b=’□’,c=’y’,最右邊的兩個字符被丟棄

        如果輸入

          x(回車)

          yz

          a、c與前面相同,但是b會賦於一個回車。也就是ASCII碼的10。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM