二级C语言程序设计知识点.pdf
《二级C语言程序设计知识点.pdf》由会员分享,可在线阅读,更多相关《二级C语言程序设计知识点.pdf(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录第一章C 语言基础知识.1第 一 节 C语言的基本构成.1第二节整型数据.3第三节 实型数据.6第四节字符型数据.7第五节 算术表达式.9第六节赋值表达式.10第七节自加表达式.12第八节逗号表达式.14第二章顺序结构.15第一节表达式与语句.15第二节 数据输出.16第三节数据输入.19第三章 选择结构.22第一节关系运算符、关系表达式.23第二节、逻辑运算符和逻辑表达式.23第三节 i f 语句.24第四节 条件运算符与条件表达式.27第 四 节 sw itch语句及其构成的选择结构.28第五节 goto 语句.29第四章 循环结构.30第一节 w hile语句及其构成的循环结构.30
2、第二节 do-while语句及其构成的循环结构.31第三节 fo r语句及其构成的循环 结 构(重点章节).31第 四 节 循 环 的 嵌 套.33第五节 break语句和continue语句在循环体中的运用.34第 五 章 指 针.36第一节 变量的地址.36第二节 指针变量的介绍.36第三节 对指针的具体操作.38第 六 章 数 组.40第一节 一维数组.40第二节 一维数组与指针.42第三节 二维数组.43第四节二维数组和指针.45第 七 章 函 数.48第一节 函数的定义.48第二节 函数的返回值.49第 三 节 库 函 数.50第 三 节 调 用 函 数.51第 四 节 函 数 的
3、声 明.52第八章 函数与指针、数组关系.54第一节 函数的参数传递.54第 二 节 指针与函数的关系.55第三节 一维数组与函数.57第四节 二维数组与函数.59第九章字符串.61第一节字符串与字符数组.61第二节 处理字符串的方法.62第三节字符串的输入和输出.63第四节字符串数组.64第五节用于字符串处理的函数.65第十章 对 C语言的深入讨论.67第一节 对函数的进一步讨论.67第 二 节 C语言中用户标识符的作用域.68第四节动态存储分配.71第五节 用户定义类型.72第六节 编译预处理.72第 七 节 位 运 算.74第十一章 结构体与共用体.76第一节 结构体.76第二节结构体的
4、初始化和调用.80第三节 函数之间结构体变量的数据传递.81第四节、用结构体构成链表.85第 五 节 共 用 体.87第十二章 文件.90第 一 节 C语言文件的基本概念.90第二节文件指针以及打开与关闭.90第三节 文件定位相关的操作.92第四节对文件的具体操作.94附录.98C 语言中的关键字.98C 语言运算符优先级.98第一章C语言基础知识该章内容:本章是整个C语言最基础的部分;表达式是C语言的核心,本章会学习到不同的表达式。学习方法:对关键的知识点一定要多背,把最基础的习题多做几遍,在以后的学习中要多次反回来复习,加深印象。第一节C语言的基本构成知识点:c语言的注释;关键字;书写风格
5、;常量和变量重要程度:1、C语言的良好风格用 C 语言编写的程序,称为C 语言源程序,简称C 程序。本节将通过一个简单的C 程序例子,向大家介绍C 语言的一些基本构成和如何写出风格良好的程序,使读者对C 语言有一个初步的认识。例 I:计算两个整数之和的C 程序f t i n c l u d e s t d i o.h m a i n()(i n t a,b,s u m;a=1 0;b=2 0;s u m=a+b;/*求两数之和*/*变量说明*/*把整数1 0 赋值给变量a */*把整数2 0 赋值给变量b */*把两数之和赋值给变量s u m */p r i n t f (a=%d,b=%d,
6、s u m=%d n/,a,b,s u m);/*把计算结果输出到用户屏幕上*/好的风格:1.花括号独占一行,有对应关系的花括号在同一列;2.有层次关系的代码有必要的缩进;3 .一条语句独占一行4 .有适当的注释2、关于注释的说明(考点一)令 程序中以“/*”开头并且以“*/”结尾的部分表示程序的注释部分。令注释可以加在程序的任何位置。令 注释是为了提高程序的可读性而增加的,不属于C 语言。令/*/*d d d d d d d*/*/这样的注释不是合法的。注释是从/*”开始到”*/“结束的。以该例为准,属于注释的就是/*/两个之间的/*d d d d d d d,所以最后剩下的*/就是多余了。
7、例 1:阅读以下程序,想一想结果是多少?mai n()i n t a=0,b=0;a=1 0;/*给 a 赋值b=20;给 b 赋值*/p r i n t f (,/a+b=%d n/z,a+b);/*输出计算结果*/这是20 0 6 年9 月全国计算机等级考试二级考试的第1 9 题。需要特别注意的是,程序第三行“/*”开始的注释部分,直到第四行末尾才结束。因此上面的程序等价于以下的程序:mai n()i n t a=0,b=0;a=1 0;p r i n t f (,a+b=%d n,/,a+b);3、标 识 符(考试重点)在C 语言中用于标识名字的有效字符序列称为标识符。标识符可以用作常量
8、名、变量名、符号名、函数名和后面要学到的指针名、数组名等。C语言中标识符的命名规则如卜:1)标识符只能由字母、数字和下划线组成;2)标识符的第一个字符必须是字母或下划线。3)标识符区分大小写字母。如 i n t 与 I n t 是两个完全不同的标识符。合法的标识符:a x s um s p e l s p r o g r am ab l _ t o f i l e _ 5 al b 2c 3 _ 2 B 3非法的标识符:ab l 2#(含有不合法的字符“#)al-c (含有不合法的字符ab c (空格不是合法标识符)i r r (“兀”不是字母,为不合法标识符字符)23 ab (第一个字符不能
9、为数字)C 语言的标识符分为如下三类:1)关键字关键字是具有特定含义的、专门用来说明C 语言特定成分的一类标识符。关键字均由小写字母构成。I n t 就不是关键字。2)预定义标识符预定义标识符(如 p r i n t f,s c an f,s i n,i s al um等)和编译预处理命令名(如 d e f i n e,i n c l ud e 等)。注意,预定义标识符可以作为“用户标识符”使用。3)用户标识符(考试重点)不能是关键字;只能由字母、数字和下划线组成;第一个字符必须是字母或下划线。I n t 可以作为用户标识符,i n t 就不可以作为用户标识符。考点:L 识别哪些是(或不是)标
10、识符2.识别哪些是(或不是)用户标识符例 2:以下不能定义为用户标识符的是A)s c an f B)V o i d C)_ 3 c o m_ D)in t分析:本题答案选D。因为in t 是关键字,关键字不能作为用户标识符。答 案(A)的 sc a n f 虽然是预定义标识符,但是预定义标识符可以作为用户标识符使用。(B)中 V o id 的第一个字符V大写,它与关键字v o id 是两个不同的标识符,故它可以作为用户标识符。(C)中的一3 c o m 一符合标识符的命名规则,且不是关键字,故可以定义为用户标识符。例 3:以下不合法的用户标识符是A)j2_ KE Y B)D o u b l e
11、 C)4 d D)_ 8 _分析:本题答案选C。答 案(A)是一个用户标识符,符合标识符的命名规则。答 案(B)也是用户标识符,需要注意的是,它与关键字d o u b l e 是两个不同的标识符。答 案(D)是用户标识符,由数字和下划线组成,且第一个字符为下划线。只有答案(C)是不合法的用户标识符,因为它的第一个字符是数字,不符合标识符的命名规则。标识符的常见错误:1.数字开头2.包含减号“-”3 .用户标识符使用的是关键字4、常量。C 语言中,还有另外一种常量是用标识符命名的,称为符号常量。下面程序的PI 就是符号常量。例 4:计算圆面积的C 语言程序f t d e f in e PI 3.
12、14 15 9m a in()f l o a t r,a re a;r=12.5;a re a=PI*r*r;p rin t f (z/a re a=%f nz,,a re a);)程序的第一行是宏定义,以后遇到PI 就用其后的内容3.14 15 9 来原样替换。这里的PI 就是一个符号常量。通常,符号常量用大写字母表示,但这并不是语法上的要求,只不过用大写字母书写符号常量,便于辨认。当进行宏定义后,程序中只要用到相应的数值常量都可以用符号常量代替,这就给程序的修改提供了方便。例如,如果需要进一步提高圆周率的精度,可以直接修改宏定义中的数值常量:t t d e f in e PI 3.14 1
13、5 9 26这样,程序中只要用到PI 的地方,其值都自动变为3.14 15 9 26。5、变量与常量对应的是变量。顾名思义,变量就是在程序的运行过程中其值可以改变的量。例 1 中的a,b 都是变量,它们是由用户定义的标识符,变量的命名必须遵循标识符的命名规则。用盒子的理论来描述:1)变量就是盒子,里面装的内容可以改变。2)通过赋值语句就可以改变盒子里的内容。3)每次使用盒子时,盒子里都应该有确切的内容而不能是不确定的值。4)每次使用盒子时,都是用的现在盒子里装的内容。以前装过什么内容没有任何影响。第二节整型数据知识点:进制的转换;整型的定义和使用;重要程度:在 C 语言中,有三种基本的数据类型
14、,它们是整型、实型和字符型。1、数制转换二进制的数,基为二,某位出现的最大数字是2-1=1;八进制的数,基为八,某位出现的最大数字是8-1=7;十六进制的数,基为十六,某位出现的最大数字是f (相当与十进制的1 5)。在十六进制中,数字由十六个代码组成,分别是0 9 和 A F (或者是a f)这十六个代码。表 1 列举出十进制数字从0 1 5 时,相应的二进制、八进制和十六进制数字。(同列的为一组,表示相同的值)表 11进制、二进制、八进制和十六进制对照表十进制01234567二进制011 01 11 0 01 0 11 1 01 1 1八进制01234567十六进制01234567十进制8
15、91 01 11 21 31 415二进制1 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1八进制1 01 11 21 31 41 51 61 7十六进制89ABCDEF十进制的数字在我们日常生活中普遍使用,然而在计算机内部,数字均以二进制形式表示和存放。引例:(1)将任意进制的数转换为十进制数:将这个数按照引例中的方法展开。注意底数使用的是该进制的基。使用以上的方法,我们再来看两个例子:(2 3 E),6=2 X 1 6-+3 X 1 6 +1 4 X 1 6 =(5 7 4)1 0(1 1 1)2=1 X 22+1 X 2 +1
16、 X 2 =2-1 =(7)1 0(2)将十进制数转换成任意进制数十进制数转换成二进制数的规则为:将十进制的数字除以2,得到的商数继续除以2,直到商为0,然后将各次相除所得的余数从后往前排列,就得到该十进制数转换成的对应的二进制数。例如,将十进制数1 3 转换成二进制数的过程如下:2 1 1 32_ 6 12|3 02|1 10 .1所得的余数从后往前排列,得到二进制数1 1 0 1,与表1 中的一致。同理,可以得出将十进制数转换为任意进制数的规则。例如,将十进制数1 3 转换成八进制数的过程如下:8|1 38 _ _ _ 1 .50 .1所得的余数从后往前排列,得到二进制数1 5,与表1 中
17、的一致。(3)二进制与八进制、十六进制之间的转换从表1 中可以看出,每个八进制数的单个数字都可以用三位二进制数来表示,最大的八进制单个数字7等于最大的三位二进制H1,最小的八进制单个数字。等于最小的三位二进制0 0 0。因此,每个八进制数的单个数字都可以用三位二进制数字来表示,即 2 J 8。同样,每个十六进制数的单个数字都可以用四位二进制数来表示,即2 =1 6。例如,将八进制数1 3 转换成二进制数的过程如下:(1 3),=(0 0 1 0 1 1)2从以上的转换过程看出,将每个八进制数字转换成了三位二进制数字,1转换成0 0 1,3转换成0 1 1,因此八进制1 3 对应的二进制数字为1
18、 0 1 1 c现举例说明将十六进制数数E 3 转换成二进制数的过程:(E 3),6 =(1 1 1 0 0 0 1 1)2从表1 可以看出,十六进制数字E 等于二进制的1 1 1 0,3 等于二进制的0 0 1 1,于是十六进制数字E 3 等于二进制数字1 1 1 0 0 0 1 1。反过来,将二进制转换成八进制、十六进制,只需将从右边起的每三位或者每四位二进制数转换成对应的八进制数或十六进制数。进制的常见错误:1 .八进制数据中出现8,甚至是9.2 .十六进制中,把 1 5 当成一个字符(实际上应该是f)。2、整型常量 在 C 语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整
19、型常量三种表示形式。注意,在 C语言中没有直接表示二进制的整型常量。(常考)(1)十进制整型常量由一串连续的0 9 数字组成。如:0、1 2 0、3 6 5、-1 2 等。(2)八进制整型常量以数字0 开头,其中的数字为0 7。如:0 1 1 2 (十进制7 4)、0 1 2 3 (十进制8 3)、0 7 7 (十进制6 3)等。(3)十六进制整型常量以Ox(数字0 和字母x)或 0X开头,其中的数字可以是0 9、a f 或 A F中的数字或英文字母。如:0 x 1 1(十进制1 7)、0 x a 5(十进制1 6 5)、0 X 5 a(十进制9 0)等。整型常量又分为短整型(s h o r
20、t i n t)、基本整型(i n t)、长整型(l o n g i n t)和无符号整型(u n s i g n e d)等几类。例 1:以下选项中可作为C语言合法整数的是A)1 0 1 1 0 B B)0 3 8 6 C)OX f f a D)x 2 a 2分析:本题答案为C。选 项(A)不是C 语言中三种整型常量之一。选 项(B)不是合法的八进制整型常量,因为八进制整型常量中不可能出现“8”字符。选 项(D)中x 2 a 2 前加上“0”就是一个合法的十六进制整型常量。3、整型变量整型变量是用于存放整型值的变量。对应于整型常量,整型变量也可分为短整型(s h o r t i n t)、基
21、本整型(i n t)、长整型(l o n g i n t)和无符号整型(u n s i g n e d)四种。定义基本整型变量用关键字i n t,形式如下:i n t i;i n t 类型所占据的字节长度因不同类型的机器或编译器而有所不同:如果使用V C+6.0,则会为i n t 型变量分配4 个字节长度的存储单元。我们使用的将是这种情况。如图1 所示。图中表示对定义的i n t 型整型变量i 分配了四个字节的存储单元,这个存储单元的名字为i,里面的内容不确定。图1计算机系统为整型变量i分配的内存空间当对变量i 赋值时,这个值就存储在这个存储单元中。例如,执行了赋值语句:i=6;则变量i 的存
22、储单元变为如图2 所示的情况。图2十进制整数6存放在变量i的内存空间中的形式1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0正如读者所知,在计算机中实际上是以二进制形式存储数据的,所以在变量i 的存储单元中存放的是四个字节的二进制数0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 (十进制6)。c 语言中规定,在定义变量的同时给变量赋初值,称为变量初始化。例如:m a i n()i n t a=2,b=3,c=4;表 2 不同类型的整型数
23、在内存中所占用的字节数和数值范围数据类型关键字占用的字节数数值范围短整型s i g n e d s h o r t i n t 2-3 2 7 6 83 2 7 6 7无符号短整型u n s i g n e d s h o r t i n t 20-6 5 5 3 5基本整型s i g n e d i n t4-2 1 4 7 4 8 3 6 4 82 1 4 7 4 8 3 6 4 7无符号整型u n s i g n e d i n t 40-4 2 94 96 7 2 95长整型s i g n e d l o n g i n t 4-2 1 4 7 4 8 3 6 4 82 1 4 7 4
24、 8 3 6 4 7无符号长整型u n s i g n e d l o n g i n t 40-4 2 94 96 7 2 95说明:1)如果要表示一个长整型常量,则应该在对应的整型常量后面加上一个字母后缀1(L的小写)或者 是L。如O L、1 1 0 L、1 2 3 L等。这是因为如果不加上L(或1),则表明这个整型常量为基本整型常量,在内存中占两个字节的存储单元,而加上之后,则表明为长整型常量,在内存中占四个字节存储单元。2)无论是短整型还是长整型常量,C语言系统都默认为是有符号整数。无符号整数在数字的后面加上一个字母后缀u或者是U。若是长整型无符号整型常量,则应该加后缀l u或者是L
25、U o例2:以下选项中不属于C语言的类型的是A)s i g n e d s h o r t i n t B)u n s i g n e d l o n g i n tC)u n s i g n e d i n t D)l o n g s h o r t分析:根据表2可知,正确答案为D。4、整数在内存中的存储形式在计算机内存中最小存储单位称为 位(b i t)”。每一个位中或者存放0,或者存放1,因此称为二进制位。一个 字 节(Byte)有8个二进制位。沿用惯例,把最右边一位称为最低位,把最左边一位称为最高位。在C语言中,对于有符号型整数,将最高位作为符号位,当最高位为0时表示正整数,当最高位为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言程序设计 知识点
限制150内