《C程序设计(第四版)》的原文摘录
-
stdio.h是系统提供的一个文件名,stdio是standard input & output的缩写,文件后缀.h的意思是头文件(header file),因为这些文件都是放在程序各文件模块的开头的。输入输出函数的相关相信已视线放在stdio.h文件中。现在,用#inclue指令把这些信息调入供使用。 (查看原文)
-
printf(格式控制,输出表列)
1)格式控制是用双撇号括起来的一个字符串,称为转换控制字符串,简称格式字符串。
①格式声明。%+格式字符,如&d,&f。
②普通字符
2)输出表列是程序需要输出的一些数据,可以是常量,变量或表达式。
printf(参数1,参数2,参数3,……,参数n)
格式符
d/i:用来输出一个有符号的十进制整数
可以在格式生命中指定输出数据的域宽(所占的列数),如%5d,指定书橱数据占5列。
ld:长整型
lld:双长整型
c:用来输出一个字符
s:一个字符串
printf("%s","China")
f:用来输出实数,以小数形式书橱。
基本型,%f 不指定书橱数据的长度。一般,整数部分全部输出,小数部分输出6位。
制定数据宽度和小数位数,%m.nf
如%7.2f,输出数据7列,两位小数
输出数据向左对齐%-m.nf(后面补空格)
e:以指数形式书橱实数。如果不指定输出数据所占的宽度和数字部分的小数位数,一般小数6位,指数5列。如1.234560 e+002
o:八位数输出
x:十六位输出
u:无符号十进制整数
g:输出浮点数,系统自动选择,f格式活e格式输出 (查看原文)
-
按位或运算常用来对一个数据的某些位定位为1. (查看原文)
-
异或的意思是判断两个相应的位值是否为异,为异则取真。 (查看原文)
-
程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。只要让计算机执行这个程序,计算机就会“自动地”执行各条指令,有条不紊地进行工作。
程序和指令是计算机系统中最基本的概念。
人和计算机交流信息,也要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机语言。
计算机能直接识别和接受的二进制代码成为机器指令。
机器指令和集合就是该计算机的机器语言。 (查看原文)
-
计算机并不能直接识别和执行符号语言的指令,需要用一种称为汇编程序的软件,把符号语言的指令转换成为一条激起指令。转换的过程称为“代真”或“汇编”。
因此,符号语言称为又称为“符号汇编语言”。
不同型号的计算机的机器语言和汇编语言是互不通用的。机器语言和汇编语言是完全依赖于具体激起特性的,被称为“计算机低级语言”。
高级语言:程序中用到的语言和指令用英文单词表示的。
这种语言功能很强,而且不依赖于具体机器,用它写出的程序对任何型号的计算机都适用(或只须作很少的修改),它与具体激起距离较远,故称为计算机高级语言。
计算机也是不能直接识别搞基语言程序的,也要进行“翻译”。用一种称为编译程序的软件把高级语言写的程序(源程序)转换为机器指令的程序(称为目标程序),然后让计算机执行激起指令程序,最后得到结果。高级语言的一个语句往往对应多条机器指令。 (查看原文)
-
高级语言经历了不同的发展阶段:
1)非结构化的语言
2)结构化语言
3)面向对象的语言。 (查看原文)
-
C语言有以下一些主要特点。
1)语言简洁、紧凑,使用方便、灵活。C语言一共只有37个关键之,9种控制语句,主要用小写字幕表示。
C语言不直接提供输入和书橱语句、有关文件操作的语句和动态内存管理的语句等。
2)运算符丰富。
3)数据类型丰富:整形、浮点型,字符型、数组类型、指针类型、结构体类型和公用体类型。
4)具有结构化的控制语句
5)语法限制不太严格
6)允许直接访问无力地址,能进行位操作,直接对硬件进行操作。
7)可移植性好。不需要修改源代码
8)生成目标代码质量高,程序执行效率高。 (查看原文)
-
以//开始的单行注释,表示从到本行结束是“注释”,不能跨行。如果注释内容一行写不下卡伊用多个单行注释。
以/*开始,以*/结束的块状注视。这种注释可以包含多行内容。
&d是指定的输出格式,d表示用十进制整数形式输出。
scanf 和printf都是C的标准输入输出函数。
main函数中的return语句指定的返回值一般为0.
return(z)表示把求出的z代回调用它的位置,即main函数上。 (查看原文)
-
C语言程序的结构有以下特点:
1)一个程序由一个活多个源程序未见组成。
①预处理指令。
②全局声明:在函数外面声明的变量为全局变量。如果是在程序开头(定义函数之前)声明的变凉,则在整个源积程序文件范围内有效。在函数中声明的变量是局部变量,只在函数范围内有效。
③函数定义
2)函数是C程序的主要组成部分。函数是C程序的基本单位。在设计良好的程序中,每个函数都用来实现一个或几个特定的功能。其中必须且只能包含一个函数。一个程序可能包含若干个源程序文件。
3)一个函数包括两个部分。
①函数首部。第一行。函数名max,函数类型int,函数属性,函数参数名(形式参数名)x/y、参数类型(int。一个函数名后面必须跟一对圆括号,括号内谢函数的参数名及其类型。如果函数没有参数,可以在括号内些void或是空括号。
②函数体。(函数首部下面花括号内的部分。
1.声明部分。生命部分包括:定义在本函数中所用到的变量。
2.执行部分。由若干个语句组成。
void dump()
{}
它是一个空函数,什么也不做,但这是合法的。
4)程序总是从main函数开始执行的。
5)程序中对计算机的操作是由函数中的C语句完成的。
6)在每个数据生命和语句的最后都有一个分号;
7)C语言本身不提供输入输出语句,是由库函数scanf和printf等函数来完成的。
8)程序应当包含注释。 (查看原文)
-
1)上机输入和编译源程序
2)先用C编译系统提供的“预处理器”对程序中的预处理指令进行编译预处理。
3)进行连续处理,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块)。
4)运行可执行程序,得到运行结果。 (查看原文)
-
程序设计是指从确定任务到得到结果、写出文档的过程。
1)问题分析
2)设计算法
3)编写程序
4)对源程序进行编辑、编译和链接
5)运行程序,分析结果
6)编写程序文档 (查看原文)
-
算法的特性
1)有穷性
2)确定性
3)有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要的信息。
4)有一个或多个输出。
5)有效性。 (查看原文)
-
三种基本结构:
1)顺序结构
2)选择结构。其中一个可以是空的,即不执行任何操作。
3)循环结构。
①。While型循环结构:当给定的条件p1成立,执行A,执行完A后再判断p1是否成立,如果仍然成立,再执行A。知道某一次p1不再成立,从b点脱离循环结构。
②。Until型:先执行A,然后判断p2是否成立,如果p2不成立,再执行A,知道怕
成立,从b脱离本循环。 (查看原文)
-
由基本结构所构成的算法属于“结构化”算法,它不存在规律的转向,只在基本结构内才允许存在的分支内向前,向后跳转。 (查看原文)
-
常量
1)整型常量。
2)实型常量:十进制小数形式,由数字和小数点组成。。
3)字符常量。用单引号括起来的一个字符、转义字符如\n
4)字符串常量。双撇号把若干字符括起来,字符串常量是双撇号中的全部字符,但不包括双撇号本身。
5)符号常量。用#define指令,指定一个符号名称代表一个常量。
***转义字符及其作用。
转义字符=字符值=输出结果
\' =一个单撇号=具有此八进制码的字符
\"=一个双括号=输出此字符
\?=一个问号=输出此字符
\\一个反斜线=输出此字符
\a=警告=产生声音或视觉信号
\b=退格
\f=换页(form feed)
\n=换号
\r=回车
\t=水平制表符=将当前位置移到下一个TAB位置
\v=垂直制表符=将当前位置移到下一个垂直制表对齐点
\❤(❤代表一个或几个八进制/十六进制数值=对应的ASCII字符 (查看原文)
-
数据类型
一、基本类型
1)整形类型:基本整形、短整型、长整型、双长整型、字符型、布尔型(储存时用整数的补码存放,一般2或4个字节。二进位→按位取反→再加一),如无符号,则多一位,标注Unsigned
2)浮点类型:单精度浮点型;双精度浮点型、复数浮点型
3)枚举类型
4)空类型
5)派生类型:指针类型,数组类型,结构体类型,共用体类型,函数类型。
基本类型和枚举类型的都是数值,称为算数类型。
算数类型和指针类型统称为纯型变量,因为都用数字表示。
枚举类型是程序中用户定义的整数类型。 (查看原文)
-
求余数:%
两个实数相除的结果是双精度实数,两个整数相处的结果为整数,如5/3=1.
Visual C++采取“向零取整”的方法,即5/3=1;-5/3=-1 (查看原文)
-
++i,--i:在使用i之前,先使i的值加/减1
i++;i--,使用i后,再加减1 (查看原文)
-
强制类型转换符:(类型名)(表达式) (查看原文)