**操作符**
<<左移操作符(对应的二进制序列左移一位)
>>右移操作符
int a=1;
int b=a<<1;(00000000000000000000000000000001)
b=2(00000000000000000000000000000010)
位操作:二进制位操作
&按位与,|按位或,^按位异或
int a=3
int b=5;
int c=a%b;
(3:011 5:101)
十进制转化位二进制:1111(1*2^3+1*2^2+1*2^1+1*2^0)
按位与;同是为真是为1
按位或:有一个为真时为1
按位异或:都是1,都是0时为0;一个是1一个是0时为1;(对应的二进制位相同为0相异为1)
a+=10(a=a+10)复合赋值符;
单目操作符,双目操作符,三目操作符:
单:一个操作数 双:两个操作数
三:三个操作数
C语言中0为假非0为真
int a=2;
!a=0
sizeof求类型的大小(变量或者类型所占空间大小按字节打印)
sizeof(a)=sizeof (int)=sizeof a
也可以求一个数组大小:
int arr[10];十个整形元素的数组大小是40个字节
sizeof (arr);大小是40 字节
数组元素的个数:数组总大小除以每个元素的大小;
int sum=sizeof(arr)/sizeof(arr[0])(数组总的大小)
\0 0 '0'区分
\0的ASCLL是0;
~按位取反:
~0的值:00000000000000000000000000000000
取反 : 11111111111111111111111111111111
只要是整数在内存中存储的是补码,整数中的正数原码反码补码都相同
负数在内存中存储的是补码,打印的是原码
例子:
原码是直接按照正负写出的二进制序列
反码是符号位不变其他位按位取反
补码是反码加一
-2的原码:10000000000000000000000000000010
反码:1111111111111111111111111111101
补码:反码加一:111111111111111111111111111111111111110
--操作符++操作符:
int a=10;
int b=a++;(后置加加)
所以得出b的值是10,a是11;
int b=++a;(前置加加)
所以b值是11,a的值是11;
(类型):强制转换
int a=(int)3.14;强制转换:3.14是double类型强制转换成int 类型
关系操作符:>,<,==,>=,<=
0表示假一切非0表示真:
&&逻辑与||逻辑或
int a=3;
int b=5;
int c=a&&b;
c的值是1;(a和b都是真所以c的值也是真)
三目操作符:
exp1?exp2:exp3:如果表达式1的值是真的话输出表达式2的值作为最终结果,如果表达式1的值是假的话输出表达式3的值作为最终结果。
逗号表达式:
下标:
int arr[0]={0};
arr[4];(下标引用操作符)
Add(a,b);(函数调用操作符)
常见的关键字:(不能和变量名冲突)
int float .........c语言内置的关键字;
auto:局部变量的前面省略了auto
break,case;
extern:其他源文件的变量可以被引用
register:寄存器关键字(计算机存储数据可以存在硬盘,内存,寄存器,高速缓存)
硬盘500g 内存4/6/8g 高速缓存 寄存器 ——————访问速度逐渐加快,造价越高
空间逐渐减小
CPU中央处理器:从内存拿数据到CPU计算;内存访问速度慢CPU访问速度快;
从寄存器里面拿速度更快,让内存的东西放到寄存器
int main()
{
register int a =10;(a定义为寄存器变量)a经常使用时
return 0;
}
int定义的变量是有符号的;
unsigned int num无符号数
struct结构体关键字 union联合体、
typedef:类型重定义
typedef unsigned int u int;
unsigned int=u int ;
局部变量用完时销毁;
void text () a的值一直是1
{
int a=1;
a++;
printf(“a=%d"\n,a);
}
加上static:
void text() a的值逐渐加一
{
static int a=1;
a++;
printf("a=%d"\n,a);
}
所以当static修饰局部变量时,生命周期延长了;出了作用域不在销毁;
当static修饰全局变量时:
加上static时改变了作用域,不可以在别的文件中使用;
总结:static修饰局部变量是改变了生命周期;修饰全局变量是改变了作用域,只能在当前文件中使用,出了该文件不能使用;
static修饰函数时改变了函数的链接属性,改变了作用域不可以在别的文件中使用;
普通函数具有外部链接属性,但是被static修饰后无法被链接;
初始C语言
原创
©著作权归作者所有:来自51CTO博客作者Sunshineづ的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
初始C语言
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易 的方式编译、处理低级存储器、产 生少量以及超级电脑等作业平台。
c语言 开发语言 数组 #include 作用域 -
C语言#初始C语言(二)
1、常量2、字符串+转义字符+注释3、选择语句、循环语句4、函数5、数组6、操作符
C语言 字符串 函数 数组 操作符 -
C语言的笔记:初始C语言
自己初学的记录
生命周期 作用域 局部变量 -
初始C语言(1)
了解C语言的基础知识,对C语言有个大概认识。
#include 生命周期 全局变量 -
初始C语言(3)
C语言程序设计
#include 操作符 反码