C程序设计实验报告2
C语言程序设计实验报告2

实验2 流程控制实验2.1 实验目的(1)掌握复合语句、if语句、switch语句的使用,熟练掌握for、while、do-while三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句。
(2)熟练运用for、while、do-while语句来编写程序。
(3)练习转移语句和标号语句的使用。
(4)使用集成开发环境中的调试功能:单步执行、设置断点、观察变量值。
2.2 实验内容及要求2.2.1.源程序改错下面是计算s=n! 的源程序,在这个源程序中存在若干语法和逻辑错误。
要求在计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务。
例如,8!=40320。
1 #include <stdio.h>2 int main()3 { int i,n,s=1;4 printf("Please enter n:");5 scanf("%d",n);6 for(i=1,i<=n,i++)7 s=s*i;8 printf("%d! = %d",n,s);9 }10 return 0;解答:(1)错误修改:1)输入字符格式错误,正确形式为:scanf(“%d”,&n);2)return 0;与}的相对位置错误,正确形式为:return0;}(2)错误修改后的程序:#include <stdio.h>int main(){ int i,n,s=1;printf("Please enter n:");scanf("%d",n);for(i=1,i<=n,i++)s=s*i;printf("%d! = %d",n,s);return 0;}(3) 运行结果:图1 2.2.1源程序改错测试图2.2.2.源程序修改替换(1)修改第1题,分别用while和do-while语句替换for语句。
C语言程序设计II实验报告

第二部分实验内容
一、实验目的
1、掌握一维数组的定义和引用
2、掌握一维数组的初始化方法
3、了解与一维数组有关的应用编程方法
二、实验意义
在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力,同时可接触到更多的经典算法,这些算法很多都是通过数组类型存储数据并实现的,有了这些基础后,学生可以在今后的编程中应用这些知识。
数组的实验能让学生进一步的提高程序设计编程和调试的能力,对于数组元素引用及循环控制的特点,也可以在实验中得以加深理解和巩固知识。
三、实验重点
1 一维数组的定义、元素的引用。
2 一维数组编程的循环控制特色。
3 排序等相关算法的实现。
四、实验难点
一维数组编程的循环控制特色,程序调试时的数组越界问题
排序算法的理解和记忆
五、实验方式
提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
1. 从键盘输入10个整数存放在一维数组里,用冒泡法进行排序输出。
2. 从键盘输入10个整数,找出最大的数并输出该数及其下标。
3. 用scanf函数给二维数组a[3][4]输入12个数据,并求出12个数据中正数
之和,每一行的最小值以及下标值。
2023最新-c语言程序设计实验报告【2篇】

c语言程序设计实验报告【2篇】c语言程序设计实验报告篇一实验名称计算出1000以内10个最大素数之和实验目的1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。
进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
实验内容计算并输出1000以内最大的10个素数以及它们的和。
要求:在程序内部加必要的注释。
由于偶数不是素数,可以不考虑对偶数的处理。
虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
输出形式为:素数1+素数2+素数3+…+素数10=总和值。
算法描述流程图main函数:判断素数:源程序#include#includeint sushu(int n)/* 判断素数的函数*/{int t,i;t=sqrt(n);for(i=2;i=t;i++)if(n%i==0)/* 如果不是素数,返回0 */return 0;return n;/* 如果是素数,返回该数*/}void main(){int i,j=0,n,m=0,a[1000],x;/*clrscr();*/printf(please input a number form 1 to 1000:);scanf(%d,amp;x);if(x==2)/* x=2时的处理*/printf(%dn,x);else if(x=1) /* x在1~1000范围外时的处理*/printf(error!n);else{if(x%2==0)/* x为偶数时,把x变为奇数*/x--;for(i=x;i1;i-=2)/* x为奇数时,做函数计算*/{n=sushu(i);/* 做判断素数的函数调用*/if(n!=0)/* 对素数的处理*/{a[j]=n;/* 把素数由大至小存入数组a[ ]中*/j++;if(j11)m+=n; /* 统计前10个素数之和*/}}if(j10)/* 当素数个数小于10个时,结果输出*/{for(i=0;i{n=a[i];printf(%d,n);printf(+);}printf(2=);printf(%dn,m+2);}else for(i=0;i10;i++)/* 当素数个数大于等于10个时,结果输出*/{n=a[i];printf(%d,n);if(i9)printf(+);else{printf(=);printf(%dn,m);}}}}测试数据分别输入1000、100、10测试。
c程序设计 实验报告

c程序设计实验报告C程序设计实验报告一、引言C程序设计是计算机科学与技术专业中最基础、最重要的一门课程。
通过学习C语言,我们可以掌握计算机程序的基本结构和编写方法,提高编程能力和解决实际问题的能力。
本实验报告将介绍我在C程序设计实验中所完成的任务和所遇到的问题。
二、实验一:基本语法和数据类型在本实验中,我们首先学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们了解了变量的定义和使用、基本的算术运算、条件语句和循环语句等内容。
同时,我们还学习了C语言中的数据类型,如整型、浮点型、字符型等,并学会了它们的声明和使用方法。
在实验过程中,我遇到了一个问题:如何正确使用条件语句和循环语句来实现特定的功能。
通过仔细阅读教材和进行反复实验,我逐渐掌握了这些语句的使用方法,并成功解决了问题。
三、实验二:函数和数组在第二个实验中,我们学习了C语言中函数和数组的概念和使用方法。
函数是C语言中的一个重要概念,它可以将一段代码封装为一个独立的模块,方便代码的复用和维护。
而数组则是一种存储多个相同类型数据的结构,可以通过下标访问其中的元素。
在实验过程中,我遇到了一个问题:如何正确使用函数和数组来实现特定的功能。
通过仔细阅读教材和进行反复实验,我逐渐掌握了函数和数组的使用方法,并成功解决了问题。
四、实验三:指针和字符串在第三个实验中,我们学习了C语言中指针和字符串的概念和使用方法。
指针是C语言中的一个重要概念,它可以指向内存中的某个地址,通过指针可以实现对内存中的数据的直接访问。
而字符串则是一种字符数组,可以用于存储和操作文本数据。
在实验过程中,我遇到了一个问题:如何正确使用指针和字符串来实现特定的功能。
通过仔细阅读教材和进行反复实验,我逐渐掌握了指针和字符串的使用方法,并成功解决了问题。
五、实验四:文件操作在第四个实验中,我们学习了C语言中文件的操作方法。
通过使用文件操作函数,我们可以实现对文件的读取和写入,从而实现文件的读写操作。
《C语言程序设计》实 验 报 告2

/******error********/
p=i;
temp=sort[p];
sort[p]=sort[j];
sort[j]=temp;
}
}
}
main()
{
int sort[M]={23,3,67,-2,9,-6,27,12},
i,num=8;
printf("before sort:");
for(i=0;i<num;i++)
printf("%d,",sort[i]);
printf("\n");
fun(sort,num);
printf("after sort:");
for(i=0;i<num;i++)
printf("%d,",sort[i]);
printf("\n");
getch();
}
22.2程序运行结果示例:
31.3编写程序,实现矩阵(3行列)的转置(即行列互换)。
{
int i,j,t,b[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=b[i][j];
}
main()
{
int i,j;
int a[3][3]={{1,2,3},
例如,若输入下面的矩阵:
123
456
《c语言程序设计》实验报告(实验-2)

《c语⾔程序设计》实验报告(实验-2)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。
⼆、预习内容:教材《C语⾔程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。
#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。
2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。
成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。
C语言程序设计实验报告2

《C语言程序设计实验报告》
实验编程作业
一.实验目的
1.熟悉运用Visual C++程序,掌握C语言的源程序的编辑、编译、执行的过程。
2.通过完成编程作业,了解并熟悉C语言源程序的特点。
二.实验要求
1.阅读和掌握本实验内容所给的全部程序。
2.熟练掌握C语言源程序的编辑、编译、执行的过程。
三.实验内容及成果展示
调试运行《C语言程序设计实验教程(第二版)》P6-P8编程题训练1.
2.
3.
4.
四.实验心得
1.在再次使用Visual C++进行程序的编辑、编译、和执行后,体会到将源代码输入正确对以后的程序调试、执行省去许多不必要的麻烦。
2.在输入源代码的过程中,认识到1和l的差别,下次碰到此种情况一定会更加细心地对待。
3.熟悉了C语言源程序的特点,能够在不同环境下编辑、编译、与运
行C语言程序。
c程序设计的实验报告

c程序设计的实验报告C程序设计的实验报告介绍:C程序设计是计算机科学与技术专业中最基础、最重要的一门课程之一。
通过学习C语言,我们可以理解计算机底层的工作原理,培养编程思维和解决问题的能力。
本篇实验报告将介绍我在C程序设计实验中所进行的实验内容、过程和结果。
实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我了解了C语言中的变量声明、赋值和运算符的使用。
同时,我还学习了整型、浮点型、字符型等不同的数据类型,以及它们在内存中的存储方式。
实验二:控制语句和循环结构在第二次实验中,我们学习了C语言中的控制语句和循环结构。
通过编写条件语句和循环语句,我可以实现程序的分支和循环执行。
这让我能够更好地控制程序的流程,实现不同的功能。
实验三:函数和指针在第三次实验中,我们学习了C语言中的函数和指针。
函数是C语言中的重要概念,通过函数的封装和调用,我们可以提高代码的复用性和可读性。
指针则是C语言中的难点,通过指针的使用,我们可以直接操作内存,实现高效的数据处理。
实验四:数组和字符串在第四次实验中,我们学习了C语言中的数组和字符串。
数组是一种存储相同类型数据的集合,通过数组,我们可以方便地存储和访问大量数据。
字符串则是字符数组的特殊形式,通过字符串的操作,我们可以实现对文本数据的处理。
实验五:文件操作和结构体在第五次实验中,我们学习了C语言中的文件操作和结构体。
通过文件操作,我们可以读写外部文件,实现数据的持久化存储。
结构体则是一种自定义的数据类型,通过结构体,我们可以将不同类型的数据组合在一起,形成更复杂的数据结构。
实验六:动态内存分配和链表在第六次实验中,我们学习了C语言中的动态内存分配和链表。
动态内存分配通过malloc和free函数,我们可以在程序运行过程中动态地申请和释放内存。
链表则是一种非常重要的数据结构,通过链表,我们可以实现高效的数据存储和操作。
实验七:综合实验在最后一次实验中,我们进行了一次综合实验,将之前学习的知识综合运用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4) a=3 b=7 8.5 71.82Aa
5) 3 7 8.5 71.82Aa
6) a=3 b=7
8.5 71.82
A
a
7) a=3 b=7
8.5 71.82
Aa
8) a=3 b=7
8.5 71.82Aa
通过此题,总结输入数据的规律和容易出错的地方。
内容三:输入以下程序:
#include <stdio.h>
#include <math.h>
int main()
{float p,r,n;
r=0.09;
n=10;
p=pow(1+r,n);
printf("p=%f\n",p);
return 0;
}
1、输入自己编好的程序,编译并运行,分析运行结果。
2、年增长率不在程序中指定,改用scanf函数语句输入,分别输入7%,8%,10%。观察结果。
#include <stdio.h>
int main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
return 0;
}
1、编译和运行程序,注意i,j,m,n各变量的值。
2、将第6,7行改为
m=i++;
n=++j;
6、程序改为:
#include <stdio.h>
int main()
{
int i,j,m=0,n=0;
i=8;
j=10;
m+=i++;n-=--j;
printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);
return 0;
}
再编译和运行,得出来的结果是 。i输出的值是加1之后的值,j输出的是减1之后的值。
scanf(“a=%d,b=%d”,&a,&b);
scanf(“%f%e”,&a,&y);
scanf(“%c%c”,c1,c2) ;
return 0 ;
}
运行时分别按以下方式输入数据,观察输出结果,分析原因
1) a=3,b=7,x=8.5,y=71.82,A,a
2) a=3 b=7 x=8.5 y=71.82 Aa
#include<stdio.h>
Int main()
{char c1,c2;
c1=97;
c2=98;
printf(“%c %c\n”,c1,c2);
printf(“%d %d\n”,c1,c2);
return 0;
}
2、运行以上程序,分析为什么会输出这些信息;
3、如果将程序第4,5行改为:
c1=197;
2、掌握对各种数值型数据的正确输入方法;
3、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用;
4、学会编写和运行简单的应用程序;
5、进一步熟悉C程序的编辑、编译、连接和运行的过程。
实验内容与步骤:
内容一:输入并运行教材第3章第4题给出的程序
实验步骤:
1、输入并运行以下程序:
实验报告
##院####专业2009级2011至2012学年度第1学期
学号:##########姓名:#####2011年9月22日第3~4节综合楼325教室
进入实验室时间
同组者
离开实验室时间
实验项目名称
9:50
11:20
实验二数据类型、运算符和简单的输入输出
实验目的:
1、掌握C语言数据类型,了解字符型数据和整形数据的内在联系;
内容四:假如我国国民生产总值的年增长率为9%,计算10年后我国国民上产总值与现在相比增长多少百分比。计算公式为:p=(1+r)nr为年增长率,n为年数,p为与现在相比的倍数。
解:从附录D可以查到:可以用pow函数求yx的值,调用pow函数的具体形式是pow(x,y)。在使用pow函数时需要在程序的开头用#include指令将<math.h>头文件包含到本程序模块中。可以用下面的程序求出10年后国民生产总值是现在的多少值。
再编译和运行,得出来的结果是 。++i和++j,它在使用之前,先使i的值加1。所以输出的是9,10。
5、再将printf语句改为printf("%d,%d,%d,%d\n",i,j,i++,j++);
再编译和运行,得出来的结果是 。这里输出的i是i的值加1的值i=i+1,9,输出的j是j的值加1的值j=j+1,11.而i++,j++输出的值为加1之前的i,j,所以输出8,10。
{
int i,j;
i=8;
j=10;
printf("%d,%d\n",i++,j++);
return 0;
}
再编译和运行,得出来的结果是 。i++和j++,它在使用之后,先使i的值加1。所以输出的是8,10。
4、在3的基础上,将printf语句改为printf("%d,%d\n",++i,++j);
return 0;
}
实验总结:
1、掌握C语言数据类型,了解字符型数据和整数型数据的内在关系
2、掌握对各种数值型数据的正确输入方法
3、学会使用C的有关算数运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(——)运算符的使用
4、学会编写和运行简单的应用程序
5、进一步熟悉C程序的编辑、编译、连接和运行的过程。
老师批语:
c2=198;
运行时会输出什么信息?为什么?
内容二:输入第3章第5题的程序。
即:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何输出?
#include<stdio.h>
Int main()
{
int a,b;
float x,y;
char c1,c2;
再编译和运行,分析结果。
i++表示在使用i之前,先使i的值加1,++j表示在使用i之前,先使j的值加。所以i,,j输出8+1=9,10+1=11。而m,n输出的是加1之前的8和加1后的11。所以,i,j,m,n输出的分别是9,11,8,11。
3、程序改为
#include <stdio.h>
int main()
#include <stdio.h>
#include <math.h>
int main()
{float p,r;
int n;
printf("please input r&n:\n ");
scanf("%f,%d",&r,&n);
p=pow(1+r,n);
printf("the price of p is %f",p);
#include <stdio.h>
#include <math.h>
int main()
{float p,r;
int n;
scanf("%f,%d",&r,&n);
p=pow(1+r,n);
printf("p=%f\n",p);
return 0;
}
3、在程序中增加printf函数语句,用来提示输入什数据,说明输出的是什么数据。