C语言实验报告
C语言实验五实验报告——数组
C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。
通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。
数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。
数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。
可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。
数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。
二维数组数组可分为一维和多维数组。
一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。
二维数组有行号和列号,因此,它同样需要两个下标。
数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。
三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。
程序执行正常。
3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对C语言数组的理论知识和基本操作进行练习,加深了对数组的了解和掌握。
c语言实验报告册
c语言实验报告册C语言实验报告册。
实验一,C语言基本程序设计。
1. 实验目的。
通过本实验,掌握C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,然后输出它们的和、差、积和商。
(2)编写一个C程序,实现输入一个实数,计算并输出它的绝对值。
3. 实验步骤。
(1)定义两个整型变量a和b,用来存储输入的整数。
(2)使用printf函数提示用户输入两个整数,并使用scanf函数将用户输入的值分别赋给变量a和b。
(3)定义四个整型变量sum、diff、product和quotient,分别用来存储a和b的和、差、积和商。
(4)分别计算a和b的和、差、积和商,并将结果分别赋给sum、diff、product和quotient。
(5)使用printf函数输出sum、diff、product和quotient的值。
4. 实验结果。
输入:a = 5。
b = 3。
输出:sum = 8。
diff = 2。
product = 15。
quotient = 1。
5. 实验结论。
通过本实验,我掌握了C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
在实际编程中,我需要注意变量的类型和范围,以避免数据溢出和精度丢失的问题。
实验二,C语言函数的使用。
1. 实验目的。
通过本实验,学习C语言函数的定义和调用,掌握函数参数的传递和返回值的使用。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,计算它们的最大公约数和最小公倍数。
(2)编写一个C程序,实现输入一个整数n,计算并输出1到n的阶乘之和。
3. 实验步骤。
(1)定义一个函数gcd,用来计算两个整数的最大公约数。
(2)定义一个函数lcm,用来计算两个整数的最小公倍数。
(3)定义一个函数factorial,用来计算一个整数的阶乘。
(4)在主函数中,调用gcd和lcm函数计算最大公约数和最小公倍数;调用factorial函数计算阶乘之和。
C语言程序设计实验实验报告7
C语言程序设计实验实验报告7实验名称:链表实现学生信息管理系统实验目的:通过设计链表实现学生信息管理系统,掌握链表的操作方法及其应用。
实验内容:设计一个学生信息结构体,包括学号、姓名、性别、年龄和成绩五个成员变量,并选择链式结构存储这些数据。
实现以下功能:1. 添加学生信息:从键盘输入学号、姓名、性别、年龄和成绩等信息,添加到链表中。
2. 删除学生信息:从链表中删除指定学号的学生信息。
5. 按成绩排序:按学生的成绩从高到低排序,并输出所有学生的信息。
7. 退出程序:退出学生信息管理系统。
实验方法:1. 设计学生信息结构体,定义链表节点结构体,并编写初始化链表和销毁链表的函数。
2. 编写添加学生信息函数,新建链表节点并插入链表末尾。
3. 编写删除学生信息函数,根据学号查找需要删除的节点,先将该节点从链表中删除,再释放节点空间。
4. 编写修改学生信息函数,根据学号查找需要修改的节点,并修改其成员变量。
6. 编写按成绩排序函数,使用冒泡排序法对链表进行排序,并输出所有学生的信息。
7. 编写输出所有学生信息函数,遍历链表并输出每个节点的信息。
8. 完成学生信息管理系统的主函数,实现菜单及相应功能的选择。
实验结果:依次选择菜单中的各个功能,添加、修改、删除、查找、排序和输出学生信息都能实现。
经测试,程序稳定运行,功能正常,符合需求。
本次实验主要让我们掌握了链式结构的概念、链表节点的定义、链表的初始化、插入、查找、删除和销毁链表的操作方法,以及在实际应用中如何使用链表来实现数据管理。
虽然链表操作相对于数组稍微有些繁琐,但其可以灵活处理数据结构的长度变化,具有更高的可扩展性和更好的操作效率,可以更好的适应各种实际需求。
在实验中,还需要注意节点指针的正确使用、各个函数之间的调用关系和输入输出数据格式的合理选择等问题,以保证程序能够正常运行。
同时,还需要保持认真细致的态度,严格按照实验需求和要求来完成每个步骤,以达到更好的实验效果和运行效率。
周信东主编C语言程序设计基础实验一实验报告精编
周信东主编C语言程序设计基础实验一实验报告精编实验一实验报告:C语言程序设计基础一、实验目的本实验旨在通过实践的方式学习C语言程序设计的基本概念和语法规则,初步掌握C语言的编程思想和方法,提高编程能力和解决实际问题的能力。
二、实验内容1. 编写一个简单的C程序,要求输出"Hello, World!"。
2.编写一个C程序,实现两个整数的加法。
3.编写一个C程序,实现给定半径的圆的面积和周长的计算。
三、实验步骤及结果1.实验步骤第一步:编写HelloWorld程序#include <stdio.h>int maiprintf("Hello, World!\n");return 0;第二步:编写两个整数相加的程序#include <stdio.h>int maiint num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum); return 0;第三步:编写圆的面积和周长计算程序#include <stdio.h>#define PI 3.14int maifloat radius, area, perimeter;printf("请输入圆的半径:\n");scanf("%f", &radius);area = PI * radius * radius;perimeter = 2 * PI * radius;printf("圆的面积为:%f\n", area); printf("圆的周长为:%f\n", perimeter); return 0;2.实验结果HelloWorld程序运行结果:Hello, World!两个整数相加程序运行结果:请输入两个整数:35两个整数的和为:8圆的面积和周长计算程序运行结果:请输入圆的半径:四、实验总结通过本次实验,我学习了C语言的基本语法规则和编程思想,掌握了使用printf和scanf函数进行输入输出操作、变量的定义和赋值、简单的数学运算,进一步了解了C语言的使用场景和基本应用。
C语言实训总结报告范文(通用5篇)
C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。
一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。
C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。
在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。
非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。
通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。
不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
c语言程序设计_实验一实验报告
实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
c语言文件的实验报告
c语言文件的实验报告《C语言文件的实验报告》摘要:本实验旨在通过对C语言文件操作的实践,掌握文件的创建、打开、读写和关闭等基本操作。
通过实验,我们深入了解了C语言文件操作的相关函数和用法,提高了对文件操作的理解和掌握程度。
一、实验目的1. 掌握C语言文件操作的基本函数和用法;2. 熟悉文件的创建、打开、读写和关闭等操作;3. 提高对文件操作的理解和掌握程度。
二、实验内容1. 创建文件:使用fopen函数创建一个新的文件;2. 打开文件:使用fopen函数打开已有的文件;3. 读取文件内容:使用fread函数读取文件中的内容;4. 写入文件内容:使用fwrite函数向文件中写入内容;5. 关闭文件:使用fclose函数关闭文件。
三、实验步骤1. 创建文件:使用fopen函数创建一个名为“test.txt”的文件;2. 打开文件:使用fopen函数打开已有的名为“test.txt”的文件;3. 读取文件内容:使用fread函数读取文件中的内容,并输出到控制台;4. 写入文件内容:使用fwrite函数向文件中写入“Hello, World!”;5. 关闭文件:使用fclose函数关闭文件。
四、实验结果与分析通过实验,我们成功创建了名为“test.txt”的文件,并使用fopen函数打开了该文件。
接着,我们使用fread函数读取了文件中的内容,并成功将内容输出到控制台。
随后,我们使用fwrite函数向文件中写入了“Hello, World!”这段内容。
最后,我们使用fclose函数关闭了文件。
五、实验总结通过本次实验,我们深入了解了C语言文件操作的相关函数和用法,掌握了文件的创建、打开、读写和关闭等基本操作。
实验过程中,我们对文件操作有了更深入的理解,并提高了对文件操作的掌握程度。
希望通过不断的实践和学习,能够更加熟练地运用C语言文件操作,为以后的编程工作打下坚实的基础。
C语言实验报告 实验四 参考答案
实验四循环结构程序设计2(参考答案)(1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。
例如输入n为15时,输出1.718282。
算法分析:第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。
参考答案:# include <stdio.h>void main(){double s=0,p=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){p = p * i ; //计算分母i!s = s + 1 / p ; //累加}printf("s=%lf\n",s);}运行结果:(2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11时,结果为1.833333。
算法分析:该多项式的分母是累加。
参考答案:# include <stdio.h>void main(){double sn=0,s=0;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){s = s + i ; //计算分母1~i的累加和sn = sn + 1 / s ;}printf("sn=%lf\n",sn);}运行结果:(3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。
例如,输入n 的值是100,则输出结果是148.874270。
注意n应在2~100之间。
算法分析:穷举3~n之间的数找素数,若是素数则累加她的平方根。
参考答案:# include <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。
《C语言程序设计》实验报告实验六
《C语言程序设计》实验报告实验六使用指针的程序设计学号姓名一、实验目的1、掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、熟悉指针作为函数参数的定义和调用方法;4、能正确使用字符串的指针和指向字符串的指针变量。
二、实验内容1.分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。
#include <stdio.h>void main(){int *p1,*p2,*p;int a,b;printf("Input a b please");scanf("%d%d",&a,&b);p1=&a;p2=&b;if(a>b){ p=p1;p1=p2;p2=p;}printf("*p1=%d, *p2=%d\n",*p1,*p2);printf("a=%d, b=%d\n",a,b);}『运行结果:』输入1,2得:*p1=1,*p2=2a=1,b=2输入2,1得:*p1=1,*p2=2a=2,b=1输入56,123得:*p1=56,*p2=123a=56,b=1232.下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。
形参n给了数组中数据的个数,利用指针odd返回奇数之和,利用指针even 返回偶数之和。
请在下面空白处将实现这一功能的函数完善,并且调试运行出结果。
#include <stdio.h>#define N 10void fun(int *a,int n,int *odd,int *even){int m;*odd=0; *even=0;for(m=0;m<n;m++)if(*(a+m)%2==0)*even+=*(a+m);else*odd+=*(a+m);}void main(){int a[N]={1,10,2,3,19,6},i,n=6,odd,even;printf("The original data is:\n");for(i=0;i<n;i++)printf("%5d",*(a+i));printf("\n\n");fun(a,n,&odd,&even);printf("The sum of odd numbers:%d\n",odd);printf("The sum of even number:%d\n",even);}『运行结果:』3.编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然后输出字符串str。
c语言实验报告结果及分析
c语言实验报告结果及分析#### 一、实验目的1. 学习如何使用函数;2. 了解函数的作用;3. 掌握C语言程序中函数的实现方法;4. 深入理解函数调用和参数传递。
#### 二、实验内容本次实验完成了一个函数factorial,它的作用是计算一个整数的阶乘。
实验代码:```c#include <stdio.h>int factorial(int n) //函数声明{int i; //定义变量int product = 1; //初始化变量for(i = 1; i<=n; i++) //循环语句{product *=i;}return product; //返回结果}int main(){int num;scanf("%d",&num); //输入变量printf("%d\n",factorial(num)); //调用函数return 0;}```#### 三、实验结果实验运行结果:![image-20200907223338892](C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200907223338892.png)实验结果验证了函数factorial的功能,它计算出了正确的结果:输入5,计算出120;输入4,计算出24。
#### 四、实验分析1. 在实验代码中,我们首先定义了一个函数factorial,并给出了它的参数n和返回值product。
然后,运用循环语句把参数n的各个数相乘,取得最终结果product,并用return语句把结果返回。
2. 然后,在进入main函数时,我们用scanf传入变量num,然后调用factorial函数计算num的阶乘,将结果用printf输出,这就完成了整个程序的工作。
3. 本实验验证了函数factorial的功能,完成了整数的阶乘计算任务,并且符合了性能要求,每次输入及计算结果都符合预期,可以满足实际使用需求。
实验1熟悉C语言编程环境实验报告doc
实验1熟悉C语言编程环境实验报告.doc实验1:熟悉C语言编程环境实验报告一、引言C语言是一种广泛应用的编程语言,对于学习和掌握C语言编程技术具有重要意义。
本实验通过搭建C语言编程环境,介绍了C语言编程环境的基本组成和使用方法。
二、实验内容1. 安装编译器本实验使用MinGW编译器作为C语言编程环境,首先需要下载并安装MinGW编译器。
2. 配置环境变量安装完成后,需要将MinGW的bin文件夹添加到系统的环境变量中,以便在命令行中可以直接使用编译器。
3. 编写并编译第一个C程序创建一个名为hello.c的文件,编写一个简单的C程序,并使用编译器进行编译。
4. 运行程序编译成功后,可以在命令行中运行程序,查看程序的输出结果。
三、实验步骤1. 下载并安装MinGW编译器首先,从MinGW官网下载MinGW安装包,并进行安装。
安装过程中需要选择合适的安装路径和组件,一般选择默认安装即可。
2. 配置环境变量打开系统的环境变量设置,在系统变量中找到Path变量,将MinGW的bin文件夹路径添加到Path变量的末尾。
3. 编写并编译第一个C程序在任意目录下创建一个空白文本文件,命名为hello.c。
使用文本编辑器打开hello.c文件,编写以下代码:c#includeint main{printf("Hello, World!\n");return 0;}保存文件后,打开命令提示符,使用cd命令切换到hello.c所在的目录。
然后使用以下命令编译C程序:gcc hello.c -o hello4. 运行程序编译成功后,在命令提示符中直接输入可执行文件名hello,即可运行程序。
运行结果将在命令行中显示出来。
四、实验结果在进行实验的过程中,我成功搭建了C语言编程环境,并编写了一个简单的C 程序。
程序成功编译并运行后,命令行中显示出了"Hello, World!"的输出结果。
C语言实验报告_答案
《C语言程序设计》实验指导学院:信息科学与技术学院专业:计算机通信学期:2011~2012学年教师:目录实验1 熟悉C语言程序开发环境............................... 错误!未定义书签。
1.1 实验目的 ......................................................................................... 错误!未定义书签。
1.2 实验预习 ......................................................................................... 错误!未定义书签。
1.3 实验任务 ......................................................................................... 错误!未定义书签。
1.4 实验报告 ......................................................................................... 错误!未定义书签。
实验2 数据描述............................................. 错误!未定义书签。
2.1 实验目的 ......................................................................................... 错误!未定义书签。
2.2 实验预习 ......................................................................................... 错误!未定义书签。
c语言实验报告分析总结3篇
c语言实验报告分析总结3篇c语言实验报告分析总结1在科技高度发展的今天,计算机在人们之中的作用越来越突出。
而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的'理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
C语言实验报告总结(共6篇)
c语言上机实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。
而c语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好c语言,这对我们以后的发展是十分重要的。
说到这,上机实验当然就是一个必不可少的环节了,c语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。
为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。
通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了c语言那就大错特错了。
我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。
而在最后输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。
2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。
3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。
知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。
5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。
英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。
为了能更好地学好c语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。
实验中我深刻意识到完成程序的编写,决不意味着万事大吉。
认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。
有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。
因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。
c语言实验报告
c语言实验报告及建议实验6 数组一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。
(2)掌握与数组有关的算法(特别是排序算法)。
(3)掌握字符数组和字符串的使用方法。
(4)能正确定义数组的指针,熟练使用指针访问数组元素。
(5)学会使用字符串的指针和指向字符串的指针变量。
(6)学会使用指针数组处理多个字符串数据。
二、实验预备知识:三、实验容1.观察下面给一维数组赋值有什么错误,怎样修改,写出正确运行后的结果。
#include "stdio.h"main(){int i,a[3],sum=0;scanf(“%d,%d,%d”,a);for(i=0;i<=3;i++)sum=sum+a[i];printf("sum=%d",sum);}错误语句:scanf(“%d,%d,%d”,a);改正: scanf("%d,%d,%d",&a[0],&a[1],&a[2]);运行结果: 1,1,1,sum=32.(1)补全下面的程序,程序的功能是求一位数组的中最小元素的值及其所在的下标号。
#include "stdio.h"main(){int i,a[10],min,index;(1) for(i=0;i<10;i++) /*利用一充循环给数组a赋值*/scanf(“%d”, (2)&a[i] );for(i=0, (3)min-a[0] ;i<10;i++) /*求数组a中的最小值min及其对应的下标index*/ if(min>a[i]){ (4) min=a[i];index=i; }printf("MIN=%d,index=%d\n",min,index);}(2)模仿2(1)对一个3行4列的矩阵b[3][4],求出其中最大的元素的值及其所在的行号和列号。
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语言实验报告-实验二 数据类型、运算符和表达式
请编程序:当给出f时,求其相应摄氏温度和绝对温度。
测试数据:①f=34 f=100
答:①的程序为
#include <stdio.h>
main()
{
float f,c;
double k;
f=34;
c=5/9*(f-32);
k=273.16+c;
printf("c=%f,k=%lf\n",c,k);
x=r.cosθ
y=r.sinθ
测试数据:①r=10 θ=45° r=20 θ=90°
答:①的程序为
#include<stdio.h>
#include <math.h>
main()
{
float r,b,x,y;
r=10;
b=45;
x=r*cos(b/180*3.14);
y=r*sin(b/180*3.14);
答:该程序为
#include<stdio.h>
#define PI 3.14
main()
{
float r;
double s,c;
r=1.5;
s=PI*r*r;
c=2*PI*r;
printf("s=%.2lf,c=%.2lf",s,c);
}
(2)将华氏温度转换为摄氏温度和绝对温度的公式分别为:
(摄氏温度)
main( )
{int i=8,j=10,m=0,n=0;
m+=i++;n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);
c语言实验报告总结(范本)
c语言实验报告总结c语言实验报告总结篇一:C语言上机实验心得C语言上机实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。
而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。
说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。
为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。
通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。
我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”, n);中的“”有时候会忘了。
而在最后输出时又错写成printf(“%d”, 从而错误得输出了地址而不是我原来想要的答案。
2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。
3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。
知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。
5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。
英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。
为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。
实验中我深刻意识到完成程序的编写,决不意味着万事大吉。
认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。
有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。
c语言实验报告
c语言实验报告一、引言C语言是一种广泛应用于计算机科学和软件开发领域的编程语言。
它的简洁性、高效性以及跨平台的特性使其成为许多开发人员的首选。
本篇实验报告将介绍我在学习C语言过程中进行的几个实验项目,并详细记录每个实验的步骤、结果以及对C语言的理解。
二、实验一:Hello World!在学习任何一门编程语言时,第一个示例程序往往是输出"Hello World!"。
这个简单的程序虽然看似微不足道,却能够帮助初学者了解基本的编译和运行过程。
在实验中,我使用了C语言的基本语法,编写了一个简单的Hello World程序,并成功地将其编译并运行。
这个小小的成就让我对C语言有了初步的认识和信心。
三、实验二:计算器程序为了更深入地理解C语言的数据类型和运算符,我决定编写一个简单的计算器程序。
这个程序可以实现基础的四则运算和一些简单的数学函数,如平方根和求幂等。
通过这个实验,我学会了如何使用变量、条件语句和循环结构来实现计算功能,并通过不断调试和修改,使程序更加健壮和高效。
四、实验三:数组与排序数组是C语言中非常重要的概念,在实验三中,我探索了数组的用法和特性,并将其应用于一个排序算法中。
我选择了冒泡排序作为实验的排序算法,通过比较相邻元素的大小并不断交换位置,最终将数组中的元素按照升序排列。
这个实验使我更加熟悉了数组的操作,也加深了我对算法思想和效率的理解。
五、实验四:文件操作在现实世界中,大部分的应用程序需要与文件进行交互。
为了学习如何使用C语言进行文件操作,我进行了实验四。
在这个实验中,我编写了一个小程序,能够读取一个文本文件的内容,统计其中不同字符的数量,并将结果输出到另一个文件。
通过这个实验,我了解了如何打开、关闭和读写文件,也学习了异常处理以及文件操作的一些注意事项。
六、实验五:数据结构和指针C语言提供了指针的机制,允许直接访问和操纵内存中的数据。
为了更深入地理解指针和数据结构之间的关系,我进行了实验五。
C语言实验报告实验五参考答案
C语言实验报告实验五参考答案实验五一维数值数组(参考答案)1、设计程序sy5-1.c,计算n门课程的平均分。
例如:若有5门课程的成绩是:90.5.72.80.61.5.55,则平均分是:71.80.算法分析:先求n门课的成绩总和,(累加求和),再用累和除以课程数。
参考答案:includevoid main()double score[30]。
sum=0,aver;int n,i;printf("Inputn:");scanf("%d",&n);printf("请依次输入%d门课程的成绩",n);for(i=0;i<n;i++)scanf("%lf",&score[i]);sum=sum+score[i];aver=sum/n;printf( "\nAverage scoreis: %5.2f\n"。
aver);运行结果:2、设计步伐sy5-2.c,对输入的10个整数按倒序寄存后输出成效。
算法阐发:利用“半数交流”算法,最前面的元素和末了面的元素交流,逐步向中央挨近。
可利用两个下标变量i和XXX。
参考答案:includeint main()int a[10]={1,2,3,4,5,6,7,8,9,10};int i,j,t;for( i=0,j=9.i<j。
i++,j--)//逐一向中,交换。
直到已没有元素没交换t=a[i]。
a[i]=a[j]。
a[j]=t;}// a[i]-数组前端的数,a[j]-数组后端的数printf("交流后数组元素是:");for(i=0;i<10;i++)printf("%5d",a[i]);//%5d,5透露表现宽度printf("\n");//输出完所有的数后换行return 0;运行结果:3、设计程序sy5-3.c,输入10个整数,找出其中的最大数及其所在的下标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言集中上机报告简单计算器院系:通信与信息工程学院班级:0101123姓名:张渊合作者:无指导教师:无2011 年12 月01 日目录一.概述 (3)二.总体方案设计 (4)三.详细设计 (4)四.程序的调试与运行结果说明 (5)五.课程设计总结 (6)六.后记 (7)七.附录 (7)一概述1.课程设计的目的实现超级计算器的功能。
2.课程设计的要求需要基本的C语言知识与技能有:1.数据结构、运算符与表达式;2.顺序程序设计;3.选择结构程序设计;4.循环控制;5.数组;6.函数。
尚未掌握的知识有:1.预处理命令;2.指针;3.结构体与共用体;4.位运算;5.文件3.课程设计的主要设计思想为用户提供一个功能非常强大的超级计算器,为用户提供方便。
二总体方案设计本次设计在具体设计过程中的整体设计思路:1.让用户自己选择对应的计算器功能;2.实现用户屏的颜色不单单是黑白色的;3.功能更加强大和全面,最大程度上满足用户的需求;4.增强程序的可读性。
算法的整体思路、主要特点,具备功能:1.考虑要涉及到哪几种库函数;2.要考虑定义哪些函数;3.要实现程序可读性强的目的;4.要让用户视觉上感觉画面美;5.达到用户操作便捷的目的。
你所承担部分的设计工作,主要解决的关键性问题:1.要实现一个功能,想好具体的算法;2.要实现程序的可读性就要设计出美观,一目了然的版式;3.要实现用户屏的美观就要挑选出适合的颜色;4.考虑如何才能实现用户操作的便捷。
三详细设计主要部分的详细流程图四程序的调试与运行结果说明如果对程序进行编译、链接,没有出现错误信息就要进行调试:1.设置可能出现问题的断点;2.单击“编译”菜单,选择“开始调试”选项,执行“去”命令,在运行窗口中输入一个值并回车。
观察Variables窗口中个变量的值;3.继续单击进行,一旦数值不是自己理想的数值就知道哪个语法错误了。
4.重复2,3步骤,就会发现结果正确。
单击“Debug”菜单,选择“Stop Debugging”命令,结束调试。
5.重新编译、链接、执行程序运行结果正确。
五课程设计总结1. 通过课程设计更加懂得编程的艰辛和寂寞,但通过编程达到了温故而知新的效果,既巩固了过去的知识又学会了许多新的知识,并且发现了自己许多问题,比如编程时爱出现的细节问题,这样今后我就可以少出现这种低级错误。
2.让自己更加熟练地掌握调试的操作,更加快速的发现错误,改正错误。
3.知道了许多快捷键,使编程的速度大大提高。
4.最大的收获是,知道自己的知识还是很少,很肤浅,在今后我会更加努力学习潜心钻研,达到融会贯通,做一名优秀的C语言编程员。
5.C语言真的很有乐趣,我要在乐在其中,收获在其中!六后记在此,我要感谢老师对我的极大帮助,没有的协助,我绝对不会写出那么完美的超级计算器系统。
谢谢!我相信我的生活一定会因C语言而变的更加美丽精彩!!七附录#include<stdio.h>#include<math.h>#include<string.h>#define N 100//宏定义void Fibonacci(int a[],int n);//定义应用斐波那契数列的一个函数void Fibonacci(int a[],int n){int q;a[0]=a[1]=1;for(q=2;q<n;q++)a[q]=a[q-1]+a[q-2];}void Menu()//定义一个菜单函数{printf("\n");printf("-----------------------------------------------------------------\n");printf(" 超级计算器系统\n");printf(" A.加法运算 B.减法运算\n");printf(" C.乘法运算 D.除法运算\n");printf(" E.平方运算 F.开方运算\n");printf(" G.X的Y次方运算H.X开Y次方运算\n");printf(" I.n!的运算J.sinx的运算\n");printf(" K.cosx的运算L.tanx的运算\n");printf(" M.cotx的运算N.余数的运算\n");printf(" O.lnx的运算P.lgx的运算\n");printf(" Q.华氏温度与摄氏温度的转换R.求自然数1到n的各数的平方和\n");printf(" S.求Sn=a+aa+aaa+---+aa--aa的值T.求最大公约数和最小公倍数\n");printf(" U.百钱买百鸡问题V.九九乘法口诀表\n");printf(" W.斐波那契数列的应用X.求学生的总成绩及平均成绩\n");printf(" Y.冒泡排序Z.4*4矩阵的应用\n");printf(" 1.字符翻转 2.3*4矩阵的应用\n");printf(" 按编号选择对应的功能\n");printf(" 感谢使用超级计算器\n");printf("------------------------------------------------------------------\n");printf("\n");}void main(){int ZY[3][4],score[N],ZM[3][4],YM[4][4];int i,j,m,n,p;float a,b,c,d,z,score1[N];char GN,str[N],ch;system("color fd");//是用户屏的颜色变成亮粉Menu();//函数调用printf("请选择超级计算器对应的功能:\n");scanf("%c",&GN);switch(GN){case'A':{printf("请输入第一个数:\n");scanf("%f",&a);printf("请输入第二个数:\n");scanf("%f",&b);z=a+b;printf("两个数之和为:%.2f",z);}break;case'B':{printf("请输入第一个数:\n");scanf("%f",&a);printf("请输入第二个数:\n");scanf("%f",&b);z=a-b;printf("两个数之差为:%.2f",z);}break;case'C':{printf("请输入第一个数:\n");scanf("%f",&a);printf("请输入第二个数:\n");scanf("%f",&b);z=a*b;printf("两个数之积为:%.2f",z);}break;case'D':{printf("请输入第一个数:\n");scanf("%f",&a);printf("请输入第二个数:\n");scanf("%f",&b);if(b!=0){z=a/b;printf("%f除以%f=%.2f",a,b,z);}elseprintf("error! 分母不能为零!");}break;case'E':{printf("请输入一个数:\n");scanf("%f",&a);z=a*a;printf("结果为:%.2f",z);}break;case'F':{printf("请输入一个大于0的数:\n");scanf("%f",&a);z=sqrt(a);printf("结果为:%.2f",z);}break;case'G':{printf("请输入底数:\n");scanf("%f",&a);printf("请输入指数:\n");scanf("%f",&b);z=pow(a,b);printf("结果为:%.2f",z);}break;case'H':{printf("请输入底数:\n");scanf("%f",&a);printf("请输入开方数:\n");scanf("%f",&b);z=pow(a,1/b);printf("结果为:%.2f",z);}break;case'I':{printf("请输入一个大于或等于0的整数:\n"); scanf("%d",&m);if(m==0)printf("%d!=1",m);elsen=1;for(i=1;i<=m;i++){n=n*i;}printf("%d!=%d\n",m,n);}break;case'J':{printf("请输入一个弧度数:\n");scanf("%f",&a);z=sin(a);printf("结果为:%.2f\n",z);}break;case'K':{printf("请输入一个弧度数:\n");scanf("%f",&a);z=cos(a);printf("结果为:%.2f\n",z);}break;case'L':{printf("请输入一个弧度数:\n");scanf("%f",&a);z=tan(a);printf("结果为:%.2f\n",z);}break;case'M':{printf("请输入一个弧度数:\n");scanf("%f",&a);z=1/tan(a);printf("结果为:%.2f\n",z);}break;case'N':{printf("请输入第一个大于0的整数:\n"); scanf("%d",&m);printf("请输入第二个大于0的整数;\n"); scanf("%d",&n);i=m%n;printf("结果为:%d\n",i);}break;case'O':{printf("请输入一个大于0的数:\n"); scanf("%f",&a);z=log(a);printf("结果为:%.2f",z);}break;case'P':{printf("请输入一个大于0的数:\n"); scanf("%f",&a);z=log10(a);printf("结果为:%.2f",z);}break;case'Q':{printf("请输入一个华氏温度:\n"); scanf("%f",&a);z=(5.0/9)*(a-32);printf("摄氏温度为:%.2f\n",z);}break;case'R':{printf("请输入n的值,要求n>0:\n"); scanf("%d",&m);n=0;for(i=1;i<=m;i++)n=n+i*i;printf("结果为:%d\n",n);}break;case'S':{printf("请输入a的值,要求正整数:\n"); scanf("%d",&m);printf("请输入n的值,要求正整数:\n"); scanf("%d",&n);printf("a=%d n=%d\n",m,n);j=0;p=0;for(i=1;i<=n;i++){j=j+m;p=p+j;m=m*10;}printf("Sn=%d\n",p);}break;case'T':{printf("请输入第一个大于0的整数:\n");scanf("%d",&m);printf("请输入第二个大于0的整数:\n");scanf("%d",&n);if(m<n){p=m;m=n;n=p;}i=m;j=n;while(j!=0){p=i%j;i=j;j=p;}printf("最大公约数为:%d\n",i);printf("最小公倍数为:%d\n",m*n/i);}break;case'U':{printf("已知公鸡值五钱,母鸡值三钱,三只小鸡值一钱:\n");printf("有一百钱,要买一百只鸡,问可以买公鸡,母鸡,小鸡各多少?\n"); printf("想知道答案请输入一个大于0的整数\n");scanf("%d",&n);if(n>0){for(i=0;i<20;i++)for(j=0;j<33;j++){m=100-i-j;if(5*i+3*j+m/30==100)printf("公鸡%d只,母鸡%d只,小鸡%d只\n",i,j,m);}}elseprintf("error!\n");}break;case'V':{for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d ",j,i,i*j);printf("\n");}}break;case'W':{printf("请输入您想看到斐波那契数列的前多少项:\n");scanf("%d",&n);Fibonacci(score,n);//函数调用for(i=0;i<n;i++)printf("fib[%d]=%d\n",i+1,score[i]);}break;case'X':{b=0;printf("请输入学生个数:\n");scanf("%f",&a);printf("请输入每个人的成绩:\n");for(i=0;i<a;i++)scanf("%f",&score1[i]);for(i=0;i<a;i++)b=b+score1[i];z=b/a;printf("学生总成绩为%.2f,平均成绩为%.2f\n",b,z);}break;case'Y':{printf("请输入要排序整数的个数:\n");scanf("%d",&n);printf("请输入所有的整数:\n");for(i=0;i<n;i++)scanf("%d",&score[i]);for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(score[j]>score[j+1]){m=score[j];score[j]=score[j+1];score[j+1]=m;}printf("排序后的所有数字输出为:\n");for(i=0;i<=n-1;i++)printf("%d ",score[i]);}break;case'Z':{printf("这里提供了一个4*4矩阵的应用:\n");printf("本计算器可以计算出:\n");printf("一个矩阵的对角线元素存放的数以及它们的和\n"); printf("请输入一个4*4矩阵:\n");m=0;for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&YM[i][j]);for(i=0;i<4;i++)for(j=0;j<4;j++){if(i==j||i+j==3){printf("对角线上元素为%d \n",YM[i][j]);m=m+YM[i][j];}}printf("对角线元素之和为%d\n",m);}break;case'1':{printf("请输入一个字符串:\n");scanf("%s",str);i=0;for(j=0;str[j]!='\0';j++);j--;while(i<j){ch=str[i];str[i]=str[j];str[j]=ch;i++;j--;}printf("%s\n",str);}break;case'2':{printf("未完待续!\n");}break;default:printf("您输入的数据有误!!\n");}}。