前言:
今天咱们对“c语言 数据结构”大致比较注意,你们都想要知道一些“c语言 数据结构”的相关资讯。那么小编同时在网摘上搜集了一些有关“c语言 数据结构””的相关内容,希望你们能喜欢,同学们一起来了解一下吧!int a=10;初始化a值为10;(没有初始化的值会自动归零);
static 静态存储类型 只初始化一次、不能用于整个工程;
自动类型转换:当一个有符号,一个无符号,有符号的会自动转换成无符号;
强制类型转换:一般用在字节数相等的数据类型,分为隐式和显式;大转小会丢失、高精度转低精度也会丢失精度;例如:doudle a=1.234567,printf("a=%d\n"(int ) a);
多个.c文件编译也只能由一个主函数;
输入输出:
标准格式输入输出:scanf printf
字符输入输出:getchar putchar
字符串输入输出:gets puts(自动换行、输出以\0结束);
单纯%d、%c输出会清除空白字符;
scanf中加\n会清除空白字符;
*抑制,指定输入项不赋给变量;
%c前加空格(清除垃圾字符);
所有浮点数在计算计中都认为是double型(无论是float还是double);
unsigned——char——short——int——long——longlong(向级别高的转换)
运算符:+ - * % ++ --
%:取余,两边只能用整型;
==:等于 =:赋值
例如:if(a==0) 判断a等于0 if(a=0) 判断将0赋值给a
b=a++:先等后加
b=++a:先加后等
< > >= <= == !=
c=a>b或a!|| &&
&(位与) |(位或) ~(位反) ^(异或) >>(右移位) <<(左移位)
单目运算符:一个运算符(右——左)
双目运算符:两个运算符(左——右)
("%d",a||++b);截断问题,前面为假就断,或者前一个表达式为真,后面不执行,则b不变;
有符号时,取反,符号位不变;
0000 1000 & 0000 1000——0000 1000 每一位相与(有0就为0);
0000 1000 | 0000 1000——0000 1000 每一位相或(有1就为1);
~ 1111 0111 ——0000 1000 (每一位取反);
0000 1000 ^ 0000 1000 ——0000 0000 每一位比较,相同为0,不同为1;
a=8;a>>1 0000 1000 ——0000 0100 右移一位;
a<<3 0000 1000 —— 0100 0000 左移三位;
两个数换位时,还可以使用^(定义中间变量);
例如:a=8 b=4 a=a^b a=8^4 b=a^b b=8^4^4——b=8
a=a^b
a=8^4^8=4 =》a^=b
a+=b <=> a=a+b
其他运算符:三目运算符(表达式1)?(表达式2):(表达式3):判断表达式1的真假,为真使用表达式2,为假使用表达式3
z=(x+=5,y=x+0.2) 后面的值赋给z
标签: #c语言 数据结构