项目一:计算器程序
项目简介
计算器是编程初学者常用的入门项目,它可以帮助我们理解基本的输入输出和数学运算。
实现代码
#include <stdio.h>
int main() {
float num1, num2;
char operator;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator);
printf("Enter two operands: ");
scanf("%f %f", &num1, &num2);
switch (operator) {
case '+':
printf("%.1f + %.1f = %.1f", num1, num2, num1 + num2);
break;
case '-':
printf("%.1f - %.1f = %.1f", num1, num2, num1 - num2);
break;
case '*':
printf("%.1f * %.1f = %.1f", num1, num2, num1 * num2);
break;
case '/':
if (num2 != 0.0)
printf("%.1f / %.1f = %.1f", num1, num2, num1 / num2);
else
printf("Division by zero is not allowed");
break;
default:
printf("Invalid operator");
}
return 0;
}
项目二:温度转换程序
项目简介
温度转换是另一个简单的编程项目,它可以帮助我们理解如何使用函数和变量。
实现代码
#include <stdio.h>
float celsiusToFahrenheit(float celsius) {
return (celsius * 9 / 5) + 32;
}
float fahrenheitToCelsius(float fahrenheit) {
return (fahrenheit - 32) * 5 / 9;
}
int main() {
float celsius, fahrenheit;
printf("Enter temperature in Celsius: ");
scanf("%f", &celsius);
fahrenheit = celsiusToFahrenheit(celsius);
printf("%.2f Celsius is equal to %.2f Fahrenheit\n", celsius, fahrenheit);
printf("Enter temperature in Fahrenheit: ");
scanf("%f", &fahrenheit);
celsius = fahrenheitToCelsius(fahrenheit);
printf("%.2f Fahrenheit is equal to %.2f Celsius\n", fahrenheit, celsius);
return 0;
}
项目三:猜数字游戏
项目简介
猜数字游戏是一个经典的编程练习,它可以帮助我们理解循环和条件语句。
实现代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int number, guess, numberToGuess;
// Seed the random number generator
srand(time(NULL));
// Generate a random number between 1 and 100
numberToGuess = rand() % 100 + 1;
printf("Guess the number between 1 and 100: ");
scanf("%d", &guess);
while (guess != numberToGuess) {
if (guess < numberToGuess)
printf("Too low, try again: ");
else
printf("Too high, try again: ");
scanf("%d", &guess);
}
printf("Congratulations! You guessed the number: %d\n", numberToGuess);
return 0;
}
项目四:冒泡排序算法
项目简介
冒泡排序是一个基础的排序算法,通过这个项目,我们可以学习到排序算法的基本概念。
实现代码
#include <stdio.h>
void bubbleSort(int array[], int size) {
for (int step = 0; step < size - 1; ++step) {
for (int i = 0; i < size - step - 1; ++i) {
if (array[i] > array[i + 1]) {
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
}
}
int main() {
int array[] = {64, 34, 25, 12, 22, 11, 90};
int size = sizeof(array) / sizeof(array[0]);
bubbleSort(array, size);
printf("Sorted array: \n");
for (int i = 0; i < size; i++)
printf("%d ", array[i]);
printf("\n");
return 0;
}
项目五:计算阶乘
项目简介
计算阶乘是学习递归函数的一个好方法,这个项目可以帮助我们理解递归的概念。
实现代码
#include <stdio.h>
long long factorial(int n) {
if (n == 0)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int number;
printf("Enter a positive integer: ");
scanf("%d", &number);
printf("Factorial of %d = %lld\n", number, factorial(number));
return 0;
}
项目六:计算斐波那契数列
项目简介
斐波那契数列是一个经典的数学问题,通过这个项目,我们可以学习到递归和循环的使用。
实现代码
#include <stdio.h>
long long fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int number;
printf("Enter a positive integer: ");
scanf("%d", &number);
printf("Fibonacci of %d = %lld\n", number, fibonacci(number));
return 0;
}
项目七:文件读取和写入
项目简介
文件操作是编程中非常重要的一部分,这个项目可以帮助我们学习如何读取和写入文件。
实现代码
#include <stdio.h>
int main() {
FILE *file;
char filename[] = "example.txt";
// Open file for writing
file = fopen(filename, "w");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
fprintf(file, "Hello, World!\n");
fclose(file);
// Open file for reading
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
char ch;
while ((ch = fgetc(file)) != EOF)
printf("%c", ch);
fclose(file);
return 0;
}
项目八:字符串处理
项目简介
字符串处理是编程中常见的需求,这个项目可以帮助我们学习如何操作字符串。
实现代码
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
char result[100];
// Concatenate strings
strcpy(result, str1);
strcat(result, str2);
printf("Concatenated string: %s\n", result);
// Compare strings
if (strcmp(str1, str2) == 0)
printf("Strings are equal\n");
else
printf("Strings are not equal\n");
return 0;
}
项目九:结构体和联合体
项目简介
结构体和联合体是C语言中用于组织数据的重要工具,这个项目可以帮助我们理解它们的使用。
实现代码
#include <stdio.h>
typedef struct {
int x;
int y;
} Point;
typedef union {
int i;
float f;
char c;
} Data;
int main() {
Point p = {10, 20};
Data d;
printf("Point coordinates: (%d, %d)\n", p.x, p.y);
d.i = 5;
printf("Data integer: %d\n", d.i);
d.f = 5.5;
printf("Data float: %f\n", d.f);
d.c = 'A';
printf("Data character: %c\n", d.c);
return 0;
}
项目十:指针和数组
项目简介
指针和数组是C语言的核心概念,这个项目可以帮助我们深入理解它们的使用。
实现代码
#include <stdio.h>
int main() {
int array[] = {1, 2, 3, 4, 5};
int *ptr = array;
printf("Array elements: ");
for (int i = 0; i < 5; i++)
printf("%d ", *(ptr + i));
printf("\n");
// Modify array element using pointer
*ptr = 10;
printf("Modified array element: %d\n", *ptr);
return 0;
}
项目十一:动态内存分配
项目简介
动态内存分配是C语言中一个高级特性,这个项目可以帮助我们学习如何动态地分配和释放内存。
实现代码
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr = (int *)malloc(5 * sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
// Use the dynamically allocated memory
for (int i = 0; i < 5; i++)
ptr[i] = i;
printf("Array elements: ");
for (int i = 0; i < 5; i++)
printf("%d ", ptr[i]);
printf("\n");
// Free the dynamically allocated memory
free(ptr);
return 0;
}
项目十二:结构体指针和函数
项目简介
结构体指针和函数是C语言中处理复杂数据结构的重要方式,这个项目可以帮助我们理解它们的使用。
实现代码
#include <stdio.h>
typedef struct {
int x;
int y;
} Point;
void printPoint(const Point *p) {
printf("Point coordinates: (%d, %d)\n", p->x, p->y);
}
int main() {
Point p = {10, 20};
printPoint(&p);
return 0;
}
项目十三:函数指针
项目简介
函数指针是C语言中的一种高级特性,它允许我们将函数作为参数传递,这个项目可以帮助我们理解函数指针的使用。
实现代码
#include <stdio.h>
void printHello() {
printf("Hello, World!\n");
}
void callFunction(void (*func)()) {
func();
}
int main() {
callFunction(printHello);
return 0;
}
项目十四:文件操作示例
项目简介
文件操作是编程中常见的需求,这个项目可以帮助我们学习如何读取和写入文件。
实现代码
#include <stdio.h>
int main() {
FILE *file;
char filename[] = "example.txt";
char content[] = "This is a test file.";
// Open file for writing
file = fopen(filename, "w");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
fprintf(file, "%s", content);
fclose(file);
// Open file for reading
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
char ch;
while ((ch = fgetc(file)) != EOF)
printf("%c", ch);
fclose(file);
return 0;
}
项目十五:字符串处理示例
项目简介
字符串处理是编程中常见的需求,这个项目可以帮助我们学习如何操作字符串。
实现代码
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
char result[100];
// Concatenate strings
strcpy(result, str1);
strcat(result, str2);
printf("Concatenated string: %s\n", result);
// Compare strings
if (strcmp(str1, str2) == 0)
printf("Strings are equal\n");
else
printf("Strings are not equal\n");
return 0;
}
项目十六:结构体和联合体示例
项目简介
结构体和联合体是C语言中用于组织数据的重要工具,这个项目可以帮助我们理解它们的使用。
实现代码
#include <stdio.h>
typedef struct {
int x;
int y;
} Point;
typedef union {
int i;
float f;
char c;
} Data;
int main() {
Point p = {10, 20};
Data d;
printf("Point coordinates: (%d, %d)\n", p.x, p.y);
d.i = 5;
printf("Data integer: %d\n", d.i);
d.f = 5.5;
printf("Data float: %f\n", d.f);
d.c = 'A';
printf("Data character: %c\n", d.c);
return 0;
}
项目十七:指针和数组示例
项目简介
指针和数组是C语言的核心概念,这个项目可以帮助我们深入理解它们的使用。
实现代码
#include <stdio.h>
int main() {
int array[] = {1, 2, 3, 4, 5};
int *ptr = array;
printf("Array elements: ");
for (int i = 0; i < 5; i++)
printf("%d ", *(ptr + i));
printf("\n");
// Modify array element using pointer
*ptr = 10;
printf("Modified array element: %d\n", *ptr);
return 0;
}
项目十八:动态内存分配示例
项目简介
动态内存分配是C语言中一个高级特性,这个项目可以帮助我们学习如何动态地分配和释放内存。
实现代码
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr = (int *)malloc(5 * sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
// Use the dynamically allocated memory
for (int i = 0; i < 5; i++)
ptr[i] = i;
printf("Array elements: ");
for (int i = 0; i < 5; i++)
printf("%d ", ptr[i]);
printf("\n");
// Free the dynamically allocated memory
free(ptr);
return 0;
}
项目十九:结构体指针和函数示例
项目简介
结构体指针和函数是C语言中处理复杂数据结构的重要方式,这个项目可以帮助我们理解它们的使用。
实现代码
#include <stdio.h>
typedef struct {
int x;
int y;
} Point;
void printPoint(const Point *p) {
printf("Point coordinates: (%d, %d)\n", p->x, p->y);
}
int main() {
Point p = {10, 20};
printPoint(&p);
return 0;
}
项目二十:函数指针示例
项目简介
函数指针是C语言中的一种高级特性,它允许我们将函数作为参数传递,这个项目可以帮助我们理解函数指针的使用。
实现代码
#include <stdio.h>
void printHello() {
printf("Hello, World!\n");
}
void callFunction(void (*func)()) {
func();
}
int main() {
callFunction(printHello);
return 0;
}
