c语言指针实验报告 c语言指针总结心得
本篇文章给大家谈谈c语言指针实验报告,以及c语言指针总结心得对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
C语言实验报告
我写了个,不知道行不,有什么不妥的请指出哈,如要格式请加我,将之发给你
四川大学计算机学院、软件学院
实验报告
学号:姓名:专业:计算机科学与技术班级:5第 13周
课程名称 c/C++实验课时 2
实验项目字符串的复制与追加实验时间 08.5. 16
实验目的 1.掌握字符串的基本操作和理解数据结构
实验环境 VC 6.0
实验内容(算法、程序、步骤和方法)先计算出S1和S2的字符个数,为S3分配好空间,利用已有库函数先将S1复制到S3中,再将S2追加到S3中,当显示完后要记住收回空间,做好善后处理。
源代码如下:
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char*s1="abcdef";
char*s2="123456f";
int n=strlen(s1)+strlen(s2);//计算s1,和s2的总长度n
char*s3=new char[n+1];//定义S3并分配空间大小为n
strcpy(s3,s1);//将s1复制到s3中
strcat(s3,s2);//将s2追加到s3后面
cout<<"s3="<<s3<<endl;
delete []s3;//收回空间
s3=NULL;//将指针指向空
return 0;
}
(接上)
实验内容(算法、程序、步骤和方法)
结构是顺序存储结构,算法顺序链接法
数据记录
和计算数据有:字符串S1,S2;和一未知字符串S3
只需计算前两个字符串长度之和
结论
(结果)利用字符数组可以顺序存储字符数据,并且能够顺序处理数据;
算法复杂度O(n+m);处于中性
小结字符数组能够带来很好的存储结构,便于操作,但是算法不是很好,只能顺序遍历数组,故复杂度不是很小
指导老师评议
成绩评定:指导教师签名:
c语言程序设计实验报告内容
1、实验名称:计算出1000以内10个最大素数之和。
2、实验目的:熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
3、实验内容:计算并输出1000以内最大的10个素数以及它们的和。
4、要求:在程序内部加必要的注释。由于偶数不是素数,可以不考虑对偶数的处理。虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。输出形式为:素数1+素数2+素数3+…+素数10=总和值。
5、算法描述流程:Main函数:判断素数:
6、测试数据:分别输入1000、100、10测试。
7、运行结果:出现问题及解决方法:当素数个数小于10时的处理不够完善,考虑不够周全。学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记。
8、编程思想不够发散,例如如何判断素数,只能想出2种方式(其中1种为参考教科书上内容);在今后学习中应更多的动脑,综合运用所学。
9、基本功不够,如清屏clrscr()等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后C语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。
10、物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板
11、知识不够广泛,如VC++6.0等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。
12、实验心得:通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢高克宁老师的高标准、严要求,感谢实验课上小老师们的耐心指点,也感谢我在实验中经历过的点点滴滴……伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言,我会更加努力。
C语言程序设计实验报告
1,若程序定义为三行三列的矩阵,并在主函数中键盘赋值。请编写函数juzhen(int a[][3],int n),函数功能是:使矩阵左下角元素中的值乘以.例如:若矩阵中的值为:
1 9 7
2 3 8
4 5 6
n=3,则矩阵值变为:
1 9 7
6 9 8
12 15 18
注:二维数组下三角元素每行最后元素的列标和该列的列号一致
源程序如下:
#include<stdio.h>
int juzhen(int a[][3],int n)
{
int i,j;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)
a[i][j]=a[i][j]*n;
}
main()
{
int i,j,a[3][3],m;
clrscr();
printf("please enter 9 numbers:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("the old ju zhen is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
printf("please enter a int number:\n");
scanf("%d",&m);
juzhen(a,m);
printf("the new ju zhen is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
2,请编写函数juzhen,该函数的功能是:将三行四列矩阵x乘以四行三列矩阵y,结果放在三行三列矩阵中。矩阵相乘的基本方法是:矩阵Xy中行列下标分别为i,j的元素的值,是矩阵X中第i行上四个元素与矩阵Y中第j列上四个元素对应相乘的积。
#include<conio.h>
#include<stdio.h>
void juzhen(int a[3][4],int b[4][3],int ab[3][3])
{
int i,j,z;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
for(z=0;z<3;z++)
ab[i][z]=ab[i][z]+a[i][j]*b[j][z];/*此得为要填写的内容*/
}
main()
{
int x[3][4]={1,0,1,1,2,1,0,1,1,2,0,3};
int y[4][3]={1,1,1,0,0,0,2,1,1,1,1,3};
int xy[3][3]={0},i,j;
clrscr();
juzhen(x,y,xy);
printf("x ju zhen is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%3d",x[i][j]);
printf("\n");
}
printf("y ju zhen is:\n");
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("%3d",y[i][j]);
printf("\n");
}
printf("xy ju zhen is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",xy[i][j]);
printf("\n");
}
}
如果你还想了解更多这方面的信息,记得收藏关注本站。