C语言快速入门

这篇博客详细介绍了C语言的基础知识,包括数据类型、运算符、指针、内存管理和数组等内容,并探讨了位运算、字符串处理、函数与内存的关系等高级主题。通过实例解释了C语言中的常见概念和陷阱,适合初学者学习。
摘要由CSDN通过智能技术生成

排版随意,一边学习一边摘下来的,有空会整理下。


目录

一、数据类型的取值范围及所在内存

二、int a =1 ,b=2;float c;c= a/b;为什么c等于0?

三、int c = a == b;对的吗?c等于?

四、运算优先级

五、int a = -1; int b = 2;  a&&b等于1?

六、位运算( &,|, ~,^,<<,>> )

1、位运算时需要明确知道的事

2、int c=-1;c = c >> 4,c还是-1?

3、<< 相当于在原数的基础上乘2^n;>> 相当于在原数的基础上除2^n

七、char类型的本质:char是只占用一个字节的整型,可表示字符

(1)char 也可以当做1个字节的整型使用;

(2)char 只不过可以表示字符,依托ASCII

七、switch 的注意事项

八、小数和负数取余

九、最近匹配原则

十、数据类型的回转

十一、常用整型数盘点

十二、sizeof 关键字

十三、C语言中的奇葩整形(long)

十四、连续变量定义和连续赋值

十五、三目运算符

十六、逗号运算符

十七、自增(++)与自减(--)运算符

十八、C语言中的常量类型

十九、数组

二十、字符串常量的本质是字符数组

二十一、转义字符

二十二、同名变量

二十三、变量的作用域

二十四、生命期

二十五、生命期与作用域

二十六、静态变量

二十七、全局数据区里默认为0,可以不初始化

二十八、变量的生命期由变量存储位置决定

二十九、不写返回语句,默认返回类型为int,下图程序正确,但是不推荐。

三十、再看逗号表达式

三十一、递归思想

三十二、宏与函数

三十三、指针

1、指针与内存地址

2、获取地址

3、指针定义语法

4、指针内存访问

5、灵魂三问

6、int a[] = {1,2,3,4,5}; &a和a有什么区别?

7、字符串拾遗

8、指针移动组合拳

9、函数与内存

10、再论数组参数

三十四、堆空间

1、堆空间的本质

2、预备知识 - void*

3、堆空间的使用

4、堆空间的使用原则

5、一些注意事项

三十五、自定义数据类型

1、关键字 typedef

2、struct 结构体类型

3、位域

4、联合体

5、枚举

三十六、多文件程序设计

1、多文件之间的相互访问

2、再论全局变量


一、数据类型的取值范围及所在内存

数据类型 别名 取值范围 所占内存:位
void *   强制转换使用 32
Boolean   True或False 1
float   -3.4E38 ~ 3.4E38 32
double   0~1.7 * 10^308 64
int   -2147483648 ~ 2147483647 32
signed int INT32 -2147483648~2147483647 32
unsigned int UINT32 0 ~ 4294967295 32
char   -128~+127 8
signed char INT8 -128~+127 8
unsigned char /Byte UINT8 0~255 8
short   -32768 ~ 32767 16
signed short INT16 -32768 ~ 32767 16
unsigned short UINT16 0~65535 16
Long   -2147483648~2147483647 32
signed long   -2147483648~2147483647 32
unsigned long   0~4294967295 32
unsigned long long UINT64 0-18446744073709551615 64
signed long long INT64 -4294967296~4294967295 64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#include <stdio.h>

int main() 
{
	printf("数据类型               所占字节大小 \n");
	printf("------------        -------------------- \n");
	printf("char                  %d\n", sizeof(char));
	printf("int                   %d\n", sizeof(int));
	printf("short int             %d\n", sizeof(short int));
	printf("long int              %d\n", sizeof(long int));
	printf("float                 %d\n", sizeof(float));
	printf("double                %d\n", sizeof(double));

	return 0;
}

二、int a =1 ,b=2;float c;c= a/b;为什么c等于0?

#include <stdio.h>

int main() {
	int a = 1, b = 2;
	float c =0;

	c = a / b;
	printf("=两个int相除为int=%f==\n", c);
	c = (float)a / b;
	printf("=利用强制转换,可获得浮点数=%f==", c);

	return 0;
}

三、int c = a == b;对的吗?c等于?

#include <stdio.h>

int main() {
	int a = 1, b = 2;
	int c = a==b;

	printf("==%d==", c);

	return 0;
}

四、运算优先级

五、int a = -1; int b = 2;  a&&b等于1?

#include <stdio.h>

int main()
{
	int a = 1;
	int b = 2;
	int c = 0;

	c = a && b;
	printf("c=%d\n", c);

	c = !(a-b)||(c<b);
	printf("!优先级大于||  c=%d\n", c);

	c = -5;
	c = !c;
	printf("c=%d\n", c);

	c = -5;
	c = !!c;
	printf("c=%d\n", c);
	return 0;
}

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值