内存如何存放数据
计算机使用内存和硬盘存储数据
计算机在执行程序的时候组成程序的指令和数据需要存在某个地方
cpu旁边还有更快的寄存器
变量
变量是一块 数据存储的 内存空间
不同的数据有不同的内存地址
变量的命名
通过变量可以简单快速的找到内存中的存储数据
c语言命名规则
- 变量梦首字母只能是字母或者下划线
- 变量名的其他子母包含 下划线, 字母 和 数字
- 不能使用关键字/保留字(32个关键字)
数据类型
数值 v.s. 非数值
数值分为 1.整型整型(int) 短整型(short) 长整型(long)
2.非整形浮点型(float)双精度(double)
非数值: 1.char字符类型
c语言常用数据类型
数据类型 | 类型说明符 | 位数 | 取值范围 |
---|---|---|---|
整型 | int | 32(4字节) | -2147483648~2147483647 |
短整型 | short int | 16 | -21767-32768\ |
长整型 | long int | 32 | -2147483648~2147483647 |
单精度浮点型 | float | 32 | -3.4E-38~3.4E+38 |
双精度浮点型 | double | 64 | 1.7E-308~1.7E+308 |
字符型 | char | 8 | -128~127 |
生命和使用变量
声明变量:
DateType variableName; 数据类型 变量名
定义是初始化变量:
DateType variableName = value; 数据类型 变量名 = 值
定义后初始化变量:
DataType variableName; 数据类型 变量名;
variableName = value; 变量名 = 值
第一次赋值是初始化
int a, b, c… 一次初始化多个
//小明的月薪是2500
#include<stdio.h>
void main()
{
int salary =2500;
printf("小明的月薪是 %d\a", salary);
}
其中%d是整型占位符
两个占位符:
#include <stdio.h>
int main()
{
int num1 = 10, num2 = 8;
printf("%d口心思,思君思国思社稷\n%d目共赏,赏花赏月赏秋香!", num1,num2);
return 0;
}
使用单精度浮点型变量
浮点型的占位符%f
#include <stdio.h>
int main()
{
float h = 150.0f;
float w = 25.0f;
float s = h * w;
printf("长方形的面积是:%.2f\n", s); //%f是浮点占位符 .2是显示两位小数
return 0;
}
使用双精度浮点型
16为有效数字
占位符: %lf
- 通常小数被存储为double类型,比如2.0
- 数字后使用L时,数字会成为longdouble类型,如4.67L
使用字符变量
位数:8位
空间:1个字节
int main()
{
char ch = 'A'; //字符
printf("要打印的字符为: %c\n", ch);
return 0;
}
打印对应的ASCII码
#include<stdio.h>
void main()
{
char ch1 = 'a'; //小写字母a
char ch2 = 'A'; //大写字母A
char ch3 = ' '; //空格
printf("字符\tASCII码\n");
printf("%c\t%d\n", ch1, ch1);
printf("%c\t%d\n", ch2, ch2);
printf("%c\t%d\n", ch3, ch3);
printf("%c\t%d\n", ch1-32, ch1-32);
}
ASCII码,数字对应键盘键, 如果
有/无符号char
总结
数据类型 | 初始化 | 占位符 |
---|---|---|
整型 | int a = 10 | %d |
单精度浮点型 | float a = 10.555f | %.3f |
双精度浮点型 | double a = 10.555 | %.3lf |
字符 | char a = A | %c |