林枫 さんのプロフィール思考&沉默!フォトブログリストその他 ツール ヘルプ

ブログ


高级语言课程设计实习心得

在刚过去的一周的C语言程序设计实习中,我通过上机实践,领悟到了很多以前不知道的东西,可以说是受益匪浅。虽然时间不是很长,但是还是有不少长进,这不仅是局限在程序设计的功能实现上,更多的是对程序设计的技巧的追求上。

实习要求从给定的二十个题目中选择七道题目完成。需要写出自己的分析过程,算法,以及程序的流程图。在以前,虽然自己也经常编程,但是都是看着题目直接写程序,分析是在一开始有一个模糊的认识,至于算法,更是没有认真考虑过,都是抄起键盘就输代码,边写边改,最后让功能可以实现就行了。流程图我以前也没有画过。总之,以前写程序是一点儿也不讲究科学的方法。在这次实习的要求下,让我有了改正自己错误的压力。在按照要求完成了课程设计任务后,感觉自己进步不少。

在一周的设计中,我对自己的程序有了更高的要求。比如对于算法的设计,总在想法提高自己程序的质量。我明白了程序的好坏是看解决相同的问题,哪个算法越节省内存、越节省时间。于是我把自己的程序来回琢磨了好多次,有的程序被我从一百多行改到了四十多行,然而却比以前的更好。

实习中,我对程序的细节也有了更深入与仔细的考虑,对于在编译过程中,遇到的错误以及警告一定寻根究底,看看究竟后面发生了什么事情。有不懂的问题及时的与老师交流,或者在网络社区向高手请教。在这样的一个学习过程中,自己的认识和水平也的确提高了不少。

这次实习太短暂了,以至于这么快就结束了。似乎还有好多工作没有做。自己现在学到的只是一点皮毛,在以后的学习中,一定要刻苦钻研,深入并广泛的学习。这个领域更新换代非常快速,自己一定要锻炼自己的自学能力,并且能够与时俱进,掌握最新的技术。

最后,在这里感谢指导老师对我的点拨。在一周的时间内,两位老师都非常认真,负责。对我们给予了很多帮助。在此表示深深的谢意!

数制转换程序

#include "stdio.h"
static int i;
static char d[100];
void convert(long data,int mode)
{
    int m;
    m=data%mode;
    data=data/mode;
    if(m>=10)
        d[i]=m+65-10;
    else
        d[i]=m+48;
    if(data<mode)
        {
            if(data>=10)
                d[++i]=data+65-10;
            else if(data!=0)
                d[++i]=data+48;
        }
    else
    {
        i++;
        convert(data,mode);
    }
    if(i>=0)
    {
        printf("%d mode:\n",mode);
        for(;i>=0;i--)
            printf("%c",d[i]);
        printf("\n");
    }
}
void main()
{
     long da;
     printf("Please enter the number you want convert:\n");
     scanf("%ld",&da);
     i=0;
     convert(da,2);
     i=0;
     convert(da,8);
     i=0;
     convert(da,16);
}

用C语言求平均成绩并输出到文件

#include "stdio.h"
struct student
{
  int id;
  char name[20];
  float chinese,math,english,average;
};
void main()
{
  FILE *fp;
  int i;
  float x;
  struct student stu[5];
  if((fp=fopen("D:\\stuINFO.txt","a"))==NULL)
  {
    printf("Cannot create this file!\n");
    exit(0);
  }
  else
   printf("Create this file successfully!\n");
  printf("Please enter student score:\n");
  for(i=0;i<5;i++)
  {
   scanf("%d",&stu[i].id);
   scanf("%s",&stu[i].name);
   scanf("%f",&x);
   stu[i].chinese=x;
   scanf("%f",&x);
   stu[i].math=x;
   scanf("%f",&x);
   stu[i].english=x;
   stu[i].average=(stu[i].chinese+stu[i].math+stu[i].english)/3;
  }
   printf("ID\tName\t\tChinese\t\tMath\t\tEnglish\t\tAverage\n");
   fprintf(fp,"ID\tName\t\tChinese\t\tMath\t\tEnglish\t\tAverage\n");
  for(i=0;i<5;i++)
  {
   printf("%d\t%s\t\t%.1f\t\t%.1f\t\t%.1f\t\t%.1f\n",stu[i].id,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].average);
   fprintf(fp,"%d\t%s\t\t%.1f\t\t%.1f\t\t%.1f\t\t%.1f\n",stu[i].id,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].average);
  }
  fprintf(fp,"\n\n");
if((fclose(fp))!=EOF)
    printf("Close this file successfully!\n");
   else
   {
    printf("Close this file error!\n");
    exit(0);
   }
}