C语言程序设计(第三版)笔记 谭浩强

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章概述

1.C语言的特点

①语言简洁、紧凑,使用方便、灵活。共有32个关键字,9种控制语句。

②运算符丰富,公有34种运算符。

③数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。

④具有结构化的控制语句(如if…else、while、do…while、switch、for)

⑤语法限制不太严格,程序设计自由度大。

⑥允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件操作。

⑦生成目标代码质量高,程序执行效率高。

⑧可移植性好。

2.C语言的用途

C虽不擅长科学计算和管理领域,但对操作系统和系统实用程序以及对硬件进行操作方面,C有明显的优势。现在很多大型应用软件也用C编写。

Top of Page

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

1.C的数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2.常量与变量

常量其值不可改变,符号常量名通常用大写。变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3.整型数据

整型常量的表示方法:十进制不用说了,八进制以0开头,如0123,十六进制以0x开头,如0x1e。

整型变量分为:基本型(int)、短整型(short int)、长整型(long int)和无符号型。不同机器上各类数据所占内存字节数不同,一般int型为2个字节,long型为4个字节。

4.实型数据

实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点),如:0.12、.123、123

0.0等。指数形式如123e3代表123×10的三次方。

实型变量分为单精度(float)和双精度(double)两类。在一般系统中float型占4字节,7位有效数字,double型占8字节,15~16位有效数字。

5.字符型数据

字符变量用单引号括起来,如'a','b'等。还有一些是特殊的字符常量,如'\n','\t'等。分别代表换行和横向跳格。

字符变量以char来定义,一个变量只能存放一个字符常量。

字符串常量是由双引号括起来的字符序列。这里一定要注意'a'和"a"的不同,前者为字符常量,后者为字符串常量,c规定:每个字符串的结尾加一个结束标志'',实际上"a"包含两个字符:'a'和''。

6.数值型数据间的混合运算

整型、字符型、实型数据间可以混合运算,运算时不同类型数据要转换成同一类型再运算,转换规则:

char,short->int->unsigned->long->double<-float

7.运算符和表达式

c运算符包括:

算数运算符(+-*/%)

关系运算符(><==>=<=!=)

逻辑运算符(!&&||)

位运算符(<<>>~|^&)

赋值运算符(=)

条件运算符(?:)

逗号运算符(,)

指针运算符(*&)

求字节数(sizeof)

强制类型转换(类型)

分量运算符(.->)

下标运算符([])

其它运算符(如函数调用运算符())

自增自减运算符(++--)注意:++i和i++的不同之处,++i使用i之前先使i加1,i++使用i之后,使i加1。逗号表达式的求解过程:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值。

Top of Page

第三章最简单的c程序设计

1.c的9种控制语句:

if()~else~

for()~

while()~

do~while()

continue

break

switch

goto

return

程序的三种基本结构:顺序结构,选择结构,循环结构

2.数据输出

c语言不提供输入输出语句,输入输出操作是由c的库函数完成。但要包含头文件stdio.h。

putchar()向终端输出一个字符

printf()的格式字符:

①d格式符用来输出十进制整数

%d按整型数据的实际长度输出

%md使输出长度为m,如果数据长度小于m,则左补空格,如果大于m,则输出实际长度%ld输出长整型数据

②o格式符以八进制形式输出整数

③x格式符以十六进制形式输出整数

④u格式符用来输出unsigned型数据,以十进制形式输出

⑤c格式符用来输出一个字符

⑥s格式符输出一个字符串

%s输出实际长度字符串

%ms输出的串占m列,如果串长度小于m,左补空格,如果大于m,实际输出

%-ms输出的串占m列,如果串长度小于m,右补空格,

%m.ns输出占m列,但只取字符串中左端n个字符并靠右对齐

%-m.ns m、n含义同上,靠左对齐,如果n>m,则m自动取n值

⑦f格式符以小数形式输出实数

%f整数部分全部输出,小数部分输出6位

%m.nf输出数据共占m列,其中有n位小数。如果数值长度小于m,左补空格

%-m.nf同上,右补空格

⑧e格式符以指数形式输出实数

%e系统指定6位小数,5位指数(e+002)

⑨g格式符输出实数,根据数值大小,自动选f格式或e格式

3.数据输入

getchar()从终端输入一个字符

scanf(格式控制,地址列表)标准C scanf中不使用%u,对于unsigned型数据,以%d或%o或%x输入。%后的*,用来跳过它相应的数据。输入数据时不能规定精度如scanf("%7.2f",&a);是不合法的。

Top of Page

第四章逻辑运算和判断选取控制

1.关系运算符:

c提供6种关系运算符(><<=>===!=)前四种优先级高于后两种。

2.If语句

C提供了三种形式的if语句

If(表达式)语句

If(表达式)语句1else语句2

If(表达式1)语句1

Else if(表达式2)语句2

else语句

3.条件运算符

(a>b)?a:b条件为真,表达式取值a,否则取值b

4.Switch语句

Switch(表达式)

{

case常量表达式1:语句1;break;

case常量表达式2:语句2;break;

相关文档
最新文档