应用c语言编写程序

应用c语言编写程序,第1张

c语言编译程序属于系统软件。

编译程序(Compiler,compilingprogram)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。

这里的编译程序是一种动作,是根据编译原理技术,由高级程序设计语言编译器翻译成机器语言二进制代码行为,因此它是系统软件。

扩展资料:

应用软件:是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问版题而设计的程序的集合,供多用户使用。比如浏览器、权百度云管家等等都是应用软件。

工具软件:是指在使用电脑进行工作和学习时经常使用的软件,比如电脑管家等杀毒软件,一般工具软件都属于应用软件。

程序就是读取文件数组,再将数组进行排序,最后写入文件。

读写文件流程:fopen获取文件流(根据读写需求,选择参数,使用完必须调用fclose函数关闭),fscanf读取文件内容,fseek控制文件流指针,fprintf写入文件。

选择排序:每个循环周期选出一个最值,交换一次。

下面是代码(数组为动态数组):

#include <stdioh>

#include <malloch>

int maxLen;//数组长度

int read2Nums(char path[]);//读取

int write2File(int nums,char path[]);//写入

void showNums(int nums);

int px(int nums,int flag);//选择排序flag=1升序,flag=0降序

int main()

{

  int nums=NULL;

  char rPath[]="c:\\000dat",wPath[]="c:\\rankdat";

  if(!(nums=read2Nums(rPath))) return 1;

  showNums(nums);

  printf("数组升序排列:\n");

  if(px(nums,1)==-1) return 1;

  showNums(nums);

  printf("数组降序排列:\n");

  if(px(nums,0)==-1) return 1;

  showNums(nums);

  printf("写入到文件路径%s下(存在覆盖,不存在新建)\n",wPath);

  if(write2File(nums,wPath)==-1) return 1;

  printf("写入成功!\n");

  return 0;

}

void showNums(int nums)

{

  int i;

  if(nums) for(i=0,printf("文件内容:\n");i<maxLen;printf("%d ",nums[i]),i++);

  printf("\n");

}

int px(int nums,int flag)

{

  int i,j,n,temp;

  if(!nums) return -1;

  for(i=0;i<maxLen-1;i++)

  {

      n=i;

      for(j=i+1;j<maxLen;j++)

      {

          if(flag && nums[n]>nums[j]) n=j;

          if(!flag && nums[n]<nums[j]) n=j;

      }

      temp=nums[i],nums[i]=nums[n],nums[n]=temp;

  }

  return 1;

}

int write2File(int nums,char path[])

{

  int i;

  FILE fp=NULL;

  if(!nums) return -1;

  if(!(fp=fopen(path,"w"))) return -1;

  //fseek(fp,SEEK_END);

  for(i=0;i<maxLen;i++)

      fprintf(fp,"%d ",nums[i]);

  fclose(fp);

  return 1;

}

int read2Nums(char path[])

{

  int nums=NULL,temp=NULL,cnt=0;

  FILE fp=NULL;

  maxLen=10;

  if(!(fp=fopen(path,"r"))) return NULL;

  nums=(int )malloc(sizeof(int)maxLen);

  if(!nums) return NULL;

  while(fscanf(fp,"%d",&nums[cnt++])!=-1)

      if(cnt==maxLen)//数组长度不够扩展(每次扩展10长度)

      {

          maxLen=maxLen+10;

          temp=(int )realloc(nums,sizeof(int)maxLen);

          if(temp) return NULL;

          nums=temp;

      }

  if(--cnt<maxLen)//函数结束前,删除多余地址,减少内存占用

  {

      maxLen=cnt;

      temp=(int )realloc(nums,sizeof(int)maxLen);

      if(!temp) return NULL;

      nums=temp;

  }

  fclose(fp);

  return nums;

}

4个步骤

1、问题分析与算法设计。算法是一组明确的解决问题的步骤,它产生的结果并可在有限时间内终止。可以用多种方式来描述算法包括自然语言,伪代码或流程图;

2、编辑程序。当确定了解决问题的步骤后,就可以开始编写程序了。一般是在编程的环境中,应用其中的编辑功能直接来编写程序,生成源程序(对C语言来说,一般源程序的后缀为c);

3、编译。当编辑好程序后,下一步就是应用该语言程序的编译程序对其进行编译,以生成二进制代码表示的目标程序(一个二进制文件,文件后缀为obj)。该目标程序需要与编程环境提供的库函数进行连接,形成可执行的程序(文件后缀为exe)。当然,如果程序有语法错误,编译程序就会指出该语法错误所在,而不生成二进制代码;

4、运行与调试。当程序生成执行文件后,就可以在编程环境或 *** 作系统环境中运行该程序。如果程序有语义错误(逻辑错误)就需要进行调试,方法是:设置断点并观察变量。

以上就是关于应用c语言编写程序全部的内容,包括:应用c语言编写程序、用C语言编写程序、简述开发一个c语言程序的步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10622415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存