【C】基础概念--运算符、变量常量、标识符、数组

1.运算符      
位运算符:~取反    ^异或     
位运算符: | 或  &与           
逻辑运算符: ||或   &&与       
进制      分支     循环
2. 变量和常量:
变量: 可修改的值     数据类型+数据名
 bool 1   char 1     short 2     int 4      long  4
//单精度 float    1   8(+127)   23
//双精度 double   1  11(+1023)  52
//整型变量   浮点值变量

常量:不让修改值  不等放在等号的左边
分为几种:
1. 数字常量(1,2,3,...)  
2. 字符常量'c',  'm',  '\n',    ' ',(空格)   '\'(这是错误的 它表示转义字符) 正确的写法应该是'\\'
3. 浮点值常量 12.3  15.5   0.123   1.23e-1           C语言支持科学计数法
4. 字符串常量 "123"    "abc"     "0"   (字符和字符串的区别,只需要看头顶是单引号还是双引号)
5. 宏常量(符号常量) #define  PI  3.14(宏定义后面没有分号)       用完宏之后要屏蔽#undef
// 因为宏只是做一个简单的替换  所以不安全(没有类型安全检查)
6. 常变量 const+定义变量 const修饰的变量值不让修改(类似有常量的属性)
//常量定义的时候一定需要加上初始值,如果不给,以后也没机会给了,所以报错
3.标识符起名规则:
1.由数字,字母,下划线(新标准有添加,C++添加了unicode)
2. 不能由数字开头 其他都可以开头 int 2=10; error 
3. 不让使用系统保留的标识符  int float=2; int return=10 ; 都是不让使用的 有32个不让用的
4. 区分大小写  int a=10; int A=20; 字母不让中间加逗号和空格
// 不要起这种名字: iI1    kK    mM  cC    zZ   pP

4.数组 :处理批量数据(数组是一堆类型相同的变量集合)
一般表现形式:数据类型+数组名+[长度]
数组如何去访问?    通过下标去访问  
中括号中间的值什么时候代表长度什么时候代表下标?    当数组定义的时候中括号中间的值代表着长度,必须是常量  //C99标准可以不是常量
当数组使用时候(非定义的时候)中括号中间的值代表着下标,此处的下标可以是常量也可以是变量
int arr[10]={1,2,3,4,5,6,7,8,9,10};   //此时中括号中间的值代表长度
     arr[10]=10;   //此时中括号中间的值代表下标
数组越界(很危险):访问到不属于自己的内存,会发生数据越界,不安全。  

vs编译器给变量的两端各放置一个地雷(地雷占四个字节)不强调地雷的类型他只占四个字节

在C语言中,%p是打印地址

 数组名还可以表示数组首元素的地址
数组名只有两种情况下表示整个数组:
1,在定义数组的同一个函数内,sizeof(arr), 这里的arr代表整个数组
2,在定义数组的同一个函数内,&arr+1,这里的arr代表整个数组
怎么求数组长度?
sizeof(arr)/sizeof(arr[0])==len
数组整个的字节/第一个格子的字节==有多少个格子

//数组名作为函数的参数传递的时候,会发生退化,退化成指针(只传递一个信息:数组只传递地址,而没有传递长度)所以一般来说数组作为函数参数调用时,数组名和数组长度缺一不可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值