【C言語】 表示 と 文字

printf の 取り扱い方
printfの取り扱い方をもう少し詳しく説明します。

printf の書式設定
複数ある変数の表示方法
    

printf の基本
    • printf(” この値は 書式指定子 ” , 変数);
      printf(” この値は %d \n” , 10);
      printf(” この値は %d \n” , 10+20);
      printf(” この値は %d \n” , a+b);
    • 複数ある変数の表示方法

《 test004.c 》

#include<stdio.h>
int main()
{
int a=1 ,b=2,c=5;
printf(" この値は %d \n", 10);
printf(" この値は %d \n", 10+20);
printf(" %dの値  \n " , a);
printf(" %dの値 %dの値  \n" , a , b);
printf(" この値は %d \n", a+b);
printf(" %dの値 %dの値 %dの値 \n" , a , b, c);
}
   
○ 結果
  

 

printf の書式設定

 

○ 桁数の指定

      • 空白を含めて4文字で表示
        printf(“%4d”,25);
      • 0を使って4文字を表示
        printf(“%04d”,25);
      • 全体を6桁、小数点以下を1桁で表示
        printf(“%6.1f”,252.25);
      • 全体を10文字として表示
        printf(“%10s”,”YOKOHAMA”);
            

        《 test005.c 》

        #include<stdio.h>
        int main()
        {
        printf("%4d  \n",25);
        printf("%04d  \n",25);
        printf("%6.1f \n",252.25);
        printf("%10s  \n","YOKOHAMA");
        }
         

        ○ 結果

             

文字 の 取り扱い方

  
コンピュータで扱われている文字(数字)は全て文字コードに格納されています。 

文字を格納するための変数の型

文字型 char

下のASCIIコード表(7ビット) で A  の文字は 16進数 で 41 になります。

 
文字の扱い

    
 文字 A  の値 を 表示させると

《 test006.c 》

#include<stdio.h>
int main(){
char a='A',b=65;
printf("%d \n",a);
printf("%c \n",a);
printf("%c \n",b);
}

 

○ 結果

 

文字列の扱い

 

  文字は一つ一つ格納するために配列と言う変数の塊が必要になります。

    • n文字列とは文字の集まり
      “HELLO”   は5文字+NULL文字 の6文字を確保する必要があります。
      文字列の最後にNULL文字の宣言が必要です。
         

      H E L L O ¥0

            
      宣言方法  char a[]char a[]  文字数+ NULL文字分を自動に確保
       

    • 文字だと半角文字1個しか表示できないですが、文字列にすると複数の変数の文字や文や全角文字も扱えるようになります。
      半角文字 全角文字
      1バイト 2バイト

         

      半角文字 Y O K O H A M A ¥0
      全角文字 ¥0

             

    • 文字列を変数に代入する場合
        
      ① 初期化時
      char a[9] =“YOKOHAMA”
         
      ② 以外の場合
      char a[9];
      strcpy(a,”YOKOHAMA”);
      ※ strcpy関数には  #include<string.h> が必要です。

         

      《 test007.c 》

      #include<stdio.h>
      #include<string.h>
      int main(){
      char a[9] ="YOKOHAMA";
      char b[9];
      strcpy(b,"KANAGAWA");
      printf(" %s  \n",a);
      printf(" %s  \n",b);
      }

 

○ 結果 

 

   

まとめ
文字列を代入で使う関数でgets( )関数がありますが、メモリに悪影響を及ぼすため説明は省きました。
  
  
目次