实例1:打印Hello World
在C语言编程中,第一个程序通常是打印“Hello World”。这个实例展示了C语言的基本语法和程序结构。
#include <stdio.h>
int main() {
printf("Hello World!\n");
return 0;
}
实例2:变量和赋值
变量是存储数据的地方。在这个实例中,我们将学习如何声明和赋值变量。
#include <stdio.h>
int main() {
int a = 5;
printf("The value of a is: %d\n", a);
return 0;
}
实例3:数据类型
C语言支持多种数据类型,包括整型、浮点型、字符型等。这个实例将介绍这些数据类型。
#include <stdio.h>
int main() {
int i = 10;
float f = 3.14;
char c = 'A';
printf("Integer: %d\n", i);
printf("Float: %f\n", f);
printf("Character: %c\n", c);
return 0;
}
实例4:运算符
C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。这个实例将介绍这些运算符。
#include <stdio.h>
int main() {
int a = 5, b = 3;
printf("Addition: %d\n", a + b);
printf("Subtraction: %d\n", a - b);
printf("Multiplication: %d\n", a * b);
printf("Division: %f\n", (float)a / b);
return 0;
}
实例5:控制流语句
控制流语句用于控制程序的执行流程。这个实例将介绍if语句、for循环和while循环。
#include <stdio.h>
int main() {
int a = 10;
if (a > 5) {
printf("a is greater than 5\n");
}
for (int i = 1; i <= 5; i++) {
printf("i = %d\n", i);
}
int count = 0;
while (count < 5) {
printf("count = %d\n", count);
count++;
}
return 0;
}
实例6:函数
函数是C语言中组织代码的重要方式。这个实例将介绍如何定义和调用函数。
#include <stdio.h>
void printMessage() {
printf("Hello from function!\n");
}
int main() {
printMessage();
return 0;
}
实例7:指针
指针是C语言中强大的特性之一,它允许我们直接访问内存地址。这个实例将介绍指针的基本概念。
#include <stdio.h>
int main() {
int a = 10;
int *ptr = &a;
printf("Value of a: %d\n", a);
printf("Address of a: %p\n", (void*)&a);
printf("Value of ptr: %p\n", (void*)ptr);
printf("Value of *ptr: %d\n", *ptr);
return 0;
}
实例8:数组
数组是存储相同类型数据的集合。这个实例将介绍如何声明、初始化和访问数组。
#include <stdio.h>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
return 0;
}
实例9:字符串
字符串是字符的序列。这个实例将介绍如何声明、初始化和操作字符串。
#include <stdio.h>
int main() {
char str[] = "Hello World!";
printf("String: %s\n", str);
return 0;
}
实例10:结构体
结构体允许我们将不同类型的数据组合在一起。这个实例将介绍如何定义和使用结构体。
#include <stdio.h>
struct Person {
char name[50];
int age;
};
int main() {
struct Person p;
strcpy(p.name, "John Doe");
p.age = 30;
printf("Name: %s\n", p.name);
printf("Age: %d\n", p.age);
return 0;
}
实例11:联合体
联合体允许我们在同一内存位置存储不同类型的数据。这个实例将介绍如何定义和使用联合体。
#include <stdio.h>
union Data {
int i;
float f;
char c[4];
};
int main() {
union Data d;
d.i = 10;
printf("Integer: %d\n", d.i);
d.f = 3.14;
printf("Float: %f\n", d.f);
printf("Character: %s\n", d.c);
return 0;
}
实例12:枚举
枚举允许我们定义一组命名的整型常量。这个实例将介绍如何定义和使用枚举。
#include <stdio.h>
enum Weekday {
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
};
int main() {
enum Weekday today = Wednesday;
printf("Today is: %d\n", today);
return 0;
}
实例13:位字段
位字段允许我们在单个变量中存储多个布尔值。这个实例将介绍如何定义和使用位字段。
#include <stdio.h>
struct BitField {
unsigned int a : 1;
unsigned int b : 1;
unsigned int c : 1;
unsigned int d : 1;
unsigned int e : 1;
unsigned int f : 1;
unsigned int g : 1;
};
int main() {
struct BitField bit;
bit.a = 1;
bit.b = 0;
bit.c = 1;
printf("Bit a: %d\n", bit.a);
printf("Bit b: %d\n", bit.b);
printf("Bit c: %d\n", bit.c);
return 0;
}
实例14:文件操作
文件操作是C语言中常用的功能之一。这个实例将介绍如何打开、读取、写入和关闭文件。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
printf("Error opening file\n");
return 1;
}
fprintf(file, "Hello World!\n");
fclose(file);
return 0;
}
实例15:动态内存分配
动态内存分配允许我们在运行时分配内存。这个实例将介绍如何使用malloc、calloc和free函数。
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr = (int*)malloc(5 * sizeof(int));
if (arr == NULL) {
printf("Error allocating memory\n");
return 1;
}
for (int i = 0; i < 5; i++) {
arr[i] = i;
}
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
free(arr);
return 0;
}
实例16:结构体指针
结构体指针允许我们通过指针访问结构体成员。这个实例将介绍如何使用结构体指针。
#include <stdio.h>
struct Person {
char name[50];
int age;
};
int main() {
struct Person p;
strcpy(p.name, "John Doe");
p.age = 30;
struct Person *ptr = &p;
printf("Name: %s\n", ptr->name);
printf("Age: %d\n", ptr->age);
return 0;
}
实例17:函数指针
函数指针允许我们将函数作为参数传递。这个实例将介绍如何使用函数指针。
#include <stdio.h>
void printMessage() {
printf("Hello from function!\n");
}
int main() {
void (*funcPtr)() = printMessage;
funcPtr();
return 0;
}
实例18:递归函数
递归函数是一种自己调用自己的函数。这个实例将介绍如何使用递归函数计算阶乘。
#include <stdio.h>
int factorial(int n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
int main() {
int n = 5;
printf("Factorial of %d is %d\n", n, factorial(n));
return 0;
}
实例19:指针数组
指针数组允许我们存储多个指针。这个实例将介绍如何使用指针数组。
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int *ptrArr[5];
for (int i = 0; i < 5; i++) {
ptrArr[i] = &arr[i];
}
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, *ptrArr[i]);
}
return 0;
}
实例20:二维数组
二维数组允许我们存储二维数据。这个实例将介绍如何声明、初始化和访问二维数组。
#include <stdio.h>
int main() {
int arr[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("arr[%d][%d] = %d\n", i, j, arr[i][j]);
}
}
return 0;
}
实例21:字符串函数
C语言提供了丰富的字符串函数,如strlen、strcpy、strcat等。这个实例将介绍这些函数。
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
printf("Length of str1: %lu\n", strlen(str1));
strcpy(str2, str1);
printf("str2: %s\n", str2);
strcat(str2, "!");
printf("str2: %s\n", str2);
return 0;
}
实例22:标准输入输出函数
标准输入输出函数如printf和scanf允许我们与用户进行交互。这个实例将介绍这些函数。
#include <stdio.h>
int main() {
int num;
printf("Enter an integer: ");
scanf("%d", &num);
printf("You entered: %d\n", num);
return 0;
}
实例23:文件输入输出函数
文件输入输出函数如fopen、fprintf和fclose允许我们与文件进行交互。这个实例将介绍这些函数。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
printf("Error opening file\n");
return 1;
}
fprintf(file, "Hello World!\n");
fclose(file);
return 0;
}
实例24:动态内存分配函数
动态内存分配函数如malloc、calloc和free允许我们在运行时分配和释放内存。这个实例将介绍这些函数。
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr = (int*)malloc(5 * sizeof(int));
if (arr == NULL) {
printf("Error allocating memory\n");
return 1;
}
for (int i = 0; i < 5; i++) {
arr[i] = i;
}
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
free(arr);
return 0;
}
实例25:结构体函数
结构体函数允许我们操作结构体数据。这个实例将介绍如何定义和使用结构体函数。
#include <stdio.h>
struct Person {
char name[50];
int age;
};
void printPerson(struct Person p) {
printf("Name: %s\n", p.name);
printf("Age: %d\n", p.age);
}
int main() {
struct Person p;
strcpy(p.name, "John Doe");
p.age = 30;
printPerson(p);
return 0;
}
实例26:指针函数
指针函数允许我们将指针作为参数传递。这个实例将介绍如何定义和使用指针函数。
#include <stdio.h>
void printValue(int *ptr) {
printf("Value: %d\n", *ptr);
}
int main() {
int num = 10;
printValue(&num);
return 0;
}
实例27:递归函数
递归函数是一种自己调用自己的函数。这个实例将介绍如何使用递归函数计算阶乘。
#include <stdio.h>
int factorial(int n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
int main() {
int n = 5;
printf("Factorial of %d is %d\n", n, factorial(n));
return 0;
}
实例28:指针数组
指针数组允许我们存储多个指针。这个实例将介绍如何使用指针数组。
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int *ptrArr[5];
for (int i = 0; i < 5; i++) {
ptrArr[i] = &arr[i];
}
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, *ptrArr[i]);
}
return 0;
}
实例29:二维数组
二维数组允许我们存储二维数据。这个实例将介绍如何声明、初始化和访问二维数组。
#include <stdio.h>
int main() {
int arr[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("arr[%d][%d] = %d\n", i, j, arr[i][j]);
}
}
return 0;
}
实例30:字符串函数
C语言提供了丰富的字符串函数,如strlen、strcpy、strcat等。这个实例将介绍这些函数。
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
printf("Length of str1: %lu\n", strlen(str1));
strcpy(str2, str1);
printf("str2: %s\n", str2);
strcat(str2, "!");
printf("str2: %s\n", str2);
return 0;
}
实例31:标准输入输出函数
标准输入输出函数如printf和scanf允许我们与用户进行交互。这个实例将介绍这些函数。
#include <stdio.h>
int main() {
int num;
printf("Enter an integer: ");
scanf("%d", &num);
printf("You entered: %d\n", num);
return 0;
}
实例32:文件输入输出函数
文件输入输出函数如fopen、fprintf和fclose允许我们与文件进行交互。这个实例将介绍这些函数。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
printf("Error opening file\n");
return 1;
}
fprintf(file, "Hello World!\n");
fclose(file);
return 0;
}
实例33:动态内存分配函数
动态内存分配函数如malloc、calloc和free允许我们在运行时分配和释放内存。这个实例将介绍这些函数。
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr = (int*)malloc(5 * sizeof(int));
if (arr == NULL) {
printf("Error allocating memory\n");
return 1;
}
for (int i = 0; i < 5; i++) {
arr[i] = i;
}
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
free(arr);
return 0;
}
实例34:结构体函数
结构体函数允许我们操作结构体数据。这个实例将介绍如何定义和使用结构体函数。
#include <stdio.h>
struct Person {
char name[50];
int age;
};
void printPerson(struct Person p) {
printf("Name: %s\n", p.name);
printf("Age: %d\n", p.age);
}
int main() {
struct Person p;
strcpy(p.name, "John Doe");
p.age = 30;
printPerson(p);
return 0;
}
实例35:指针函数
指针函数允许我们将指针作为参数传递。这个实例将介绍如何定义和使用指针函数。
#include <stdio.h>
void printValue(int *ptr) {
printf("Value: %d\n", *ptr);
}
int main() {
int num = 10;
printValue(&num);
return 0;
}
实例36:递归函数
递归函数是一种自己调用自己的函数
