C语言程序设计

C语言程序设计,第1张

#include <stdioh>

#include <stdlibh>

#include <stringh>

#define MAX_NUM 50

#define MAX_LINE 256

struct student {

    char name[10];

    float math;

    float chinese;

    float eng;

    float aver;

    char  grade;

};

const char  student_file = "studenttxt";

const char  grade_file   = "gradetxt";

int init(struct student  s, int n);

int fun(struct student s[], int n);

void sort(struct student  s, int n);

void display(struct student  s, int n);

void save_student(struct student  s, int n, const char  file);

void load_student(const char  file);

int main(int argc, char argv[])

{

    int num = 0;

    struct student st[MAX_NUM];

    num = init(st, MAX_NUM);

    printf("\n等级为D的人数: %d\n", fun(st, num));

    save_student(st, num, student_file);

    sort(st, num);

    save_student(st, num, grade_file);

    display(st, num);

    printf("\n所有学生信息\n");

    load_student(student_file);

    printf("\n排序后的学生信息\n");

    load_student(grade_file);

    return 0;

}

/ 初始化 /

int init(struct student  s, int n)

{

    int num = 0, i = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    printf("请输入学生数量[不大于50]: ");

    fflush(stdout);

    scanf("%d", &num);

    while (0 >= num || n < num)

    {

        fflush(stdin);

        printf("无效的参数,请输入学生数量[不大于50]: ");

        fflush(stdout);

        scanf("%d", &num);

    }

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

    {

        printf("请输入第%d个学生的信息: ", i + 1);

        fflush(stdout);

        scanf("%9s %f %f %f", s[i]name, &s[i]math, &s[i]chinese, &s[i]eng);

        fflush(stdin);

    }

    return num;

}

/ 计算平均成绩并统计等级为D的人数 /

int fun(struct student s[], int n)

{

    int i = 0, cnt = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

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

    {

        s[i]aver = (s[i]math + s[i]chinese + s[i]eng) / 30;

        if (70 <= s[i]aver && 85 > s[i]aver)

            s[i]grade = 'B';

        else if (60 <= s[i]aver && 70 > s[i]aver)

            s[i]grade = 'C';

        else if (60 > s[i]aver)

            s[i]grade = 'D';

        else

            s[i]grade = 'A';

        if ('D' == s[i]grade)

            ++cnt;

    }

    return cnt;

}

/ 降序排列 /

void sort(struct student  s, int n)

{

    int i = 0, j = 0;

    struct student tmp;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

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

    {

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

        {

            if (s[j]aver < s[j + 1]aver)

            {

                tmp = s[j];

                s[j] = s[j + 1];

                s[j + 1] = tmp;

            }

        }

    }

}

void display(struct student  s, int n)

{

    int i = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    printf("所有学生的信息如下: \n");

    for (i = 0; i != n; ++i)

    {

        printf("%d name[%s] math[%1f] chinese[%1f] eng[%1f] aver[%1f] grade[%c]\n",

               i + 1, s[i]name, s[i]math, s[i]chinese, s[i]eng, s[i]aver, s[i]grade);

    }

}

/ 保存学生信息到指定文件 /

void save_student(struct student  s, int n, const char  file)

{

    int i = 0;

    FILE  fp = 0;

    char buf[MAX_LINE] = {0};

    if (0 == s || 0 >= n || MAX_NUM < n || 0 == file)

        return 0;

    if (fp = fopen(file, "w"))

    {

        for (i = 0; i != n; ++i)

        {

            sprintf(buf, "%s %1f %1f %1f %1f %c\r\n",

                    s[i]name, s[i]math, s[i]chinese, s[i]eng, s[i]aver, s[i]grade);

            fwrite(buf, 1, strlen(buf), fp);

            memset(buf, 0x00, MAX_LINE);

        }

        fclose(fp);

    }

}

/ 加载指定文件中的信息 /

void load_student(const char  file)

{

    char buf[MAX_LINE] = {0};

    FILE  fp = 0;

    if (0 == file)

        return ;

    if (fp = fopen(file, "r"))

    {

        while (fgets(buf, MAX_LINE, fp))

            printf("%s", buf);

        fclose(fp);

    }

}

什么是C语言?C语言的简介。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

语言特点:C是中级语言/C是结构式语言/C语言功能齐全/C语言适用范围大/简洁紧凑、灵活方便/运算符丰富/数据类型丰富/C是结构式语言/语法限制不太严格,程序设计自由度大/适用范围大,可移植性好。

11 C语言的特点

C语言是近年来非常流行的语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言,其原因是C语言有优于其他语言的一系列特点。下面是C语言的主要特点:

(1)语言简洁、紧凑,并且使用方便、灵活;

(2)运算符丰富;

(3)数据结构丰富;

(4)具有结构化的控制语句;

(5)语法限制不太严格,使程序设计比较自由;

(6)C语言允许用户直接访问物理地址,能进行位(bit) *** 作,可以直接对硬件进行 *** 作。

12 源程序的书写规则

C语言的书写规则。C语言书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。C程序没有行号,每个语句和数据定义的最后必须有一个分号。C语言中分号是语句中不可少的,即使是程序中的最后一个语句也应该包含分号。C语言中的注释可以用〃/〃用〃/〃结束,注释可以在任何允许插入空格符地方插入。C语言中注释不允许嵌套,注释可以用西文,也可以用中文。

13 C语言的风格

由于C语言对语法限制不太严格,为了保证程序的准确性和可读性,建议在书写程序采用阶梯缩进格式。也就是按如下格式书写C语言程序:

;

()

{

;

;

{

;

……

}

;

}

概括起来,C语言程序具有如下的风格:

①C语言程序的函数具体模块结构风格,使得程序整体结构清晰、层次清楚,为模块化程序设计提供了强有力的支持。

②C语言的源程序的扩展名都是C。

③C语言中的注释格式为:

/注释内容/

/与之间不允许有空格,注释部分允许出现在程序中的任何位置。

④C语言中的所有语句都必须以分号“;”结束。

以上就是关于C语言程序设计全部的内容,包括:C语言程序设计、什么是C语言程序设计、C语言程序设计基础概念等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/zz/9844169.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存