动手学C语言-S3数据存储类型与相关运算

数据存储与数值转换

  1. 十进制 二进制 八进制 十六进制
    掌握相互转换关系即可;
    短除法;只要掌握十进制和二进制之间关系;
    二进制和八进制之间转换;二进制和十六进制之间转换;
    一个字节 = 八位
    C语言中变量和数据类型:先声明后使用
    在这里插入图片描述

图片:数据类型

在不同C集成编译开发环境中:测试数据类型的字节长度。
不需要记忆,直接使用 seiof 函数;
2. 存储地址与占用空间
C语言中,每一种数据类型所占用的内存空间是不一样的;
3. 数据常量分类
(1) 整型常量
可用十进制,八进制和十六进制三种形式表示
(2) 实型常量
有十进制小数和指数二种形式表示方法
(3). 字符常量
单字符常量:单引号引起的;
字符串常量:一对双引号引起来的单个字符或字符串;
控制字符常量:转义字符;
符号常量:# define 符号常量 常量字串
变量定义:数据类型 变量名1,… 初始化
int a_sum =123;
变量名就是引用名(别名);
那引用和指针有什么区别,主要各自应用范围?
注意变量命名规范:这是一门规则,有专门说明;

数据存储方式

  1. 数据存数的正负数问题
    都是将其按照补码方式出现;正数的补码和原码相同;负数的补码是取反码再加一;
    有无符号位;有符号最高位置为符号;
    无符号时数值范围扩大一倍;
    数据溢出问题;
  2. 数据存储方式及其应用
    在程序中定义数据变量时候,系统就会自动确定变量数据类型,会自动分配好内存;
  3. 实型数据存储方式
    利用指数幂的形式存储:例如单精度浮点类型占4个字节:其中三个字节存放实数的数值部分,1个字节存放实数的指数部分;具体为:数值符号占1位,数值小树部分23位。
  4. 字符型数据存储方式
    字符常量是 用一对 单引号作为标识的,括起来都得一个ASC码字符;占位一个字节;
    字符类型和整数类型是可以相互运算的;整数也可以用 char 来定义;
    char a =‘a’, b = 120; %d:代表十进制输出,%x :代表八进制输出;

运算符与运算表达式

重点运算符:逻辑运算符:!,&&,|| ;位运算符:<<,>>,~,|,^,&;指针运算符:* ,&(重点区分:记住分别应用的场合);
运算符优先级别:不用记,为了程序的可读性,加上()来表示优先运算;
占位符,一一对应:

main(){
	int i = 2;
	float x = 3.9,y=4.6;
	printf("(int)(x+y)%%i = %d,(x+y)=%f \n",(int)(x+y)%i,x+y);
}
  1. 赋值运算符
    对于数据类型的自动数据转换,有的增加补0,有的直接舍弃;
    2.逗号表达式
    表达式1,表达式2,表达式3,表达式4,…,表达式n;
    先从左到右一次计算表达式,结果是最后一个表达式n;

// 逗号表达式小例题;

#include "stdio.h"
void main(){
	int i = 2;
	i= (i++,i=i+1,++i,i+3,i++,i+5);// 最后一个表达式不管有没有赋值运算符都是要计算的;
	printf("the i is %d \n",i);
}
  1. 关系运算符
    只有逻辑镇和逻辑假这两种值

以上关系运算表达式的值,基本上就是考试可能会考,自己写程序不会这么会产生歧义的;
4. 逻辑运算符
逻辑非优先级仅低于();逻辑与与逻辑或低于算术和关系运算符;
记住:有逻辑短路原则;
5. 条件运算符与条件运算符表达式
条件运算符的优先级别高于赋值运算符,但是低于关系运算符和算术运算符;
这个直接就利用 if 表达式代替;

发布了26 篇原创文章 · 获赞 2 · 访问量 781

猜你喜欢

转载自blog.csdn.net/li_kin/article/details/104565323