[黑马程序员][C语言]基础

------Java培训、Android培训、iOS培训、.Net培训期待与您交流! -------



C语言笔记

——————

①32个关键字:

auto double int struct break else long switch

case enum register typedef char extern return union

const float short unsigned continue for signed void

default goto sizeof volatile do if while static


②标识符命名规则(一定要遵守)

l   只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_组成

l   严格区分大小写,比如test和Test是2个不同的标识符

l   不能以数字开头

l   不可以使用关键字作为标识符

③数据类型


l   struct结构体,union共用体,enum枚举。

l   0.7是double类型,0.7f是float类型,7f会报错(只有小数才能加f)。

l   char类型智能有一个字符,而且不能是中文(必须是ASCII码表中的?)。

⑤变量

l   定义:在内存中分配空间。

l   赋值:未初始化的变量,存的值是随意的。(static修饰的除外)

l   代码块作用域:({ int i = 0;}int i=0;)这样是不报错的。

l   基本数据类型,在内存中占用的字节数


l   内存由大到小寻址,优先分配内存地址较大的字节给变量。(查看内存地址:int a; printf(“a的地址是:%p\n”, &a);)

⑥scanf

l   输入给scanf("%d-%d-%d", &a, &b, &c);的时候,输入的形式是“12-12-12”,如果没有间隔的“-”的话是会有大问题滴!(连续的分隔符(空格、tab、回车)与一个分隔符是等效的)。

⑦printf


⑧运算

l   取余运算(%)的左右值只能是整数,结果的正负取决于左值。

l   int a,b;a=b=7; 不报错。

l   sizeof()用来获取(常量/变量/数据类型*)在内存中所占的字节数。

l   0是假,非0是真。C语言没有boolean类型。

l   !0 == 1, !1 == 0,而且!(非0) == 0。

⑨break:循环、switch中使用;continue:循环中使用。 

⑩函数的定义放在.c文件,函数的声明放在.h文件中。在main函数所在的文件中,只需include<xx.h>即可,不用把xx.h中的所有函数生命都写出来。

⑪数组

l   数组的初始化可以这样写:int a[4] = {[1]=11,[0] = 7};

l   存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的)*

⑫指针:用来存储地址

l   %p输出指针,

l   函数作为一段程序,在内存中也要占据部分存储空间,它也有一个起始地址,即函数的入口地址。可以指针指向一个函数。函数名就代表着函数的地址。用途有两个:调用函数;将函数作为参数在函数间传递。

⑬变量类型分为:自动变量(auto),静态变量(static),寄存器变量(register)。




l   所有局部变量默认都是自动变量。所以auto基本是废的。


l   静态变量,在静态内存中(不属于堆栈)。所有全局变量和static修饰的局部变量都是静态变量。静态变量只被创建一次,所以static int a=1;这句只会被执行一次(作为局部变量的时候,也不会被重复赋这个值);


l   寄存器变量,存储在硬件寄存器中。只有自动变量才可以是寄存器变量,全局变量和静态局部变量不行。寄存器变量只能是int、char、指针类型。好处:速度快。注意:寄存器有限,用完时会自动把寄存器变量转换成自动变量。

l   

l   

l   

l   

l   

l   

l   

l   

l   

l   

l   

l   

l   

l   

l   

l   



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值