C语言基础知识--从认识常量,变量开始
程序设计语言基本构成要素
标识符
系统预定义标识符(如printf)
用户自定义标识符(用来标识变量名,符号常量名,数组名,函数名等)
命名规则
首字符必须是字母或下划线
切记不要使用汉语拼音
不能使用关键字
c语言数据类型–变量
变量是如何定义的?
必须先定义后使用
变量定义语句
类型关键字 变量名;
例如:int a;
,int a ,b,c;
变量的基本属性
- 变量名
- 变量的值
- 变量的类型
- 变量的地址
变量占内存的字节数
现代计算机大都采用冯诺依曼体系结构,程序和代码都是以二进制存储的
数据类型带来了程序的简明性和数据的可靠性
c语言的数据类型
变量的类型决定了什么
- 占用空间的大小
- 数据的存储形式
- 合法的表数范围
- 可参与的运算种类
- int–基本整型占4个字节;
- short int --短整型占2个字节
- long int–长整型占4个字节
- unsigned–无符号整型(用来修饰int ,short,long)
- float–单精度实型占4个字节
- double–双精度实型占8个字节
- char–字符型占1个字节
那我们如何计算变量占内存空间的大小呢?
-sizeof运算符(一元运算符)
有何好处?
- 增加程序的可移植性
- 使用语法:
sizeof(int) //此时是运算符
sizeof(a+b)
不同类型数据的存储形式不同
【小端次序】高位字节 低位字节
【大端次序】低位字节 高位字节
代码演示查看变量占内存的字节数
#include <stdio.h>
int main(){
//定义变量
char zh;
short a;
int b;
long c;
float d;
double e;
//赋值使用
zh = 'a';
a = 1;
b = 2;
c = 3;
d = 3.5;
e = 3.5;
//打印输出结果
ptintf("%d\n", sizeof(char));
//接下来依次输出
ptintf("%d\n", sizeof(short));
ptintf("%d\n", sizeof(int));
ptintf("%d\n", sizeof(long));
ptintf("%d\n", sizeof(float));
ptintf("%d\n", sizeof(double));
return = 0;
}
使用xcode编译结果:
运行结果就是变量所占字节数
宏常量和const常量
什么是常量???
在程序中不能被改变的量
- 整型常量(如67,022,0x12,123L)默认为int;
- 实型常量(如 3.14 ,1.2e-5,2.77F) 默认为double;
- 字符型(如’a’,‘3’,’$’)
- 字符串(如"UKA",“3”,“5a”)
- 枚举型(后面会涉及)
练习一:计算圆的面积和周长
//说明:这里3.14159代表的是π,5.3代表半径
#include <studio.h>
main(){
printf("area = %f\n",3.14159*5.3*5.3);//直接使用的幻数
prints("circumference = %f\n",2*3.14159*5.3)
}
个人不太推荐这种代码风格程序可读性很差!!!
良好的程序设计风格建议用宏常量和const常量
- 宏常量–用标识符表示的常量(命名全部大写)
- 宏定义—#define 标识符 字符串(如#include编译预处理指令)
代码演示
#include <studio.h>
#define PT 3.14159
#define R 5.3
main(){
printf("area = %f\n",PI*R*R);
prints("circumference = %f\n",2*PT*R)
}
注意:编译预处理指令不能加分号!!!
CONST常量
#include <studio.h>
#define PT 3.14159
#define R 5.3
main(){
const float pi = 3.14159;
const float r = 5.3;
printf("area = %f\n",PI*R*R);
prints("circumference = %f\n",2*PT*R)
}
##数据的转换和表示---- 二进制数
- 数码:0,1
- 基数:2
- -运算规则:逢二进一,借一当二
- 负数用二进制的补码表示