C 实际示例
实践示例
此页面包含实际项目中使用的实践示例列表。
变量和数据类型
示例
使用变量存储大学生的不同数据
// 学生数据
int studentID = 15;
int studentAge = 23;
float studentFee = 75.25;
char studentGrade = 'B';
// 打印变量
printf("Student id: %d\n", studentID);
printf("Student age: %d\n", studentAge);
printf("Student fee: %f\n", studentFee);
printf("Student grade: %c", studentGrade);
自己动手试一试 »
示例
计算矩形的面积(通过乘以长度和宽度)
// 创建整数变量
int length = 4;
int width = 6;
int area;
// 计算矩形的面积
area = length * width;
// 打印变量
printf("Length is: %d\n", length);
printf("Width is: %d\n", width);
printf("Area of the rectangle is: %d", area);
自己动手试一试 »
示例
使用不同的数据类型来计算和输出物品总成本
// 创建不同数据类型的变量
int items = 50;
float cost_per_item = 9.99;
float total_cost = items * cost_per_item;
char currency = '$';
// 打印变量
printf("Number of items: %d\n", items);
printf("Cost per item: %.2f %c\n", cost_per_item, currency);
printf("Total cost = %.2f %c\n", total_cost, currency);
自己动手试一试 »
示例
计算用户在游戏中分数占最高分的百分比
// 将游戏中可能获得的最大分数设置为 500
int maxScore = 500;
// 用户的实际分数
int userScore = 423;
// 计算用户分数占最大可用分数的百分比
float percentage = (float) userScore / maxScore * 100.0;
// 打印百分比
printf("User's percentage is %.2f", percentage);
自己动手试一试 »
有关 C 语言中变量和数据类型的教程,请访问我们的变量章节和数据类型章节。
布尔值
示例
判断一个人是否足够大可以投票
int myAge = 25;
int votingAge = 18;
printf("%d", myAge >= votingAge); // 返回 1 (true),表示 25 岁的人可以投票!
自己动手试一试 »
您也可以将上面的代码包装在 if...else
中,根据结果执行不同的操作
示例
如果 myAge
大于或等于 18
,则输出 "Old enough to vote!"。否则输出 "Not old enough to vote."。
int myAge = 25;
int votingAge = 18;
if (myAge >= votingAge) {
printf("Old enough to vote!");
} else {
printf("Not old enough to vote.");
}
自己动手试一试 »
有关 C 语言中布尔值的教程,请访问我们的布尔值章节。
条件(If..Else)
示例
使用 if..else 语句根据当前时间输出一些文本
int time = 20;
if (time < 18) {
printf("Good day.");
} else {
printf("Good evening.");
}
自己动手试一试 »
示例
检查用户是否输入了正确的代码
int doorCode = 1337;
if (doorCode == 1337) {
printf("Correct code.\nThe door is now open.");
} else {
printf("Wrong code.\nThe door remains closed.");
}
自己动手试一试 »
示例
找出数字是正数还是负数
int myNum = 10;
if (myNum > 0) {
printf("The value is a positive number.");
} else if (myNum < 0) {
printf("The value is a negative number.");
} else {
printf("The value is 0.");
}
自己动手试一试 »
示例
判断一个人是否足够大可以投票
int myAge = 25;
int votingAge = 18;
if (myAge >= votingAge) {
printf("Old enough to vote!");
} else {
printf("Not old enough to vote.");
}
自己动手试一试 »
示例
判断一个数字是偶数还是奇数
int myNum = 5;
if (myNum % 2 == 0) {
printf("%d is even.\n", myNum);
} else {
printf("%d is odd.\n", myNum);
}
自己动手试一试 »
有关 C 语言中条件的教程,请访问我们的If..Else 章节。
Switch
示例
使用星期几的数字来计算和输出星期几的名称
int day = 4;
switch (day) {
case 1
printf("Monday");
break;
case 2
printf("Tuesday");
break;
case 3
printf("Wednesday");
break;
case 4
printf("Thursday");
break;
case 5
printf("Friday");
break;
case 6
printf("Saturday");
break;
case 7
printf("Sunday");
break;
}
自己动手试一试 »
有关 C 语言中 switch 的教程,请访问我们的Switch 章节。
While 循环
示例
使用 while 循环创建一个简单的“倒计时”程序
int countdown = 3;
while (countdown > 0) {
printf("%d\n", countdown);
countdown--;
}
printf("Happy New Year!!\n");
自己动手试一试 »
示例
使用 while 循环玩“五子棋”游戏
int dice = 1;
while (dice <= 6) {
if (dice < 6) {
printf("No Yatzy\n");
} else {
printf("Yatzy!\n");
}
dice = dice + 1;
}
自己动手试一试 »
示例
使用 while 循环反转一些数字
// 一个包含一些特定数字的变量
int numbers = 12345;
// 一个存储反转后数字的变量
int revNumbers = 0;
// 反转并重新排序数字
while (numbers) {
// 获取 'numbers' 的最后一个数字并将其添加到 'revNumber'
revNumbers = revNumbers * 10 + numbers % 10;
// 从 'numbers' 中移除最后一个数字
numbers /= 10;
}
自己动手试一试 »
有关 C 语言中 while 循环的教程,请访问我们的While Loop 章节。
For 循环
示例
使用 for 循环创建一个仅打印 0 和 10 之间 **偶数** 值的程序
int i;
for (i = 0; i <= 10; i = i + 2) {
printf("%d\n", i);
}
自己动手试一试 »
示例
使用 for 循环创建一个打印指定数字(本例中为 2)的乘法表的程序
int number = 2;
int i;
// 打印数字 2 的乘法表
for (i = 1; i <= 10; i++) {
printf("%d x %d = %d\n", number, i, number * i);
}
return 0;
自己动手试一试 »
有关 C 语言中 for 循环的教程,请访问我们的For Loop 章节。
数组
示例
创建一个计算不同年龄平均值的程序
// 一个存储不同年龄的数组
int ages[] = {20, 22, 18, 35, 48, 26, 87, 70};
float avg, sum = 0;
int i;
// 获取数组的长度
int length = sizeof(ages) / sizeof(ages[0]);
// 遍历数组元素
for (int i = 0; i < length; i++) {
sum += ages[i];
}
// 通过将总和除以长度来计算平均值
avg = sum / length;
// 打印平均值
printf("The average age is: %.2f", avg);
自己动手试一试 »
示例
创建一个程序,查找不同年龄中的最低年龄
// 一个存储不同年龄的数组
int ages[] = {20, 22, 18, 35, 48, 26, 87, 70};
// 获取数组的长度
int length = sizeof(ages) / sizeof(ages[0]);
// 创建一个变量并将 ages 的第一个数组元素赋给它
int lowestAge = ages[0];
// 遍历 ages 数组的元素以查找最小年龄
for (int i = 0; i < length; i++) {
if (lowestAge > ages[i]) {
lowestAge = ages[i];
}
}
自己动手试一试 »
有关 C 语言中数组的教程,请访问我们的Arrays 章节。
字符串
示例
使用字符串创建一个简单的欢迎消息
char message[] = "Good to see you,";
char fname[] = "John";
printf("%s %s!", message, fname);
自己动手试一试 »
示例
创建一个程序来计算特定单词中找到的字符数
char word[] = "Computer";
printf("The word '%s' has %d characters in it.", word, strlen(word));
自己动手试一试 »
有关 C 语言中字符串的教程,请访问我们的Strings 章节。
用户输入
示例
获取用户名并打印
char fullName[30];
printf("Type your full name: \n");
fgets(fullName, sizeof(fullName), stdin);
printf("Hello %s", fullName);
运行示例 »
有关 C 语言中用户输入的教程,请访问我们的User Input 章节。
函数
示例
使用函数创建一个将华氏度转换为摄氏度的程序
// 将华氏度转换为摄氏度的函数
float toCelsius(float fahrenheit) {
return (5.0 / 9.0) * (fahrenheit - 32.0);
}
int main() {
// 设置一个华氏度值
float f_value = 98.8;
// 使用华氏度值调用函数
float result = toCelsius(f_value);
// 打印华氏度值
printf("Fahrenheit: %.2f\n", f_value);
// 打印结果
printf("Convert Fahrenheit to Celsius: %.2f\n", result);
return 0;
}
自己动手试一试 »
有关 C 语言中函数的教程,请访问我们的Functions 章节。
结构体
示例
使用结构体存储和输出汽车的不同信息
struct Car {
char brand[50];
char model[50];
int year;
};
int main() {
struct Car car1 = {"BMW", "X5", 1999};
struct Car car2 = {"Ford", "Mustang", 1969};
struct Car car3 = {"Toyota", "Corolla", 2011};
printf("%s %s %d\n", car1.brand, car1.model, car1.year);
printf("%s %s %d\n", car2.brand, car2.model, car2.year);
printf("%s %s %d\n", car3.brand, car3.model, car3.year);
return 0;
}
自己动手试一试 »
有关 C 语言中结构体的教程,请访问我们的Structures 章节。
内存管理
示例
struct list {
int *data; // 指向存储列表项的内存
int numItems; // 指示列表中当前有多少项
int size; // 指示已分配内存中可以容纳多少项
};
void addToList(struct list *myList, int item);
int main() {
struct list myList;
int amount;
// 创建一个列表,并为 10 个项目分配空间
myList.numItems = 0;
myList.size = 10;
myList.data = malloc(myList.size * sizeof(int));
// 查找内存分配是否成功
if (myList.data == NULL) {
printf("Memory allocation failed");
return 1; // 以错误代码退出程序
}
// 将指定数量的项目添加到列表中
amount = 44;
for (int i = 0; i < amount; i++) {
addToList(&myList, i + 1);
}
// 显示列表内容
for (int j = 0; j < myList.numItems; j++) {
printf("%d ", myList.data[j]);
}
// 在不再需要时释放内存
free(myList.data);
myList.data = NULL;
return 0;
}
// 此函数向列表中添加一个项目
void addToList(struct list *myList, int item) {
// 如果列表已满,则将内存大小调整为可容纳另外 10 个项目
if (myList->numItems == myList->size) {
myList->size += 10;
myList->data = realloc( myList->data, myList->size * sizeof(int) );
}
// 将项目添加到列表末尾
myList->data[myList->numItems] = item;
myList->numItems++;
}
自己动手试一试 »
有关 C 语言中内存管理的教程,请访问我们的Memory Management 章节。