目录
相关问题
冯·诺依曼计算机
(1)指令和数据存储在内存中
(2)二进制形式存储在内存中
2.为何用二进制不用十进制?
(1)在电器元件中容易实现,双稳态元件很多
(2)运算简单
(3)易于实现物理上对数据的存储,且与逻辑判断形成一一对应关系
(4)诠释计算机的哲学——复杂事物有简单事物组成
3.如何表示二进制的正负?
(1)对无符号整数,最高位为数据位
(2)对有符号整数,最高位为符号位(0为正,1为负)
(3)+0的二进制:0000 0000 0000 0000
-0的二进制:1000 0000 0000 0000
负数以二进制补码
①便于用统一的形式存储
②便于将减法运算也转化为加法运算来处理
4.补码的运算
(1)正数的反码,补码与其原码都是相同的
(2)对于负数,保持符号位不变,原码--反码--反码+1--补码
5.二进制,八进制,十进制,十六进制的转化
6.计算机是如何编址的?
内存地址按字节(byte)编址
每个字节都用唯一的一个整数数字来标识——地址
地址是一个十六进制无符号整数
32位计算机的内存地址编码是(16进制)32位,从0x00000000到0xFFFFFFFF
7.内存单位
(1)最小单位——位(bit),也成比特,只能是0或1,二进制
(2)字节(Byte),通常用Byte数的多少来衡量内存空间的大小,是标识字符的最小单位
(3)1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B,1B=8b
8.高级语言中为什么要引入数据类型?
(1)有效的组织数据,把数据分成所需内存大小不同的数据
(2)规范数据的使用
(3)提高程序的可读性
(4)方便用户的使用
9.数据类型
常量与变量
常量
1.整型常量:包括正整数,负整数和0在内的所有整数,形式包括八进制,十进制,十六进制,如:10,-30,0
2.实型(浮点型)常量:如3.14,-0.56,18.0
3.字符型常量:用一对单引号括起来的任意字符,如:'x','Y','0','9'
4.字符串字面常量:用一对双引号括起来的零个或多个字符,如:"Hello!","K88","9"
5.整型常量也有长整型,短整型,有符号和无符号之分
6.不同类型的整型常量的表示形式
有符号 | 10,-30,0 | |
无符号 | 后跟U或u,不能表示小于0的数 | 30u,256U |
长整型 | 后跟L或l | -256l,1024L |
无符号长整型 | 后跟LU,Lu,lU或lu | 30lu |
7.实型常量的表示形式
十进制小数形式 | 若无小数点,则不为小数形式的实型数 | 0.123,-12.35,.98 |
指数形式 | 以e或E代表以10为底的指数 e左边为数值部分(有效数值),可整数可小数,不能省略 e右边为指数部分,必须是整数形式 | 3.45e-6 |
8.实型常量有单/双精度之分,无 有/无符号之分
单精度 | 后跟F或f,7位有效数字 | 1.25F,1.25e-2f |
双精度 | 16位有效数字 | 0.123,-12.35,.98 |
长双精度 | 后跟L或l | 1.25L |
变量
1.命名规则:
(1)只能由英文字母,数字,下划线组成
(2)必须以字母或下划线开头
(3)不允许用C关键字为标识符命名
(4)注意长度限制
注:标识符是区分大小写的
2.赋值:若定义了一个变量,但未对其进行初始化,则该变量值是一个随机数(静态变量和全局变量除外)
注:变量需先声明类型再使用
3.赋值规则:
(1)表达式语句:变量=表达式;
规则:变量<—表达式
(2)简单赋值:变量=表达式;
(3)多重赋值:变量1=变量2=表达式;
变量1=(变量2=表达式);
(4)优先级:算术运算符的优先级高于赋值运算符优先级
若优先级相同,要考虑结合性在进行运算,若为左结合,则从左往右进行计算,反之
①需要两个操作数的算术运算符是左结合,如:x/y*z =(x/y)*z
②赋值运算符是右结合,如:a=b=c=0 => a=(b=(c=0))
(5)初始化赋值
int a = 0,b = 0,c = 0; √
int a = b = c =0; ×,原因是没有声明b,c变量不可以直接进行赋值运算
简单的屏幕输出
格式化输出字符
1.%d:十进制整型
2.%f:十进制小数格式,除非特别指定,否则隐含输出6位小数
float b = 2.5;
printf("b = %f \n",b);
输出结果:
b=2.500000
3.%c:字符型常量
内存空间
变量的类型决定了什么?
字符编码
(3)x=10;和10=x;等价吗?
不等价,变量赋值必须将变量放左边