c语言怎么开始编程?

州科信息网 2023-03-30 10:41 编辑:admin 282阅读

一、c语言怎么开始编程?

c语言需要下载编译的环境,再通过不断的训练获得对功能实现的能力,最终完整地完成一个任务。

二、c语言怎么编写?

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

char fun(char *a,char *b)

{

char *t;

strcpy(t,a);

strcpy(a,b);

strcpy(b,t);

}

struct st{

char a[6][20];

};

int main()

{

struct st s[111];

int n,x[111],k=0,ts,sum=0;

scanf(%d,&n);

printf(学号 姓名 数学 物理 英语 计算机\n);

for(int i=0;i<n;i++)

{

sum=0;

for(int j=0;j<6;j++)

{

scanf(%s,s[i].a[j]);

if(j!=0&&j!=1)

{

sum+=atoi(s[i].a[j]);

}

}

x[k++]=sum/3;

}

for(int i=0;i<k;i++)

{

for(int j=0;j<k-i-1;j++)

{

if(x[j]>x[j+1])

{

ts=x[j];

x[j]=x[j+1];

x[j+1]=ts;

for(int l=0;l<6;l++)

fun(s[j].a[l],s[j+1].a[l]);

}

}

}

printf(学号    姓名    数学    物理    英语    计算机     平均成绩\n);

for(int i=0;i<n;i++) 

{

for(int j=0;j<6;j++)

{

printf(%s,s[i].a[j]);

for(int k=0;k<8-strlen(s[i].a[j]);k++)

printf( );

}

printf(%8d\n,x[i]);

}

return 0;

}

1、编辑,把程序代码输入,交给计算机。

2、编译。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段,词法分析、语法分析、语义检查、中间代码生成、代码优化、目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

3、链接。链接是将编译产生的文件和系统库连接装配成一个可以执行的程序。各类源程序都需要先各自编译成目标程序文件,再通过链接程序将这些目标程序文件连接装配成可执行文件。

4、运行,可执行程序文件。

1.打开Dev软件,点击“文件”,选择新建源程序。

2.这是每个C语言程序都要编写的框架。

3.printf(Hello World!);输入Hello World!

4.点击“编译运行”。

5.选择保存程序的位置,不保存无法运行。

您好。您可以下载VC++2010,学习版,或者是DW有的版本也支持编写C语言程序和C++程序。然后看着书,打开界面直接输入代码,编译连接执行就可以了

三、用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:\\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<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;

}

指定完成完成排序完成以件当中有记得关闭要求写要,按照他题目的要求打开指定的文件,然后把数据读入到一个一为数组中,然后对这个一为输出进行排序排序完成,以后再按照要求写入指定的文件当中,要记得关闭文件