C语言学习2--10/18
常量: 不会变化的数据
1. “hello” 字符串常量,‘A’ 字符常量,-10整型常量,3.14浮点常量
2 . #define PI 3.14 , 宏定义 , 推荐
3. const a = 10 const 关键字, 被该关键字修饰的变量, 表示为只读变量
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { int r = 3; float s = PI * r * r; float l = 2 * PI * r; printf(" s is %f \n",s); printf(" l is %f \n",l); return 0; }
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI , 宏定义没有分号 int main(void) { int r = 3; float s = PI * r * r; float l = 2 * PI * r; printf(" s is %.2f \n",s); // 保留两位小数 printf(" l is %.2f \n",l); return 0; }
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { const int r = 3; //只读常量 r = 3 float s = PI * r * r; float l = 2 * PI * r; printf(" s is %.2f \n",s); printf(" l is %.2f \n",l); return 0; }
变量 : 会变化的数据
定义语法,: 类型名 = 变量值 (一般方法)
变量三要素: 类型名, 变量名, 变量值
变量的存储: int r = 3
变量的声明:
(1)int a , 没有变量值的变量定义, 叫做声明
(2)extern in a ; 添加了关键字 extern
变量定义会开辟内存空间,变量声明不会开辟内存空间
标识符
命名规则
通常常量使用大小, 变量使用小写, 大小写严格区分
整型:
int: int 名 = 值
short:short 名 = 值
long:long 名 = 值
long long 类型:long long 名 = 值
sizeof 关键字:sizeof 不是一个函数, 是一个关键字,
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { int a = 3; short b = 20; long c = 30; long long d = 40; printf("int size if %d \n", sizeof(a)); printf("short size if %d \n", sizeof(b)); printf("long size if %d \n", sizeof(c)); printf("long long size if %d \n", sizeof(d)); return 0; }
int size if 4 short size if 2 long size if 4 long long size if 8
sizeof用法
sizeof(类型名)sizeof(int)
sizeof(变量名)int a; sizeof(a)
也可以不用括号 , 但是不建议这样用 sizeof int, sizeof a
有符号类型
signed ;有符号的 signed int a = 10; 几乎不用, 因为默认就是有符号的
无符号类型
unsigned ; unsigned int 名 = 值; unsigned int a = 40 , unsigned short a = 10; unsigned long a = 10;unsigned long long a = 10; 无符号数据类型只表示数据量, 而没有方向(没有正负)
无符号数据类型的使用
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { unsigned int a = 10u; unsigned short b = 20u; unsigned long c = 30L; unsigned long long d = 40LL; printf("the int a is %d",a); printf("the short is %hu",b); printf("the long is %lu",c); printf("the long long is %llu",d); return 0; }
字符类型--char 字符类型
存储一个字符,“”A“”,'B','%',"0"
格式匹配符号是%c
asic 码
字符 :asic码值
'A’: 65
'a': 97
'0':48
'\n': 10
'\0': 0
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { // 大小写转换, a = 97 A = 65 char ch = '\n'; printf("\\n is %d",ch); // %d格式化char 数据类型的时候, 得到的就是这个char 对应的asic 码值 return 0; }
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { char ch = 'A'; printf(" ch is %c\n",ch); printf(" ch is %d\n",ch); ch = 'M'; printf("ch is %c\n",ch); printf("ch is %d\n",ch); //用%d输出的话就会显示asic 表的值 return 0; }
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { // 大小写转换, a = 97 A = 65 char ch = 'A'; printf("ch is %c",ch+32); return 0; }
转义字符
浮点型数据类型
float : 单精度浮点型 4字节
float v1 = 4.356
double: 双精度浮点型 8 字节
double v2 = 5.678
unsigned float v1 = 3.345 无符号的浮点型
unsigned double v2 = 5.234 无符号的浮点型
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { float v1 = 1.2376929457258; double v2 = 3.141; printf("v1 is %f\n",v1); //默认是小数点后6 位 printf("v2 is %f\n",v2); printf("v1 is %08.3f\n",v1);//保留三位小数,四舍五入 printf("v1 is %.3f\n",v1); return 0; }
v1 is 1.237693
v2 is 3.141000
v1 is 0001.238
v1 is 1.238
科学记数法 :
进制:
十进制转二进制 ---除2取余法
8 进制转10进制
定义8 进制: 056:零开头, 每位数在0~7 之间 5*8^1+6*8^0=46
8进制转2进制:
16进制
#include<stdio.h> #define PI 3.14 //预处理定义常量 PI int main(void) { int a = 10; printf("十进制是 %d\n",a); printf("十六进制是 %X\n",a); printf("8进制是 %o\n",a); //printf("十进制是 %d",a); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?