C语言零碎笔记

逗号表达式

注意点:

x=(i=4,i%3)
//x=1
x=i=4,i%3
//x=4

将输入字符转化为数据类型

int getint()
{
char c;
int x ;
for(x=0,c=getchar();c>='0'&&c<='9';c=getchar())
x=10*x+c-'0';
return x;
}

注意:

++a立刻发生

a++在下一个序列点之前做

++可以用于浮点数

二进制位运算符

操作对象:单个bit(二进制码)

~按位求反
&与:变0
|或:变1
^异或,按位加:二进制加法不进位,取反
两次按位加复原

左移<< 左移n位,低n位填入0 左移1位相当于乘2
右移>> 高n位可能填入?
无符号填0,有符号:逻辑移位
右移1位相当于除以2

应用:压缩
%hd short类型

加密

打印二进制数

limits.h

CHAR_BIT->8

类型转换

整数提升

char,short,unsigned short 先转换成int,unsigned再运算

short a;
sizeof(a)=2;
sizeof(-a)=4;

一般算术转换

char/short->int->unsigned->long->unsigned long->float->double->long double

赋值转换

向左看齐

强制类型转换

(类型名)操作数

(double)i

(double)x=10 /错误

枚举类型

枚举常量用标识符命名

enum color{WHITE,YELLOW,AIFHS}

用枚举类型定义符号常量

enum{WIN,LOSE=2,TIE,ERROR=-1}
//TIE=3

枚举变量

基本的标准输入与输出

输出puts(s) s为数组

读入gets(s) 已去掉

printf

scanf

goto

goto xxx ;

xxx:

(1)与if语句连用形成循环。

(2)跳出循环

注意:尽量少用goto,为了增强结构化

break,continue语句

break:(1)在switch中终止case

(2)循环中强迫终止,跳过循环检测

continue:在循环中和if连用

找素数

暴力法

筛选法

随机数

int rand(void)

srand() :rand函数初始化

用time(NULL)初始化

C语言零碎笔记

上一篇:java强制类型转换


下一篇:如何检测微信分享链接被封