c语言基础篇之“变量,常量与运算符”

一.变量:在运行过程中可以改变的量
1.赋值
符号“=” ;列入a=10,意思是将10赋予a,a位于等号左端,称为左值;10位于等号右端,称为右值。注:10=a这种形式是错误的。
2.栈(stack)
(1)定义:是限定仅在表尾进行插入或删除操作的线性表。表尾端称为栈顶,表头端称为栈底。又称为先进后出型线性表。
(2)大小:1M~2M
3.作用域:花括号之间。
4.生命周期:程序/函数运行完,变量的内存就会自动回收。
5.规则:定义变量时一般由数字,字母,下划线组成,数字不能放在第一位。注:当定义一个变量时,当默认值为随机值时,系统会报错,即不能够使用,为初始化的局部变量。例如:

int main(){
in b;
printf("%d",b);//不能够使用未初始化的局部变量。
}return 0

二.常量
1.定义:在运行过程中不可以改变的量。例如:

const int a =10;//此时a为常变量,编译的时候确定他的值

注:定义常变量的时候一定要初始化。const修饰的变量将变为常变量,其被称为关键字。
2.#define:宏
用define定义时末尾不需要加“;”

#define SIZE 10

预编译:宏替换,注释的替换(空格),头文件的引入。
三.运算符
1.():函数;提升优先级;强制类型转换

int main();
3*(2+3);
int a=10;
char b = (char) a;

2.[]:数组元素下标

int arr[5]{1,2,3,4,5};

注:数组入栈下标小的在上,大的在下。
3.!:逻辑非

int a=10;
printf("!a==%d\n",!a)//结果为0,10取反的真值是0
printf("!!a==%d\n",!!a)//结果为1,0取反的真值时1

4.~:按位取反;>>:按位右移;<<:按位左移;^:按位疑惑;&:按位与;|:按位或
例子:11:0000 1011
~11:1111 0100
11>>1:0000 0101====>5(11/2^1)
11>>2:0000 0010====>2//右移相当于除法
11<<1:0001 0110====>22
11<<2:0010 1100====>44//左移相当于乘法
问:若将一个数扩大8倍怎么办
答:左移3位
13:0000 1101
11:0000 1011
11&13:0000 1001
11|13:0000 1111
11^13:0000 0110
5.++:增1:–:减1
a++:后置先赋值再加
++a:前置同时赋值与加

int i=1,i2=0,i3=2;
if(i++||i2++||i3++);//输出结果为202,i=1,为真,加一次,直接结束
if(i++&&i2++&&i3++);//输出结果为212,第一个为真,加完继续,第二个为假,加一次结束
int i=0,i2=0,i3=2;
if(i++||i2++||i3++);//输出结果为113,第一个为假,加完继续,第二个为假,加完继续,第三个为真,加完结束

6.*:指针间接引用符
(1)作用:代表指针 ;简介访问符==>解引用

int *a=&p;

7.sizeof:求当前变量的字节数

int *p=&a;
printf("%d\n",sizeof(a))//结果为4,所有的指针,不管什么类型全部为4个字节

8./:除

float f1 = 5/2;//2.000000    取整数部分
float f2 = (float)5/2;//2.500000
float f3 = (float)(5/2);//2.000000
float f4 = 5/(float)2;//2.500000

9.%:整数取余

printf("%d\n",10%3);//1
printf("%d\n",-10%3);//-1
printf("%d\n",-10%-3);//-1
printf("%D\n",10%-3);//1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值