Cの基本データ型
- 24-07-2022
- Toanngo92
- 0 Comments
前回の記事では、変数がコンピューターに値を格納する方法と変数を宣言するための構文を学びました。この記事では、C言語のデータ型について説明し、前のレッスンでは、データを宣言するときにその知識を思い出します。格納する変数の型を指定すると、コンピュータは、必要なデータ型を格納するのに十分なだけ、指定されたサイズ(メモリサイズ)のメモリ位置(メモリアドレス)を自動的に割り当てます。また、Cプログラミング言語では厳密な構文が必要なため、このデータ型の値を別のデータ型の変数に割り当てることはできません。変数のデータ型を宣言すると、値のみを割り当てることができます。変数。
Mục lục
変数宣言Cのキーワード(キーワード)
キーワードの概念がわからない場合は、記事Cプログラムの構造、C言語のキーワード(キーワード)のリストを読み直して、概念をもう一度理解することができます。ここでは、変数を宣言するときに変数のデータ型を決定するためのキーワードについて説明します。変数を宣言するときは、変数名に同じキーワードを使用できないようにする必要があります(変数名にキーワードを含めることはできますが、同一にすることはできません。たとえば、次のようになります。
int int; // lỗi int intNum; // không lỗi
Cの基本的なデータ型のリスト
変数に格納されるデータの一般的なタイプは次のとおりです。
- 数値データ
- 整数。例(6または-5)
- 実数。例(5.20または7.234)
- 正の数
- 負の数
- テキストデータ(例:「abcde」、「I'mtrying」)
- 論理データ(true / false)
データが異なるデータ型の変数に格納される場合、それらは異なる量のメモリを必要とします。変数に割り当てられるメモリの量は、変数のデータ型によって異なります(他のプログラミング言語と同様)。データ型を使用する場合のCの構文:
data_type variable_name //kiểudữliệu tên_biến data_type function_name(){ // do something here // kiểudữliệu tên_hàm }
C言語には、5つの基本的なデータ型があります。
int-野生の整数(略称interger )を表すために使用される整数データ型は、2バイトのメモリを占有します。 (例5または100または10000)
float、 double-数学のように10進数を表す実数データ型、float型は4バイトを占め、10進数の後に6つの数値を表すことができます(例:5.999999) 。double型は8バイトのメモリ領域を取り、10進数の後に10桁を表します。
char-文字データ型。単一文字('A'、'a'、'B'、 '1'、 '2' …)を表す1バイトのメモリを占有します。文字「1」は整数1とは異なることに注意してください
void-関数宣言に使用されるデータ型(変数宣言には使用されません)。値を返さない関数を宣言するために使用されます。関数の概念で言及されます。
派生データ型
さまざまな状況(メモリサイズの縮小、メモリサイズの拡大、変数表現の増加)に対応し、プログラムの最適化、システムメモリの節約、または通常のデータ型変数よりも大きい数値の表現を支援するために、基本的な数値データ型と組み合わせるために使用される修飾子代表する。 (以下の例で言及されます)
記号-記号付きのデータ型
unsigned-符号なしデータ型
long-データ型の2倍のメモリサイズを割り当てます
short-データ型の半分のメモリサイズを割り当てます
宣言構文:
sign int a; // khai báo biến integer a có dấu unsign int b; // khai báo biến interer b không dấu short float c; // khai báo biến float nhưng cấp phát 1 nửa kích thước vùng nhớ => 2 bytes unsign long double d; // khai báo biến double nhưng cấp phát gấp đôi kích thước vùng nhớ => 16 bytes và biểu diễn số thực không dấu
では、なぜ各データ型が異なるメモリ量を占めるのか、この問題をよりよく理解するために、コンピュータに関しては、コンピュータは電子部品を含む電子部品から設計されています。回路基板で構成され、電流を使用して送信します。データであり、0.1を電子機器のスイッチング電流に相当すると解釈するだけです。したがって、任意のデータ型を表すために、コンピューターは最終的にそれをバイナリに変換します。したがって、すべての数値、すべての文字、または文字列を機械語に入力して実行すると、値0と1にも変換されます。表現について詳しく知りたい場合は、2項演算と2項演算で整数表現を記述してください。 。
たとえば、バイナリで表される場合の数値31は11111であり、データ型はintで、16ビットに相当する2バイトが割り当てられ、次の数値シーケンスをRAMメモリに格納します。00000000011111(先行ゼロ)。整数が正か負かを判断するための数量記号)
(000011111)₂=(0×2⁸)+(0×2⁷)+(0×2⁶)+(0×2⁵)+(1×2⁴)+(1×2³)+(1×2²)+(1× 2¹)+(1×2⁰)=(31)₁₀
したがって、通常のintでは、最大数32767(0111111111111111)のみを表すことができ、最小数は-32767(0111111111111111)です。
文字( char )については、 ASCIIエンコーディング(American Information Interchange Code Standard)で設定された文字である8ビットに相当する1バイトが割り当てられます。これらの各文字は、フォーム番号で完全に表すことができます。コードテーブルで直接一致します。たとえば、文字「A」の場合、10進数のASCIIコードは65であり、次のシーケンスをRAMに格納します:01000001。
floatとdoubleに似ていますが、これら2つのデータ型は表現が非常に複雑なので、ここでは触れません。データ型が複雑になるほど、メモリに必要なメモリが多くなります。保存してください。
可変マイクロデータを説明する表の例
データ型 | メモリサイズ(ビット単位) | 性能範囲 |
---|---|---|
char | 8 | -128-> 127(ASCIIコード) |
署名なし | 8 | 0-> 255 |
署名された文字 | 8 | -128-> 127(ASCIIコード) |
int | 16 | -32,678-> 32.767 |
unsigned int | 16 | 0-> 65.535 |
署名されたint | 16 | -32,678-> 32.767 |
短い整数 | 8 | -128-> 127 |
long int | 32 | -2,147,483,648-> 2,147,483,647 |
基本的な変数宣言の例:
/* khai bao thu vien chuan */ #include<stdio.h> #include<stdlib.> /* end khai bao thu vien chuan */ int main() { // khai bao bien so nguyen int songuyen; // gan gia tri cho so nguyen bang 5 songuyen = 5; // khai bao va gan luon gia tri cho so nguyen int songuyencach2 = 6; // khai bao bien c la ki tu va gan bang ky tu 'A'; char c = 'A'; // khai bao bien so thuc va gan gia tri bang 5.1 float sothuc = 5.1; }
sizeof()関数について
sizeof関数は、cプログラミング言語の組み込み関数であり、データ型のサイズを測定するために使用されます。関数の戻り値は、チェックするデータ型のサイズを表す整数になります。
sizeof関数の構文:
#include stdio.h #include stdlib.h int main(){ int a; a = sizeof(int); printf("%d",a); return 0; } // kết quả in ra trả về 2 với hệ 16 bit, 4 với hệ 32 và 64bit
printf()関数の紹介
printf関数は、C言語の入出力システムの関数です。これは古典的な関数であり、フォーマット指定子を介して変数から画面にデータを出力するためによく使用されます。記事の入力、出力について詳しく説明します。この記事では、基本的なprintf関数とフォーマッターを使用して、誰もが問題を理解できるようにする方法の例を示します。
printf()関数の構文:
printf("%d",a); // in biến a dưới dạng só nguyên (decimal) printf("%f",b) // in biến dưới dạng số thực (float) printf("%c",c) // in biến dưới dạng ký tự (character)
変数の結果を画面に出力するための変数宣言とprintf()関数の組み合わせの例
#include<stdio.h> #include<stdio.h> int main() { // khai bao bien so nguyen int songuyen; // gan gia tri cho so nguyen bang 5 songuyen = 5; // khai bao va gan luon gia tri cho so nguyen int songuyencach2 = 6; // khai bao bien kytu la ki tu va gan bang ky tu 'A'; char kytu = 'A'; // khai bao bien so thuc va gan gia tri bang 5.1 float sothuc = 5.1; printf("%d,%d,%c,%f",songuyen,songuyencach2,kytu,sothuc); }