c语言编程,c语言编程网站
各位老铁们,大家好,今天由我来为大家分享c语言编程,以及c语言编程网站的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
C语言编程的一般步骤有哪些
首先明确要解决的问题;
其次分析问题并选择想要利用的算法,或者自己想一个的算法;
画流程图,明确解决问题过程中的逻辑关系和时序关系;
然后才是上机编写代码;
之后是debug调试,基本就可以执行了。
具体就上机编写代码来讲,首先需要打开C++的开发环境,然后新建一个工程;
然后新建一个文件(如果是VC6.0就可以继续写了,如果是VS20**的话就需要在文件菜单中选择将文件移入工程);
在文件中写入代码,然后就可以编译运行了。
具体代码的格式来讲,首先应该引用头文件#include<"头文件名(不带.h)">,然后在所有头文件引入之后加一行using namespace std;后面可以写函数了,具体就看你自己的发挥了~
用c语言编程
程序就是读取文件到数组,再将数组进行排序,最后写入文件。
读写文件流程:fopen获取文件流(根据读写需求,选择参数,使用完必须调用fclose函数关闭),fscanf读取文件内容,fseek控制文件流指针,fprintf写入文件。
选择排序:每个循环周期选出一个最值,交换一次。
下面是代码(数组为动态数组):
#include<stdio.h>
#include<malloc.h>
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:\\000.dat",wPath[]="c:\
ank.dat";
if(!(nums=read2Nums(rPath))) return 1;
showNums(nums);
printf("数组升序排列:
");
if(px(nums,1)==-1) return 1;
showNums(nums);
printf("数组降序排列:
");
if(px(nums,0)==-1) return 1;
showNums(nums);
printf("写入到文件路径%s下(存在覆盖,不存在新建)
",wPath);
if(write2File(nums,wPath)==-1) return 1;
printf("写入成功!
");
return 0;
}
void showNums(int*nums)
{
int i;
if(nums) for(i=0,printf("文件内容:
");i<maxLen;printf("%d",nums[i]),i++);
printf("
");
}
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;
}
c语言编程怎样入门
一、工欲善其事,必先利其器
这里介绍几个学习C语言必备的装置和书籍:
A)开发环境
例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个平台虽然体积大,但是一旦安装好了,用起来很方便。
B)一本学习教程
现在C语言教材多如牛毛,推荐大家使用《C语言程序设计》第二版。此书很适合初学者,并且内容也很精到。
C)利用辅助学习软件
毕竟现在是Windows时代了,学习软件多如牛毛,这里向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,有好几千题的题库测试环境,包括一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。
二、葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。我们大家都应该有个体验——在最初学习windows系统操作或Microsoft words如果操作的过程中,刚开始总是正儿八经地买来教材,结果读来读去却云里雾里,而当我们将教材丢在一边,拿起鼠标反复地试,几个小时就搞定。包括学习J#,C#等其他语言,在今天的Windows时代,也不再提倡抱着书本逐行啃,而是学习它们的例程。
当然,对于没有学过任何计算机语言的初学者,多少要先阅读教程,认真体会所有概念,然后不放过这一章中提到的所有例程,仔细研读,直到每一行都理解了,再找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序。如果写不出来,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止。
三、登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些I/O函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:
你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,那么恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。
文章到此结束,如果本次分享的c语言编程和c语言编程网站的问题解决了您的问题,那么我们由衷的感到高兴!