C语言中的基本知识点
-----------------------------
1.数据类型
2.运算符
3.控制流 (基础)
-----------------------------
4.数组 与 指针
5.函数 (进阶)
-----------------------------
6.自定义数据类型(结构体,枚举类型,共用体)
7.宏定义 与宏函数 (高级)
-----------------------------
(重点!!!!!!!!)
数据类型的作用: 告诉系统这个程序执行的时候在内存中划分的空间大小.
用户在储存数据的时候需要根据数据的大小去确定存放它的数据类型.
1.为了内存节省空间
2.为了防止数据溢出
(注意在计算机中把所有的数据都看作是整形数据处理的)
(根据数据 去 选择类型)
记住:
1:一个内存地址只能存放一个字节的数据
(一个字节8bit(比特))
2:在有符号数据中,数据的最高位 为符号位
0 -> 正数
3.unsigned 把有符号数修饰位无符号数(忽略符号位)
数据类型的大小
char = 1字节
short = 2字节
float = 4字节
double = 8字节
long = 8字节
long long = 8字节
long double = 8字节
字节 ->8 BIT 8位
正数: 原码 反码 补码 都一样
+1 0000 0001 0000 0001 0000 0001
负数: 原码 反码(原码取反) 补码反码 +1
-1 1000 0001 0111 1110 0111 1111
规则:负数都是以补码的形式存放的。
C语言中的变量命名规则:
只能由数字,字母,下划线组成,不能以数字开头,不能和系统关键字重名.
C语言的关键字: 例如 for while int char goto switch case ....
字符常量: ''//必须用单引号括起来 -> 'a'
转义字符常量: '\转义字符' // -> '\n'
字符串型常量: "" //必须要用双引号括起来 -> "ygeiufgwu"
c语言的 ASCII 表格 : man ascii
关于逻辑运算符
&& :逻辑与,前后条件同时达成/满足表达式即为真
|| :逻辑或,前后条件只要有一个达成/满足表达式即为真
&:按位与
|:按位或
&&和||是逻辑运算,&与|是位运算
假如a = 0xaa ,b = 0x55
a&&b = true ,在计算机中true以非0值表示,不同的编译器true值也不一样,一般为1
a||b = true,
a&b = 0; 值唯一
a|b = 0xff; 值唯一
“&&”跟“|”没有关系,在用“||”的地方一般也可以用|代替,但是用“|”的地方不能用“||”代替
判断用户输入的是否是字符
#include <stdio.h>
int main()
{
printf("请输入整形数据\n");
int a=0;
scanf("%d",&a);
//判断用户输入的数据是否为字符
if( (a >= 'A' && a <= 'Z') || (a >= 'a' && a <= 'z'))
{
printf("a=%d 对应字符 %c\n",a,a);
}
else
{
printf("用户输入的数据不是字符\n");
}
}
计算数据类型的大小
#include <stdio.h>
int main()
{
printf("char =%ld\n",sizeof(char));
printf("short =%ld\n",sizeof(short));
printf("int =%ld\n",sizeof(int));
printf("float =%ld\n",sizeof(float));
printf("double =%ld\n",sizeof(double));
printf("long =%ld\n",sizeof(long));
printf("long long =%ld\n",sizeof(long long));
printf("long double =%ld\n",sizeof(long double));
}