c语言顺序结构讲义
- 格式:doc
- 大小:108.50 KB
- 文档页数:31
目录第一章C语言概述 (2)一、计算机语言 (2)1、机器语言 (2)2、汇编语言 (2)3、高级语言 (2)4、高级语言程序的执行原理 (3)二、C语言历史 (3)三、C语言的特点 (3)四、简单的C语言 (5)1、程序的结构 (5)第三章数据类型、运算符与表达式 (7)一、C语言的数据类型 (7)1、基本类型 (7)2、构造类型 (7)3、指针类型 (7)4、空类型 (7)二、存储空间 (7)二、常量 (8)三、变量 (8)四、整型数据 (9)五、符点型数据 (11)六、字符型数据 (12)1、字符型常量 (12)2、字符变量 (13)3、字符串常量 (15)七、变量赋值 (15)八、各数据类型之间的混合运算 (16)九、算术运算符和算术表达式 (17)第四章顺序程序设计 (22)一、C语句 (22)1、C程序的语句 (22)2、简单编程举例 (22)二、数据的输入输出 (22)1、printf()函数 (22)2、格式字符 (23)3、用scanf函数输入数据 (25)第一章C语言概述一、计算机语言1、机器语言面向机器编程机器语言(machine language)是一种指令集的体系。
这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。
机器语言具有灵活、直接执行和速度快等特点。
机器语言用指令代码编写程序。
2、汇编语言面向机器编程汇编语言(AssemblyLanguage)是面向机器的程序设计语言。
也称为符号语言。
用指令助记符来编写程序。
汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。
3、高级语言与计算机的硬件结构及指令系统无关,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。
高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易语言,中文版的C语言习语言等等,这些语言的语法、命令格式都不相同。
但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。
4、高级语言程序的执行原理编写程序—编译程序产生目标程序---执行程序5、汇编语言程序的执行原理汇编程序是系统软件中语言处理系统软件,汇编程序把汇编语言翻译成机器语言的过程称为汇编。
二、C语言历史C语言兼具高级语言和汇编语言的优点,即可以编写系统软件也可以编写应用软件。
1960年出现ALGOL 60是一种面向问题的高级语言,不宜用于编写系统程序。
是C语言的前身。
1963年英国剑桥大学推出了CPL,1967年英国剑桥大学的Martin Richards推出了BCPL简称B语言,编写了UNIX系统。
C语言保持了BCPL和B语言的优点。
三、C语言的特点1. 简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。
C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2. 运算符丰富共有种34个运算符3. 数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。
能用来实现各种复杂的数据类型的运算。
4. C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。
C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5. C语法限制不太严格、程序设计自由度大一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。
而C语言允许程序编写者有较大的自由度。
6. C语言允许直接访问物理地址,可以直接对硬件进行操作因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。
7. C语言程序生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低10へ20%。
8. C语言适用范围大,可移植性好C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。
四、简单的C语言1、程序的结构(1)语句每条语句后面必须以分号结尾(2)注释语句对程序语句进行解释,不参与编译与执行,用于帮助读者理解程序单行注释://多行注释:/* */(3)结构主函数和其它函数构成函数是C程序的基本单位,容易实现模块化(4)函数的结构int aa(int a,int b) //首部{ //函数体}(5)C程序的结构#include<stdio.h> //头文件Void main() //主函数{ //函数体Printf(“This is a C program.\n”); //语句}一个C程序总是从main函数开始执行,main函数在程序的位置是任意的。
(4)语法要求第三章数据类型、运算符与表达式一、C语言的数据类型1、基本类型整形:int字符型:char浮点型:单精度、双精度枚举类型2、构造类型数组类型结构体类型:不同数据类型的数据存放在一起,但各是各的内存空间共用体类型:不同数据类型放在一起,共用一个内存地址3、指针类型4、空类型二、存储空间1、局部变量存储在栈中2、全局变量、静态变量(全局和局部静态变量)存储在静态存储区3、new申请的内存是在堆中4、字符串常量也是存储在静态存储区补充说明:1、栈中的变量内存会随着定义所在区间的结束自动释放;而对于堆,需要手动free,否则它就一直存在,直到程序结束;2、对于静态存储区,其中的变量常量在程序运行期间会一直存在,不会释放,且变量常量在其中只有一份拷贝,不会出现相同的变量和常量的不同拷贝。
二、常量1,1.2,-2.2,’a’1、符号常量的定义在程序的开头定义符号常量,符号常量一但定义,在程序的作用域内不能对其修改,除非到定义语句中修改。
#define PRICE 302、符号常量的使用3、常量const a;三、变量用于存储数据,并且存储的数据值可以变化1、变量的命名规则(所有标识符的命名规则)标识符:变量名,符号常量名,函数名,数组名。
规则:(1)字母、数字、下划线组成(2)不能以数字开头(3)区分大小写,一般变量名用小写字母,符号常量名用大写字母(4)长度一般不要超过8个字符,根据不同的系统长度要求不同(5)见名知意2、变量定义和使用所有的变量必须先定义后使用数据类型变量名;变量的定义与赋值及使用int a,b;int c;a=5;b=4;int a=5,b=6;四、整型数据1、整型常量整数:十进制(123),八进制(0123),十六进制(0x123)2、整型变量在内存中的存放形式以二进制存储,一般分配2字节空间,VC++分配4字节。
原码,反码,补码正数:反码=原码按位取反补码=原码负数:反码=将该数的绝对值按位取反补码=反码+13、分类(1)短整型:short int,在定义时int可以省略Turbo C2.0 分配2个字节,VC++分配2个字节(2)基本整型:intTurbo C2.0 分配2个字节,VC++分配4个字节(3)长整型:long int,在定义时int可以省略Turbo C2.0 分配4个字节,VC++分配4个字节(4)取值范围(turbo c/c++)有符号无符号:数据默认为有符号,可以表示正负数,若只让表示正数需要定义时特殊指出,用unsingned标识符指出。
int a;unsingned int a;int、short:最高位为符号位,表示数据的为其余的15位,即范围为-215~215-1(-32768~32767)unsingned int a;16位全部用来表示数据,0~216-1(0~65535)Long为32位,有符号-232~232-1(-2147483648~2147483647)无符号0~232-1(0~4294967295)4、定义与使用int i;i=10;4、整型常量的使用必须对号入座,根据变量的取值范围赋予范围内对应的值,不得超范围。
1234u(U)表示1234为无符号数,最高位也用于存数据-1234u,将该数转换为补码,然后按无符号数存储1234l(L)表示1234为long型五、符点型数据即为实数1、浮点型常量(浮点型的数)表示形式(1)十进制表必须有小数点:12. 12.5 1.5 0.5(2)指数形式(e,E)规范化的表示:1.23e3非规范化的表示:12.3e2按指数形式输出时以规范化的形式输出。
2、浮点型变量在内存中的存放形式占32位,以指数形式存放,将一个数分为小数部分和指数部分,一般用24位(包括符号位)表示小数,用8位表示指数部分。
3、分类(1)float:32位有效数字6-7,-3.4*10-38~3.4*1038(2)double:64位有效数字15-16,-1.7*10-308~1.7*10308(3)long double:128位有效数字18-19 -1.2*10-4932~1.2*1049324、浮点数运算的舍入误差超过有效范围外的加减数是会被舍去float a=12345678900;float b=a+20;结果a和b的结果相同,因为float型数据有效位只有6-7位,所以8位以后的数字不能保证正确。
float c=111111.111;//c中只能接受到7位小效数字,最后两位小数不起作用。
六、字符型数据1、字符型常量‘a’,’ A’转义字符\n:换行\t:水平制表,跳到下一个TAB\b:退格,前移一列\r:将当前光标移到本行开头开始输出字符,或遇到\t则删除输出字符以后\t当中包括的列的字符printf(" ab c\t de\rfg\n");printf(" ab c\t de\r\tg\n");printf("abc\tddd\rff\t\tggg\n");printf("abc\tddd\rff\t\n");printf("ffbbbbbbbbbbbbbbggg");\’:代表一个单引号字符\”:代表一个双引号字符\ddd:1-3位八进制数所代表的字符\xhh:1-2位十六进制数所代表的字符printf("\101\n");printf("\002\n");printf("\003\n");printf("\x30\n");2、字符变量char c1,c2;一个字符变量中只能存储一个字符,在内存中占一个字节,0-255。