C的起源与发展
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C
软件运行与内存的关系
内存是操作系统的统一管理下使用的!
1. 软件在运行前需要向操作系统申请存储空间,在内存空闲足够时,操作系统将分配一段内存空间并将外存中软件拷贝一份存入该内存空间中,并启动该软件的运行!
2. 在软件运行期间,该软件占用的内存空间不再分配给其他软件。
3. 当软件运行完毕后,操作系统将回收该内存空间(注意:操作系统并不清空该内存空间中遗留下来的数据),一边再次分配给其他软件使用。
进制转化
1.什么是进制
逢几进一位(由个位到十位再到百位再到。。。)
C语言规定八进制前要加零,十六进制前要加0X或0x
2.十进制
十个基数,逢十进一基数:0 1 2 3 4 5 6 7 8 9
二进制
二个基数逢二进一基数:0 1
八进制
8个基数逢8进一基数:0 1 2 3 4 5 6 7
8-> 10 9--> 11 10-->12
十六进制
16个基数逢16进一基数0 1 2 3 4 5 6 7 8 9 A B C D E F
3.把r进制转成十进制
例如:5进制的234传换成十进制,则是4+3*5+2*52
4.十进制转r进制
十进制除r取余,直到商是零时,然后把余倒过来
5.不同进制所代表的数值之间的关系
十进制的3981转化成十六进制是F8D
十进制的3981与十六进制F8D所代表的本质上都是一样的。
常量在C语言中是如何表示的
整数
十进制:传统的写法
十六进制:前面加0x 或0X
八进制:前面加0
浮点数
传统的写法
Float x = 3.2
科学计数法
Float x = 3.2e3 //x的值3200
Float x = 123.45e-2 // x的值1.2345 字符字符的存储[字符本质上与整数的存储方式相同] 单个字符用单引号括起来
…A‟表示字符A
字符串用双引号括起来
“AB”表示字符串AB
“A”正确,因为“A”代表…A‟…\0‟的组合
常量以什么样的二进制存储在计算机中
编码Int i = 86
整数是以补码的形式转化成二进制代码存储在计算机中的
实数是以IEEE754标准转化成二进制代码存储在计算机中
字符的本质与整数的存储方式相同
字符--->通过ASCII ---->整数------>补码---->计算机语言
代码规范:
成对的写代码
代码可读性更强[容易让自己和别人更清楚的看懂程序]
使程序更不容易出错
定义变量对变量进行操作输出
什么是字节
字节就是存储数据的单位,并且是硬件所能访问的最小单位
1个字节= 8位
1K = 1024 字节
1M = 1024 k
1G = 1024 M
CPU只能控制字节,不能控制位
不同类型数据之间相互赋值的问题
Int i = 45 ;
Long j = 10234 ;
I = j ;
(搞清楚补码)
什么是ASCII码
ASCII不是一个值,是一种规定,
ASCII规定了不同的字符是使用哪个整数去表示
它规定了
‘A’-- 65 …B‟ -- 66 …a‟ -- 97 …b‟ -- 98 …0‟ -- 48
基本的输入和输出函数的用法
Printf()---将变量的内容输出到显示器上
四种用法
1. Printf(“字符串\n”);
2.printf(“输出控制符”,输出参数);
3.printf(“输出控制符1,输出控制符2,。。。”,输出参数1,输出参数2,。。);
4.printf(“输出控制符非输出控制符”,输出参数);
输出控制符包含如下:%d --int %ld --long int
%c --char
%f --float %lf -- double
%x(或者%X或者%#X) ---int 或long int 或short int
%o ---同上
%s ---字符串
为什么需要输出控制符
1. 01组成的代码可以表示数据也可以表示指令
2. 如果01组成的代码是数据的话,那么同样的01代码以不同的输出格式输出,就会有不同的输出结果。
进制表示:0x或0X表示16进制;0表示八进制
Scanf ( ) 【通过键盘将数据输入到变量中】
两种用法:
用法一:scanf(“输入控制符”,输入参数) ;
功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,
然后存入以输入参数的值为地址的变量当中。
用法二:scanf(“非输入控制符输入控制符”,输出参数);
功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,
非输入控制符必须原样输入
如何使用scanf编写出高品质代码
1.使用scanf之前最好先使用printf 提示用户以什么样的方式来输入
2.Scanf 中尽量不要使用非输入控制符,尤其是不要用\n
3.应该编写代码对用户的非法输入做适当的处理
while ( ( ch=getchar() )!='\n' )
continue;
运算符
算术运算符
+ - * /(除) %(取余数)
关系运算符
> >= < <= !=(不等于) ==(等于)
逻辑运算符
!(非)&&(与【并且】)||(或)
!真假!假真
&&:两真则真,不然假
| | : 有真则真不然假
C语言对真假的处理:非零则真,零是假
真是1表示,假是零表示
赋值运算符
= += *= /= -=
优先级别
算术> 关系> 逻辑> 赋值