//数制转换,码制转换,数值在计算机中的存储,c语言程序的结构,c语言中的注释,显隐式转化,
一.数值转换
1.按进位的原则进行计数称为进位计数制,简称数制。
2.二进制,八进制,十六进制,十进制
①二进制(逢二进一)
用符号0和1符号来表示数值的进位计数制
②八进制(逢八进一)
用0-7符号来表示熟知的进位计数制
③十六进制(逢十六进一)
用数字1-9和A,B,C,D,E,F符号来表示数值
④十进制(逢十进一)
用数字0-9符号来表示数值的进位计数制
2.数制转换
进制向八进制,十六进制转换(以八进制为例:将二进制30转化为八进制数)
所以30的八进制数为11100.
十进制向其他进制转化:按权展开
二.码制转化
在计算机中,是用符号来表示数的正负号,符号位规定放在数的最前面,用0表示正数,用1表示负数,在计算机中,负数有三种表示方式:原码,反码,补码
1. 原码(设x=+62,y=-62)
[x]原=0111110,[y]原=1111110
2. 反码
[x]反=0111110,[y]反=1000001(正数的原码与反码相同,负数除符号位都取反)
3. 补码
[x]补=0111110,[y]补=1000010(正数的原码与补码相同,负数给反码加一)
4. 1000 0000,1是魔鬼数字,既表示符号位,又表示数值位
三.基础数据类型
数据类型:基本类型,枚举类型(enum),空类型(void),派生类型
基本类型:1.整型类型:基本整型(int),短整型(short int),长整型(long int),双长整型(long long int),字符型(char),布尔型(bool)2.浮点类型:单精度浮点类型(float),双精度浮点类型(double),负数浮点型(float_complex, double_comple,long_complex)
派生类型:指针类型,数组类型,结构体类型,共用体类型,函数类型
以char类型为例,char类型在计算机中占一个字节八位,如果是无符号那么当八位全部是1的时候,1111 1111 那么就是 255 对于有符号来说:最高位即表示符号位也表示数值位,当为 0111 1111 时为最大值 127,当为 1000 0000 时为-128 的补码也就是最小值。
int main()
{
for(char i = 0;i < 128;i++)
{
printf(“%d ”,i);
}
Return 0;
}
运行结果为死循环,因为负数在计算机中以补码形式存在,1000 0000表示-128,具体见下图
四.c语言程序的结构
1.预处理指令:将头文件stdio.h头文件的内容读进来,放在#include 指令行;
2.所有程序的入口,每个函数都必须有一个主函数,int 表示函数返回值类型;
4.printf函数,括号内为输出格式字符串,即为输出的字符和输出的格式;
5.return 0表达式表示如果程序正常运行和结束,得到的函数值为0,表示一个状态,用来判断main函数是否正常执行(main函数不谢return 0会编译通过,部分编译器会自动加上该语句)。
五.注释方式
1.单句注释(//)
从//开始,换行符结束。
2.块注释(/**/)
以/*开始,*/结束。不能直接嵌套使用,如需嵌套,要加上#end if语句。
注意:字符串中的//和/*都不作为注释的开始,而是作为字符串的一部分。
六.变量
1.什么是变量
变量曝是一个有名字的具有特定属性的一个存储单元,用来存放数据(变量的值)。在定义变量的时候,变量必须先定义后使用,定义变量必须使用标识符,即字母数字下划线,且不能以数字开头。
2.举例说明
int a = 10;计算机会分配 4 个字节给变量存储 10,且是二进制。
七.显隐式转换
显式专换是定义让这个值类型转换成要用的值类型
例,你定义int i=5,想把他专换成char类型,就用显式转换(char)i。
隐式转换是系统跟据程序需要而自动转换的,不需要定义,但并不是所有值类型都可以互相转换,所以有了显式转换
例,int i=5; char j='a'; int n=i+j;因char可以隐式专换为int类型,所以结果n=102
双目运算符中,低类型的数据直接转化为高类型