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=3
2.(1)补全下面的程序,程序的功能是求一位数组的中最小元素的值及其所在的下标号。 #include stdio.h main() {
int i,a[10],min,index;
(1) for(i=0;i10;i++) /*利用一充循环给数组a赋值*/ scanf(“%d”, (2)a[i] ); for(i=0, (3)min-a[0] ;i10;i++) /*求数组a中的最小值min及其对应的下标index*/ if(mina[i]){ (4)min=a[i];index=i; } printf(min=%d,index=%d\n,min,index); }
#includestdio.h void main() {
int i,j,b[3][4],max,row=0,col=0; for(i=0;i=2;i++)for(j=0;j=3;j++) b[i][j] = 0;
printf(请输入一个三行四列的矩阵:\n);for(i=0;i=2;i++) for(j=0;j=3;j++) {
scanf(%d,b[i][j]); }
max = b[0][0]; for(i=0;i=2;i++)for(j=0;j=3;j++) if(max b[i][j]) {
max = b[i][j]; row = i;
col = j; }
printf(最大的元素max=%d,在第 %d 行第 %d 列\n,max,row+1,col+1); return 0; }
3.有下面一个矩阵:
10 15 4 1 23 13 8 7 248 1 22 96 5
编写程序,要求完成以下功能:
(1) 分别求该矩阵的主次对角线元素之和。 (2) 求该矩阵的周边元素之和。
(3) 求该矩阵主对角线及其上方元素之和。
#includestdio.h
void main() {
int a[4][4]; int i,j;
int sum1=0;//主次对角线之和 int sum2=0;
int sum3=0;//周边元素之和
int sum4=0;//主对角线及其下方的元素之和。 for(i=0;i4;i++)for(j=0;j4;j++)
scanf(%d,a[i][j]); for(i=0;i4;i++)for(j=0;j4;j++) if(i==j||i+j==3)
sum1+=a[i][j]; for(i=0;i4;i++)for(j=0;j4;j++) sum2+=a[i][j];
sum3+=sum2-a[1][1]-a[1][2]-a[2][1]-a[2][2]; for(i=0;i4;i++)for(j=0;j4;j++) if(i=j)
sum4+=a[i][j];
printf(%d %d %d\n,sum1,sum3,sum4); }
4.有两个字符串s1和s2,编程将s1串中出现的和s2串中相同的字符删掉,输出新的字符串s1。
#includestdio.h #includestring.h main()
{int i,j,p;
char s1[80],s2[80]; gets(s1); gets(s2);
for(i=0;istrlen(s1);i++) for(j=0;jstrlen(s2);j++)if(s2[j]==s1[i])
for(p=i;pstrlen(s1);p++) { s1[p]=s1[p+1];
puts(s1);} puts(s1);}
【篇二:c语言学习心得体会】
c语言学习心得体会
c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的
windows,unix,linux,mac,os/2,无一例外,哪一个不是c语言写的?很多新型的语言如,c++,java,c#,j#,perl... 都是衍生自c语言。掌握了c语言,可以说你就掌握了很多门语言。因此,c语言的学习对我们尤其重要。 在这之前,我已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,而且由于时间间隔的关系,对里面的好多东西还是很陌生的,在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序这门课一个月了,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以对于我这个现在专攻软件专业的学生来说当然十分重要,老师在第一见面时说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个月的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。 在学习一月c语言的过程中,我也在慢慢探索怎样才能学好c语言,并总结了一点经验:
要了解c语言就要从语法基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。
这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说if else 和 switch case 这两种条件语句都是用来判断执行功能的,那我要什么时侯用if 什么时侯用 switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。因为如果条件分支太多时要用if语句,这样一定会出现if的嵌套,如果if的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而switch就不同,它只要比较一次就可以找出条件的结果比起嵌套if它的效率就大大的提高了很多。不过switch也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用if语句,毕竟if语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。
后期的重点要转移到掌握编程的思路和基本算法上来。多做习题,找一些经典例子尝试自己编写,写程序切忌半途而费,想到一个思路,就要按自己思路把它写完,就算错了,也可以让自己了解为什么这样做会错?错在哪里?会出什么结果?以后自己也很难在这个地方犯同样的错误。当学到一个新的知识点,就试着把它运用到以前做的习题上,不但巩固了以前学的内容,也更加能加强新知识的理解。
下面是对c语言中有许多重要知识的总结:
1、一些基本的函数和基本数据类型的应用。其中,基本数据类型分为整型、浮点型、字符型、枚举类型。基本函数包括输入输出函数。
2、把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算。
3、在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程。
4、要分清楚各个变量的生存期和作用域,不能发生混淆,以致发生错误。
5、数组和指针是c语言的经典之处,可以通用,并且互相转换,具有非常强大的功能,但是使用不当的话,会造成程序出错,打乱原有程序的规律,使可读性明显变差。
6、结构体也是常用的一种数据类型,它的功能也比较强大,相对于指针而言,结构体掌握起来比较容易理解和使用。
7、对于文件的操作是非常关键的,把输入的数据保存起来,下次还能够使用,这才是关键问题。所以对文件操作是否成功,使程序是否编制成功的重要因素。
这次学习中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。
想学好c语言,交流是必须的,很多细节的错误或者算法上的小瑕疵往往是当局者迷旁观者清,这时候果断与身边人进行交流是明智的选择。而且在学习的过程中,几位学员之间相互交流学习心得可以快速学习,事半功倍。
学习c语言就是要经过上机上机再上机,交流交流再交流。才能前后融会贯通,积累所应该掌握的知识。c语言是这样,其他语言也是这样,从基本抓起,多动手,多动脑,不懂就问,注意平时积累。
总之,通过c语言的学习,使我对计算机语言有了一些初步的认识和理解,使我对计算机语言不再像以前一样一无所知,认为那是高不可攀的、十分难以理解、一般人学不会的东西了。我认为只要学习方法掌握好,再加上刻苦的练习,是完全有可能学好任何一门计算机语言的。最后用一句话表明在学习c语言过程中的感受,那就是“痛苦并快乐着。”
【篇三:c语言实验报告】
学 生 实 验 报 告 册 课程名称:
学生学号:
所属院部:
(理工类)
c语言程序设计 专业班级:13电气工程及其自动化 1304102013 学生姓名: 孙健机电工程学院 指导教师: 胡盈盈 20 13 ——20 14 学年 第 二 学期
金陵科技学院教务处制
实验报告书写要求
实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。
实验报告书写说明
实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。
实验项目名称:初级程序设计 实验学时:6
a206 实验日期: 4.10---4.24 实验成绩: 批改教师: 胡盈盈批改时间:
实验1 初级程序设计
一、实验目的和要求
(1)熟悉visual c++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试;
(2)掌握c语言中各种运算符的使用;
(3)掌握c语言中各种数据类型的区别与应用;
(4)熟练掌握c语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用;
(5)掌握c语言中输入/输出函数的使用;
(6)掌握c语言中控制语句的使用,含if-else、for、while、do-while语句的使用。
二、实验仪器和设备
奔腾以上计算机,装有windows xp以上版本操作系统和visual c++ 6.0软件。
三、实验内容与过程
1、程序调试
(1)#include stdio.h
main()
{ int s,t,p,sum;
scanf(“%d%d%d”,s,t,p);
sum=s+t+p;
printf(“sum=%d\n”,sum);
}
(2)#include stdio.h
main()
{ int k=3;
if(k=3)printf(“***”);
elseprintf(“###”);
}
(3)#include stdio.h
main()
{int k=0;
do
{ printf(“k=%d\n”,k);
}while(k++0);
}
2、程序改错
下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格),调试并改进如下程序使其能满足上述输出的需要。
#include stdio.h
main()
{ char mark=“a”;
switch(mark)
{ case “a”:
case “b”:
case “c”: printf(“=60\n”);
case “d”: printf(“60\n”);
default: printf(“error\n”);
}
}
3、程序设计
(1)功能:编程实现使实型正数保留2位小数,并对第三位进行四舍五入。
例如:实型数为 1234.567,则函数返回 1234.570000;
实型数为 1234.564,则函数返回 1234.560000。
(2)功能:从键盘输入一个大写字母,要求改用小写字母输出。
(3)功能:编写函数计算下列分段函数的值:
?x2?x?6x?0且x?-3?2f(x)??x?5x?60?x?10且x?2且x?3
?x2?x?1其它?
(4)功能:判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。x的值由主函数从键盘读入,要求不大于100。
说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。
例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。
(5)功能:功能:计算正整数n的所有因子(1和n除外)之和并输出。n的值由键盘输入。 例如:n=120时,输出239。
(6)功能:计算并输出下列多项式的值 s = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n!例如:键盘给n输入15,则输出为:s=2.718282。
注意:要求n的值大于1但不大于100。
(7)功能:从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:7531。
4、思考题
(1)功能:判断一个三位数是否水仙花数。在main函数中从键盘输入一个三位数,并输出判断结果。
说明:所谓水仙花数是指一3位数,其各位数字立方和等于该数本身。
例如:153是一个水仙花数,因为153=1+125+27。
(2)功能:计算并输出3到n之间所有素数的平方根之和。
本文来源:https://www.2haoxitong.net/k/doc/e606da06b8d528ea81c758f5f61fb7360b4c2b9e.html
文档为doc格式