书签 分享 收藏 举报 版权申诉 / 42
上传文档赚钱

类型C语言资料:如何使用Visual-C++6.0.doc

  • 上传人(卖家):罗嗣辉
  • 文档编号:2102667
  • 上传时间:2022-02-18
  • 格式:DOC
  • 页数:42
  • 大小:594.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C语言资料:如何使用Visual-C++6.0.doc》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 资料 如何 使用 Visual_C 6.0
    资源描述:

    1、C 程序设计基础程序设计基础上机实验指导书上机实验指导书李文杰、李桂芝、鱼涛李文杰、李桂芝、鱼涛编写编写杨根兴杨根兴审定审定北京机械工业学院计算中心北京机械工业学院计算中心目目次次说明说明怎样学习怎样学习 C C 语言语言实验一实验一C C 程序集成开发环境熟悉程序集成开发环境熟悉实验二实验二数据的输入和输出数据的输入和输出实验三实验三表达式的计算表达式的计算实验四实验四选择结构语句选择结构语句实验五实验五循环结构语句循环结构语句实验六实验六数组应用(一)数组应用(一)实验七实验七数组应用(二)数组应用(二)1实验八实验八函数及程序结构(一)函数及程序结构(一)实验九实验九函数及程序结构(二)

    2、函数及程序结构(二)实验十实验十指针的应用指针的应用说说明明C 程序设计同其他程序设计一样,使实践性很强的课程。除了要听好课,多看课外书外,还需大量的上机实践才能更好地理解和掌握所学到的内容。一般来说,上机和讲课时间之比应不少于 1:1。但由于目前各校安排的教学时数限制,课内时间将更多的精力用于讲课上,课内安排的上机时间相对较少,学生不要因此对上机的重要性有所误解。 学生应在课外再花一定的时间进行 C 语言的上机实践,这样才能学好该门课。上机实验的目的有以下几个方面:验证所编写的程序的正确性。进一步理解教材和课堂授课中介绍的内容熟练地掌握 C 程序开发环境的使用,为今后开发大型软件打好基础。学

    3、习和掌握一般程序的调试和测试方法。上机前应充分做好以下准备工作:复习和掌握与本次实验有关的教学内容。根据本次实验的内容,在纸上编写好准备上机调试的程序,并初步检查无误。准备好对程序进行测试的数据。对每种测试数据,给出预期的程序运行结果。预习实验步骤,对实验步骤中提出的一些问题进行思考。上机实验后,应及时写出实验报告,实验报告应包括以下内容:实验目的和内容。程序说明,包括程序结构、各模块的算法(N-S 图表示) 。打印出的调试正确的源程序。2打印出的程序运行记录(包括对不同测试数据的运行结果) 。针对实验步骤中提出的问题,写出解决办法及对运行结果的分析。怎样学习怎样学习 C C 语言语言很多同学

    4、对学习 C 语言感到很难,尤其是在各高校将 C 语言放在大学第一学年教学时经常会考试不及格。 究竟怎样才能学好 C 语言?这里将我对 C 语言的理解给大家介绍一下,计算机语言挺枯燥的,如何提起兴趣?计算机语言挺枯燥的,如何提起兴趣?首先要明确学习的目标,没有明确的学习目标就没有学习动力。给自己定一个目标,比如这次一定通过课程考试,或者这个月学习完做个东西出来等等。其次,确定了目标之后,要认真去做,多上机操作实践,遇到不懂的要多跟教师和其他同学交流,千万不能放弃。当自己编的一段小程序运行通过,或攻下一道难题,自己就会获得一种成就感,可能还会很兴奋,也就渐渐有了兴趣。最后,要把所学的知识运用到实际

    5、问题当中,这样既可以巩固所学的知识,不至于完学了就忘,还可以根据实际需要拓展知识面。这样良性循环,兴趣也会越来越浓。学习计算机语言最好的方法是什么?答曰:读程序。学习计算机语言最好的方法是什么?答曰:读程序。没错,读程序是学习 C 语言入门最快,也是最好的方法。不要总是抱着书本逐行啃,而是学习它们的例程。 学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,

    6、也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止。这一过程,就和我们学习任何其他语言比如英语和汉语一样。我们大家都有体会,我们学习一门语言,都是从最基本的语法开始,然后学习一些字和词,再来学习一些词组或句子,然后再用词组和句子组成一段话,表达一个简单的意思, 最后才是写一篇文章或者是一本书, 表达更复杂的思想。 我们知道,在我们完成这一过程时,并不是像说得这么简单。在我们能写出一篇好的文章或者一本好书之前,我们可能需要阅读大量的其他人写的好文章或好书,有时我们还要把它们背下来;同样的,在我们写出一个好的程序或者软件前,我们也需要阅读大

    7、量的样本例程或者软件的源代码,甚至要背一些好的程序代码。3写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。?那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有 10 个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这 10 个人问: “谁叫张三” 。 第 2 种方法: 你挨个去问 “你是不是张三?” ,直到问到的这个人就是张三。 第三种方法: 你去挨个问一个人 “你认不认识张三,指给我看” 。 不要小看这个问题, 你说当然会选第一种方法, 没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你

    8、用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。实验一实验一C C 程序集成开发环境熟悉程序集成开发环境熟悉一、实验目的一、实验目的掌握在 Visual C+ 6.0 集成开发环境下怎样编辑、编译、连接、执行、修改和调试 C 语言程序。二、实验内容二、实验内容1进入可视化的 C+ 6.0 集成开发环境启动计算机,进入窗口环境操作界面。鼠标依次点击“开始”“程序”“Microsoft Visual Studio 6.0”“Microsoft Visual C+ 6.0” 启动 VC6.0 集成开发环境。选择“文件” (File)菜单中的“新建” (New)命令, 在新建图

    9、1对话框中,选择“文件”选项卡,再选择“C+ Source File”类型,按图示操作后单击对话框中的“确定”按钮。 (见图 1) 接着就会出现如图 2 所示的 VC 界面。 在编辑窗口中,输入如下内容:此处输入源程序文件名单击此处来修改文件保存位置4#include stdio.h/以上行对于本书中的例子没有给出。望同学们对于所有的/程序都保留这样一行。main( )printf(Hello!这是我的 First C 程序.n);选择“编译”菜单中的“ 编译 my_c1.cpp” 命令,并在出现的对话框中选择“是(Y) ”结果如图 3。图 25图 3选择“编译”菜单中的“构件 my_c1.e

    10、xe”命令,构建可执行程序my_c1.exe,再选择“编译”菜单中的“!执行 my_c1.exe” 命令。 在出现的对话框中选择“是(Y) ” ,结果屏幕如图 4 所示。图 4图中的黑色窗口为运行结果窗口。按任意键就可返回编辑界面。修改上述程序,将 printf 行括号中的双引号去掉左边的,重复,可以看到图 5。其中的编译信息窗显示:编译信息窗6图 5my_c1.obj - 16 error(s), 1 warning(s)可以看到由于一个双引号的漏写,导致出现 16 个语法错误,而实际上的错误只有一个,这是 C 编译器的特点,当它遇到错误时,会做出一些判断或推测,有时这种推测判断正确,有时也

    11、会错误。了解这一特点后,希望同学们在上机时,先去修改第一个错误,一般可以在修改一个错误后立即重新编译,这样可以快速减少错误的数目。下面请同学们用鼠标点击滚动条上的滑块,查看第一条错误信息,并用鼠标双击第一个错误信息。 (图 6) ,图 6可以看到,C 编译器将 Hello 理解为了标识符,而前面又没有对 Hello 的说明,所以认为它是未声明的标识符(undeclared identifier) ,这个错误在初学者的程序里非常多见,希望同学们记住它。 将双引号加上再重新编译,就可恢复为无错误了。修改上述程序,在#include “stdio.h”这一行的最左边加两个“/” ,即使得这一行成为注

    12、释(显示为绿色) ,重复,可以看到图 7 所示的错误。相信同学们对其中的错误说明不难理解了,C 编译器说 printf 是未声明的标识符。原因是 printf 不是 C 语言的基本部分,它是定义在“stdio.h”中,这也就是我们为什么在前面说要在自己的程序前部加#include “stdio.h”的原因。请先选择请先选择“文件文件”菜单的菜单的“关闭工作区关闭工作区”命令命令,再按上面的步骤(3)(5)操作将编辑窗口的程序更换为如下程序文本,依次引入下述错误,每引入一个错误,就对程序进行编译,记录编译器产生的错误信息,写在实验报告里。/* 变量使用相关的语法问题 */鼠标点击滚动条, 查看错

    13、误信息错误所在的文件及行号错误的解释当前错误所在的位置指示7#include stdio.hvoid main()int a=1,b=2,c=3;printf(Some output: %d %d %dn,a,b,c,c);把第 6 行变量声明语句的第一个逗号改为分号把第 7 行 printf()改为 print()去掉第 7 行中的第 2 个双引号把第 7 行中 a,b,c,c 改为 a,b,c去掉 printf 语句末尾的分号去掉用于结束的花括号注意,在引入每一个错误并编译后,开始引入下一个错误前将上一错误再改正。2.程序的调试手段作为程序员编写程序,一个难以避免的工作就是对程序的调试。调

    14、试包括语法方面的,这一般通过编译就可基本解决,比如在上述图 3 中,细心的同学可能注意到在底部的编译信息窗中, 编译报告中说: my_c1.obj - 0 error(s),1 warning(s),意思是编译过程中没发现错误(0 error(s)),但有一个不合规范的使用(1 warning(s)) 。编程序应最好是达到 0 error 和 0warning,但有时无法做到如此完美,只要达到 0error 就可以了。若不能做到 0error,将不能产生机器语言程序,因而也就无法执行程序。所以同学们在调试自己的程序时,必须是做到经编译后 0 error。好在编译器对发现的错误都有一个比较正确的

    15、修改意见,同学们按意见修改后一般就可消除错误,只是修改意见是英文的,同学们需有一定的专业词汇或者经过一定时间与 VC+的接触,就可理解;另一类就是逻辑方面的,这类错误的消除相对麻烦。好在 VC 提供了非常丰富的调试手段,帮助我们分析错误,前提是程序已经没有语法错误,也就是说编译已经通过(0 error(s)) 。下面我们了解一些常用的,为了便于说明,请先选择请先选择“文件文件”菜单的菜单的“关关闭工作区闭工作区”命令命令,再按上面的步骤(3)(5)操作将编辑窗口的程序更换为如下程序文本:#include#include stdio.hstdio.hvoidvoid main()main()8

    16、floatfloat i;i;floatfloat sum;sum;sum=1.0;sum=1.0;i=2i=2.0.0; ;whilewhile (i=100)(ib+c);printf(表达式 2=%dn,d=ab+c);152以下程序的功能是:从键盘输入一个字符型数据,若输入一个数字字符(0-9) ,则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。#include stdio.hvoid main( )char c;scanf(%c,&c);if(0=c=9)/*条件表达式*/ c=c-0;printf(c=%dn,c);else printf(data error!n)

    17、;实验步骤: 上机调试以上程序; 输入09之间的任何字符,验证输出结果是否和程序功能相符合; 输入09之外的任何字符,例如,输入字母a,验证输出结果是否和程序功能相符合; 将条件表达式 if(0=c=9)改为 if(0=c&cb) d=a;elseif(cb) d=c;else d=b;printf(d=%dn,d);程序 2:#include stdio.hvoid main()int a=3,b=4,c=5,d=0;if(ab)if(cb) d=c;else d=b;else d=a;printf(d=%dn,d);17程序 3:#include stdio.hvoid main()int

    18、 a=3,b=4,c=5,d=0;if(ab)if(cb) d=c;else d=b;printf(d=%dn,d);程序 4:#include stdio.hvoid main()int a=3,b=4,c=5,d=0;if(ab)if(cb) d=c;else d=b;printf(d=%dn,d);编程:比较键盘依次输入的两个数 a 和 b 的大小关系,并根据大小关系分别输出 1(若 ab) 、0(若 a=b) 、-1(若 ab) 。7条件运算符和条件表达式由条件运算符组成条件表达式的一般形式为:表达式 1? 表达式 2: 表达式 3其求值规则为:如果表达式 1 的值为真,则以表达式 2

    19、 的值作为条件表达式的值,否则以表达式 3 的值作为整个条件表达式的值。用条件表达式对 4 中要求的输出两个数中的大数的程序重新编程。8switch 语句语言还提供了另一种用于多分支选择的 switch 语句, 其一般形式为:switch(表达式)case常量表达式 1: 语句 1;case常量表达式 2: 语句 2;case常量表达式 n: 语句 n;default : 语句 n+1;在 switch 语句中,“case常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行, 但不能在执行完该标号的语句后自动跳出18整个 switch 语句。 这是与前面介绍的 if 语句

    20、完全不同的,应特别注意。程序分析题。分析以下程序,对分析的结果上机检验。#include stdio.hvoid main( )int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0: a+;break;case 1: b+;break;/abccase2:a+;b+;break;printf(a=%d,b=%dn,a,b);在程序中的/abc 前面,后面添加一个 break; 再次运行该程序,程序结果有何变化?在实验报告中对结果作出解释。三三、 对上述实验进行总结对上述实验进行总结, 写出实验报告写出实验报告, ,把你通过本实验掌握的内容整理出

    21、来把你通过本实验掌握的内容整理出来。实验五实验五选择结构程序设计(二)选择结构程序设计(二)一、实验目的一、实验目的进一步掌握选择结构程序设计,熟练运用选择语句编写程序,提高调试和修改程序的能力。二、实验内容二、实验内容输入三个整数,输出最大数和最小数。分析:首先比较输入的 a,b 的大小,并把大数装入 max, 小数装入 min 中,然后再与 c 比较,若 max 小于 c,则把 c 赋予 max;如果 c 小于 min,则把 c 赋予 min。因此 max 内总是最大数,而 min 内总是最小数。最后输出 max 和 min 的值即可。2有一函数:19y=xx12x-11=x=10用 sc

    22、anf 函数输入 x 的值(分别为 x=10 三种情况),求 y 值。分析:y 是一个分段表达式。要根据 x 的不同区间来计算 y 的值。所以应使用 if 语句。3编写程序,输入三角形三边 a、b、c,判断 a、b、c 能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。实验步骤与要求:(1) 输入一组数据 3,4,8,观察程序运行结果,并与实验二中程序 2 做比较(2) 另外再输入几组数据进行测试:3,4,53,3,33,3,5(3)如果程序有误,可采用“单步跟踪执行”的调试方法,确定错误的出处。4输入某学生的成绩,经处理后给出学生的等级,等级分类如下:

    23、90 分以上(包括 90) : A80 至 90 分(包括 80) :B70 至 80 分(包括 70) :C60 至 70 分(包括 60) :D60 分以下:E方法一:(用 if 语句的嵌套)分析:由题意知如果某学生成绩在 90 分以上,等级为 A;否则,如果成绩大于 80 分,等级为 B;否则,如果成绩大于 70 分,等级为 C;否则,如果成绩大于 60 分为 D;否则,如果成绩小于 60 分,等级为 E;但当我们输入成绩时也可能输错,出现小于 0 或大于 100,这时也要做处理,输出出错信息。因此,再用if 嵌套前,应先判断输入的成绩是否在 0100 之间。20方法二:用 switch

    24、 语句分析:switch 语句是用于处理多分支的语句。注意,case 后的表达式必须是一个常量表达式,所以在以用 switch 语句之前,必须把 0100 之间的成绩分别化成相关的常量。所有 A(除 100 以外) ,B,C,D 类的成绩的共同特点是十位数相同,此外都是 E 类。则由此可得把 score 除十取整,化为相应的常数。输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中得 100 分,60 分,0 分以及小于 0 和大于 100 的数据。5编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数 1运算符 op操作数 2计算表达式的值,指定的运算符为加

    25、(+)、减(-)、乘(*)、除(/)用 if 及 switch 语句实现。程序运行举例:Please enter the expression:22.12+12.1022.12+12.10=34.22用 scanf 函数输入一个年份 year,计算这一年 2 月份的天数 days,然后用输出函数 printf 输出 days。实验步骤与要求:(1)有变量定义为整型。(2)输入前要加提示语句。(3)输出结果前要有必要的文字说明。说明:(1)闰年的条件是:year 能被 4 整除但不能被 100 整除,或者 year 能被 400 整除。(2)如果 year 是闰年,则 2 月份的天数为 29 天

    26、,不是闰年则为 28 天。 问题讨论问题讨论 屏幕提示键盘输入程序输出21对于多分支选择结构何时使用 if 语句的嵌套,何时使用 switch 语句?三三、 对上述实验进行总结对上述实验进行总结, 写出实验报告写出实验报告, ,把你通过本实验掌握的内容整理出来把你通过本实验掌握的内容整理出来。实验六实验六循环结构程序设计(一)循环结构程序设计(一)一、实验目的一、实验目的1熟练掌握三种循环语句的应用。2. 熟练掌握循环结构的嵌套。3. 掌握 break 和 continue 语句的使用。4. 练习调试与修改程序。二、实验内容二、实验内容1语句while 语句的一般形式为:while(表达式)语

    27、句;while 语句的语义是:计算表达式的值,当值为真(非 0)时, 执行循环体语句。编程:求 1-10的奇数和。提示:参考教材 107 页,例 6.2,循环变量的步长值为 2。语句do-while 语句的一般形式为:do语句;while(表达式);do-while 语句的语义是:先执行循环体语句一次, 再判别表达式的值,若为真22(非 0)则继续循环,否则终止循环。编程:求 110的偶数和。3语句其一般形式为:for(表达式 1;表达式 2;表达 3)语句;for 语句的语义是:首先计算表达式 1 的值。再计算表达式 2 的值,若值为真(非 0)则执行循环体一次, 否则结束循环。执行循环体后

    28、再计算表达式 3 的值,转回第 2 步重复执行。下列程序用于输出 fibnocci 数列的前 20 项,每行输出 5 个。请填空。说明:fibnocci 数列的前两项均为,以后各项等于其前两项之和。#include stdio.hvoid main( )int i,f1,f2,f3,n;f1=1;f2=1;printf(n%d%d,f1,f2);n=2;for(i=1;i+)if()printf(n);printf(%d,f3); n+;23f1=f2;f2=f3;编程: 用 for 语句计算 s= 3+33+333 求 5!4break/continue 语句:说明以下各程序的功能及运行结果

    29、并总结 Break 和 continue 语句的不同用法。编程:输出 100 以内能被 7 整除的数。提示:对 7100 的每一个数进行测试,如该数不能被 7 整除,即模运算不为 0,则由 continue 语句转去下一次循环。 只有模运算为 0 时, 才能执行后面的 printf语句,输出能被 7 整除的数。 (参考教材 115 页,例 6.5)5循环嵌套三种循环控制语句可以互相嵌套,即在一个循环体内部又可以出现另一循环。#include stdio.hvoid main()int i,sum=0;for (i=1;i=10;i+)if (i=5) continue;sum=sum+i;pr

    30、intf(sum=%5dn,sum);#include stdio.hvoid main()int i,sum=0;for (i=1;i5) break;sum=sum+i;printf(sum=%5dn,sum);while (表达式表达式1)if(表达式表达式2)break;while (表达式表达式1)if (表达式表达式2)conitue;结束本次结束本次循环循环结束整结束整个循环个循环24输出 100 以内的素数。素数是只能被 1 和它本身整除的数。判断素数的方法:用一个数分别去除 2 到这个数减 1(或 2 到 sqrt(这个数)) ,如果能被整除,则表明此数不是素数,反之是素数。

    31、#include math.h#include stdio.hvoid main()int n,i;for(n=2;n=100;n+)for(i=2;i=n) printf(%dt,n);本程序中,第一层循环表示对 2100 的数逐个判断是否是素数,在第二层循环中则对数 n 用 2n-1 逐个去除, 若某次除尽则跳出该层循环, 说明不是素数。如果在所有的数都是未除尽的情况下结束循环,则为素数,此时有 i=n, 故可经此判断后输出素数。然后转入下一次大循环。编程:求 100-200 之间的素数,把它们按每行 5 个素数全部显示出来,并给出素数的个数。输出 9*9 口诀表。提示:分行与列考虑,共

    32、9 行 9 列,外循环控制行,内循环控制列。 内容讨论内容讨论 1小结三种形式的循环使用的区别。2小结循环嵌套的规定和应用三三、 对上述实验进行总结对上述实验进行总结, 写出实验报告写出实验报告, ,把你通过本实验掌握的内容整理出来把你通过本实验掌握的内容整理出来。25实验七实验七循环结构程序设计(二)循环结构程序设计(二)一、实验目的一、实验目的进一步掌握循环结构程序设计,熟练运用循环语句编写程序,提高调试和修改程序的能力。二、实验内容二、实验内容编程求 1+2!+3!+.+20!的和。分析:此程序只是把累加变成了累乘求和值n1.917151311,直到最后一项的绝对值小于 10-4 为止。

    33、参考教材 1页,例 6.3输入两个正整数 m 和 n,求其最大公约数和最小公倍数。分析: 计算两个数的最大公约数; 首先, 随机输入两个数 m, n(默认 mn, 若 mn,则交换 m 与 n); 其次, 使 k 为 m 除以 n 的余数, 如果 m 能被 n 整除, 则 k 值为 0,n 为这两个数的最大公约数,否则,使 k 代替 n,n 代替 m,重复以上过程,直到k 值为 0。4 分析下面程序的运行结果, 然后上机运行, 进一步体会 continue 语句和 break语句。#includestdio.hvoid main( )int n;while (1)printf(Enter a

    34、number:);scanf(%d,&n);if (n%2=1)printf(I said);continue;break;printf(Thanks. I needed that!);265打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数”,因为 153=153。分析:利用 for 循环控制 100999 个数,每个数分解出个位,十位,百位。打印出以下图形分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律。每一部分利用双重 for 循环,外循环控制行,内循环控制列。内循环又由两个并列的 for 循环,一个控制空

    35、格的输出,一个控制星号的输出。三三、 对上述实验进行总结对上述实验进行总结, 写出实验报告写出实验报告, ,把你通过本实验掌握的内容整理出来把你通过本实验掌握的内容整理出来。实验八实验八数组应用(一)数组应用(一)一、实验目的一、实验目的1. 掌握一维数组的定义及初始化。2. 掌握一维数组元素的引用及其应用。二、实验内容二、实验内容1阅读下面程序,写出程序运行结果,并且上机进行验证。(1) #include “stdio.h”void main()int i,n4=0,0,0,0;for(i=1;i=0;i-)printf(%c,bi);printf(n);2程序填空(根据题意在空白处填入适当

    36、的内容,使程序变得完整。并上机进行调试验证)(1)程序说明:下列程序完成的是插入排序功能:数组 a 中存放一个递增数列,输入一个整数 x,将它插入到数组中,使之仍为一个有序数列。#include stdio.h#define N 10void main()int a=1,10,20,30,40,50,60,70,80,90 ,x,i,p;scanf(%d,&x);for(i=0,p=N;iN;i+)if(x=p; _)ai+1=ai;_;printf(%d,x);for(i=0;i=N;i+)printf(%5d,ai);printf(n);(2)程序说明:下面程序完成的是折半查找。A 数组中

    37、存放的是 n 个由大到小已经排好序的数列,从这 n 个数中查找 x 的值是否存在。其基本思想是: 在查找范围里, 将 x 与处于中间位置上的数比较, 如果相等,28则查找成功,如果小于该元素,则在较小的一半元素里再进行折半查找;如果 x大于该元素,则在较大的一半元素里再进行折半查找。变量 top,bottom,mid 分别指向查找范围的顶部、底部和中间位置。#include stdio.h#define n 10main()int an,find;int x,i,top,bottom,mid;printf(input the sorted numbers:n);for(i=0;in;i+)sc

    38、anf(%d,_);printf(input the number to find:n);scanf(%d,&x);find=0;top=0;bottom=n-1;if(x=a0 & _)while(!find & top=bottom)mid=_;if(x=amid)find=1;printf(x=%d position=%dn,x,mid);else if(_)bottom=mid-1;elsetop=mid+1;if(_) printf(the number %d is not in the table,x);3程序设计(根据题意编写程序并上机进行调试) 。(1)编写程序完成如下功能:输

    39、入 10 个数存入一维数组,然后再按逆序重新存放后输出。(2)编写程序完成如下功能:从键盘输入两个字符串 ch2、 ch1,然后将字符串 ch2 连接到字符串 ch1 的后面,并输出连接后的字符串。(3)编写程序完成如下功能:现有两个已按升序排好的数组,将它们合并为一个升序排序的数组(归并排序) 。算法:两个数组合并时,可为每个数组各安排一个指针,从第一个元素开始依次比较两数组对应元素,小的取下来顺序放入新的数组,取下所指元素的指针29后移,再比较,依此类推,直到其中一个数组的元素已全部放入新数组,再把另一数组余下的元素全部顺序放入新数组,归并完成。实验九实验九数组应用(二)数组应用(二)一、

    40、实验目的1掌握二维数组的定义和初始化。2掌握二维数组元素的引用及其应用。二、实验内容1阅读下面程序,写出程序运行结果,并且上机进行验证。(1)#include “stdio.h”void main()int a3=9,7,5,3,1,2,4,6,8;int i,j,s1=0,s2=0;for(i=0;i3;i+)for(j=0;j3;j+)if(i=j) s1=s1+aij;if(i+j=2) s2=s2+aijprintf(s1=%d s2=%d,s1,s2);(2)#include stdio.hvoid main()int r5=1,2,3,4,5;int i,j,a55;for(i=0

    41、;i=4;i+) for(j=i;j=4;j+)aij=rj-i;for(j=0;ji;j+)aij=ri-j;for(i=0;i5;i+)for(j=0;j5;j+)printf(%2d,aij);printf(n);302程序填空(根据题意在空白处填入适当的内容,使程序变得完整。并上机进行调试验证)(1)程序说明:下面程序分别输出方阵中主对角线、副对角线上元素的和suml 和 sum2 (主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线).#includestdio.h#define SIZE 5void main()int aSIZESIZE,m,n,sum

    42、1,sum2;for(m=0;mSIZE;m+)for(n=0;nSIZE;n+)scanf(%d,&amn);sum1=sum2=_;for(m=0;mSIZE;m+)sum1=sum1+_;sum2=sum2+_;printf(sum1=%d sum2=%dn,sum1,sum2);(2)程序说明:下面程序打印出如下所示的杨辉三角行(打印 10 行)。1111211331146411510 1051.#includestdio.hvoid main()inti,j,a1010=1,1,1;for(i=2;i10;i+)ai0=1;_;for(j=0;ji;j+)aij=ai-1j+_;fo

    43、r(i=0;i10;i+)for(j=0;j=0;i-)printf(%d,ai);void main()int b,n;scanf(%d%d,);;(2)程序说明:歌德巴赫猜想指出:任何一个充分大的偶数都可以表示为两个素数之和,例如 4=2+2 6=3+3 8=3+5 50=3+47。下面程序将 4-50 之间的所有偶数用两个素数之和表示,判断一个整数是否为素数用函数 prime 完成。#include stdio.hint prime(int x)33int k,flag=1;for(k=2;k=x/2;k+)if()flag=0;break;return();void main()int

    44、 m,n,k;for(m=4;m=50;m+)for(n=2;n1)i=n%2;dtob(n/2);else i=n;printf(%d,i);void main()int i=11;printf(%d-,i);dtob(i);printf(2)n);(3) #include stdio.hint f1(int n)static int f=1;f=f*n;return(f);void main()35int i;for(i=1;i=4;i+)printf(%5d,f1(i);2程序填空(根据题意在空白处填入适当的内容,使程序变得完整。并上机进行调试验证)(1) 程序说明:用一个一维数组存放

    45、10 个学生的成绩,写一个函数求出平均分、最高分和最低分。#include stdio.hfloat max=0;min=0;float average(float score,int n)int i;float ave,sum=score0;max=min=;for(i=1;imax)max=scorei;else if()min=scorei;sum=sum+scorei;ave=sum/10;return;void main()float ave,score10;int i;for(i=0;i10;i+)scanf(%f,);ave=average()printf(max=%6.2f m

    46、in=%6.2f average=%6.2fn,max,min,ave);(2) 程序说明:在主函数中读入一字符串,再读入一字符,然后调用函数delete 在字符串中查找并删除该字符,最后输出该字符串。#include stdio.hvoid delete(char p,char ch)36int i=0,j;while()if(pi=ch)for(j=i;j;j+)pi=pi+1;elsei+;void main()char p80,ch;int i=0,j;scanf(%s,p);scanf(%c,&ch);delete();printf(%s,);3程序设计(根据题意编写程序并上机进行调

    47、试) 。(1)程序说明:写两个函数分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。要求:求最大公约数用递归方法实现,递归公式为(r=m%n):(2)程序说明:用递归函数将一个整数 n 转换成字符串,例如,输入 568,应输出字符串“865” 。n 的位数不确定,可以是任意位数的整数。(3)程序说明:编写程序对 10 个学生 5 门课的成绩进行处理,要求分别用函数实现如下几个功能: 输入学生数据; 求每个学生的平均分;求每门课的平均分; 输出平均分最高的学生的成绩;输出学生成绩表(包括每个学生的平均成绩和每门课的平均成绩) 。实验十二实验十二指针的

    48、应用指针的应用一、实验目的一、实验目的掌握指针变量的定义和引用。二、实验内容二、实验内容1编制如下程序,并上机调试运行,最后在实验报告上写出运行结果。(1)使用指针作函数参数,编写用于交换两个参数值的函数。调用该函数用于对从键盘输入的两个整数进行交换。),gcd(,),gcd(rnnnmr=0r!=037(2)编写一个函数,用于对作为参数的数组中的元素求平均值,函数以指针方式进行处理。平均值为函数的返回值。(3)编写一个函数,用于对作为参数的数组中的元素求最大值,并将最大值从数组中删除。函数的首部类似于下列形式:dele_max(int *,int *)其中第一个参数为指向数组的指针,第二个参

    49、数为指向数组长度变量的指针。因此调用数组时,使用如下形式:dele_max(a,&n);其中 a 为一数组名,n 为存放 a 数组长度的变量。2程序分析题。分析以下程序,对分析的结果上机检验。(1) 下列程序使用指针操作数组有各种形式,体会其用法。#include“stdio.h”main( )int a=0,1,2,3,4,i,*p;for(i=0;i=4;i+)printf(%dt,ai);printf(n);for(p=&a0;p=&a4;p+)printf(%dt,*p);printf(nn);for(p=&a0,i=1;i5;i+)printf(%dt,pi);printf(n);f

    50、or(p=a,i=0;p+i=a;p-)printf(%dt,*p);printf(n);for(p=a+4,i=0;i=a;p-)printf(%dt,ap-a);printf(n);(2) #include stdio.hvoid main()char *s2=aceg;*s2+;printf(%cn,*s2);38printf(%cn,*(s2+1);printf(%cn,*s2+1);(2) 运行以下程序,从键盘输入 My Book,结果是什么?#include stdio.hchar fun(char *s)if(*s=A)*s+=32;return (*s);void main(

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言资料:如何使用Visual-C++6.0.doc
    链接地址:https://www.163wenku.com/p-2102667.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库