|
C 语言基本数据类型
在 C 语言中,基本数据类型有以下几种:
整型(int)
整型是表示整数的数据类型,它可以分为有符号整型和无符号整型两种。有符号整型可以表示正数、负数和零,无符号整型则只能表示非负数。
int a = 10; // 声明一个有符号整型变量a,初始值为10
unsigned int b = 20; // 声明一个无符号整型变量b,初始值为20浮点型(float 和 double)
浮点型是表示实数的数据类型,它可以分为单精度浮点型和双精度浮点型两种。单精度浮点型可以表示小数点前后共 7 位数字,双精度浮点型则可以表示小数点前后共 15 位数字。
float x = 1.23f; // 声明一个单精度浮点型变量x,初始值为1.23
double y = 4.56; // 声明一个双精度浮点型变量y,初始值为4.56字符型(char)
字符型是表示字符的数据类型,它可以存储单个字符,包括数字、字母、符号和空格等。
char c = 'A'; // 声明一个字符型变量c,初始值为字符'A'布尔类型
布尔类型用于表示逻辑值,只有两个取值:true 和 false。在 C 语言中,布尔类型没有独立的数据类型,通常用 int 类型来表示,0 表示 false,非零值表示 true。
#include <stdio.h>
bool b = true; // 声明一个布尔变量b,初始值为true
if (b) {
printf(&#34;b的值为true\n&#34;);
} else {
printf(&#34;b的值为false\n&#34;);
}C 语言高级数据类型
除了基本数据类型,C 语言还提供了一些高级数据类型,包括字符串、数组、结构体和联合体。
字符串
字符串是一串字符的集合,用一对双引号括起来表示。在 C 语言中,字符串实际上是一个字符数组,以空字符&#39;\0&#39;作为结尾。
char str[] = &#34;Hello world&#34;; // 声明一个字符串变量str,初始值为&#34;Hello world&#34;数组
数组是一组相同类型的变量的集合,每个变量都有一个唯一的下标。在 C 语言中,数组可以分为一维数组和多维数组两种。
int a[] = {1, 2, 3, 4, 5}; // 声明一个一维整型数组a,初始值为{1, 2, 3, 4, 5}
int b[][2] = {{1, 2}, {3, 4}, {5, 6}}; // 声明一个二维整型数组b,初始值为{{1, 2}, {3, 4}, {5, 6}}结构体
结构体是一种自定义的数据类型,它可以由不同类型的数据组成一个整体。在 C 语言中,结构体是由一组有关联的变量组成的数据类型,可以使用 &#34;.&#34; 访问结构体。
struct Student {
char name[20]; // 学生姓名
int age; // 学生年龄
float score; // 学生成绩
};
struct Student stu = {&#34;张三&#34;, 18, 90.5}; // 声明一个学生结构体变量stu,初始值为{&#34;张三&#34;, 18, 90.5}
printf(&#34;姓名:%s,年龄:%d,成绩:%.1f\n&#34;, stu.name, stu.age, stu.score);联合体
联合体也是一种自定义的数据类型,它可以表示多种不同类型的数据,但同一时间只能存储其中一种类型的数据。在 C 语言中,联合体中所有成员共用同一段内存空间。
union Data {
int i;
float f;
char str[20];
};
union Data data;
data.i = 10;
printf(&#34;整型变量data.i的值为:%d\n&#34;, data.i);
data.f = 3.14;
printf(&#34;浮点型变量data.f的值为:%.2f\n&#34;, data.f);
strcpy(data.str, &#34;Hello&#34;);
printf(&#34;字符型数组变量data.str的值为:%s\n&#34;, data.str);枚举类型
枚举类型也是一种自定义的数据类型,它可以将一些常量值命名为一个集合,并且可以通过名称来引用这些常量值。在 C 语言中,枚举类型是由一组枚举常量和一个枚举变量组成的。
enum Color {RED, GREEN, BLUE};
enum Color c = RED; // 声明一个枚举变量c,初始值为RED
if (c == RED) {
printf(&#34;c的值为RED\n&#34;);
} else if (c == GREEN) {
printf(&#34;c的值为GREEN\n&#34;);
} else if (c == BLUE) {
printf(&#34;c的值为BLUE\n&#34;);
} |
|