2023.9.25
目录
一、数据类型
类型 | 存储大小 | 值范围 |
---|---|---|
char | 1 字节 | -128 到 127 或 0 到 255 |
unsigned char | 1 字节 | 0 到 255 |
signed char | 1 字节 | -128 到 127 |
int | 2 或 4 字节 | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
unsigned int | 2 或 4 字节 | 0 到 65,535 或 0 到 4,294,967,295 |
short | 2 字节 | -32,768 到 32,767 |
unsigned short | 2 字节 | 0 到 65,535 |
long | 4 字节 | -2,147,483,648 到 2,147,483,647 |
unsigned long | 4 字节 | 0 到 4,294,967,295 |
类型 | 存储大小 | 值范围 | 精度 |
---|---|---|---|
float | 4 字节 | 1.2E-38 到 3.4E+38 | 6 位有效位 |
double | 8 字节 | 2.3E-308 到 1.7E+308 | 15 位有效位 |
long double | 16 字节 | 3.4E-4932 到 1.1E+4932 | 19 位有效位 |
每种类型所需的存储量因平台而异
C具有内置的sizeof运算符,该运算符给出了特定数据类型的内存要求
例如:
#include <stdio.h>
int main()
{
printf("int: %ld", sizeof(int));
return 0;
}
程序输出为 int 类型显示相应的大小(以字节为单位)
该程序中的 printf() 语句有两个参数:
①带有格式说明符 %ld 的输出字符串
②sizeof() 返回值
二、变量
变量的定义和规范:
①是内存中区域的名称
②名称必须以字母或下划线开头,并且可以由字母,数字和下划线字符组成
③命名约定不同,但是通常使用带下划线的小写字母来分隔单词(snake_case)
④在使用变量之前,还必须将变量声明为数据类型
⑤声明的变量的值通过赋值语句进行更改
例如,以下语句声明一个整数变量my_var,然后为其分配值42:
int my_var; my_var = 42; //您还可以在单个语句中声明和初始化(分配初始值)变量 int my_var = 42;
三、常量
常量的定义和规范:
①常量数存储不能从它的初始分配改变的值
②通过使用具有有意义名称的常量,代码更易于阅读和理解
③为了区分常量和变量,通常的做法是使用大写标识符
方法一:const
定义常量的一种方法是在变量声明中使用 const 关键字
示例:
#include <stdio.h> int main() { const double PI = 3.14; printf("%.2f", PI); return 0; }
方法二:define
定义常量的另一种方法是使用 #define 预处理程序指令
示例:
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0; }
在编译之前,预处理器将代码中的每个 #define 标识符替换为指令中的相应值
在这种情况下,每次出现的PI都将替换为3.14
发送给编译器的最终代码将已经具有常数值
const和#define之间的区别在于,前者使用内存进行存储,而后者不使用
四、输入
C支持多种方式来接受用户输入
方法一:getchar()
getchar()返回下一个单字符输入的值
示例:
#include <stdio.h> int main() { char a = getchar(); printf("你输入的时: %c", a); return 0; }
方法二:gets()
gets() 的获取函数是用来读输入为有序的字符序列,也被称为串
串被存储在一个字符阵列
示例:
#include <stdio.h> int main() { char a[100]; gets(a); printf("您输入的是: %s", a); return 0; }
方法三:scanf_s()
scanf_s() 扫描与格式说明符匹配的输入
示例:
#include <stdio.h> int main() { int a,b; scanf_s("%d%d", &a, &b); printf("两数相加等于%d", a+b); return 0; }
在与变量名前 & 运算符。它给出了变量的地址或在内存中的位置。这是必需的,因为scanf 将输入值放置在变量地址上
scanf_s() 遇到空格后立即停止读取,因此诸如 “ Hello World” 之类的文本是 scanf() 的两个单独输入
五、输出
方法一:printf()
#include <stdio.h> int main() { printf("hello world!"); return 0; }
方法二:putchar()
putchar() 输出一个字符
示例:
#include <stdio.h> int main() { char a = getchar(); printf("您的输入: "); putchar(a); return 0; }
方法三:puts()
puts() 函数是用来显示输出作为字符串
字符串串被存储在一个字符阵列
示例:
#include <stdio.h> int main() { char a[100]; gets(a); printf("您的输入是: "); puts(a); return 0; }