C语言复习提纲:
第一章 C语言程序设计概述
一、Visual C++6.0开发环境
1、了解Visual C++6.0的安装过程;
2、了解Visual C++6.0的工作界面,菜单和工具栏的使用; ▲二、掌握C语言程序运行的过程
1、编辑:是指把按照C语法规则编写的程序代码通过编辑器(Visual C++ 6.0,Turbo C 3.0)输入计算机,并存盘。在存盘时,C源文件的扩展名为 .c
2、编译:将C语言源程序编译成目标程序,即对源程序进行编译,并将源程序转换为扩展名为.obj的二进制目标代码(即把已经编辑好的源程序翻译成二进制目标代码的过程)。
3、连接:将用户程序生成的目标代码文件(.obj)和系统提供的库文件(.lib)中的某些代码连接在一起,生成一个可执行文件(.exe)。
4、执行:执行生成的可执行代码,并输出结果。
5、调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。
▲三、结构化程序设计的基本概念 1、概念
以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,将原来较为复杂的问题化简为一系列简单模块的设计,任何模块都可以使用一些基本的结构来实现,任何复杂的程序,都可以使用这些基本结构按一定的顺序组合起来,这些基本结构的特点都是只有一个入口、一个出口,这样的程序设计方法称为结构化程序设计。
2、基本思想
结构化程序设计的基本思想是采用\自顶向下,逐步细化、模块化设计、结构化编码\的程序设计方法和\单入口单出口\的控制结构。
3、三种基本结构
⑴顺序结构 ⑵选择结构 ⑶循环结构 4、三种基本结构的特点
⑴只有一个入口 ⑵只有一个出口 ⑶每一个基本结构中的每一部分都有机会执行到 ⑷结构内不存在“死循环” 5、设计原则
⑴自顶向下 ⑶逐步细化 ⑶模块化设计 ⑷结构化编码
▲四、C程序的基本组成:
C程序是由若干个函数构成的,至少有一个主函数main(),main()的位置可以任意,其他各函数在程序中的前后位置也是可以任意的。程序的执行总是从主函数开始,在主函数中结束。主函数是可以调用其他任何非主函数的函数,任何非主函数也可以调用其它任何非主函数。 C程序的基本组成:声明区、主程序区、函数定义区。 1、声明区
处在程序文件的所有函数的外部,一般包含:包含头文件、宏定义、类定义、结构体定义、函数声明、全局变量声明、条件编译等。
2、主程序区
主程序以main()函数开始,main()函数(主函数)是程序运行时的入口,包含局部变量的声明、函数调用、一般运算、结构控制、对象与结构的处理、文件处理等。
3、函数定义区
函数的定义包含函数说明和函数体两部分。
- 1 -
4、注释
//或/* */为注释,不能嵌套
不产生编译代码,不影响程序的执行效率。 ▲五、标识符
1、标识符的定义:用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符。
2、标识符的命名规则:由字母、数字或下画线组成,并且第1个字符必须为字母或下画线。 注意:标识符区分大小写,即大写字母和小写字母的通常意义不同,且不能与关键字重名。 练习1:下列变量标识符哪些是正确的,哪些是不正确的?
a3bc if a!bc _abc abc _3abc a_bc 3abc
练习1、下面四个选项中,均是合法整型常量的选项是A
A、160 -0xffff 011 B、-0xcdf 01a 0xe C、-01 0986.012 0668 D、-0x48a 2e0.5 0x
练习2、以下不正确的变量标识符是D
A、abc B、_abc C、a_bc D、3abc
练习3、下面四个C语言常量中,错误的表示是B
A、0xFF B、1.2e0.5 C、2L D、'\\72'
3、标识符分类:关键字、预定义标识符、用户自定义标识符。
第二章 数据类型、运算符和表达式
▲一、C语言的数据类型
整型int
单精度型float
实型(浮点型)
基本类型
字符型
双精度型double
单字符型char
宽字符型w-char
逻辑型bool 枚举类型enum
空类型(无值类型)void
数组类型 构造类型
结构类型struct 联合型类型union
数据类型
指针类型 类类型class
图2_1 C语言的数据类型
C语言中基本数据类型包括整型、实型、字符型、枚举类型,构造类型有数组、结
- 2 -
构体、共用体等。
⑴、基本数据类型(见P17)
⑵、构造类型又称为组合类型,它是由基本类型按照某种规则组合而成的。 ? 数组:是由具有相同数据类型的元素组成的集合。
? 结构体:是由不同的数据类型构成的一种混合的数据结构,构成结构体的成员的数据类型一般不同,并且在内存中分别占据不同的存储单元。
? 共用体:是类似于结构体的一种构造类型,与结构体不同的是构成共同体的数据成员共用同一段内存单元。
? 枚举:是将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
⑶、指针类型变量用于存储另一变量的地址,而不能用来存放基本类型的数据。它在内存中占据一个存储单元。
⑷、类是一种数据类型,它定义的是一种对象类型,由数据和方法组成,描述了属于该类型的所有对象的性质。
二、常量和变量
⑴、常量:在程序运行的整个过程中,其值始终保持不变的量。
? 整型常量:表示形式有十进制、八进制(以0开头)和十六进制(以0x或0X开头)。整型常量可以后缀字母L(或l)表示长整数,后缀字母U(或u)表示无符号整数。
? 实型常量(浮点型常量):表示形式有一般形式和指数形式。实型常量缺省为double型(双精度型),如后缀f或F,则为float型(单精度型)。
? 字符常量:用单撇号括起来的一个字符。如'A','*'等。 转义字符:用反斜杠引导的,具有特定含义的字符(见P22表2-4),如 '\\n','\\367','\\x8a'。 注:C语言字符集中的任何一个字符均可用转义字符来表示。
? 字符串常量:用双撇号括起来的字符序列。如\,\广东广州\等。 ? 布尔常量:false,true。 ? 符号常量:
? #define 宏名 常数
练习2_1:下列哪些是合法的常量:
①12.7f ②0986 ③0986.012 ④、0625L ⑤87U ⑥-0x98C2 ⑦01a ⑧-6.87E-2 ⑨1.2e0.5 ⑩E-3 ⑾0xFF ⑿2L ⒀'\\72' ⒁160 ⒂-0xffff ⒃5E2.0 ⒄-0xcdf ⒅1.3E ⒆2E0 ⒇0668 (21)011 (22)0xe (23)-01 (24)-0x48a (25)0x ⑵变量:指程序在运行时其值可改变的量。
? 变量应先定义(声明其类型和名称)后使用; ? 变量定义的一般形式为:
? < 数据类型 > <变名1>,<变名2>,…,<变名n>;
? 在定义一个变量的同时,也可以给它赋以初值。 练习2_2以下正确的变量标识符是
①3abc ②$amount ③Num_of_Student ④ if ⑤a!bc
⑥_above ⑦_abc ⑧a>b ⑨sin ⑩day ▲三、运算符和表达式
1、算术运算符和算术表达式
注意:int i=1.2*3; //结果为3,而不是3.6。 int i=5/3结果为1。 表达式17/5的结果是3,表达式17%5的结果是2。 2、赋值运算符和赋值表达式 注意:
? 赋值运算符的结合性是从右至左的
- 3 -
? 复合赋值运算符:int a=12; a+=a-=a*=a;(a=a+(a=a-(a=a*a)),结果为0) 注意:
在C语言中,定义int a=b=c=3;是错误的,而定义int a,b,c; a=b=c=3;是正确的。 练习2_3设m=9,i=3,则执行运算m%=i+1后,m的值是多少?结果1。 m=m%(i+1)→m=9%(3+1)→m=1。 3、关系运算符和关系表达式 注意:
? 关系运算符的优先级低于算术运算符。例如:a+b>c 等价于 (a+b)>c,a!=b>c 等价于 a!=(b>c)
? “=”与“==”的区别 4、逻辑运算符与逻辑表达式 注意:
? 逻辑非的优先级最高,逻辑与次之,逻辑或最低 练习2_4 若有int a=3,b=0;则表达式a&&!b的值为1。
练习2_5设有变量说明:int a=8,b=7;那么执行语句:printf(\,输出的结果是9,7
练习2_6设a,b,c均为int型变量,则执行语句a=b=3;c=++a||++b;后,b的值为3。
练习2_7设x、y和z都是int型变量,且x=8, y=3, z=5, 则表达式x*y/z+6-14%z的值为6。 练习2_8设有定义:int x=1,y=-1;则执行语句printf(\后的输出结果是0。 练习2_9 设x,y,z,t均为int型变量,则执行以下语句x=y=z=1;t=++x||++y&&++z; 后,x、y、z、t的值分别为2,1,1,1。
练习2_9、设有定义:int m=1,n=-1;则执行语句printf(\后的输出结果是0 练习2_10、设x,y,z,t均为int型变量,则执行以下语句后,t的值为1 x=y=z=1;t=++x||++y&&++z; 练习2_11、下列程序片段的输出结果是3 1
int x=2, y=2;y = x++ -1;printf(\
练习2_12、要判断字符变量ch中的值是否为数字字符,则正确的表达式是ch>='0'&&ch<='9' 练习2_13、设有变量说明:int x=6,y=9;那么表达式:z=x>y?x:y运算后,z的值是9
练习2_14、设有变量说明:int x=10,y=9;那么执行语句:printf(\\\n\,输
出的结果是11,9
6、条件运算符
表达式1?表达式2:表达式3 注意:
? 结合性是自右向左。a>b?a:c>d?c:d相当于a>b?a:(c>d?c:d)
? 条件运算符的优先级别高于赋值运算符,低于关系运算符和算术运算符。如: a>b?a-b:b-a相当于a>b?(a-b):(b-a)
练习2_10设有变量说明:int x=3,y=5;那么表达式:z=x>y?x:y运算后,z的值是5。 7、位运算符
位运算符是对其操作数按其二进制形式逐位进行运算,参加位运算的操作数必须为整数。 练习2_11 int a=5,b=6;a&b=4;a|b=7;a^b=3;~b=-7;b<<2=24;b>>2=1。 注:在位运算中,操作数左移三位,其结果相当于操作数乘以8。 8、逗号运算符
表达式1, 表达式2, ……, 表达式n 注意:
自左至右,依次计算各表达式的值,“表达式n” 的值即为整个逗号表达式的值。如:a = 3 * 5, a * 4, a + 5的值为20。
- 4 -
▲四、运算符的优先级与结合性
1、所谓结合性是指,当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。
自左至右的结合方向,称为左结合性。反之,称为右结合性。
结合性是C语言的独有概念。除单目运算符、赋值运算符和条件运算符是右结合性外,其它运算符都是左结合性。
2、表达式求值
? 按运算符的优先级高低次序执行。例如,先乘除后加减。
? 如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。
例如,算术运算符的结合方向是“自左至右”,即:在执行“a – b + c”时,变量b先与减号结合,执行“a - b”;然后再执行加c的运算。
练习2_12 设int x=2,y=3,z=4; 执行语句行x++;y+=1;z=x+y--以后,x,y和z的值分别是多少?
答案:3,3,7
练习2_13 若有定义int m=2;则逻辑表达式(m=3)&&(m= =3)的值是1。
练习2_14 如果a=5,b=3,c=7,d=9,则条件表达式ab) && (n=c>d);后,n的值为2。 练习2_16 如果a=5,b=3,c=7,d=9,则条件表达式a
第三章 顺序结构程序设计
▲一、顺序结构程序设计——数据的输入和输出 1、格式化输出——printf()函数
? printf()函数的一般格式如下:printf(\格式字符串\,输出项表]); ? 输出项表:要输出的数据项(可以没有,有多个时以“,”分隔) ? 格式控制串:包含两种信息
格式说明: %[修饰符]格式字符 ,用于指定输出格式
如:格式控制字符“%c”表示的含义是输出一个字符型数据。 普通字符或转义序列:原样输出。 ? 格式控制字符:
表3_1 printf()函数格式字符 格式转换字符 %d,%i %c %s %e,%E %f(有效数字6-7位) %g,%G ? 修饰符: 含义 以十进制整数输出 输出一个字符型数据 输出一个字符串 以指数形式输出一个浮点型数据(小数位数缺省值为6位) 以十进制小数形式输出一个浮点型数据(小数位数缺省值为6位) 按照%e,%f输出宽度较短的格式输出,不输出无意义的0 举例 int a=65;printf(“%d”,a)//65 int a=65;printf(“%c”,a)//A printf(“%s”,“abcd”)//abcd float x=984.235497426; printf(\float x=984.235432426; printf(\float x=23.240; printf(\表3_2 printf()函数修饰符 修饰符 功能 - 5 -
示例
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育C语言复习提纲(全) 全文阅读和word下载服务。
相关推荐: