实验四:函数与指针
c程序设计 实验报告

c程序设计实验报告C程序设计实验报告引言:C程序设计是计算机科学中一门重要的编程语言,广泛应用于软件开发、系统编程等领域。
本实验报告旨在总结并分析我在C程序设计实验中的学习经验和成果。
实验一:基本语法和数据类型C语言作为一门结构化的编程语言,具有丰富的语法和数据类型。
在本实验中,我学习了C语言的基本语法,包括变量的声明和赋值、运算符的使用以及条件语句和循环语句的控制流程。
通过编写简单的程序,我熟悉了C语言的基本语法和数据类型的使用。
实验二:函数和指针函数是C语言中的重要概念,通过函数的封装和调用,可以实现程序的模块化和复用。
在本实验中,我学习了函数的定义和调用,了解了函数的参数传递和返回值的使用。
同时,我还学习了指针的概念和用法,掌握了指针变量的声明和指针运算的基本操作。
通过实验练习,我对函数和指针的使用有了更深入的理解。
实验三:数组和字符串数组和字符串是C语言中常用的数据结构,对于处理大量数据和字符操作非常重要。
在本实验中,我学习了数组的定义和使用,了解了数组的下标和内存分配的原理。
同时,我还学习了字符串的表示和处理方法,掌握了字符串的输入输出和常见操作函数的使用。
通过实验练习,我对数组和字符串的应用有了更深入的认识。
实验四:结构体和文件操作结构体是C语言中用于组织和管理复杂数据的一种方式,文件操作则是处理外部文件的重要技术。
在本实验中,我学习了结构体的定义和使用,了解了结构体成员的访问和结构体数组的操作。
同时,我还学习了文件的打开、读写和关闭操作,掌握了文件指针的使用和文件读写的基本流程。
通过实验练习,我对结构体和文件操作的应用有了更深入的了解。
实验五:动态内存分配和链表动态内存分配和链表是C语言中高级的数据结构和算法,对于处理动态数据和实现复杂逻辑非常重要。
在本实验中,我学习了动态内存分配的方法和使用,了解了malloc和free函数的原理和使用。
同时,我还学习了链表的定义和操作,掌握了链表的插入、删除和遍历等基本操作。
《C语言程序设计》实验四

电子科技大学计算机学院标准实验报告(实验)课程名称C语言程序设计电子科技大学教务处制表电子科技大学实验报告四学生姓名:学号:指导教师:王瑞锦实验地点:实验日期:年月日一、实验室名称:软件实验室二、实验项目名称:函数的应用及预处理三、实验学时:2四、实验原理:使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。
Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。
通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。
五、实验目的1.掌握C语言中定义函数的方法;2.掌握函数传值调用的方法;3.掌握函数传址调用的方法;4.掌握递归函数的设计方法;5.掌握命令行参数的使用方法;6.掌握函数在不同文件中的编译、链接方法。
六、实验内容编程实验,完成以下上机内容,调试运行程序并完成报告1)、教材第七章习题7.4;2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3)、教材第七章习题7.11;4)、教材第七章习题7.15;5)、教材第七章习题7.24;6)、求解汉渃塔(tower of Hanoi)问题。
在一块平板上立有3根立柱,从左到右分别标记为A,B,C。
最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。
要求将这些盘从A移到C(可以借助B柱)。
条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。
(提示:利用函数的递归调用);七、实验器材(设备、元器件):pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。
软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。
八、实验步骤:实验编程与运行结果⑴编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。
程序文件名为7_4.c,源程序清单如下:#include<stdio.h>lcd(int a,int b){int temp,num1,num2;num1=a;num2=b;while(num2!=0){temp=num1%num2;num1=num2;num2=temp;}return(a*b/num1);}main(){int t,x,y;printf("Please input two integers:");scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;y=t;}printf("lcd(%d,%d)=%d\n",x,y,lcd(x,y));}运行结果:⑵编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。
c语言实验心得体会

c语言实验心得体会在学习C语言的过程中,我参与了多个实验项目,通过实际操作和实验结果的分析,我对C语言的特点、应用和一些常见问题有了更深入的理解和体会。
以下是我对这些实验项目的心得体会:1. 实验项目一:基本语法和数据类型在这个实验中,我学习了C语言的基本语法和数据类型。
通过编写简单的程序,我掌握了变量的定义和使用、常量的使用、运算符的使用以及输入输出函数的应用。
我发现C语言的语法相对简洁明了,易于理解和学习。
同时,我也了解到不同的数据类型在内存中所占用的空间大小以及其取值范围的限制。
2. 实验项目二:控制语句和循环结构在这个实验中,我学习了C语言中的控制语句和循环结构。
通过编写程序,我掌握了条件语句(if-else语句、switch语句)和循环语句(for循环、while循环、do-while循环)的使用。
我发现控制语句和循环结构可以帮助我们实现程序的灵活控制和流程控制,提高程序的效率和可读性。
3. 实验项目三:数组和字符串在这个实验中,我学习了C语言中数组和字符串的使用。
通过编写程序,我掌握了数组的定义和初始化、数组元素的访问和修改、多维数组的使用以及字符串的输入输出和处理。
我发现数组和字符串在实际编程中非常常见,掌握了它们的使用可以提高程序的处理能力和效率。
4. 实验项目四:函数和指针在这个实验中,我学习了C语言中函数和指针的使用。
通过编写程序,我掌握了函数的定义和调用、函数的参数传递和返回值、递归函数的编写以及指针的定义和使用。
我发现函数和指针是C语言中非常重要的概念,掌握了它们可以提高程序的模块化和灵活性。
5. 实验项目五:文件操作在这个实验中,我学习了C语言中的文件操作。
通过编写程序,我掌握了文件的打开和关闭、文件的读写操作以及文件指针的使用。
我发现文件操作在实际应用中非常常见,掌握了文件操作可以实现程序与外部文件的数据交互,提高程序的扩展性和灵活性。
通过这些实验项目,我不仅学会了C语言的基本语法和常用功能,还培养了自己的编程思维和解决问题的能力。
c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。
三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。
熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。
2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。
运用 switch 语句进行多分支选择,处理不同的情况。
利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。
3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。
掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。
4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。
实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。
5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。
掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。
6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。
了解共用体的概念和使用场景,比较结构体和共用体的区别。
四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。
c语言实验报告结果

c语言实验报告结果C语言实验报告结果引言:C语言是一种广泛应用于计算机编程领域的高级编程语言,具有简洁、高效等特点。
在学习C语言的过程中,实验是不可或缺的一部分,通过实验可以加深对C语言的理解和掌握。
本文将对我在C语言实验中所得到的结果进行总结和分析。
实验一:基本语法和数据类型在这个实验中,我学习了C语言的基本语法和数据类型,并进行了一些简单的编程练习。
通过实验,我熟悉了C语言的语法规则,包括变量的声明、赋值和运算符的使用等。
我也学会了使用不同的数据类型,如整型、浮点型和字符型,并了解了它们在内存中的存储方式和取值范围。
实验二:条件语句和循环结构这个实验主要涉及条件语句和循环结构的应用。
我学习了if-else语句和switch语句的使用方法,并通过编程实践加深了对它们的理解。
同时,我还学会了使用for循环、while循环和do-while循环来实现不同的功能。
通过实验,我发现循环结构的灵活运用可以简化编程过程,提高代码的效率。
实验三:数组和字符串在这个实验中,我学习了C语言中数组和字符串的使用。
通过实验,我了解了数组的定义、初始化和访问方式,并掌握了一些常见的数组操作技巧。
同时,我也学会了使用字符串函数来处理字符串,如strlen、strcpy和strcat等。
通过实验,我认识到数组和字符串在实际编程中的重要性和广泛应用。
实验四:函数和指针这个实验主要涉及函数和指针的应用。
我学习了如何定义和调用函数,并了解了函数的参数传递和返回值的使用。
同时,我也学会了使用指针来操作变量和数组,包括指针的声明、初始化和指向。
通过实验,我深刻体会到函数和指针在程序设计中的灵活性和高效性。
实验五:文件操作在这个实验中,我学习了C语言中的文件操作。
通过实验,我了解了如何打开、读取和写入文件,并学会了使用fscanf、fprintf和fread等函数来实现文件的读写操作。
同时,我还学会了使用文件指针和文件流来控制文件的位置和流向。
四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。
自变量x与函数值均采用双精度类型。
(2)自变量x值从键盘输入,且输入前要有提示信息。
(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。
记录结果。
(5)源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。
具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。
(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
(5)输出结果中应包含百分制成绩和成绩等级。
(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。
记录结果。
(7)源程序以sy4_2.c存盘。
三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。
要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。
实验四 数组与指针

所包含的10天再累加到Tday中。
内容四:测试数据
2012 2012 2012 2012 年 2月10日 年 5月10日 年10月10日 年12月21日 存1000元 存200元 取300元 计息 年利率0.36%
计算结果:利息 = 3.38元
计算过程: 5月10日 日积数 1000元*90天
10月10日
注:5 即金额变动日期3.10减去开户日期3.5,也即1000元的存款天数。 10 即计息日期3.20减去金额变动日期3.10,也即3000元的存款天数。
由此,我们看出利息的计算重要的是计算出每次金额变动时日积数 的累计值,而要计算此值首先需要计算每次金额变动时前次金额的存款 天数。
内容四:活期储蓄类设计
主控函数实现:
Int main() { int i,n ; float s ; char na[10]; Cstudent st[N]; //定义对象数组 for(i=0;i<N;i++) { cout<<"输入学号 姓名 成绩:"; cin>>n>>na>>s; st[i].setdata (n ,na ,s); //调用设置函数给对象的数据成员赋值 } cout<<endl<<" 输出数据:"<<endl; cout<<setw(10)<<"学号"<<setw(10)<<"姓名"<<setw(5)<<"成绩"<<endl; for(i=0;i<N;i++) st[i].disp(); cout<<" 平均分="<<setprecision(4)<<Cstudent::Avg()<<endl; return 0; }
c语言课程实验报告

c语言课程实验报告C语言课程实验报告引言:C语言作为一门广泛应用于计算机科学领域的编程语言,具有简洁高效的特点,被广泛用于系统软件、嵌入式设备等领域。
在C语言课程中,我们进行了一系列的实验,旨在通过实践提升我们的编程能力和理解C语言的各种特性。
本报告将对我们进行的实验进行总结和分析。
实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们熟悉了C语言的变量定义、运算符、控制语句等基本概念。
同时,我们也了解了C语言中常用的数据类型,如整型、浮点型、字符型等,并学会了如何进行类型转换和输入输出操作。
实验二:数组和字符串处理在第二次实验中,我们深入学习了C语言中的数组和字符串处理。
通过编写程序,我们掌握了数组的定义、初始化和访问方法,了解了一维数组和多维数组的特点。
同时,我们也学会了使用C语言提供的字符串处理函数,如strlen、strcpy、strcat等,实现字符串的复制、连接和比较等操作。
实验三:函数和指针第三次实验是函数和指针的学习。
我们学习了如何定义和调用函数,了解了函数的参数传递和返回值的相关知识。
同时,我们也深入研究了指针的概念和用法,掌握了指针的声明、初始化和使用方法。
通过实验,我们发现指针在C语言中具有重要的作用,可以提高程序的效率和灵活性。
实验四:文件操作和结构体在第四次实验中,我们学习了C语言中的文件操作和结构体。
通过使用文件读写函数,我们能够实现对文件的读取和写入操作,实现数据的永久存储。
同时,我们也学会了定义和使用结构体,实现对复杂数据的封装和处理。
这些知识对于实际项目的开发非常重要。
实验五:动态内存分配和链表在第五次实验中,我们学习了动态内存分配和链表的使用。
通过使用malloc和free函数,我们能够在程序运行时动态分配和释放内存,提高了内存的利用效率。
同时,我们也学会了使用链表数据结构,实现对数据的动态存储和管理。
链表在数据结构和算法中有着广泛的应用,对于解决实际问题非常有帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
陕西理工大学《高级语言程序设计(C)》实验报告院系:班级:学号:姓名:目录实验一:C开发环境与顺序结构程序设计 (2)1.实验目的: (2)2.实验环境: (2)3.实验步骤: (2)4.实验内容: (2)5.实验总结 (9)实验二:分支结构与循环结构程序设计 (10)1.实验目的: (10)2.实验环境: (10)3.实验内容: (10)4.实验总结 (18)实验三数组及数组的应用 (19)1.实验目的: (19)2.实验环境: (19)3.实验内容: (19)4.实验总结: (20)实验四:函数与指针 (20)1.实验目的: (21)2.实验内容: (21)3.实验总结 (24)实验一:C开发环境与顺序结构程序设计1.实验目的:(1) 了解集成开发环境VC++6.0的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。
(2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。
(3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。
2.实验环境:(1) 硬件环境CPU:Inter Pentium(R)4 CPU 3.00GHz 以上内存:2GByte(2) 软件环境操作系统:Microsoft Windows 7编译系统:Microsoft Visual C++ 6.03.实验步骤:按如图所示流程进行实验内容的调试。
(1) 在XP操作系统中,启动VC++6.0编译环境;(2) 在VC++6.0编译界面输入C源程序;(3) 选择编译、组建、执行命令进行编译、链接和运行,并记录实验数据;(4) 按以上方法依次输入其他源程序并调试、运行和记录实验数据。
4.实验内容:4.1 输入并运行下列程序,查看程序运行的结果。
#include<stdio.h>void main(){printf(“* * * * * * * * * *\n”);printf(“Programing in c A Labrtry Maual\n”);printf(“* * * *\n”);printf(“*\n”);}4.2查看程序运行的结果#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j--;printf(“%d,%d,%d,%d\n”,i,j,m,n);}4.3找出下列程序中的错误,改正后写出程序运行结果.#include<stdio.h>void main(){Int x,y=z=5,aver;x=7;AVER=(x+y+z)/3printf(“AVER=%d\n”,aver);}4.4输入参考程序。
在下划线处分别填入不同的变量定义、表达式、输出格式控制符号。
#include<stdio.h>void main(){int a,b,x; //数据类型定义a=5;b=10;x=a+10; //表达式printf(“%d”,x); //格式控制符}该程序的执行结果为:15当数据类型说明符为int 时,对应的格式控制符为%d ;当数据类型说明符为long 时,对应的格式控制符为%l ;;当数据类型说明符为float 时,对应的格式控制符为%f ;当数据类型说明符为double 时,对应的格式控制符为%lf ;当数据类型说明符为char 时,对应的格式控制符为%c ;仅当表达式更改为1/2*a*b 时,程序执行结果为0 ;仅当表达式更改为0.5*a*b 时,程序执行结果为25 (2)求从键盘上输入的两个整数之和,完成程序并将结果输出。
源程序:#include<stdio.h>void main( ){int x,y,z;.scanf("%d%d",&x,&y);z=x+y;printf("%d\n",z);}输入:12输出:34.5将整型变量a、b的值进行交换。
方法一:借助中间变量t#include<stdio.h>void main(){int a=1,b=2,t;t=a;a=b;b=t;printf("%d\n%d\n",a,b);}方法二:不借助中间变量#include<stdio.h>void main(){int a=1,b=2;a=b-a;b=b-a;a=b+a;printf("%d\n%d\n",a,b);}4.6编写程序输入华氏温度f,求摄氏温度c。
华氏转摄氏的公式为:c=5/9(f-32) 输入输出都要有文字提示和说明,输出保留2位小数。
#include<stdio.h>void main(){float f,c;printf("输入华氏温度=");scanf("%f",&f);c=(f-32)*5/9;printf("摄氏温度=%.2f\n",c); }4.7 编程求)ln()sin(xaaxy++=。
要求a和x从键盘输入。
当a=6.4,x=3.4时,求y的值。
#include<stdio.h>#include<math.h>void main(){float a,x,y;scanf("%f%f",&a,&x);y=sin(sqrt(a*x))+log(a+x);printf("%f\n",y);}4.8 从键盘上任意输入一个三位整数,按逆序输出。
例如输入456,输出654。
提示:456%10=6 456/10%10=5 456/10/10=46*102+5*101+4*10=654#include<stdio.h>main(){int n;int a,b, c;int num;printf("请输入一个三位整数n\n");scanf("%d", &n);c=n/100;b=(n-c*100)/10;a=n%10;num= a*100 + b*10 + c;printf("num=%d\n", num);}5.实验总结实验二:分支结构与循环结构程序设计1.实验目的:⑴了解C 语言表示逻辑量的方法;(0为“假”,非0为“真”)学会正确使用关系表达式和逻辑表达式。
⑵熟练掌握if 语句、switch 语句、while 语句、do-while 语句和for 语句的使用方法。
⑶结合程序掌握一些简单的算法。
⑷掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
⑸学习调试程序2.实验环境:操作系统:Windows 7 编程软件:Visual C++ 6.03.实验内容:(1) 使用if 语句或者switch 语句编程求解以下分段函数:y= 。
#include<stdio.h> #include<math.h> main() {float x,y;scanf("%f",&x); if(x<1)y=2*x-1;else if(x>=1&&x<10) y=sqrt(x+10); elsey=2*x+1; printf("%f\n",y); }(2) 使用if语句或者switch语句编程实现以下功能:从键盘任意输入0----100之间的整数作为学生的成绩,要求根据以下的条件判断并输出相应成绩的等级。
大于等于90,小于等于100:优秀大于等于70,小于等于89:良好大于等于60,小于等于69:及格小于60:不及格#include<stdio.h>main(){int x;scanf("%d",&x);switch(x/10){case 10:printf("优秀\n");break;case 9:printf("优秀\n");break;case 8:printf("良好\n");break;case 7:printf("良好\n");break;case 6:printf("及格\n");break;default:printf("不及格\n");}}(3)n的值从键盘输入,要求分别用三种循环语句实现以下功能:1+2+3+4+……+n1、用while语句实现。
#include<stdio.h>main(){int i=1,s=0,n;scanf("%d",&n);while(i<=n){s=s+i;i=i++;}printf("%d\n",s);}2、用do----while语句实现#include<stdio.h>main(){int i=1,s=0,n;scanf("%d",&n);do{s=s+i;i=i++;}while(i<=n);printf("%d\n",s);}3、用for语句实现。
#include<stdio.h>main(){int i=1,s=0,n;scanf("%d",&n);for (;i<=n;i++)s=s+i;printf("%d\n",s);}(4)n的值从键盘输入,要求用循环语句实现以下功能:1!+2!+………+n!#include<stdio.h>void main(){ int n,i;float s=0,t=1;scanf("%d",&n);for(i=1;i<=n;i++){ t*=i; s+=t; }printf("1+2!+3!...+n!=%f\n",s);}(5)程序填空,求100以内的整数中最大可被13整除的数是哪一个?#include<stdio.h>int main( ){int i;for( i=100 ; i>=0 ;i--){ if( i%13==0 )break;}printf("%d\n",i);return 0;}(6)输入两个正整数m和n,求其最大公约数和最小公倍数。