编写系统软件(例如OS)和工具软件
运行效率要求较高的系统:设备驱动程序,嵌入式系统(Embedded systems)(机器人、手机和智能家电等)高性能、实时系统(Real-time system)
程序开发步骤:分析(目标)、设计(步骤)、编码、编译连接(把源程序翻译成逻辑上与之等价的机器语言表示的目标程序、把程序调用的库函数链接到目标程序中,生成可被OS执行的程序)、运行、测试调试、维护修改。
Visual C++ 、 Code::Blocks(GCC、GDB):跨平台、开源、量级轻。
高级语言为什么要区分数据类型?
更有效地组织数据,规范数据的使用、
有助于提高程序的可读性,方便用户的使用
在程序设计语言中引入数据类型的好处
带来了程序的简明性和数据的可靠性
有助于提高程序执行效率、节省内存空间
数据类型{基本类型:【整型:(基本整型(int 4字节)、长整型(long 4字节)、短整型(short 2字节)、无符号整型(unsigned 正整数和0))、实型(浮点型):(单精度实型(float 4字节)、双精度实型(double 8字节)、长双精度实型)、字符型(char 1字节)、枚举类型】、构造类型:【数组类型、结构体类型、共同体类型】、指针类型、空类型}
变量的类型决定了什么?
占用内存空间的大小(用 sizeof 运算符计算变量占内存空间)
数据的存储形式
合法的表数范围
可参与的运算种类
如何计算变量占内存空间的大小?
用sizeof运算符(sizeof是运算符不是函数)
一元运算符
用sizeof 运算符计算变量占内存空间的大小的好处
增加程序的可移植性
编译时执行的预算福,不会导致额外的运行时间开销
如何表示实型数?
小数形式
指数形式--科学计数法
定点数
浮点数
字符型数据(英文字母、数字、控制字符)
以二进制编码方式存储,一个字节保存一个字符
常量:整型、实型、字符型、字符串、枚举型
在程序中直接使用的常数,称为幻数,使用幻数存在什么问题?
程序的可读性差
容易发生书写错误,产生不一致性
当常量需要改变时,要修改所有引用它的代码,繁琐,还可能有遗漏
为什么计算机用二进制而不是十进制来存储数据?
二进制数只有0和1两个数码,它的每一位都可以用电子元件来实现,且运算规则简单,相应的运算电路也容易实现。
宏定义是(一种编译预处理指令)。 const常量有数据类型。
二元的算术运算符的结合性都是左结合。
随机函数:rand() 0-32767
如何生成一个指定范围(如1-100)内的随机数?Magic=rand()%100+1;
Sin(x) x为弧度值。
已知int a=3;执行a+= a-= a*a后,变量a的值?a= -12;
C语言中变量必须要先定义后使用。