第一章 C语言概述
[考点一] C语言概述
C语言是一种结构紧凑、使用方便、程序执行效率高的编程语言,它有9种控制语句、32个关键字和34种运算符。C语言的数据结构也非常丰富,它的多种数据类型可以实现如链表、树、栈等复杂的运算,并且用结构化控制句来实现函数的模块化。C语言的语法不太严格,程序的设计自由度大,它可以直接访问物理地址,还可以直接对硬件操作。C语言也是一种移植性比较好的语言。
[考点二] C语言程序的构成
(1) C语言的源程序是由函数构成的,每一个函数完成相对独立的功能,其中至少包括一个主函数。
(2) C程序总是从main()函数开始执行
(3) C语言规定每个语句以分号结束,分号是语句组成不可缺少的部分,它在每条语句的最后出现。
(4) 程序的注释部分应括在 /* 和 */ 之间不能有空格,注释部分允许出现在程序的任何位置。
[考点三] C程序的生成过程
C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件,源程序的扩展名为.c,目标文件的扩展名为.obj,可执行程序的扩展名为.exe
[考点四] 标识符
在编写程序时,必须为函数、变量等命名,这个名字称为标识符。标识符可以是一个或多个字符,标识符的第一个字符必须是字母或下划线,随后的字符只能是字母、数字或下划线。要区分字母的大小写。
标识符不能与程序中具有特殊意义的关键字相同,不能与用户编制的函数名、C语言库函数相同,在程序中各种标识符尽量不要重复,以便区分。选择变量名和其他标识符时,应注意做到“见名知义”。
[考点五] 常量
在程序运行中,其值不能被改变的量称为常量。常量有5种类型:整型常量、实型常量、字符型常量、字符串常量和符号常量。
(1) 整型常量
整型常量有3种:十进制整型常量、八进制整型常量和十六进制整型常量。
(2) 实型常量
实型常量有两种型式:小数形式和指数形式。
(3) 字符常量
一个字符常量代表ASCII码字符集里的一个字符,在程序中用单撇号括起来,以便区分。
除了形式上的字符常量外,C语言还有特殊的字符常量——转义字符常量
(4) 字符串常量
字符串常量是用双撇号括起来的一个或一串字符。
(5) 符号常量
符号常量由宏定义“#define”定义的常量,在C程序中可用标识符代表一个常量。
[考点六] 变量
变量就是其值可以改变的量。变量要有变量名,在内存中占据一定的存储单元,存储单元里存放的是该变量的值。不同类型的变量其存储单元的大小不同,变量在使用前必须定义。
(1) 整型变量
整型变量分为4种:基本型、短整型、长整型和无符号型。
(2) 实型变量
实型变量分为单精度类型和双精度类型。
在一般的系统中,float型数据在内存中占4个字节,double型数据占8个字节。单精度实数
提供7位有效数字,双精度实数提供15-16位有效数字。实型常量不分float开和double型,一个实型常量可以赋给一个float型或double型变量,但变量根据其类型截取实型常量中相应的有效数字。
(3) 字符变量
字符变量用来存放字符常量,字符变量用关键字char说明,每个字符变量中只能存放一个字符。
将一个字符赋给一个变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中。
由于在内存中字符以ASCII 码存放,它的存储形式和整数的存储形式类似,所以C语言中字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,马能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的ASCII码进行运算。
[考点七] 类型的自动转换和强制转换
当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算。
转换优先级为:char < int < float < double即左边级别“低”的类型向右边转换。具体地说,若在表达式中优先级最高的数据是double型,则此表达式中的其他数据均被转换成double型,且计算结果也是double型;在做赋值运算时,若赋值号左右两边的类型不同,则赋值号右边的类型向左边的类型转换;当右边的类型高于左边的类型时,则在转换时对右边的数据进行截取。
第2章 运算符与表达式
[考点一] C运算符简介
[考点二] 运算符的结合性和优先级
(1) 在C语言的运算符中,所有的单目运算符、条件运算符、赋值运算符及其扩展运算符结合方向都是从右向左,其余运算符的结合方向是从左向右。
(2) 各类运算符优先级别的比较
初等运算符>单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符>逗号运算符
说明:以上优先级别由左到右递减,初等运算符优先级最高,逗号运算符优先级最低。
[考点三] 强制类型转换运算符
可以利用强制类型转换符将一个表达式转换成所需类型,其一般形式为:
[考点四] 逗号运算符和逗号表达式
用逗号运算符将几个表达式连接起来称为逗号表达式。
逗号表达式的求解过程是:先求解表达式1,然后依次求解表达式2,直到表达式n的值。整个逗号表达式的值就是表达式n的值。需要注意的是,逗号运算符是所有运算符中级别最低的。
[考点五] 基本的算术运算符
需要说明的是:两个整数相除的结果为整型,如果两个数中有一个数为实数,则结果为double型。
[考点六] 算术表达式和运算符的优先级与结合性
算术表达式是用算术运算符和括号将运算量连执着起来的,符合C语言语法规则的表达式。运算对象包括函数、常量和变量等。
在计算机语言中,算术表达式的求值规律与数学中的四则运算的规律类似,其运算规则和要求如下:
(1) 在算术表达式中,可使用多层圆括号,但括号必须配对。运算时从内层圆括号开始,由内向外依次计算各表达式的值。
(2) 在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向进行运算。
(3) 如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制类型转换,使两者具有相同类型,然后进行运算。
[考点七] 自增自减运算符
作用:使变量的值增1或减1。
[考点八] 赋值运算符和赋值表达式
赋值符号“=”就是赋值运算符,作用是将一个数据赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符组成的表达式称为赋值表达式。
在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋值的那个数据。
[考点九] 复合的赋值运算符
在赋值运算符之前加上其他运算符就可以构成复合赋值运算符。
[考点十] 赋值运算中的类型转换
如果赋值运算符两侧的数据类型不一致,在赋值前系统将自动先把右侧表达式求得的数值
按赋值号左边变量的类型进行转换,但这种转换仅限于某些数据之间,通常称为“赋值兼容”。
常用的转换规则:
(1)当实型数据赋值给整型变量时,将实型数据的小数部分截断。
(2)当整型数据赋给实型变量时,数值不变,但以浮点数形式存储到实型变量中
(3)当double尖型数据赋值给float型变量时,取其前面7位的有效数字,存放到float型变量的存储单元中,这时数值可能溢出。
(4)当字符型数据赋值给整型变量时,由于整型变量占两个字节,则字符只占一个字节,只需将字符数据放到整型变量低8位中,对该整型变量最高位进行符号扩展,其他位补零。
(5)当整型、短整型、长整型数据赋值给一个char类型变量时,将低8位原封不动地送到char类型变量中。
[考点十一] 位运算符和位运算
在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。
C语言提供了6种位运算符
说明:
(1)位运算中除“-”以外,均为双目运算符,要求两侧各有一个运算量
(2)运算量只能是整型或字符型数据,不能为实型数据
第3章 基本语句
[考点一] C语句分类
C语言的语句用来向计算机系统发出指令,一个实际的源程序通常包含若干语句,这些语句用来完成一定的操作任务。
C程序中的语句,按照它们在程序中出现的顺序依次执行,由这样的语句构成的程序结构称为顺序结构。
C语句的分类:
(1) 控制语句
(2) 其他类型语句
(3) 空语句
(4) 复合语句
赋值语句:此外理解=和= =
输入输出概念及其实现:
(1) 数据从计算机内部向外部输出设备输送的操作称为“输出”,数据从计算机外部向输入设备送入的操作称为“输入”。
(2) C语言本身不提供输入输出语句,可以通过函数来实现输入和输出的操作。
(3) 在使用C语言库函数时,首先要用预编译命令“#include”将有关的“头文件”包含到用户源文件中。这里需要用到编译预处理命令。
[考点二] 字符输出函数 putchar( )
putchar( )函数的作用是向终端输出一个字符。
它输出字符变量a的值,a也可以是字符型变量。若a是整型变量,则输出的是ASCII码值为该变量值的那个字符。
[考点三] 字符输入函数 getchar( )
getchar( )函数的作用是从终端输入一个字符,getchar( )函数没有参数,函数值是从输入设备得到的字符。
[考点四] printf( ) 函数
该函数是C语言提供的标准输出函数,它的作用是向终端按指定格式输出若干个数据。
该函数的一般形式是
(1)“格式控制”:用双引号括起来的字符串,它包括两种信息
a.逗号表达式的运算顺序格式转换说明:
b.需要原样输出的字符
(2)“输出表列”是需要输出的一些数据,可以是常量变量或表达式
识记格式字符:
d
o
x
u
c
s
f
e
g
使用该函数时的注意事项
(1) 在格式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配。
(2) 在格式控制串中,格式说明与输出项的个数也要相等。
(3) 在格式控制串中,除了合法的格式说明外,可以包含任意的合法字符这些字符在输出时将被“原样输出”。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论