# include<stdio.h>
int main()
{
int i,m=0
for(i=2i<=100i+=2) m=m+i
printf("%d\n",m)
return 0
}
或
#include
int
main()
{
int
i,sum=0
for(i=1i<=50i++)
{
sum=sum+2*i
}
printf("2+4+6+…+98+100=%d\n",sum)
return
0
}
扩展资料:
C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子”,只要将数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
参考资料来源:百度百科-C语言
c语言的源程序语法结构如下:#include<stdio.h>//预处理语句
/* 自定义函数1*/
/* 自定义函数2*/
int main()
{
//main()主函数执行调用以上定义的函数的顺序
return 0//执行完毕 退出
}
示例如下:
#include <stdio.h>
int main()
{
printf("welcome to c language!!!\n")
return 0
}
读写文件流程: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:\\rank.dat"
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<maxLenprintf("%d ",nums[i]),i++)
printf("\n")
}
int px(int *nums,int flag)
{
int i,j,n,temp
if(!nums) return -1
for(i=0i<maxLen-1i++)
{
n=i
for(j=i+1j<maxLenj++)
{
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=0i<maxLeni++)
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
}