C语言程序设计复习提纲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-C语言程序设计复习提纲一、VisualC++6.0开发环境1、了解VisualC++6.0的安装过程;2、了解VisualC++6.0的工作界面,菜单和工具栏的使用;▲二、掌握C语言程序运行的过程1、编辑:是指把按照C语法规则编写的程序代码通过编辑器(VisualC++6.0,TurboC3.0)输入计算机,并存盘。在存盘时,C源文件的扩展名为.c2、编译:对源程序进行编译,即将源程序转换为扩展名为.obj的二进制代码;即生成该源文件的目标代码。3、连接:将用户程序生成的多个目标代码文件(.obj)和系统提供的库文件(.lib)中的某些代码连接在一起,生成一个可执行文件(.exe)。4、执行:执行生成的可执行代码,并输出结果。5、调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。▲三、结构化程序设计的基本概念1、概念以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,将原来较为复杂的问题化简为一系列简单模块的设计,任何模块都可以使用一些基本的结构来实现,任何复杂的程序,都可以使用这些基本结构按一定的顺序组合起来,这些基本结构的特点都是只有一个入口、一个出口,这样的程序设计方法称为结构化程序设计。2、基本思想结构化程序设计的基本思想是采用自顶向下,逐步细化、模块化设计、结构化编码的程序设计方法和单入口单出口的控制结构。自顶向下、逐步细化的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;单入口单出口的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。3、三种基本结构⑴顺序结构⑵选择结构⑶循环结构4、三种基本结构的特点⑴只有一个入口⑵只有一个出口⑶每一个基本结构中的每一部分都有机会执行到⑷结构内不存在“死循环”5、设计原则⑴自顶向下⑶逐步细化⑶模块化设计⑷结构化编码6、结构化程序设计方法⑴要求把程序的结构规定为顺序、选择和循环三种基本机构,并提出了自顶向下、逐步求精、模块化程序设计等原则。⑵结构化程序设计是把模块分割方法作为对大型系统进行分析的手段,使其最终转化为-2-三种基本结构,其目的是为了解决由许多人共同开发大型软件时,如何高效率地完成可靠系统的问题。⑶程序的可读性好、可维护性好成为评价程序质量的首要条件。⑷缺点:程序和数据结构松散地耦合在一起。解决此问题的方法就是采用面向对象的程序设计方法(OOP)。▲四、C程序的基本组成:C程序是由若干个函数构成的,至少有一个主函数main(),各函数在程序中的前后位置是任意的。C程序的基本组成:声明区、主程序区、函数定义区。1、声明区处在程序文件的所有函数的外部,一般包含:包含头文件、宏定义、类定义、结构体定义、函数声明、全局变量声明、条件编译等。2、主程序区主程序以main()函数开始,main()函数(主函数)是程序运行时的入口,包含局部变量的声明、函数调用、一般运算、结构控制、对象与结构的处理、文件处理等。3、函数定义区函数的定义包含函数说明和函数体两部分。▲五、C的数据类型、运算符、表达式1、常量和变量⑴、常量:在程序中直接用符号(文字)表示的数据整型常量:表示形式有十进制、八进制(以0开头)和十六进制(以0x或0X开头)。整型常量可以后缀字母L(或l)表示长整数,后缀字母U(或u)表示无符号整数。实型常量(浮点型常量):表示形式有一般形式和指数形式。实型常量缺省为double型,如后缀f或F,则为float型。字符常量:用单引号括起来的一个字符。不可显示的字符可用转义序列的方法来表图1C语言数据类型数据类型基本类型空类型(无值类型)void构造类型指针类型实型(浮点型)联合型类型union单字符型char整型int单精度型float双精度型double字符型宽字符型w-char逻辑型bool类类型class枚举型类型enum结构类型struct数组类型-3-示(见P26)。字符串常量:用双引号括起来的字符序列。布尔常量:false,true。符号常量:#define宏名常数例:下列哪些常量是合法的常量:①12.7,②-6.87E-2,③0XAbCD,④、0625L,⑤87U,⑥-0x98C2⑵变量:指程序在运行时其值可改变的量。变量应先定义(声明其类型和名称)后使用;变量定义的一般形式为:数据类型变名1,变名2,…,变名n;在定义一个变量的同时,也可以给它赋以初值。变量的命名规则(见P9)2、数据类型⑴、基本数据类型(见P23)⑵、构造类型又称为组合类型,它是由基本类型按照某种规则组合而成的。数组:是由具有相同数据类型的元素组成的集合。结构体:是由不同的数据类型构成的一种混合的数据结构,构成结构体的成员的数据类型一般不同,并且在内存中分别占据不同的存储单元。共用体:是类似于结构体的一种构造类型,与结构体不同的是构成共同体的数据成员共用同一段内存单元。枚举:是将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。⑶、指针类型变量用于存储另一变量的地址,而不能用来存放基本类型的数据。它在内存中占据一个存储单元。⑷、类是一个数据类型,它定义的是一种对象类型,由数据和方法组成,描述了属于该类型的所有对象的性质。3、运算符和表达式⑴、算术运算符和算术表达式注意:inti=1.2*3;//结果为3,而不是3.6。inti=5/3结果为1。⑵、赋值运算符和赋值表达式注意:赋值运算符的结合性是从右至左的复合赋值运算符:inta=12;a+=a-=a*=a;⑶、关系运算符和关系表达式注意:关系运算符的优先级低于算术运算符。例如:a+bc等价于(a+b)c,a!=bc等价于a!=(bc)“=”与“==”的区别关系运算符的优先级低于算术运算符⑷、逻辑运算符与逻辑表达式注意:逻辑非的优先级最高,逻辑与次之,逻辑或最低逻辑运算符的短路特性。intx,y,z;x=y=z=-1;++x&&++y||++z;printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);(结果:0-10)x=y=z=-1;++x||++y&&++z;printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);(结果:00-4--1)x=y=z=-1;++x&&++y&&++z;printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);(结果:0-1-1)⑸、自增(++)、自减(--)运算符注意:自增(++)、自减(--)运算符的前置用法和后置用法的区别。inti,j,k;intm,n,p;i=8;j=10;k=12;/*自增在操作数之前*/m=++i;printf(i=%d\n,i);printf(m=%d\n,m);(结果:99)/*自减在操作数之后*/n=j--;printf(j=%d\n,j);printf(n=%d\n,n);(结果:910)/*自增、自减的混合运算*/p=(++m)*(n++)+(--k);printf(k=%d\n,k);printf(p=%d\n,p);(结果:11111)⑹、条件运算符表达式1?表达式2:表达式3注意:结合性是自右向左。ab?a:cd?c:d相当于ab?a:(cd?c:d)条件运算符的优先级别高于赋值运算符,低于关系运算符和算术运算符。如:ab?a-b:b-a相当于ab?(a-b):(b-a)⑺、位运算符位运算符是对其操作数按其二进制形式逐位进行运算,参加位运算的操作数必须为整数。如:inta=5,b=6;a&b=4;a|b=7;a^b=3;~b=249;b2=28;b2=1。⑻、逗号运算符表达式1,表达式2,……,表达式n注意:自左至右,依次计算各表达式的值,“表达式n”的值即为整个逗号表达式的值。如:a=3*5,a*4,a+5的值为20。4、运算符的优先级与结合性⑴、所谓结合性是指,当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。自左至右的结合方向,称为左结合性。反之,称为右结合性。结合性是C语言的独有概念。除单目运算符、赋值运算符和条件运算符是右结合性外,其它运算符都是左结合性。⑵、表达式求值按运算符的优先级高低次序执行。例如,先乘除后加减。如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。例如,算术运算符的结合方向是“自左至右”,即:在执行“a–b+c”时,变量b先与减号结合,执行“a-b”;然后再执行加c的运算。▲六、顺序结构程序设计——数据的输入和输出1、格式化输出——printf()函数和格式化输入——scanf()函数⑴、格式化输出函数(printf())和格式化输入函数(scanf())都包含在头文件“stdio.h”中。⑵、格式化输出——printf()函数printf()函数的一般格式如下:printf(格式字符串[,输出项表]);-5-如:printf(“x=%d”,x)输出项表:要输出的数据项(可以没有,多个时以“,”分隔)格式控制串:包含两种信息格式说明:%[修饰符]格式字符,用于指定输出格式普通字符或转义序列:原样输出。格式控制字符:格式转换字符含义举例%d,%i以十进制整数输出inta=65;printf(“%d”,a)//65%x,%X以十六进制数输出无符号整数inta=65;printf(“%x”,a)//41%o以八进制数输出无符号整数inta=65;printf(“%o”,a)//101%u以十进制数输出无符号整数inta=-1;printf(“%u”,a)//65535%c输出一个字符型数据inta=65;printf(“%c”,a)//A%s输出一个字符串printf(“%s”,“abcd”)%e,%E以指数形式输出一个浮点型数据(小数位数缺省值为6位)floatx=984.235497426;printf(%e,x);//9.842355e+002%f以十进制小数形式输出一个浮点型数据(小数位数缺省值为6位)floatx=984.235432426;printf(%f,x);//984.235413%g,%G按照%e,%f输出宽度较短的格式输出,不输出无意义的0floatx=9.8;printf(%g,x);//9.8⑶、格式化输入——scanf()函数scanf()函数的一般格式scanf(格式字符串,输入项首地址表);格式字符串。格式字符串可以包含3种类型的字符:格式指示符、空白字符(空格、Tab键和回车键)和非空白字符(又称普通字符)。格式指示符与printf()函数的相似,空白字符作为相邻2个输入数据的缺省分隔符,非空白字符在输入有效数据时,必须原样一起输入。输入项首地址表──由若干个输入项首地址组成,相邻2个输入项首地址之间,用逗号分开。输入项首地址表中的地址,可以是变量的首地址,也可以是字符数组名或指针变量。变量首地址的表示方法:&变量名其中“&”是地址运算符。数据输入操作如果相邻2个格式指示符之间,不指定数据分隔符(如逗号、冒号等),则相应的2个输入数据之间,至少用一个空格分开,或者用Tab键分开,或者输入1个数据后,按回车,然后再输入下1个数据。例如,scanf(%d%d,&num1,&num2);假设给num1输入12,给num2输入36,则正确的输入操作为:12□36↙或者:12↙36↙注:使用“↙”符号表示按回车键操作,在输入数据操作中的作用是,通知系统输入操作结束。“格式字符串”中出现的普通字符(包括转义字符形式的字符),务必原样输入。例如,scanf(%d,%d,&num1,&num2);假设给num1输入12,给num2输入36,正确的输入操作为:12,36↙▲七、选择结构程序设计1、i

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功