c语言程序设计概述总结,c语言程序设计总结.docx

c语言程序设计总结.docx

第1章 C语言概述1.1 程序设计语言1. 机器语言一种CPU的指令系统,也称CPU的机器语言,它是CPU可以识别的一组由1和0序列构成的指令码。例如,10000000和10010000分别表示其CPU指令系统中的“加”和“减”指令。用机器语言编写的程序能被计算机直接识别和执行。机器语言是第一代计算机程序设计语言。2. 汇编语言用一些“助记符号”来代替0,1码编程,如前面的加减的二进制指令可分别用ADD和SUB代替。这种用助记符号描述的指令系统,称为符号语言或汇编语言。但汇编语言指令是机器不能直接识别和执行的,必须由“汇编语言”将这些符号翻译成机器语言才能运行。这种汇编程序就是汇编语言的翻译程序。汇编语言和机器语言都是依CPU的不同而异,因此它们都被称为面向机器的语言(一般被称为低级语言)。汇编语言被称为第二代程序设计语言 。3. 面向过程的语言汇编语言和机器语言是面向机器的,因机器而异。1954年出现的FORTRAN语言以及随后出现的其他语言(被成为高级语言)。面向过程的程序设计语言有FORTRAN,BASIC,Pasical,C等,这种语言被称为第三代程序设计语言。4. 面向对象的程序设计语言Java,C,Visual basic,Visual FoxPro等。面向对象的程序设计语言通常被称为第四代程序设计语言。C语言是结构式语言共有37个关键字,9种控制语句。1.2源程序的编辑、编译、连接与运行1.使用编辑器书写源程序2.编译源程序计算机只能识别被称为机器语言的二进制指令,因此需要将设计好的程序转换成为计算机可以识别的机器语言。这种转换工作是由一个被称作编辑器的程序完成的,编辑器将源程序作为输入,经过编译以后生成一个磁盘文件,该文件就包含了与源程序语句对应的机器语言的二进制指令。编译器创建的机器语言指令被称为目标代码,而包含它们的磁盘文件被称为目标文件。通常使用.obj作为文件的扩展名。3.程序连接目标文件包含了程序设计人员设计的程序指令,但是仍然不能够直接运行,还需要完成程序连接部分的工作。连接部分的主要工作是把这些编译器中提供的程序(通常以库文件的方式)和设计好的程序目标文件连接起来,最终生成一个可以被计算机执行(程序可以在计算机上运行)的完整的二进制文件。这个文件也被称为可执行程序,文件扩展名为.。4.运行程序 开始程序设计使用编辑器生成.c文件源程序编译源程序目标程序连接源程序生成.obj文件库文件可执行程序.程序执行过程计算机智能识别或被称为机器语言的二进制指令,编译器将设计好的程序转换为计算机可以识别的机器语言,编译器创建的机器语言指令被称为目标代码,而包含它们的磁盘文件被称为目标文件,通常使用.obj作为文件的扩展名。目标文件被转换为可执行程序,文件扩展名为.。1.2 C语言程序的组成1. 一个C程序由一个或多个函数组成,但必须有一个名为“main”的主函数,其余函数的名字由程序设计者自定。Main函数可以放在C程序的任何位置。程序的执行是从主函数开始的,其它函数都是在执行main函数以后执行,而不论这些函数在什么位置。2. include是预编译命令,含义是在编译时将一个包含文件的内容添加到当前程序中。3. 使用变量之前必须先定义,C语言规定使用变量之前必须先定义它。变量定义将变量的名称及变量要存储的信息类型告知编译器。根据需要,整个程序中不出现变量也是可以的。4. 每条C语言语句,一行可以写一条语句,多条语句;可以写在一行上,多行上,一条语句都要以“;”结束。对于编译预处理语句,如果分成多行书写,则必须在前一行的末尾添加符号“”。5. 程序注释程序中以*开始,以*/结束的部分被称为注释。用“/* */”或“/ /”对C程序中的任何部分进行注释,单行注释只能在一行中进行注释,用“/ /”作为引导符。编译器在编译时会忽略所有的注释,因此注释对程序的运行没任何影响,可以在注释中添加任何内容,而不会改变程序的运行方式。第二章 数据类型、常量与变量2.1数据类型1.任何数据对用户呈现的形式有两种常量和变量。基本数据类型是C语言中提供的最基本的数据分类,其值不可以再分解为其他类型。构造数据类型是用户自己定义的数据类型,即用户用已定义的数据类型构造自己需要的数据类型。指针是一种特殊的数据类型,其值用来表示某个变量在内存储器中的地址。基本数据类型包括int(整型)、char字符型、float单精度浮点型、double双精度浮点型和枚举类型。C语言中还可以使用一些修饰词sign(有符号类型)、unsign无符号类型、long长整型、short短整型来描述基本数据类型中的char和int数据类型。整型字符型 单精度型基本类型 实型(浮点型) 双精度型数据类型 枚举类型数组类型构造类型 结构体类型 共用体类型指针类型 空类型2.2标识符合法的标识符只能由字母、数字、下画线三种字符组成,且第一个字符必须为字母或下画线。在C语言中,大写字母和小写字母被认为是两个不同的字符。标识符包括关键字、预定义标识符和用户标识符。1.关键字所有的关键字都是由小写字母组成的,关键字不能出于其他目的用在C程序中。2.预定义标识符在C语言中,库函数名和预编译命令名称为预定义标识符。3.用户标识符由用户根据需要定义的标识符称为用户标识符。2.3常量在程序运行过程中其值不能被改变。常量区分为不同的类型,整形常量、实型常量、字符型常量。2.3.1整型常量整型常量即整常数,用以下3种表达(1) 十进制整数(2) 八进制整数八进制整数以0开头,后跟0-7的数字序列。(3) 十六进制整数十六进制整数以0 x(大小写就均可)开头,后跟0-9、a-f(大小写均可)的数字序列组成。对于长整型常数可以在一个整型常量后加上字母L或l来说明该数据 类型是一个长整型。2.3.2实型常量实型常量即实数,有以下两种表达方式(1) 十进制小数形式由实数和小数点组成。注意必须有小数点。(2) 指数形式尾数Ee整型指数。注意E或e之前必须有数字,且e后面指数必须为整数。实型常量包括float类型和double类型两种,通常常量的后缀F或f来表示实型常量是float类型。若未使用后缀表示实型常量,则默认为属于double类型常量。2.3.3字符型常量字符型常量是用一对单引号括起来的单个字符,字符型常量两侧的一对单引号是必不可少的,字母是区分大小写的,所以a、A是不同的字符型常量。把字母放在一对单引号里表示字符型常量的方法,适合于多数可打印字符,但某些控制字符却无法通过键盘输入将其放在一对单引号中。因此,C语言中引入了另外一种特殊形式的字符常量转义字符,它是以反斜杠“”开头的字符序列,使用时同样要扩在一对单引号里,它有特定的含义,用于描述特定的控制字符。常用的转义字符如表字符形式含义n换行,将当前位置移到下一行开头t水平制表,跳到下一个Tab位置v竖向跳格b退格,将当前位置移到前一列r回车,将当前位置移到本行开头f换页,将当前位置移到下页开头反斜杠字符单引号(单撇号)字符”双引号(双撇号)字符ddd1-3位八进制数所代表的字符xhh1-2位十六进制所代表的字符转义字符常量的表示,在其两侧加单引号,在内存中,每个字符通常占用一个字节,具体存放的是该字符对应的ASCII码值。一个字符型常量也可以整型常量,其值就是ASCII码值。因此可以把字符型常量作为整型常量使用。2.3.4字符串常量字符串常量是用一对双引号括起来的零个或多个字符序列,C语言规定在存储字符串常量时,由系统在字符串的末尾自动加一个0(即ASCII码为0的字符,即“空字符”)作为字符串的结束标志。注意区别字符常量和字符串常量。a是字符常量,“a”是字符串常量。在内存中,字符常量占一个字节,而字符串常量则是在字符常量的末尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。在原程序中书写字符串常量时,不必加结束字符0,该结束字符0是由系统自动加上的。2.3.5常量的使用与符号常量常量的使用方法有两种直接使用,先定义符号常量然后再使用。1. 直接使用直接使用就是在程序员代码中直接输入常量的值,例如Int age25;Float weight65.5f;2. 符号常量常量还可以先定义然后再使用,这种常量也称为符号常量。定义符号常量就是给常量起一个名字,然后用这个名字代替常量,要注意的是名字必须符合标识符的命名规则。C语言中定义符号常量的方法有两种使用编译指令define或者使用关键字const定义。例如定义(圆周率)这个数值define phi 3.14159 /*第一种定义方法*/cnost duoble phi3.14159; /*第二种定义方法*/上述两种方法都可以定义名为“phi”的常量,其值为3.14159。2.4变量其值可以改变的量称为变量。变量是表示数据存储的基本概念。程序中的一个变量可以看做一个存储数据的容器,它的功能是可以存储数据。对变量的基本操作如下两种(1) 向变量中存储数据值,这个操作被称作给变量“赋值”。(2) 取值2.4.1变量定义笔墨丹青填胸臆,书画琴棋翰墨香。古来圣贤书作友,取义造化诗画工写得好,饱含真情的文字,是世间最美的文字。因读汝文,偶有所感,和之伫立竹林旁,微风起转凉。夜深幽篁静,忽闻鹧鸪怅。不识梦呓语,昨日回心上。哀乐自常在,知音诉衷肠

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值