第一部分:C语言基础入门
1.1 变量和数据类型
在C语言中,变量是存储数据的地方,而数据类型定义了变量的存储方式和所占用的内存大小。以下是一些常用的数据类型:
int age = 18; // 整型
float salary = 5000.5; // 单精度浮点型
char grade = 'A'; // 字符型
1.2 运算符
C语言中的运算符用于执行数学、逻辑或比较操作。以下是一些常见的运算符:
int a = 10, b = 5;
int sum = a + b; // 加法
int difference = a - b; // 减法
1.3 控制语句
控制语句用于控制程序的执行流程。以下是一些基本的控制语句:
if (age >= 18) {
printf("You are an adult.\n");
}
for (int i = 1; i <= 5; i++) {
printf("Counting: %d\n", i);
}
第二部分:C语言进阶实例
2.1 结构体
结构体用于将不同类型的数据组合成一个单一的数据类型。以下是一个简单的结构体示例:
struct Student {
char name[50];
int age;
float score;
};
struct Student student1 = {"Alice", 20, 92.5};
2.2 函数
函数是C语言中的核心概念之一,用于组织代码并提高代码的重用性。以下是一个简单的函数示例:
#include <stdio.h>
void printMessage() {
printf("Hello, World!\n");
}
int main() {
printMessage();
return 0;
}
2.3 文件操作
C语言提供了丰富的文件操作功能,以下是一个简单的文件写入示例:
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
printf("Error opening file.\n");
return 1;
}
fprintf(file, "This is a sample text.\n");
fclose(file);
return 0;
}
第三部分:实战项目
3.1 计算器程序
以下是一个简单的计算器程序,用于执行加、减、乘、除运算:
#include <stdio.h>
int main() {
char operator;
double firstNumber, secondNumber;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator);
printf("Enter two operands: ");
scanf("%lf %lf", &firstNumber, &secondNumber);
switch (operator) {
case '+':
printf("%.1lf + %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber + secondNumber);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber - secondNumber);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber * secondNumber);
break;
case '/':
if (secondNumber != 0.0) {
printf("%.1lf / %.1lf = %.1lf\n", firstNumber, secondNumber, firstNumber / secondNumber);
} else {
printf("Division by zero is not allowed.\n");
}
break;
default:
printf("Invalid operator.\n");
}
return 0;
}
3.2 简单的图书管理系统
以下是一个简单的图书管理系统,用于添加、删除和查找图书信息:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Book {
char title[100];
char author[100];
int year;
};
void addBook(struct Book **books, int *count, struct Book book) {
*books = realloc(*books, (*count + 1) * sizeof(struct Book));
(*books)[*count] = book;
(*count)++;
}
void printBooks(struct Book *books, int count) {
for (int i = 0; i < count; i++) {
printf("Title: %s\n", books[i].title);
printf("Author: %s\n", books[i].author);
printf("Year: %d\n\n", books[i].year);
}
}
int main() {
struct Book *books = NULL;
int count = 0;
struct Book book1 = {"The Great Gatsby", "F. Scott Fitzgerald", 1925};
addBook(&books, &count, book1);
struct Book book2 = {"1984", "George Orwell", 1949};
addBook(&books, &count, book2);
printBooks(books, count);
free(books);
return 0;
}
通过以上实例分析,相信你已经对C语言编程有了更深入的了解。继续努力,你会成为一名优秀的C语言程序员!
