C语言函数与程序结构实验
顺序结构程序设计-C语言程序实验报告
安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期2019.09.30 指导教师实验名称顺序结构程序设计一、实验目的1.掌握数据的输入/输出方法,能正确使用有关格式转换符。
2.掌握顺序结构程序中语句的执行过程。
3.掌握顺序结构程序的设计方法。
二、实验内容1.P47页第一个程序的作用是依次输入2个整数,计算并输出这2个整数之差。
(1)分析程序,若运行时输出:200,160<回车>,预期结果是多少?(2)上机运行该程序,查看程序运行结果是否符合题目要求。
如果不符合,请分析原因并修改程序,直至符合要求为止。
2.P47页第二个程序用于实现按下列公式计算并输出s1和s2的值:s1=3/(a+b)2,s2=ab/(a+b)3,其中a,b为整型数据。
(1)根据题意修改上述程序,并进行调试,直到正确为止。
(2)在(1)的基础上,将“scanf("%d,%d",&a,&b);”改为“scanf("%d%d",&a,&b);”后再编译、连接、运行。
3.分析P47页第三个程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致,并分析其原因。
4.编程实现下列功能并上机调试运行。
(1)设圆半径为r,求圆周长和面积。
要求用scanf函数输入数据,输出时取小数点后两位。
(2)输入一个3位十进制整数,分别输出百位、十位以及个位上的数。
(3)从键盘输入一个带两位小数的实数,将其整数部分和小数部分分离后输出。
(4)用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两个字符。
*思考题:5. 若实验内容1的程序改为P48页第一个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。
6.若实验内容1的程序改为P48页第二个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。
《C语言程序设计实验》指导书
《C语言程序设计实验》指导书以下是为大家整理的《c语言程序设计实验》指导书的相关范文,本文关键词为c语言程序设计实验,指导书,c语言程序设计实验,简明版,中北,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
《c语言程序设计实验》指导书(简明版)中北大学软件学院20XX年10月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉c编译环境、简单c程序结构及书写方式、以及c程序的编辑、编译、连接、运行、调试的步骤;2、掌握c语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握c语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握c语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和n-s 图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单c程序的结构、书写格式以及上机过程;#includeintmain(){printf(\return0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
C语言与数据结构实验指导
C语⾔与数据结构实验指导Harbin Institute of TechnologyC语⾔与数据结构实验指导书刘梅索莹⽥⽂龙哈⼯⼤电⼦与信息⼯程学院电⼦⼯程系实验1 实验平台⼀、实验⽬的1.掌握Microsoft Visual C++ 6.0集成环境的使⽤⽅法。
2.掌握C程序在Microsoft Visual C++ 6.0开发环境中的编辑、编译、链接和运⾏全过程⼆、实验内容1)启动Microsoft Visual C++ 6.0开发环境双击桌⾯应⽤程序图标或“开始”菜单程序组中的Microsoft Visual C++ 6.0应⽤程序,启动VC++,如图所⽰图1.1 VC++初始界⾯2)建⽴C源程序⽂件⽅法1:单击⼯具栏的“新建⽂本⽂件”按钮,打开⽂本⽂件编辑界⾯如下图所⽰图1.2 ⽂本⽂件编辑界⾯⽅法2:执⾏“⽂件”->“新建”命令,如图1.3所⽰,在“⽂件”选项卡下选择C++ Source File ⽂件类型,然后输⼊C源程序⽂件名和保存⽂件,如图1.3所⽰,然后单击“确定”按钮,打开源程序⽂件编辑界⾯,如图1.4所⽰。
注意:输⼊C源程序⽂件名时必须带上扩展“.c”,否则默认创建的是扩展名为“.cpp”的C++⽂件。
3)编辑源⽂件⽅法1:在如图1.2所⽰的⽂本⽂件编辑界⾯中输⼊源程序代码,如图1.5所⽰。
⽅法2:在如图1.4所⽰的C源程序⽂件编辑界⾯中编辑源程序代码,如图1.6所⽰。
图1.3 新建⽂件图1.4 C源程序⽂件编辑界⾯图1.5 ⽂本⽂件编辑界⾯编辑源⽂件图1.6 C源程序编辑界⾯编辑源⽂件4)保存源⽂件源⽂件编辑结束后,执⾏“⽂件”->“保存”命令保存⽂件,⽂本⽂件编辑界⾯中编辑的源⽂件保存时必须在⽂件名后加上扩展名“.c”,否则保存的是扩展名为txt的⽂本⽂件,不能编译运⾏。
5)组件⽂件执⾏“组建”->“组建”命令或直接按F7功能键或单机⼯具栏Build按钮,可以对源⽂件进⾏编译、链接⽽不运⾏该程序。
c语言的顺序结构程序设计的实训的结果和小结
C语言的顺序结构程序设计是计算机科学与技术专业的重要课程之一,在大学的学习生涯中,学生们需要通过实训来加深对课程知识的理解和掌握。
在本文中,我将总结我在C语言顺序结构程序设计实训中的结果,并进行小结。
一、实训结果在C语言顺序结构程序设计的实训中,我首先学习了C语言基本语法和数据类型,掌握了变量的定义和使用、运算符的使用、控制结构和数组等基本概念。
通过课堂和实验课的学习,我对C语言的基本知识有了更深入的理解和掌握。
我在实训中编写了多个程序,包括计算器、成绩管理系统、简单的图形界面程序等。
通过这些实际的编程练习,我更加熟练地掌握了C语言的编程技巧和规范,对程序的编写和调试有了更深入的认识。
另外,我还学习了C语言标准库中的常用函数,如输入输出函数、字符串处理函数、数学函数等。
这些函数的掌握不仅提高了我的编程效率,也拓展了我对C语言的应用范围。
二、实训小结通过C语言顺序结构程序设计的实训,我深刻认识到了编程技能的重要性。
其一,编程是一种实践能力,只有不断地动手实践,才能更好地掌握编程技能。
其二,编程需要细心和耐心,一个小小的语法错误可能会导致整个程序运行失败,因此需要反复检查和排查错误。
实训也让我意识到了团队合作的重要性。
在实训过程中,我们经常需要和同学讨论和交流,共同解决程序中遇到的问题。
团队合作不仅提高了我们的学习效率,也拓展了我们的思维视野,从不同角度思考问题。
C语言顺序结构程序设计的实训让我受益匪浅。
通过这次实训,我在编程能力、团队合作能力和问题解决能力上都得到了提升,为以后的学习和工作打下了坚实的基础。
结语C语言的顺序结构程序设计实训给我留下了深刻的印象,让我更加热爱编程这门学科。
我相信,通过不懈地努力和实践,我将能够在C语言程序设计领域取得更大的成就。
希望我的经历和总结能对大家有所启发,让我们一起努力,共同进步!在实训过程中,我还学会了如何进行程序调试和错误排查。
在编程过程中,经常会遇到各种各样的bug和错误,需要通过调试工具和方法来找出错误并进行修复。
《C语言程序设计》实验报告
《C语言程序设计》实验报告学院:专业:学号:姓名:成绩:课程代码: 2001301指导教师:实验中心:电气信息专业试验中心日期:目录实验总体要求实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组实验五………………………………………………函数实验六………………………………………………指针实验七………………………………………………结构体实验八………………………………………………类和对象实验总体要求C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。
1、课程实验教学目的通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。
⑴分析问题和解决问题能力的训练课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。
⑵逻辑思维能力的训练通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。
培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。
⑶程序设计技能的训练通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。
通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。
2、课程实验教学要求⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。
C语言程序设计实验讲解
实验一顺序结构程序设计一、实验目的1. 掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
二、实验的内容和步骤1.以下程序多处有错。
要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。
#include <stdio.h>void main ( ){ double a,b,c,s,v;printf(input a,b,c:\n);scanf("%d%d%d",a,b,c);s=a*b;v=a*b*c;printf("%d %d %d",a,b,c);printf("s=%f\n",s,"v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:1.0 2.0 3.0 →此处的1.0 2.0 3.0是用户输入的数据a=1.000000 b=2.000000,c=3.000000 →此处是要求的输出格式s=2.000000,v=6.000000相关知识:①检查程序错误时应注意几点:a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。
对于警告信息同样要逐个仔细分析。
除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。
实际上,很多警告都是因为程序中确实有严重的隐含错误。
d) 在连接中发现新错误也需要仔细检查和修改程序。
连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。
系统不能对连接错误给以自动定位,只能提供有关的名字信息等。
c语言 实验原理
c语言实验原理
C语言实验原理是指在进行C语言的实验或项目时所采用的基本原理和方法。
下面将介绍C语言实验的一般原理。
1. 程序结构设计:C语言实验的第一步是设计程序的整体结构。
这包括确定程序的功能和需求,根据需求设计出合适的程序模块和函数,并安排它们之间的交互关系。
2. 数据结构设计:数据结构设计是指确定程序所需的数据类型和数据结构。
在C语言中,常用的数据结构包括数组、结构体、指针等。
根据实验需求,选择适当的数据结构来存储和操作数据。
3. 算法设计:算法设计是指确定实现程序功能所需的具体步骤和方法。
在C语言中,常用的算法包括顺序结构、选择结构、循环结构等。
根据实验需求,选择合适的算法来实现程序功能。
4. 模块化设计:模块化设计是指将程序划分为若干个独立的模块,并为每个模块定义相应的函数和变量。
这样可以增加程序的可读性和可维护性,也方便进行程序调试和测试。
5. 编码和调试:根据设计好的程序结构、数据结构和算法,使用C语言编写程序代码。
在编码过程中,要注意代码的规范
性和可读性。
完成编码后,进行调试工作,确保程序功能的正确性和稳定性。
6. 测试和评估:完成编码和调试后,对程序进行测试和评估。
可以设计一些测试用例,验证程序在各种情况下的正确性和鲁棒性。
根据测试结果进行程序修正和改进,直到达到预期的效果。
总之,C语言实验原理包括程序结构设计、数据结构设计、算法设计、模块化设计、编码和调试、测试和评估等方面。
通过遵循这些原理,可以有效地实现C语言实验的目标。
《C语言程序设计》实验报告(实验1-11) 2013.3
《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
二、预习内容:教材《C语言程序设计教程》第2章。
三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。
大一C语言上机实验实验报告
⼤⼀C语⾔上机实验实验报告《C语⾔程序设计》实验报告指导教师纪良浩学院通信与信息⼯程专业通信类班级0101022 学号2010210722 姓名曾⼩兵实验室S319实验题⽬:实验⼀:⽤选择法对10个整数进⾏由⼤到⼩的排序实验⼆:判断闰年实验三:求1到100的和实验四:求π的近似值实验要求:1.掌握⽤C语⾔解决实际问题的步骤;2.掌握C语⾔的语法规则及算法的表⽰;3.通过上机实验,加深对《计算机程序设计基础》课程中基本概念的理解;4.提⾼对计算机程序的编写和应⽤能⼒;实验内容及步骤:1.问题的提出与分析;2.建⽴计算模型;3.算法的确定与表⽰;4.编写程序代码;5.调试程序;6.整理结果(实验结果及分析)。
具体实验步骤实验⼀:实验步骤1.问题的提出与分析⽤选择法对10个整数进⾏由⼤到⼩的排序。
2.确定数学模型a>b>c>d>e>f>j>h>i>k4.程序编码#includevoid main(){void sort(int x[ ],int n);int*p,i,a[10];p=a;for(i=0;i<10;i++)scanf("%d",p++);p=a;sort(p,10);for(p=a,i=0;i<10;i++){printf("%d",* p);p++;} }void sort(int x[],int n){int i,j,k,t;for(i=0;i{k=i;for(j=i+1;jif(x[j]>x[k]) k=j;if(k!=i){t=x[i];x[i]=x[k];x[k]=t;}}}5.调试程序Enter dataa[1]=10↙a[2]=25↙a[3]=45↙a[4]=66↙a[5]=88↙a[6]=110↙a[7]=119↙a[8]=114↙a[9]=86↙a[10]=88610 25 45 66 88 110 119 114 86 886The sorted numbers:886 119 114 110 88 86 66 45 25 10 6.整理结果通过验算结果正确。
c语言顺序结构程序实验报告
c语言顺序结构程序实验报告C语言顺序结构程序实验报告引言:C语言作为一种高级编程语言,具有广泛的应用领域。
在本次实验中,我们将学习和实践C语言中的顺序结构程序设计。
通过编写一系列的实验程序,我们将深入了解顺序结构的概念和原理,并掌握如何使用C语言编写简单的顺序结构程序。
实验目的:1. 了解顺序结构程序的概念和特点;2. 掌握C语言中的基本数据类型和变量的声明;3. 学习使用C语言中的输入输出函数;4. 熟悉C语言中的基本运算符和表达式;5. 掌握C语言中的条件语句和循环语句的使用。
实验步骤:1. 实验程序一:计算圆的面积和周长首先,我们需要声明一个常量PI,并定义一个变量radius用于存储圆的半径。
然后,通过输入函数获取用户输入的半径值,并使用相应的公式计算圆的面积和周长。
最后,通过输出函数将计算结果显示在屏幕上。
2. 实验程序二:华氏温度转换为摄氏温度在这个实验中,我们需要定义一个变量fahrenheit用于存储华氏温度的值。
然后,通过输入函数获取用户输入的华氏温度,并使用相应的公式将其转换为摄氏温度。
最后,通过输出函数将转换后的摄氏温度显示在屏幕上。
3. 实验程序三:判断一个数是否为偶数在这个实验中,我们需要定义一个变量num用于存储用户输入的数值。
然后,通过输入函数获取用户输入的数值,并使用条件语句判断该数是否为偶数。
最后,通过输出函数将判断结果显示在屏幕上。
4. 实验程序四:计算1到n的累加和在这个实验中,我们需要定义一个变量n用于存储用户输入的数值。
然后,通过输入函数获取用户输入的数值,并使用循环语句计算1到n的累加和。
最后,通过输出函数将计算结果显示在屏幕上。
实验结果与分析:通过以上实验程序的编写和运行,我们成功实现了顺序结构程序的设计。
在实验程序一中,我们计算了圆的面积和周长,通过输入函数获取用户输入的半径值,并使用相应的公式计算出了圆的面积和周长。
在实验程序二中,我们将华氏温度转换为摄氏温度,通过输入函数获取用户输入的华氏温度,并使用相应的公式将其转换为摄氏温度。
c语言实验报告函数总结心得
c语言实验报告函数总结心得本次实验是关于C语言函数的学习和实践,通过对各种函数的手动实现和调用掌握了函数的概念、定义、声明、调用以及传参等知识点。
在实验过程中,我遇到了许多问题,但是通过自己的努力以及与同学和老师的交流,最终解决了这些问题,获得了许多收获和体会。
首先,函数的概念是我们学习的第一个重要知识点。
函数是一段可重用的代码,可以通过函数名进行调用,可以在程序的不同位置多次使用,提高了代码的可读性和维护性。
在函数的定义中,需要指定返回值类型、函数名、参数数量和类型等信息。
在调用函数时,需要按照函数定义中规定的参数类型和顺序传递实参,并根据需要保存函数返回值。
其次,函数的参数传递方式是我们需要掌握的难点之一。
C语言中有多种参数传递方式,包括传值、传址(指针)和传数组等。
函数参数的传递方式会对函数的运行效率和代码结构产生影响。
在实验中,我们通过手动实现字串反转、矩阵转置和选择排序等算法,深入理解了参数传递方式的运用和区别。
另外,在实验中我们还需要学习函数的声明和调用方法。
函数的声明是在不同文件中搭建合理的程序框架所必需的,在函数声明中需要指定参数类型与返回值类型。
函数的调用是在程序具体实现过程中使用的,调用函数时需输入实参,确保函数的正确调用。
在函数的声明和调用中,需要注意参数与返回值的匹配问题,以保证程序的正确性。
最后,在函数实现的过程中,可以使用循环、条件语句、指针和递归等方法,实现各种复杂的算法和操作。
循环语句可以对数据进行重复操作,条件语句可以根据不同条件选择不同的分支,指针可以提高数据的操作效率和灵活性,而递归则可以实现更复杂的算法和数据结构。
在实验过程中,我们通过实现不同的算法,对这些方法的使用和优缺点进行了深入探讨。
总之,通过这次实验,我对C语言函数有了更加深入的理解和掌握。
掌握了函数的定义、声明、调用和传参等核心知识点,同时还进一步学习了诸如指针、递归、数组、链表等数据结构和算法。
C语言程序设计实验教案
C语言程序设计实验教案一、实验目的1. 掌握C语言的基本语法和编程技巧。
2. 培养学生的逻辑思维能力和问题解决能力。
3. 熟悉开发环境,学会调试和运行C程序。
二、实验内容1. C语言基本数据类型和运算符。
2. 顺序结构程序设计。
3. 分支结构程序设计。
4. 循环结构程序设计。
5. 函数的定义和调用。
三、实验要求1. 每个实验项目都需要编写相应的C程序。
2. 每个程序都需要包含注释,说明程序的功能和关键代码。
3. 每个程序都需要经过调试,确保程序的正确性。
4. 提交实验报告,包括程序代码、运行结果和实验心得。
四、实验步骤1. 打开开发环境,新建C语言文件。
2. 根据实验内容,编写相应的C程序。
3. 进行代码调试,找出并修正错误。
4. 运行程序,观察并分析运行结果。
五、实验时长1. 实验一:C语言基本数据类型和运算符(1学时)2. 实验二:顺序结构程序设计(1学时)3. 实验三:分支结构程序设计(1学时)4. 实验四:循环结构程序设计(1学时)5. 实验五:函数的定义和调用(1学时)六、实验六:数组和字符串操作1. 目的:掌握一维和多维数组的声明、初始化和使用。
学习字符串的基本操作和处理。
2. 内容:数组的声明和访问。
二维数组的操作。
字符串的复制、连接和长度计算。
3. 要求:编写程序实现数组的排序(例如冒泡排序)。
编写程序实现字符串的逆序。
4. 步骤:设计数组排序的算法,并编写相应程序。
设计字符串逆序的算法,并编写相应程序。
调试程序,确保功能正确。
5. 时长:1学时七、实验七:指针理解指针的概念和作用。
掌握指针的基本操作,如赋值、解引用和指针算术。
2. 内容:指针的声明和初始化。
指针与数组。
指针与函数。
3. 要求:编写程序利用指针操作数组元素。
编写程序实现指针作为函数参数传递。
4. 步骤:编写程序演示指针与数组的操作。
编写程序演示指针作为函数参数的使用。
调试程序,确保指针的使用正确无误。
5. 时长:1学时八、实验八:结构体和文件操作1. 目的:学习结构体的定义和使用。
综合运用3种基本结构进行程序设计-C语言程序实验报告
安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期指导教师实验名称综合运用3种基本结构进行程序设计一、实验目的1.熟练运用“数据类型与表达式”相关内容,选择合适的数据结构定义问题需要的变量。
2.熟练使用scanf函数和printf函数,进行数据的输入与输出。
3.进一步掌握顺序、选择、循环结构程序设计的方法与技巧。
4.综合运用3种基本结构进行程序设计。
二、实验内容1.百马百担。
100匹马,共驮100担,大马驮3担,中马驮2担,2个小马驮1担,问大、中、小马各多少2.输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。
3.打印输出“水仙花数”。
“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
4.讲一个正整数分解成每个质因数的乘积。
如输入90,打印90=2*3*3*5.5.利用循环语句编写程序实现以下功能:对一个正整数,将各位数字反序后形成一个新的整数输出。
6.一个素数加上1000以后是37的倍数,求满足这个条件的最小素数。
7.找1000以内的所有“完数”。
一个数如果恰好等于它的因子之和,这个数就称为“完数”,如6就是一个完数,因为6=1+2+3。
8.从键盘输入一串数字字符(该字符串至多包含一个点号'.'),将其转换成对应的实数。
说明:点号前有0~9位数字字符,点号后有0~6位数字字符,但是点号前后不能同时没有数字字符。
例如输入“”或“”,则输出实数;输入“.8”、“”或“”,则输出实数;输入字符串“36”或“”,则输出实数.9.两个羽毛球队进行两两单打比赛(每名选手只能上场1次),每队3名选手。
甲队为A、B、C三人,乙队为X、Y、Z三人,已知A不和X对抗,C不和X、Z对抗。
10.*思考题已知VINGTCINQ11.+ CINQTRENTE试编写程序用尽可能少的时间求解各个字母代表的数字。
提示:题目要求所用时间尽可能少,那么下面这种方法很显然是不可行的:for (V=1;V<=9;V++)for(I=0;I<=9; I++)…for (E=0;E<=9; E++)12.{..}可以通过找出某个字母的范围,减少循环次数来节约运算时间。
C语言程序设计上机实验报告(精选5篇)[修改版]
第一篇:C语言程序设计上机实验报告黔南民族师范学院C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 理解指针、地址和数组间的关系;2. 掌握通过指针操作数组元素的方法;3. 掌握数组名作为参数的编程方式。
二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
三、实验内容1. 定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。
示例如下:After sorted the array is: -9 -6 1 2 4 52. 输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。
要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。
C语言程序设计实验实验指导书及答案
实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++调试环境;2. 掌握C程序的编辑、调试及运行;二、实验内容项目1. 调试并运行下面程序,并写出运行结果:include <>int main{printf“Good morning\n”;printf“Hello,world\n”;return 0;}运行结果注意,按照屏幕输出格式写:项目2. 调试并运行下面程序,并写出运行结果:include <>int main{int a , b , sum; /定义变量/a=23; b=56; /为变量赋值/sum=a+b; /计算两个变量的和/printf“sum is %d\n”,sum; /输出计算结果/return 0;}运行结果:项目3. 调试并运行下面程序,并写出运行结果:include <>int maxint,int;int main{int a , b , c; /定义变量/a=23; b=56; /为变量赋值/c=maxa,b; /调用max函数,将得到的值赋给c/ printf“max is %d\n”,c; /输出c的值/return 0;}int maxint x,int y /定义max函数,函数值为整型/ {int z; /定义变量/ifx>yz=x;elsez=y;returnz; /将z的值返回/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写;程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法;2. 掌握算术表达式、关系表达式及逻辑表达式的特点及用法;3. 熟悉运算符的优先级和结合性的概念;4. 学习简单程序的编写方法;二、实验内容项目1. 编辑运行下面程序,并分析运行结果;include<>int main{int m,a,b,c,d,e; /定义整型变量/printf“please input a data:m=”;scanf“%d”,&m;/从键盘输入一个整数/a=m+1;b=m-2;c=m3;d=m/4;e=m%5;printf“a=m+1;a=%d\n”,a;printf“b=m-2;b=%d\n”,b;printf“c=m3;c=%d\n”,c;printf“d=m/4;d=%d\n”,d;printf“e=m%%5;e=%d\n”,e;return 0;}运行结果:项目2. 编辑运行下面程序,并分析运行结果;include<>int main{float m,n,s;printf“m=”;scanf“%f”,&m;/输入矩形的边长/printf“n=”;scanf“%f”,&n;/输入矩形的边长/s=mn; /计算矩形的面积/printfs=%f\n”,s;/输出矩形的面积/return 0;}1输入24和5,运行结果:2输入-24和5,运行结果:分析结果是否正确3对上面程序进行修改,当输入一个非法的边长负数或零,会给出提示而不计算矩形的面积;输入-24和5,运行结果:项目3. 先阅读程序,并写出结果,再运行程序并分析结果;include<>int main{int i,j,m,n,p,q,x,y;i=8;j=10;p=0;q=0;x=1;y=1;m=++i;选做根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L和圆面积S的程序;注意判断圆半径r是否大于零;程序代码和运行结果可写在指导书背面实验三程序控制结构选择班级学号姓名成绩项目1.三角形成立条件判断及面积计算项目任务输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”;项目说明C语言实现选择结构筑要用if语句,按照判断所给定的条件是否满足,根据判定结果的真或假来决定执行在if语句中给出的两种操作之一;项目目的1正确使用关系表达式和逻辑表达式表达条件;2学习分支语句if的使用方法;3进一步熟悉VC集成环境的使用方法,学习VC环境提供的调试工具;项目要点1已知三边求三角形面积的公式:p=a+b+c/2 s= sqrtpp-a p-b p-c2已知三边能围成三角形的条件是:任意两边之和大于第三边;3C语言中求平方根的函数是sqrtdouble x,该函数在头文件中;4if语句中“表达式”必须用“”和“”括起来,它的值为逻辑值;除常见的关系表达式或逻辑表达式外,也允许是其他类型的数据,如整型、实型、字符型等;5else子句可选是if语句的一部分,必须与if配对使用,不能单独使用;程序代码:运行结果:项目2. 百分制成绩转换为成绩等级项目任务输入一个百分制成绩,输出对应的等级;项目目的1正确使用关系表达式和逻辑表达式表达条件;2学习多switch分支选择语句的使用方法;项目要点解决本项目的关键是如何将输入的百分制成绩与case 常量联系起来,不难想到将百分制成绩用score 表示除以10之后再取整,一定得到0到10之间的数;9、10对应’a ’,8对应‘b ‘,……,5、4、3、2、1、0对应’e ’既不及格; 程序代码:运行结果:项目3.选做⎝⎛<--=>+=0100012x x x x x y ;程序代码和运行结果可写在指导书背面实验四程序控制结构循环班级学号姓名成绩项目1:使用循环结构实现重复处理项目说明从键盘输入一个班的成绩,把百分制转换成等级制;将百分制成绩用score表示除以10之后再取整,一定得到0到10之间的数;9、10对应’a’,8对应‘b‘,……,5、4、3、2、1、0对应’e’既不及格;要求分别使用三种循环结构实现;该项目中,假设班级人数不固定,规定输入若干0至100的成绩,如果成绩不在此范围,则表示结束;该项目中,同时要使用switch语句实现多分支选择结构;项目目的1掌握用while语句和do…while语句实现循环的方法;2掌握用for语句实现循环的方法;3掌握三种语句的特点和应用技巧;4掌握用break语句和continue语句改变循环状态的方法;项目内容1、用while语句实现的程序代码:2、用do…while和break语句实现的程序代码:3、用do…while和continue语句实现的程序代码:4、用for语句实现的程序代码:项目2.选做求101!nn =∑即求1!2!3!10!++++程序代码和运行结果可写在指导书背面实验五数组班级学号姓名成绩项目1.冒泡排序法项目说明输入10个数,用“冒泡法”对10个数排序由小到大;冒泡法的基本思想:通过相邻两个数之间的比较和交换,使数值较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部;就像水底的气泡一样逐渐向上冒,故而得名;项目目的1掌握冒泡排序算法的编程;2掌握与数组有关的算法;程序代码:运行结果:项目2.字符统计项目说明有一篇文章,共有3行文字,每行80个字符;要求分别统计出其中英文字母和数字的个数;项目目的1掌握键盘输入字符串方法;2掌握二维数组的处理方法;技术要点13行文字可定义一个二维字符数组来表示;2使用gets 函数对字符串进行输入;程序代码:include <>int main{int i,j,upp,low,dig,spa,oth;char text380;upp=low=dig=spa=oth=0;for i=0;i<3;i++{ printf"please input line %d:\n",i+1;getstexti;for j=0;j<80 && textij='\0';j++{if textij>='A'&& textij<='Z'upp++;else if textij>='a' && textij<='z'low++;else if textij>='0' && textij<='9'dig++;else if textij==' 'spa++;elseoth++;}}printf"\nupper case: %d\n",upp;printf"lower case: %d\n",low;printf"digit : %d\n",dig;printf"space : %d\n",spa;printf"other : %d\n",oth;return 0;}运行结果:项目3.选做在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点;要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来; 程序代码和运行结果可写在指导书背面实验六函数班级学号姓名成绩项目1:使用函数实现对二维数组转置;项目说明写一个函数,使给定的33的二维整型数组转置,即行列互换;要求输出转换之前和转换之后的结果; 项目目的1掌握函数的定义和调用;2掌握二维数组名作为函数的参数的使用技巧;技术要点1使用二重循环对二维数组进行输入,处理和输出;2二维数组名作为函数的参数,定义函数需要给出第二维的大小;程序代码:运行结果:项目2:使用函数实现成绩处理项目说明输入3个学生4门课的成绩,分别用函数实现以下功能:1计算每个学生的平均分;2计算每门课的平均分;3找出12个分数中最高分数所对应的学生和课程;项目目的1掌握函数的定义和调用;2掌握全局变量的使用;技术要点学生成绩可定义成全局的二维数组,这样自定义函数可以直接使用,而不需要进行参数的传递; 程序代码:运行结果:项目3.选做求101!nn =∑即求1!2!3!10!++++阶乘要求使用递归函数来实现,程序代码和运行结果可写在指导书背面实验七指针班级学号姓名成绩项目1.使用指针参数交换两个变量值项目说明用函数实现两个变量值的交换,使其在主调函数和被调函数中的值一致,并且返回这两个变量的和以及乘积;要求用指针变量作为函数参数;项目目的1熟悉如何定义指针变量,掌握将指针变量作为函数参数的方法;2掌握通过指针参数由被调函数向主调函数传递多个值的方法;技术要点由于变量的值始终存放在内存单元中,因此,要交换两个变量的值,只需交换这两个变量对应的存储单元的值即可,这就需要知道两个变量的地址;也就是说,需要保证主调函数与被调函数中所要交换的两个数的内存单元是同一内存单元,即传递的参数是内存单元的地址,而不是内存单元中的值;程序代码:运行结果:项目2. 数组的排序和的插入项目目的1熟悉如何定义指针变量,掌握将指针变量指向一维数组元素的方法;2掌握如何对数组进行排序;3掌握如何在一个有序的数列中查找合适的位置;4掌握如何将一个数插入到一个有序数列中;技术要点1排序可采用冒泡法或者选择法;2有序数组中插入一个数的关键是找到该数据插入的位置,然后将插入位置及其后的所有元素均后移一位,在空出的位置放入待插入的数据;例如,在13、27、38、49、65、76、97 这列有序数据中插入53 这个数,成为新的有序数列13、27、38、49、53、65、76、97;4定义数组时多开辟一个存储单元,用于存放待插入的数据;程序代码:运行结果:项目3.选做程序代码和运行结果可写在指导书背面编写函数 int findint p,int n,int x,在指针 p 所指的数组中查找整型数 x,如果 x 在数组中,则该函数返回 1,否则返回 0;n 为数组的大小;编写主函数测试之;。
C语言_实验二、选择结构程序设计
实验二 选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if 语句进行程序设计。
4. 使用switch 语句实现多分支选择结构。
二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据[输出]整数或出错信息[提示] 根据字符型数据的ASCII 码值是否在‘0’字符与‘9’字符之间进行判断。
使用if …else …语句和复合语句。
2.[目的]掌握条件表达式的使用[题目内容] 编写一个程序,其功能为:从键盘输入三个数x 、y 、z ,判断x+y=z 是否成立,若成立输出‚x+y=z ‛的信息,否则输出‚x+y!=z ‛的信息。
[输入] 三个数x 、y 、z[输出] ‚x+y=z ‛或‚x+y!=z ‛[提示] 条件判断表达式x+y==z3.[目的]掌握求最大值最小值的方法。
[题目内容] 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[输入] 三个整数[输出] 最大值和最小值[提示] 设置最大值变量max 和最小值变量min ;首先比较a,b 的大小,并把大数存入max , 小数存入min ;然后最大值变量max 和最小值变量min 再与c 比较,若c 大于max ,则max 取值c ,否则保持不变;如果c 小于min ,则min 取值c ,否则保持不变。
最后输出max 和min 的值。
使用if …else …语句、if 语句以及复合语句。
4.[目的]运用已学知识解决实际问题。
[题目内容]如下两个线性方程组的两个未知数为x1和x2:ax 1+bx 2=mcx 1+dx 2=n该方程的唯一解为(ad-cb 不等于零时):cb ad bn md x --=1 bcad mc na x --=2 请编写一个程序,读取a 、b 、c 、d 的值,计算x1和x2的值。
c语言实验报告心得总结(精选14篇)
c语言实验报告心得总结(精选14篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、合同协议、心得体会、演讲致辞、规章制度、岗位职责、操作规程、计划书、祝福语、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample texts, such as work reports, contract agreements, insights, speeches, rules and regulations, job responsibilities, operating procedures, plans, blessings, and other sample texts. If you want to learn about different sample formats and writing methods, please pay attention!c语言实验报告心得总结(精选14篇)【第1篇】c语言实验报告心得总结900字在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。
C语言程序设计上机实验(一)
C语言程序设计上机实验(一)[实验目的](1)了解和熟悉VC++ C程序开发环境;(2)了解C语言的程序结构,掌握C语言基本数据类型的说明方法、表示范围及数据类型的自动转换规则,编写简单的C程序;(3) 掌握格式化输入/输出函数printf( )和scanf( )的基本使用方法。
[实验内容](1)编程,读入三个数,计算并输出它们的平均值及三个数的乘积。
程序内容://计算三个数的平均值与乘积#include <stdio.h>void main(){float a,b,c,product,average;printf("请输入三个数:\n");scanf("%f,%f,%f",&a,&b,&c);average=(a+b+c)/3;product=a*b*c;printf("a=%f b=%f c=%f\n",a,b,c);printf("average=%f\nproduct=%f\n",average,product);}运行结果:(2)编程,读入一个三位整数,将其反向输出。
例如输入123,输出为321。
程序内容://将一个三位整数反向输出,例如输入123,输出321#include<stdio.h>void main(){int a,b,c,d,e;printf("请输入一个三位整数:\n");scanf("%d",&a);b=a/100;c=a/10%10;d=a%10;e=d*100+c*10+b;printf("反向输出结果为:\n");printf("%d\n",e);}运行结果:(3) 已知三角形的三边A、B、C,可求出该三角形面积S。
公式为:其中程序内容://计算三角形面积#include<stdio.h>#include<math.h>void main(){float a,b,c,p;double s;printf("请输入三角形三边长(中间用逗号隔开):\n");scanf("%f,%f,%f",&a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("该三角形面积为:\n");printf("s=%f\n",s);}运行结果:1/2() P A B C =++S P P A P B P C =---()()()。
c程序设计实验教案
C程序设计实验教案一、实验目的1. 掌握C程序的基本结构。
2. 学会使用C语言编写简单的输入输出程序。
3. 熟悉集成开发环境(如Visual Studio、Code::Blocks等)的使用。
二、实验内容1. C程序的基本结构(1)编写一个简单的C程序,输出“Hello, World!”。
(2)理解主函数、变量声明、函数体等基本概念。
2. 输入输出语句(1)使用scanf()函数输入用户输入的数字,并输出该数字的平方。
(2)使用printf()函数输出学生的姓名、成绩和等级。
三、实验步骤1. 打开集成开发环境,创建一个新的C项目。
2. 在主函数中编写输出“Hello, World!”的代码。
3. 编写输入用户输入的数字,并输出该数字的平方的代码。
4. 编写输出学生姓名、成绩和等级的代码。
5. 保存并运行程序,观察输出结果。
四、实验要求1. 每位同学独立完成实验,不抄袭他人代码。
2. 实验过程中,遇到问题要积极思考,可以请教同学或老师。
3. 实验完成后,对照实验目的,检查自己是否达到了预期目标。
五、实验评价1. 代码是否规范、可读性强。
2. 是否能熟练使用C语言的基本语法。
3. 是否能正确使用输入输出语句。
4. 是否能独立完成实验,解决问题。
六、实验六:控制流程(条件判断与循环)1. 实验目的理解C语言中的条件判断语句(if-else)。
掌握C语言中的循环结构(while、do-while)。
2. 实验内容编写程序实现成绩判断,根据分数输出等级(优秀、良好、及格、不及格)。
编写程序计算从1加到指定数字的和。
3. 实验步骤创建新项目,编写判断成绩的程序。
编写一个循环,用于输入分数,并判断等级。
编写另一个循环,用于计算1到指定数字的和。
运行程序,验证结果。
4. 实验要求代码应包含清晰的逻辑判断和循环控制。
要求程序能够处理用户输入的无效数据。
5. 实验评价判断语句和循环结构的正确使用。
程序对于不同输入的适应性和鲁棒性。
[2017年整理]C语言结构体实验报告
《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体四、分析与讨论对上机实践结果进行分析,上机的心得体会。
1. #include<stdio.h>struct student{int num;char name[20];char classname[20];float score[3];float aver_score;}stu[5];void input(){int i;for(i=1;i<6;i++){ printf("第%d个同学",i);printf("请输入学号名字班级三门课程成绩:\n");scanf("%d %s %s %f %f %f",&stu[i].num,stu[i].name,stu[i].classname,&stu[i].score[1],&stu [i].score[2],&stu[i].score[3]);}};void averagescore(){for(i=1;i<=5;i++)stu[i].aver_score=((stu[i].score[1]+stu[i].score[2]+stu[i].score[3])/3);printf("平均成绩:");for(i=1;i<6;i++)printf("第%d个同学的平均成绩%f:\n",i,stu[i].aver_score);printf("\n");};void max(){int i,k=0;float temp=stu[1].aver_score;for(i=2;i<=5;i++)if(stu[i].aver_score>temp) {temp=stu[i] .aver_score;k=i;};printf("成绩最好的同学:\n");printf("%d %s %s %4.2f %4.2f %4.2f %4.2f\n",stu[k].num,stu[k].name,stu[k].classname,stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].aver _score);};void main(){input();averagescore();max();}2.#include <stdio.h>struct worker{char name[20];int workyear;float salary;}work[5];void input(){int i;for(i=1;i<=5;i++){printf("第%d个工人:",i);printf("请输入名字工作年限工资总额:\n");scanf("%s %d %f",&work[i].name,&work[i].workyear,&work[i].salary);};void main( ){int i;input();printf("初始化5名职工的信息:\n");for(i=1;i<=5;i++)printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);for(i=1;i<=5;i++)if(work[i].workyear>30) work[i].salary+=100;printf("最后5名职工的信息工:\n");for(i=1;i<=5;i++)printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);}3.#include <stdio.h>struct years{int year;int month;int date;}ye;int data[12]={31,28,31,30,31,30,31,31,30,31,30,31};void main( ){ int i,sum=0;int leap=0;printf("请输入改天的年月日:\n");scanf("%d %d %d",&ye.year,&ye.month,&ye.date);if(((ye.year%4)==0)&&((ye.year%100)!=0)) leap=1;if(((ye.year%4)==0)&&((ye.year%400)==0)) leap=1;if(leap=1) data[1]=29;for(i=0;i<(ye.month-1);i++){sum+=data[i];}sum+=ye.date;printf("\nit is the %d day.\n",sum); }测量学试卷 第 8 页(共 7 页)《测量学》模拟试卷1.经纬仪测量水平角时,正倒镜瞄准同一方向所读的水平方向值理论上应相差(A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x=10; y=20; ch=getchar(); printf("in file1 x=%d,y=%d,ch is %c\n",x,y,ch); func1(); return 0; } file2.c #include"file.h" void func1(void) {
p=0x0012ff3c (2)光条停留在“sum+=fabonacci(i);”上。 (3)窗口显示的是“n=*”。(其中*为 main 函数中此时 i 的值) (4) i=3 时,开始调用函数时 n=3,函数返回时,n=4. 4.(1)设计的源程序为: #include<stdio.h> void main() { int m,n,t,r; printf("输入两个正整数:"); scanf("%d,%d",&m,&n); if(n<m){ t=n; n=m;
return s;}
输出结果为:
k=1 the sum is 1.000000 k=2 the sum is 1.500000 k=3 the sum is 1.666667 k=4 the sum is 1.708333 k=5 the sum is 1.716667 k=6 the sum is 1.718055 Press any key to continue 3. (1)i=-858993460
四、 实验体会
本次实验收获颇丰:
1;源程序改错,使更加熟悉了一些基础的算法,和函数的调
用方法。
2:源程序修改替换,更加让我获益匪浅,使我明白了算法可以
变得更简洁,并且怎样设计可以使程序的计算量最小。我认为
这很好的锻炼了我的思维。
3:跟踪调试,更是让我学会了怎样使用单步执行,以前一直不
是很会用,不过做了此题之后,我深刻的了解了单步执行的使
(2) 熟悉和掌握不同存储类型变量的使用。 (3) 熟悉多文件编译技术。
二、 实验内容
1. 源程序改错 下面是计算 s=1!+2!+3!+…+n!的源程序。要求: 在计算机上对这个源程序进行调试修改,使之能够正确完成指定任务。
2. 源程序修改替换 (1) 修改上述源程序中的 sum_fac 函数,使其计算量最小。 (2) 修改上述源程序中的 sum_fac 函数,计算 s=1+1/2!+1/3!+…+1/n!
12=5+7 …… 20=3+17 5. 选做题 假设一个程序由 file1.c 和 file2.c 两个源文件及一个 file.h 头文件组成,试编辑该 多文件 c 程序,并编译和链接,然后运行生成可执行文件。 。
三、 实验步骤及结果
1. 正确源程序: #include<stdio.h> int main() {int k;long sum_fac(int); for(k=1;k<=6;k++) printf("k=%d\tthe sum is %ld\n",k,sum_fac(k)); return 0;} long sum_fac(int n) {long s=0;int i; long fac=1; for(i=1;i<=n;i++){ fac*=i; s+=fac;}
4. 程序设计 编写并上机调试运行实现以下功能的程序: (1) 编写一个程序,让用户输入两个整数,计算两个数的最大公约数并输 出之。要求用递归函数实现求最大公约数,同时以单步执行方式执行 改程序,观察其递归过程。 (2) 编写一个程序,验证歌德巴赫猜想:一个大于等于 4 的偶数都是两个 素数之和。 (3) 编写一个程序,证明对于在符号常量 BEGIN 和 END 之间的偶数这一猜 测成立。例如,如果 BEGIN 为 10,END 为 20,则程序的输出应为: GOLDBACH’S CONJECTURE: Every even number n>=4 is the sum of two primes. 10=3+7
C 语言程序设计实验报告
专业:计算机科学与技术 班级:ACM 班日期:2011 年 12 月 15 日成绩
实验组别 6 第 次实验 4 指导老师: 卢萍
学生姓名: 陈绍鹏 学号: U201114349 同组人姓名:
实验名称: 函数与程序结构实验
一、 实验目的
(1) 熟悉掌握函数的定义、声明,函数调用与参数传递方法,以及,函数返回值类型的 定义和返回值使用。
printf("GOLDBACH'S CONJECTURE:\n"); printf("Every even number n>=4 is the sum of two primes.\n"); for(n=(BEGIN+1)/2*2;n<=(END-1)/2*2;n+=2){ found=0; for(i=2;i<=n/2&&found==0;i++) if(pri(i)!=0&&pri(n-i)!=0){
#include<stdio.h> int main() {int k;long sum_fac(int); for(k=1;k<=6;k++) printf("k=%d\tthe sum is %ld\n",k,sum_fac(k)); return 0;} long sum_fac(int n) {long s=0; for(s=n;n>1;n--) s=(s+1)*(n-1); return s;} 输出结果为:
3. 跟踪调试 下面是计算 fabonacci 数列前 n 项和的源程序,现要求单步执行该程序,并 观察 p,i,sum,n 值。 (1)刚执行完”scanf(“%d”,&k);”语句时,p,i 值是多少? (2)从 fabonacci 函数返回后,光条停留在哪个语句上? (3)进入 fabonacci 函数时,watch 窗口显示的是什么? (4)当 i=3 时,从调用 fabonacci 函数到返回,n 值如何变化?
printf("%d=%d+%d\n",n,i,n-i); found=1;} } } int pri(int k) {int i; for(i=2;i<k&&(k%i)!=0;i++) ; if(i==k) return k; else return 0;} 输出结果为: GOLDBACH'S CONJECTURE: Every even number n>=4 is the sum of two primes. 10=3+7 12=5+7 14=3+11 16=3+13 18=5+13 Press any key to continue 5.文件为 file1.c
m=t; } while(m!=0){
r=n%m; n=m; m=r;} printf("它们的最大公约数为:%d\n",n); } 输出结果为: 输入两个正整数:81,54 它们的最大公约数为:27 Press any key to continue (2)设计的源程序为: #include<stdio.h> long pri(long k); void main() {long x,m; int found=0; printf("输入大于等于 4 的偶数 x:"); scanf("%ld",&x); for(m=2;m<=x/2&&found==0;m++) if(pri(m)!=0&&pri(x-m)!=0){ found=1; printf("%ld=%ld+%ld\n",x,m,x-m);} }
x++; y++; ch++; printf("in file2 x=%d,y=%d,ch is %c\n",x,y,ch); } file.h #include<stdio.h> extern int x,y; extern char ch; void func1(void); 输出为: y in file1 x=10,y=20,ch is y in file2 x=11,y=21,ch is z Press any key to continue
long pri(long k) {long i; for(i=2;i<k&&(k%i)!=0;i++) ; if(i==k) return k; else return 0;}
输出结果为: 输入大于等于 4 的偶数 x:66654 66654=11+66643 Press any key to continue (3) 设计的源程序为: #include<stdio.h> #define BEGIN 10 #define END 20 int pri(int k); void main() {int i,n,found;
return s;}
输出结果为: k=1 the sum is 1 k=2 the sum is 3 k=3 the sum is 9 k=4 the sum is 33 k=5 the sum is 153 k=6 the sum is 873
Press any key to continue
2. (1)正确源程序:
用方法。