C语言知识点整理 下载本文

第1章 C语言程序设计基础

考点1 C语言的基础知识

1. C语言程序的结构

① 一个程序由一个或者多个源程序文件组成。 程序的主要组成部分。 ②函数是C

main函数开始执行的,无论主函数在什么位置。 ③程序总是从

④所有语句都必须以分号结束,函数的最后一个语句也不例外。 ⑤C语言允许使用注释( /*……*/ // …… )

⑥程序行的书写格式自由,可以一行内写几条语句,也可以一条语句分写在几行上。 ⑦C语言本身不提供输入输出语句,输入输出操作是通过库函数scanf()、printf()等函数来实现的。

2.C语言的关键字与标识符

1.关键字是C语言中有特殊意义和用途、不得作为它用的字符序列,如:char、int、void、auto、long、if、struct、sizeof、typedef等,共32个。

标识符是C语言中用来表示变量名、数组名、函数名、结构体名、共用体名、枚举常量名、用户定义的数据类型名及语句标号等用途的字符序列。标识符分为系统标识符和用户标识符。

(1)所有C语言的关键字都必须小写。

(2)标识符由1~32个字符组成,第一个字符必须是字母或下划线,后面的字符可以是字母、数字或下划线。

(3)用户标识符不能与C关键字相同,大小写字母代表不同的标识符。

3.数据类型

1

基本类型 整型 字符型 单精度型 双精度型 实型(浮点) 空类型 数据类型 构造类型 数组类型 结构体型 共用体型 枚举类型 指针类型 2.C语言中的数据有常量与变量之分,它们分别属于不同的数据类型。 整型常量:包括正整数、负整数和零。十进制整数(如987、-82、0等。对于长整型,要在数字后面加字母L或小写字母l)、八进制整数(以0开头的数,如:0723、-012、00等)和十六进制整数(以0x开头的数,如:0x1B3、-0x9F、0x0等)。

实型常量:又称浮点数。有两种表示形式:小数形式(如:0.123、.123、123.0、 123.、 0.0等。在不影响数的精确度前提下,小数点前的0或小数点后的0可以省略。),指数形式(如:1.23e5, 123e-3,-7.8e0等。字母e之前是尾数,必须有数字;e后面是指数,必须为整数)。

字符常量:C的字符常量是用一对单引号引起来的一个字符。如'a','B','?','6','$'。'a'和'A'是不同的字符常量。

字符串常量:是用一对双引号引起来的字符序列,如:\?\。这里的\是字符串,它与单引号引起来的字符常量'A'是不同的。

考点2 算术表达式

1. 算术运算符及优先级

1.算术运算符+、-、*、/与数学中的四则运算符含义相同。应注意当\两边是整型时,其结果仍为整型,直接舍弃了小数点后部分,而不是四舍五入。 2.\两边必须是整型,a % b的含义是求a除以b的余数。

3.++、--只能用在整型变量的前后,其含义是使变量的值增1、减1。

4.运算符++、--的优先级高于*、/、%,运算符*、/、%的优先级高于+、-。

2.混合运算

整型、实型、字符型数据间可以混合运算。例如: 10+'a'+1.5-8765.1234*'b'是合法的。

高 double long unsigned float

低 int char,short

考点3 关系表达式和逻辑表达式

1.关系表达式

1、关系运算符

(1)C语言共有6种关系运算符:<(小于) 、>(大于)、<=(不大于)、>=

2

(不小于)、 = = (等于)和 !=(不等于)。

(2)关系运算符的优先级如下:

<、>、<=、>=的优先级别相同,= =、!= 的优先级别相同。前4种运算符的优先级别高于后两种运算符的优先级别。算术运算符的优先级别高于关系运算符的优先级别。 2、关系表达式

(1)用一种关系运算符将两个同类型(或相容)的表达式连接起来的式子称为关系表达式,其格式为: 表达式1 关系运算符 表达式2

(2)关系表达式的值是逻辑值,当关系表达式的值为\真\时,其值为1;当关系表达式的值为\假\时,其值为0。

2.逻辑表达式

1、逻辑运算符

逻辑运算符共有3种:!(逻辑非)、&&(逻辑与)和||(逻辑或)。 它们的运算规则如下:

!a 若a为真,则!a为假;若a为假,则!a为真。 a&&b 若a、b为真,则a&&b为真,否则为假。

a||b 若a、b都为假,则a||b为假,否则为真。 逻辑运算符的优先级如下

! 优先于双目算术运算符(*、/、%、+、-),双目算术运算符优先于关系运算符,关系运算符优先于&&,&&优先于||。

2、逻辑表达式

逻辑表达式指是用逻辑运算符将表达式连接起来的式子,逻辑表达式的值为0或者为1。

考点4 字符表达式

1.在C语言中,字符和整型有时是通用的。这是因为字符以ASCII码形式存储,每个ASCII码都有唯一的值,取值范围在0~127(扩展ASCII码在0~255)之间。在此区间,字符和整型是完全通用的。

2.两个字符大小的比较是按它们所对应的ASCII代码值比较的。

考点5 赋值

1.用一个赋值运算符(\)将变量和表达式连接起来的式子称为赋值表达式。

(1)它的一般形式为: 变量名=表达式

(2)赋值表达式的执行过程是:先计算表达式的值,然后将该值赋给赋值号左边的变量。

2.除了一般的赋值表达式之外,C语言还允许复合赋值表达式。复合赋值表达式是用复合赋值符(+=、-=、*=、/=、%=等)将变量和表达式连接起来的式子。 例如a*=4+5相当于a=a*(4+5),执行该表达式后,a的值为27。

3.逗号表达式

3

用逗号将两个或多个表达式连接起来就构成了逗号表达式。计算逗号表达式时,从左到右依次计算各表达式的值,并把最右边表达式的值作为逗号表达式的值。

考点6 输入

1.输入是指通过键盘输入给变量赋值。必须弄清两点:一是输入格式,二是必须指明变量的地址。

2.格式输入函数scanf( )可以用于一般类型数据的输入。通过采用不同的格式转换说明符,将不同的数据从标准设备(键盘)读入内存。

(1)scanf( )函数的一般格式为:

scanf (\格式控制字符串\,地址表列); (2)格式控制字符串: %d 用于输入十进制整数 %o 用于输入八进制整数

%x 或 %X 用于输入十六进制整数 %u 用于输入无符号十进制整数 %f 用于输入十进制实数

%e 或 %E用于输入指数形式的十进制实数

上述格式中,在d、o、x、u、f、e号前可以加整数,以表示输入数字的位数。

可以用%ld、%lo、%lx输入长整型数据,用%lf、%le输入double型数据。 %c 用于输入单个字符 %s 用于输入字符串

地址表列是若干地址组成的表列,可以是变量的地址,或字符串的首地址。 3.单个字符输入函数getchar( )。这是一个不带参数的函数,即圆括号中没有参数,但圆括号不能省略。

常用的形式为: c=getchar();

表示接收从键盘上输入的一个字符,并赋值给字符型变量c。 4.字符串输入函数gets( )。 格式为:gets( 字符数组名);

其作用是接收键盘上输入的一个字符串,并赋值给字符数组。

考点7 输出

1.格式输出函数printf( )

格式输出printf( ) 函数可以用于一般类型数据的输出,采用不同的格式转换说明符将不同类型的数据通过标准输出设备(显示器)输出。 (1)printf( ) 函数的一般格式为:

printf( \格式控制字符串\,输出项清单)

和scanf函数中的格式说明相似,以%开头,中间可以插入附加的字符,如%8.2f表示对应的实型变量按8位输出,其中小数点后2位。格式控制字符中允许有普通字符,它们是原样输出的。

4

(2)在输出格式中常出现以下转义字符:

转义字符 含义 转义字符 含义 \\n 换行 \\f 换页 \\t 水平制表 \\' 单引号' \\v 垂直制表 \\\双引号\\\b 退格 \\\\ 反叙杠/ \\r 回车

2.单字符输出函数putchar。 格式:putchar(字符表达式);

作用:在屏幕上输出字符表达式的值-。 3.字符串输出函数puts

格式:puts(字符串表达式);

作用:在屏幕上输出一个以'\\0'为结束标志的字符串。

第2章 选择结构程序设计

考点1 条件表达式

1.条件运算符

(1)条件运算符是由两个运算符\?\和\:\组合而成,它是C语言中唯一的三目运算符。

(2)条件运算符的结合性是\自右向左\。

(3)优先级如下:

其它运算符优先于条件运算符,条件运算符优先于赋值运算符。 2.条件表达式

(1)条件表达式一般格式为:

<表达式1> ? <表达式2> :<表达式3>

其中:<表达式1>是逻辑运算式,<表达式2>和<表达式3>是类型相同的任何表达式。例如:(a>b)? a : b (2)条件表达式取值方式为:

先计算表达式1的值,当<表达式1>的值为真时(即非0时),取<表达式2>的值作为条件表达式的值,否则取<表达式3>的值作为条件表达式的值。

考点2 if语句

if语句是用来判断所给定的条件是否满足,并根据判定的结果(真或假)决定执行那种操作。C语言提供了三种形式的if语句:

1.简单的if语句

1.简单if语句的格式: if(表达式)语句

2.简单if语句的执行过程:

5