C001 C语言随笔 #C语言在Dev C++、dos命令行和Linux系统下的运行#

这篇博客详细介绍了如何在Dev C++、DOS命令行和Linux环境下编译运行C语言程序。从新建、输入、编译到运行,逐一阐述了每个步骤,并对比了不同平台的便利性和效率。在Dev C++中,通过鼠标或快捷键即可方便地编译和运行;而在DOS和Linux中,虽然需要手动输入命令,但能直接看到编译错误信息。

一、Dev C++

1、新建

新建文件

2、输入&编译

图片中的数字:
1:编译
2:运行
3:编译运行
编译

3、运行

运行成功

二、Dos命令行

1、配置环境变量(已安装Dev C++)

环境变量配置

2、dos命令行下进入文件位置(cd 文件路径)

3、编译(gcc hello.c)

4、运行(a.exe)

好的,以下是一个简单的学生选课系统的 C 语言代码示例,仅供参考: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> // 定义课程结构体 typedef struct Course { char id[10]; char name[20]; char teacher[20]; int credit; int capacity; char** students; } Course; // 定义学生结构体 typedef struct Student { char id[10]; char name[20]; int grade; char** courses; } Student; // 课程添加学生 int add_student(Course* course, char* student_id) { if (course->capacity > 0) { // 分配内存空间 course->students = (char**)realloc(course->students, (course->capacity + 1) * sizeof(char*)); course->students[course->capacity] = (char*)malloc(10 * sizeof(char)); // 复制学生 ID strcpy(course->students[course->capacity], student_id); course->capacity--; return 1; } else { return 0; } } // 课程移除学生 int remove_student(Course* course, char* student_id) { for (int i = 0; i < course->capacity; i++) { if (strcmp(course->students[i], student_id) == 0) { // 释放内存空间 free(course->students[i]); // 移动数组元素 for (int j = i; j < course->capacity; j++) { course->students[j] = course->students[j + 1]; } // 重新分配内存空间 course->students = (char**)realloc(course->students, (course->capacity - 1) * sizeof(char*)); course->capacity++; return 1; } } return 0; } // 输出课程信息 void print_course(Course course) { printf("Course ID: %s, Name: %s, Teacher: %s, Credit: %d, Capacity: %d, Students: ", course.id, course.name, course.teacher, course.credit, course.capacity); for (int i = 0; i < course.capacity; i++) { printf("%s ", course.students[i]); } printf("\n"); } // 输出学生信息 void print_student(Student student) { printf("Student ID: %s, Name: %s, Grade: %d, Courses: ", student.id, student.name, student.grade); for (int i = 0; i < student.grade; i++) { printf("%s ", student.courses[i]); } printf("\n"); } int main() { // 定义课程学生对象 Course course1 = {"C001", "Math", "Tom", 2, 3, NULL}; Course course2 = {"C002", "English", "Mary", 3, 2, NULL}; Student student1 = {"S001", "John", 3, NULL}; Student student2 = {"S002", "Lucy", 2, NULL}; // 学生选课 add_student(&course1, student1.id); add_student(&course2, student1.id); add_student(&course1, student2.id); // 输出课程学生信息 print_course(course1); print_course(course2); print_student(student1); print_student(student2); // 学生退课 remove_student(&course2, student1.id); // 输出课程学生信息 print_course(course1); print_course(course2); print_student(student1); print_student(student2); return 0; } ``` 这个示例实现了一个简单的学生选课系统,包括课程结构体学生结构体的定义,以及选课退课的功能。注意,这个示例只是一个基础的实现,实际的学生选课系统需要根据实际需求进行设计开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leidl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值