《C语言程序设计教程》学习笔记

《C语言程序设计教程》——朱鸣华、刘旭麟等


第一章 C语言概述


1、C语言的特点:1)兼具高级、低级语言的双重能力(C语言允许直接访问物理地址,能够进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,又称为中级语言);2)生成的目标代码质量好,程序执行效率高;3)语言简洁,结构清晰;4)语言表达能力强;5)程序通用性、移植性好。

2、C语言的组成与结构:1)一个C语言程序的主体结构是由一个或若干个的函数构成的;2)主函数main是程序的入口,它可以出现在程序的任何位置;3)C程序中的函数包括:主函数main,用户自定义函数,系统提供的库函数(例:输出函数printf);4)函数由函数头和函数体两个部分组成;5)语句由关键字和表达式组成;6)程序中的“/* */”内的文字是程序的注释部分。

3、C语言开发步骤:1)编辑源程序;2)编译源程序;3)链接目标文件;4)运行程序;5)结果分析。

第二章 算法与程序设计基础


1、一个算法就是一个有穷规则的集合,其中的规则规定了一个解决某个特定类型的问题的运算序列。简单地来说,任何解决问题的过程都是由一定的步骤来组成的,我们把解决问题确定的方法和有限的步骤称为算法。

2、算法分为数值运算算法和非数值运算算法两种。数值运算算法是指对问题的数值求解;非数值运算算法需要用户按不同要求进行设计。

3、算法的五个特征:有穷性;确定性;可行性;有零个或多个输入;有一个或多个输出。

4、(流程图)结构化程序设计的三种基本程序结构是顺序结构、选择结构和循环结构

5、一般程序设计方法:分析问题,建立数学模型;确定数据结构;确定算法,描述算法;编制程序,调试程序;运行结果

6、结构化程序主要特征:以三种结构的组合来描述程序;整个程序采用模块化结构;有限制地使用goto语句;以控制结构为单位;采用结构化程序设计语言编写程序。

7、结构化程序的主要原则:自顶而下;逐步求精;模块化;限制使用goto语句。

第三章 数据类型、运算符与表达式


1、C语言基本符号:数字、英文字母、下划线字符、运算符、关键字

2、标识符:符号常量、变量、函数、数组、类型、文件命名的有效字符序列

3、标识符命名规则如下:1)只能由字母、数字和下划线组成;2)第一个字符必须为字母或下划线;3)不能使用关键字;4)区分大小写字符;5)建议标识符长度不超过8个字符。

4、程序在使用变量前,先要对变量进行定义,即必须“先定义,再赋值,后使用”

5、变量一般是在函数开头的声明部分定义。

6、C语言数据类型:整型数据、实型数据、字符型数据

7、整型数据

整型变量


基本整型:以int作为类型说明符

短整型:以short int或short作为类型说明符

长整型:以long short或long作为类型说明符

一般来说,整型变量在内存中占的字节数与所选择的编译系统有关,不同的编译系统对整型数据的存储是不同的,规定long型整数不短于int型,short型整数不长于int型。

无符号整型变量

无符号基本整型:以unsigned int或unsigned作为类型说明符

无符号短整型:以unsigned short int或unsigned short作为类型说明符

无符号长整型:以unsigned long int或unsigned long作为类型说明符

整型常量

整型常量就是整常数,有十进制,八进制和十六进制三种表达形式。

8、实型数据

实型变量

单精度实型:以float作为类型说明符

双精度实型:以double作为类型说明符

长双精度实型:以long double作为类型说明符

实型常量

实型常量的表达形式:实型常量就是实常数,有十进制小数形式和指数形式两种表达形式

实型常量的类型:许多C编译系统将实型常量作为双精度来处理

一个实型常量可以赋给一个float型、double型或long double型变量,系统根据变量的类型自动截取实型常量中相应的有效数字。

9、字符型数据

字符型数据用于表示一个字符值。字符型数据分为字符常量和字符变量两种。

字符常量是用单撇号括起来的一个字符,同时,C语言约定用“”开头的字符序列作为标记,这类字符统称为转义字符,用于代表一种特定的控制功能或表示一个特别的字符。

10、运算符和表达式

用运算符将操作对象连接起来,符合C语言语法的式子称为表达式。具有以下特点

常量和变量都是表达式

运算符的类型对应表达式的类型

每一个表达式都有自己的值

1)+、-、*与数学中的意义相同

2)在除法运算中,两个整数相除的结构为整数,舍弃小数部分,如果被除数或除数有一个是负数,则舍弃小数部分的方向是不一定的。

3)%是取余运算符或模运算符,该运算只能作用于两个整型数,运算结果是两个整数相除后的余数,运算结果为整数。同时,规定运算结果的正负符号与被除数的符号一致,如果被除数小于除数,运算结果等于被除数。

赋值运算符有一般形式和复合形式两种。

赋值运算符是“=”,作用是将一个数据赋给一个变量,由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式

形式如下:变量 = 表达式

其作用是把赋值运算符右边表达式的值赋给赋值运算符左边的变量。

逗号表达式一般形式如下:表达式1,表达式2,表达式3,……,表达式n

逗号运算符的优先级是所有运算符中最低的,结合方向:“从左到右”

逗号表达式的值和类型就是最右边的“表达式n”的值和类型。

11、数据类型转换

整型、实型和字符型数据可以进行混合运算,在进行运算时,一般类型的数据先转换成标准类型的数据,不同类型的数据要先转换成相同类型的数据。

在运算过程中,每个数据都要转换为标准类型,以提高运算精度
强制类型转换是指将表达式的运算结果(即表达式的值)转换为指定的类型。一般形式如下:
(类型说明符)表达式

int k;double x, y;
(double) k;     /*将k的值转换为double型*/
(int)(x+y);     /*将表达式x+y的值转换为int型*/
(int) x+y       /*将x的值转换为int型,然后和y的值相加,最后结果是double型*/
(int) x%k       /*将x的值转换为int型,然后和k的值求余,最后结果是int型*/

说明:

对表达式进行强制类型转换时,表达式应该用括号括起来,否则会产生不同的结果

对变量进行强制类型转换时,只能得到一个中间值,并不改变该变量原有的类型

强制类型转换运算符的优先级高于取余运算符%

自增运算和自减运算

使用形式一般如下:
++变量 或 变量++
--变量 或 变量--
其作用是使变量的值增1或减1.其中变量是指算术类型的变量

猜你喜欢

转载自www.cnblogs.com/zonkidd/p/11931449.html