C语言程序设计复习提纲.docx
《C语言程序设计复习提纲.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习提纲.docx(31页珍藏版)》请在咨信网上搜索。
1、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源文件的扩展名为.c2、编译:对源程序进行编译,即将源程序转换为扩展名为.obj的二进制代码;即生成 该源文件的目标代码。3、连接:将用户程序生成的多个目标代码文件(.obj)和系统提供的库文件(.lib) 中的某些代码连接在一起,生成一个可执行文件(.exe
2、)。4、执行:执行生成的可执行代码,并输出结果。5、调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正 语法错误和逻辑错误的过程。三、结构化程序设计的基本概念1、概念以模块化设计为中心,将待开发的软件系统划分为假设干个相互独立的模块,将原来较为 复杂的问题化简为一系列简单模块的设计,任何模块都可以使用一些基本的结构来实现,任 何复杂的程序,都可以使用这些基本结构按一定的顺序组合起来,这些基本结构的特点都是 只有一个入口、一个出口,这样的程序设计方法称为结构化程序设计。2、基本思想结构化程序设计的基本思想是采用自顶向下,逐步细化、模块化设计、结构化编码 的程序设计方法和单入
3、口单出口的控制结构。自顶向下、逐步细化的程序设计方法从问题 本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序 框图;单入口单出口的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基 本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。 据此就很容易编写出结构良好、易于调试的程序来。3、三种基本结构顺序结构选择结构循环结构4、三种基本结构的特点只有一个入口只有一个出口每一个基本结构中的每一局部都有机会执行到结构内不存在“死循环”5、设计原那么自顶向下逐步细化模块化设计结构化编码6、结构化程序设计方法要求把程序的结构规定为顺序、选
4、择和循环三种基本机构,并提出了自顶向下、逐步 求精、模块化程序设计等原那么。结构化程序设计是把模块分割方法作为对大型系统进行分析的手段,使其最终转化为解:/*程序功能:打印5行*,第一行1个,第二行3个,第三行5个.*/include void main() int i=l;while(i=5) int j=l, k=l;while(j=5-i) printf();j+;)while(k=2*i-l) printf(*);k+;)printf(n);i+;)6 break语句与continue语句、一般格式:break;continue;、功能break:强行结束循环,转向执行循环语句的下一条
5、语句。continue:对于for循环,跳过循环体其余语句,转向循环变量增量表达式的计算; 对于while和do-while循环,跳过循环体其余语句,但转向循环继续条件的判定。、说明break能用于循环语句和switch语句中,continue只能用于循环语句中。循环嵌套时,break和continue只影响包含它们的最内层循环,与外层循环无关。 例:求输入的十个整数中正数的个数及其平均值#include void main() int i, num=0, a;float sum=0;for(i=0;i10;i+) scanf&a);if(a=0) continue;num+;sum+=a;)
6、printf (,z%d plus integer* s sum :%6. Ofn”, num, sum);printf(Mean value:%6. 2fn”, sum/num);例:编程:设计一个程序完成以卜功能:假设输入英文字母,那么原样输出;输入其他字符,那么 不输出,直到输入q键结束。解:include void main()char ch;do(ch=getchar();if (ch=,Q* | | ch=,q,)break;else if (ch=, A* & ch | | ch=a & ch=,z ) putchar(ch);)while (1);九、数组及其使用1、一维数组、
7、一维数组的定义:数据类型 数组名常量表达式,数组名2常量表达式2: “数据类型”是指数组元素的数据类型。 数组名,与变量名一样,必须遵循标识符命名规那么。 “常量表达式”必须用方括号括起来,指的是数组的元素个数(又称数组长度),它是一个整型值,其中可以包含常数和符号常量,但不能包含变量。 数组元素的下标,是元素相对于数组起始地址的偏移量,所以从0开始顺序编号。 数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元 素,按其下标的顺序占用段连续的存储单元。(2)、数组元素的引用引用数组中的任意一个元素的形式:数组名下标表达式 “下标表达式”可以是任何非负整型数据,取值范围是0
8、 (元素个数-1)。 1个数组元素,实质上就是1个变量,它具有和相同类型单个变量一样的属性,可 以对它进行赋值和参与各种运算。 在C语言中,数组作为1个整体,不能参加数据运算,只能对单个的元素进行处理。、一维数组元素的初始化 初始化格式:数据类型 数组名常量表达式=初值表 如果对数组的全部元素赋以初值,定义时可以不指定数组长度(系统根据初值个数 自动确定)。如果被定义数组的长度,与初值个数不同,那么数组长度不能省略。 “初值表”中的初值个数,可以少于元素个数,即允许只给局部元素赋初值。例:从键盘上任意输入n个整数,用冒泡法按从小到大地排序,并在屏幕上显示出来。解:冒泡法排序的基本思想:从第一个
9、数开始依次对相邻两数进行比拟,如次序对那么不 做任何操作;如次序不对那么使这两个数交换位置。第一遍的(NT)次比拟后,最大的数已 放在最后,第二遍只需考虑(NT)个数,以此类推直到第(NT)遍比拟后就可以完成排序。 include z,iostream, h”itdefine N 10/*定义符号常量(数据个数N) */void main()(int dataN ;/*定义1个1维整型数组data*/int i, j, temp;/*定义循环变量和临时变量*/cout”请输入10个数:n”;for(i=0; idatai;/*冒泡法排序*/for(i=0; iN-l; i+)/*外循环:控制比
10、拟趟数*/for(j=0; jdataj+l) /*如果 dataj大于 dataj+l,交换两者的位置*/ (temp=dataj;dataj=dataj+l;dataj+l=temp;);/*输出排序后的数据*/cout,/n输出排序后的结果:n;for(i=0; iN; i+)coutdatai *coutendl;)2、二维数组(1)、二维数组的定义:数据类型 数组名行常量表达式列常量表达式,数组名2行常量表达式 2列常量表达式2; 数组元素在内存中的排列顺序为“按行存放”,即先顺序存放第一行的元素,再存 放第二行,以此类推。 设有一个m*n的数组x,那么第i行第j列的元素xi j在数
11、组中的位置为:i*n+j (注意:行号、列号均从()开始计数)。(2)、二维数组元素的引用引用2维数组元素的形式为:数组名行下标表达式列下标表达式 ”行下标表达式”和“列下标表达式”,都应是整型表达式或符号常量。 “行下标表达式”和“列下标表达式”的值,都应在已定义数组大小的范围内。假 设有数组x34,那么可用的行下标范围为02,列下标范围为03。 对基本数据类型的变量所能进行的操作,也都适合于相同数据类型的2维数组元 素。(3)、二维数组元素的初始化 按行赋初值数据类型 数组名行常量表达式列常量表达式=第0行初值表,第1行初值 表, ,最后1行初值表;赋值规那么:将“第0行初值表”中的数据,
12、依次赋给第0行中各元素;将“第1行初值 表”中的数据,依次赋给第1行各元素;以此类推。 按2维数组在内存中的排列顺序给各元素赋初值数据类型 数组名行常量表达式列常量表达式=初值表:赋值规那么:按2维数组在内存中的排列顺序,将初值表中的数据,依次赋给各元素。如果对全部元素都赋初值,那么“行数”可以省略。注意:只能省略“行数”。例:有U个学生,学习N门课程,所有学生的各科成绩,编程:分别求每个学生的平均 成绩和每门课程的平均成绩。解:/*功能:计算个人平均成绩与各科平均成绩,并在屏幕上显示出来。*/define NUM std 5 /*定义符号常量人数为5*/#define NUM course
13、4 /*定义符号常量课程为4*/ include stdio.h void main()int i, j;static float scoreNUM_std+lNUM_course+l = 78, 85,83, 65, 88,91,89, 93, 72, 65, 54, 75, 86, 88, 75, 60, 69, 60, 50, 72;for(i=0;iNUM_std;i+)( for(j=0;jNUM_course;j+) -scorei NUM_course += scorei j ;/*求第 i 个人的总成绩*/scoreNUM_std j += scorei j ; /*求第 j
14、门课的总成绩*/ scorei NUM course /= NLM cours。;/*求第 i 个人的平均成绩*/ for(j=0;jNUM_course;j+)scoreNUM_std j /二 NUM_std; /*求第 j 门课的平均成绩*/*输出表头*/printf (学生编号 课程1 课程2 课程3 课程4 个人平均n);/*输出每个学生的各科成绩和平均成绩*/for(i=0;iNUM_std;i+)( printf (学生i+1);for(j=0; jNLM course+1; j+)printf (z,%6. lft*, scorci j);printf(n);)/*输出1条短划
15、线*/for(j=0;j8*(NUM_course+2);j+)printf(一);printffn课程平均”);/*输出每门课程的平均成绩*/for(j=0;jn2?nl:n2);)mainO(int max (int nl, int n2) ;/*函数说明*/int numl, num2;printf(input two numbers:%”);scanf(%d%d”, &numl, &num2);printf(max=%dn”, max(num1, num2);、说明函数定义不允许嵌套。在C语言中,所有函数(包括主函数mainO)都是平行的。一个函数的定义,可以放 在程序中的任意位置,主
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习 提纲
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。