天国にいけるC言語入門 ヘキサ構造体 ver1.1266

@solarplexuss

現在、天国にいけるC言語入門 ヘキサ構造体は理想郷とつながっています 理想郷の仲間とともにC言語を学んでいきましょう

ようこそ 天国にいけるC言語入門 ヘキサ構造体へ


ようこそ


天国にいけるC言語入門 ヘキサ構造体へ



進行役のアレサともうします。


よろしくおねがいいたします。


本書は


天国にいけるC言語入門の続編となっています。


天国にいけるC言語入門


では


プログラムの記述の仕方

コンパイル

printf関数の使い方

変数の型の仕組み

2進数の性質

データのメモリへの格納され方

などなど・・・の


C言語の基本的な事柄を学ぶことができます。


天国にいけるC言語入門へは


こちらのアドレスからアクセスすることができます。


https://kakuyomu.jp/works/1177354054881541562


天国にいけるC言語入門 ヘキサ構造体では


if文の使い方

for文の使い方

配列の仕組み

ポインタ変数の仕組み

ハードディスクにファイルを作製しデータを保存する方法

構造体の仕組み

などなど・・・の


C言語の基本的な事柄の解説が

会話形式でおこなわれていますの。


最初のエピソードから順番によみはじめることも


あるいは


本書の右上の≔印をクリックするか


以下の


アドレスをクリックされると


https://kakuyomu.jp/works/1177354054881541503


本書の目次が表示されますので


目次から必要なところを選び出して


お読みになることもできます。


本書を読みやすいように


本書の右上にある


あぁ印をクリックして


表示されるビューワー設定から


文字の大きさ

文字を明朝体で表示するか


ゴシック体で表示するか


などを


お好みの設定にすることもできます。


天国にいけるC言語入門 ヘキサ構造体



天国にいけるC言語入門とデータをフィードバック(情報交換)しあい


協力し合いながらともに


新芽が二葉になり、二葉が若葉に成長する植物のように


天に向かってのびてゆく


C言語参考書です。


本書は


天国にいけるC言語入門とは


お互いにデータをフィードバック(情報交換)しあい


協力し合いながらともに成長する関係


つまり


お互いに



            ヘキサ構造体   



の関係にあります。


ですので


天国にいけるC言語入門の付属というわけでなく


お互い同士が成長を支える 同等な関係となっています。


本書はランダムに記事を生成していきますので


???、はわわ???な部分が多数(笑)ありますが


ヘキサ構造体となっておりますので


いずれは理解できる仕組みとなっています。



ヘキサ構造体についてはまた別のエピソードで


お話したいですの。



また


天国にいけるC言語入門とあわせてお読みになると


理解がぐんとすすむでしょう。


それでは、


いろいろと


天国にいけるC言語入門と


データをフィードバックしてみましょう。


本文中のソースコードはすべてコピーアンドペースト


を行い


お使いのエディタに貼り付け


実行を行うことができます。


皆様の学習に役立てるようお使いください。





変数の型charについての考察


半角英数字を1文字だけ格納するchar型の変数




実際に半角英数字1文字だけchar型の変数に


格納してみます。


ここでは aという文字を


char型の変数characterに代入してみましょう。


その際


a

シングルクオーテーションで囲い


'a'

としたものを


char型の変数characterに代入します。


そうしなければ


aのままでは


文字データとしてコンパイラに認識されません。


aを


シングルクオーテーションで囲んで


'a'


と記述してはじめて文字データとして取り扱われます。


同様に


1を


シングルクオーテーションで囲んで


'1'


と記述すれば


数値データ1でなく

文字データ'1'とコンパイラに認識されます


数値データ1でなく

文字データ'1'の違いとはなんでしょうか?


数値データ1と

文字データ'1'ではメモリに格納されるデータがことなってきます。


char型の変数に

数値データ1を格納する場合

メモリには

00000001

保存されます


char型の変数に

文字データ'1'を格納する場合

メモリには

‭00110001‬

保存されます



#include <stdio.h>


int main()

{

char character;


character = 'a';

printf("%c\n", character);

return 0;

}


コンパイル結果は


aとなります。


char character;


とchar型の変数宣言するとき


変数名character には1文字ではなく9文字もつかえるのに


char型の変数には一文字しか格納できないのは おもしろいとおもいます。


%c 出力変換指定子は半角英数字を1文字printf出力表示する際使用されます。


半角英数字を1文字printf出力表示したいときには


かかせない出力変換指定子ですね。


%d 出力変換指定子では文字出力はできず整数値出力しかできません。


では char型の変数宣言を行わず


直接'a'だけをprintf出力表示してみましょう。


#include <stdio.h>


int main(void)

{


printf("%c\n", 'a');


return 0;

}


コンパイル結果はaとなります。


文字'a'のデータ情報をコンピュータのどこかのメモリに格納しなければ


printf出力表示させることはできません。


ということは


文字'a'はchar型の変数宣言をおこなわなくても


自動的に


変数の型charに格納されていると思われます。 


なぜなら


他の変数の型 int,float.doubleでは数値のみしか格納できない仕組み


となっているからです。


ここで何の脈絡もなく(^^)


======================


この天国にいけるC言語入門 ヘキサ構造体では


何の脈絡もなく、突然、題目が切り替わります。


ヘキサ構造体、こちら側の世界では、


順序だてて 進行するという概念がないのです。


======================


お話がきりかわります。



ためしに%cでなく%dで'a'をprintf出力してみると


#include <stdio.h>


int main()

{


printf("%d\n", 'a');


return 0;

}

コンパイル結果

97


このように

コンパイル結果は97となります。


不思議ですね。


'a'という文字を%d出力して97という数値が得られています。


a以外の文字b、cも


コンパイラにこれは文字ですよ~と


認識させるために


 'b' 'c'・・・


というようにシングルクォーテーション' 'でくくり


%d出力変換指定子をつかってprintf出力表示してみると


'b' 98

'c' 99

'd' 100

'e' 101

'f' 102

'g' 103

'h' 104

'i' 105

'j' 106

'k' 107

'l' 108

'm' 109

'n' 110

'o ' 111

'p ' 112

'q ' 113

'r ' 114

's' 115

't' 116

'u' 117

'v' 118

'w' 119

'x' 120

'y' 121

'z' 122


のように文字に対応した整数値が


コマンドプロンプト画面に表示されます。


このような


文字に対応した整数をASCII code(アスキーコード)とよびます。


これらのアスキーコードは


文字に割り振られており


逆に


アスキーコードを使って


アスキーコードに対応する文字データを


コマンドプロンプト画面にprintf出力表示することができます


以下のプログラムがその例となりますの。


#include <stdio.h>


int main()

{


printf("%c\n", 97);


return 0;

}


コンパイル結果

a


アスキーコード97を用いて


a


をコマンドプロンプト画面に表示することができました。


このように


アスキーコードに対応する文字をprintf出力表示するには


%c出力変換指定子がもちいられます


以下のプログラムのように


整数値をprintf出力表示する%d出力変換指定子を用いたならば


#include <stdio.h>


int main()

{


printf("%d\n", 97);


return 0;

}


コンパイル結果

97


そのまま


97


が表示されますね。




はいっ


なになに


8ビットは、1オクテットである・・・


わかりました。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます