秒懂C语音

一.基本数据类型

1. 数据类型划分

(1)基本数据类型:整形(int , short,long) 浮点型(float, doubt) 字符型(char)

(2)构造数据类型:数组,指针,结构体,枚举,共用体

2. 基本数据类型的基本知识(32位系统)

(1) 整型:short 2字节,int 4个字节,long 4个字节

类型的含义:用于存放整数,

有符号(int)-2^31 ~+2^31 -1

有符号(unsigned int)0~2^32-1  (4294967295)

格式控制符:%d  %o  %x  %#x   %u  %ld  %lu

(2) 字符型:char 2个字节(一一对应ASCII码)

类型的含义:存放字符,数字

有符号:(char)   -128~127

无符号:(unsigned char)0~ 255

格式控制符:    %c   %d

(3)浮点型:

float 4个字节  单精度 保留小数点后6位

 doubt 8个字节  双精度 保留小数点后12位

类型的含义:存放小数

格式控制符:     %f     %lf

3.进制转换

(1)八进制转二进制

   八进制数据的1位对应二进制数据的3位

   如:44  对应二进制 100 100 二进制从低位起每三位对应一个八进制数

(2)十六进制转二进制

    十六进制数据的1位对应二进制数据的4位

    如: 87 对应二进制为 1111 0111 二进制从低位起每四位对应一个十六进制数

  1.  数据在内存中的存储方式

 (1)正数的源码 反码 补码一样

源码:1111 0111

反码:1111 0111

补码:1111 0111

(2)负数的源码 反码 补码

源码: 1 011 0111  

反码: 1 100 1000   负数的最高位为符号位固定取1,其他为根据源码取反。

补码:  1 100 1001    符号位不变,反码+1

注意:补码转源码也可以取反加1(取反后得到的不是反码)

  • 运算符

1.赋值运算符(=)(单目运算符)

  (=) : 将右边的数值赋值给左边

注意事项:左值必须是变量

2.  算术运算符

+  -   *   /    %(基本上与数学上一样,%有不同)

(%):  % 取余/求余  取余数只能使用整数进行求余运算

除法运算结果的精度和除号两端精度较高的数据保持一致

3. 关系运算符

 >  <  ==  !=  >=  <= (他们的运算结果要么为0,要么为1)

(==):if语句中常用符,表示两个数是否相等

运算结果是:真假 –》  1  0

4. 逻辑运算符

 && (逻辑与) || (逻辑或) !(逻辑非)(逻辑运算结果也是只有真假  1   0 )

 && :表达式1 && 表达式2全真才为真,有假就是假,在实际使用中,如果表达式1不成立,表达式2不再运行

  || :  表达式1 || 表达式2有真就是真,全假才为假,在实际使用中,如果表达式1成立,表达式2不再运行

    !:   表达式  真变假   假变真

5. 位运算

 & (按位与)  | (按位或)  ~ (按位取反)  ^ (异或相同为0)

  <<(按位左移)  >> (按位右移)

位运算:所有的运算都要按照二进制的形式进行

6 . 复合运算符  (双目运算符)

+=  -=  *=  /=   %=  &=  |=  ~=  ^=  <<=  >>=

运算符的优先级问题:复合运算符的优先级和赋值运算符一样了,都变低了。

7. 自增自减

++   --

++:自增   增加1     --:自减  减少1

a++;//a的值增加1     ++a;// a的值增加1

a--;// a的值减少1      --a;// a的值减少1

当不涉及第三方变量赋值的时候,++在前在后是一样的,运算结果都是数值增加1

当涉及第三方变量赋值的时候,++在前在后有区别

8. 条件表达式(三目运算符)

?:

(表达式1)?(表达式2):(表达式3)

判断表达式1的结果,如果为真,那么整个表达式的结果是表达式2的结果,如果为假,那么整个表达式的结果是表达式3的结果。

9 . sizeof运算符

sizeof  运算符

作用:求任意对象的大小

任意对象:数据类型  变量

大小:实际占用内存空间的大小

1.标准输入(scanf)

scanf:从键盘读取数据到程序

scanf(“格式控制符1…”,变量1地址,变量2地址。。。);

格式控制符:

%d  读取整数

%c  读取字符

%s  读取字符串

%f  读取浮点数

scanf的双引号里边,写的内容只要格式控制符,不要出现其余内容。

注意:scanf括号里边最好不要写多个变量地址好格式控制符,一到两个就行,双引号里边,写的内容只要格式控制符。

 2 . 标准输出printf

printf函数从程序输出数据到屏幕(终端)原样输出

printf(“要输出的内容”);

printf(“hello world\n”);

格式化输出—》输出变量将变量按照固定的格式转化为字符串,并且打印在屏幕上。

printf(“格式控制符1…”,输出变量1,输出变量2…);

注意事项:格式控制符的数量和输出变量的数量要求一一对应。

格式控制符:

%d:以十进制形式输出数据

%c:输出字符

%s:输出字符串

%o:八进制形式输出

%x:十六进制形式输出

%#x:十六进制形式输出,前边添加0x

%f:输出浮点型数据  单精度  float

%lf:输出浮点型     双精度  double

%u:无符号类型

%p:输出地址

     

  • 流程控制语句

  1. 控制语句类型

       顺序结构  , 判断结构  ,循环结构

 2 . 判断结构

 

     if(条件1)

{

   语句1;

   else

{

语句2;

}

switch…case…

switch(变量)

{

case 常量1:语句1;break;

case 常量2:语句2;break;

…..

case 常量n:语句n;break;

default:语句n+1;break;

}

3. 循环结构

一件事情重复多次运行

起始条件:决定了循环什么时间开始

循环条件:决定了循环什么时间结束

条件修正:决定了循环执行多少次

循环体:决定了循环做什么事情

(1)for语句

从起始条件开始,判断循环条件,条件满足,就执行循环体,执行条件修正,再次判断循环条件,条件满足,执行循环体,不满足,就结束。

for(始条件;循环条件;条件修正)

{

循环体;

}

(2)while语句

起始条件;

while(循环条件)

{

循环体;

条件修正;

}

for循环和while循环无差别的,可以使用for循环实现,也可以使用while循环实现。

(3)do…while…

起始条件;

do

{

循环体;

条件修正;

}while(循环条件);

while和do…while的区别

while循环是先判断循环条件,再执行循环体,如果循环条件不满足,直接结束。

(4)Return(结束语句)

无论程序在做什么,遇到return,立刻结束。返回值给调用者

(5)goto

跳转到程序的任意位置去执行

使用方法:goto  标识;  

   跳转到标识的位置去执行

标识的定义方法:

 基本原则还是符合C语言命名原则,在命名后边加上冒号,就变成了一个标识。

(6)break

跳出switch语句

switch(变量)

{

case 常量1:语句1;break;

….

default:语句n;break;

}

跳出循环

遇到break,循环结束

(7)continue

继续

结束本次循环,开始下一次循环

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值