C言语作为一门历史长久且利用广泛的编程言语,其简洁、高效的特点使其在体系编程、嵌入式开辟等范畴盘踞重要地位。为了帮助读者更好地控制C言语,本文精选了50个经典代码实例,涵盖基本语法、数据构造、算法等多个方面,旨在经由过程实例剖析,帮助读者深刻懂得C言语的精华。
int a = 10; // 申明并初始化整型变量a
float b = 3.14f; // 申明并初始化浮点型变量b
char c = 'A'; // 申明并初始化字符型变量c
int a = (int)3.14f; // 将浮点数转换为整型
float b = 5.0; // 整型常量默许为float范例
if (a > b) {
printf("a大年夜于b\n");
} else {
printf("a不大年夜于b\n");
}
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
void printMessage() {
printf("Hello, World!\n");
}
int main() {
printMessage();
return 0;
}
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(3, 4);
printf("成果: %d\n", result);
return 0;
}
int arr[5] = {1, 2, 3, 4, 5};
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
char str1[] = "Hello";
char str2[10] = "World";
#include <string.h>
char *strcat(char *dest, const char *src) {
while (*dest) {
dest++;
}
while (*src) {
*dest++ = *src++;
}
*dest = '\0';
return dest;
}
int main() {
char str1[20] = "Hello";
char str2[] = "World";
strcat(str1, str2);
printf("%s\n", str1); // 输出: HelloWorld
return 0;
}
struct Node {
int data;
struct Node *next;
};
void insertNode(struct Node **head, int data) {
struct Node *newNode = (struct Node *)malloc(sizeof(struct Node));
newNode->data = data;
newNode->next = *head;
*head = newNode;
}
int main() {
struct Node *head = NULL;
insertNode(&head, 1);
insertNode(&head, 2);
insertNode(&head, 3);
// ...
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
void push(int data) {
if (top < MAX_SIZE - 1) {
stack[++top] = data;
} else {
printf("栈已满\n");
}
}
int pop() {
if (top >= 0) {
return stack[top--];
} else {
printf("栈为空\n");
return -1;
}
}
int main() {
push(1);
push(2);
push(3);
// ...
return 0;
}
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 4, 1};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
// ...
return 0;
}
int linearSearch(int arr[], int n, int key) {
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
return i;
}
}
return -1;
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 5;
int index = linearSearch(arr, n, key);
// ...
return 0;
}
#include <stdio.h>
int main() {
FILE *fp = fopen("example.txt", "r");
if (fp == NULL) {
printf("文件打开掉败\n");
return 1;
}
// ...
fclose(fp);
return 0;
}
#include <stdio.h>
int main() {
FILE *fp = fopen("example.txt", "w");
if (fp == NULL) {
printf("文件打开掉败\n");
return 1;
}
fprintf(fp, "Hello, World!\n");
fclose(fp);
// ...
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr = (int *)malloc(10 * sizeof(int));
if (arr == NULL) {
printf("内存分配掉败\n");
return 1;
}
// ...
free(arr);
return 0;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int *ptr = arr;
for (int i = 0; i < 5; i++) {
printf("%d\n", *(ptr + i));
}
return 0;
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a = 10;
int b = 20;
swap(&a, &b);
// ...
return 0;
}
#define PI 3.14159
int main() {
printf("PI的值: %f\n", PI);
return 0;
}
#ifdef DEBUG
printf("调试形式\n");
#else
printf("发布形式\n");
#endif
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
int main() {
int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in server_addr;
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8080);
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
connect(sock, (struct sockaddr *)&server_addr, sizeof(server_addr));
// ...
close(sock);
return 0;
}
#include <graphics.h>
int main() {
initgraph(640, 480);
setcolor(RED);
circle(320, 240, 100);
// ...
closegraph();
return 0;
}
#include <REGX51.H>
void main() {
P1 = 0xFF; // 设置P1口为高电平
// ...
}
#include <sys/types.h>
#include <unistd.h>
int main() {
pid_t pid = fork();
if (pid == 0) {
// 子过程
printf("子过程\n");
} else {
// 父过程
printf("父过程\n");
}
// ...
return 0;
}
#include <openssl/evp.h>
int main() {
EVP_CIPHER_CTX *ctx;
unsigned char *plaintext = "Hello, World!";
unsigned char ciphertext[1024];
int len;
int ciphertext_len;
ctx = EVP_CIPHER_CTX_new();
EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, NULL, NULL);
EVP_EncryptUpdate(ctx, ciphertext, &len, plaintext, strlen((char *)plaintext));
ciphertext_len = len;
EVP_EncryptFinal_ex(ctx, ciphertext + len, &len);
ciphertext_len += len;
// ...
EVP_CIPHER_CTX_free(ctx);
return 0;
}
本文精选了50个经典C言语代码实例,涵盖了C言语编程的各个方面。经由过程进修这些实例,读者可能更好地控制C言语编程技能,为以后的进修跟任务打下坚固的基本。