C语言作为一种历史悠久且广泛使用的编程语言,以其简洁、高效和强大的功能深受开发者喜爱。本篇文章将带你探索C语言的奥秘,并通过一些创意实践,让编程变得更加有趣。一、C语言基础入门1.1 数据类型与变量在...
C语言作为一种历史悠久且广泛使用的编程语言,以其简洁、高效和强大的功能深受开发者喜爱。本篇文章将带你探索C语言的奥秘,并通过一些创意实践,让编程变得更加有趣。
在C语言中,数据类型决定了变量的存储方式和操作方式。常见的数据类型包括整型(int)、浮点型(float)、字符型(char)等。
#include
int main() { int age = 25; float salary = 5000.5; char gender = 'M'; printf("Age: %d\n", age); printf("Salary: %.2f\n", salary); printf("Gender: %c\n", gender); return 0;
} 控制语句用于控制程序的执行流程。常见的控制语句包括条件语句(if-else)、循环语句(for、while、do-while)等。
#include
int main() { int num = 10; if (num > 0) { printf("The number is positive.\n"); } else if (num < 0) { printf("The number is negative.\n"); } else { printf("The number is zero.\n"); } for (int i = 1; i <= 5; i++) { printf("Loop %d\n", i); } return 0;
} 函数是C语言中的核心概念,它允许我们将代码模块化,提高代码的可读性和可维护性。
#include
void printMessage() { printf("Hello, World!\n");
}
int main() { printMessage(); return 0;
} C语言可以用于开发各种类型的游戏,如贪吃蛇、俄罗斯方块等。
#include
#include
#include
#include
int x, y, score;
int tailX[100], tailY[100];
int nTail;
enum eDirecton { STOP = 0, LEFT, RIGHT, UP, DOWN};
enum eDirecton dir;
void Setup() { dir = STOP; x = 25; y = 25; nTail = 0; score = 0;
}
void Draw() { system("cls"); for (int i = 0; i < 27; i++) printf("#"); printf("\n"); for (int i = 0; i < 27; i++) { for (int j = 0; j < 27; j++) { if (i == 0 || i == 26) printf("#"); else if (j == 0 || j == 26) printf("#"); else { if (i == x && j == y) printf("O"); else if (i == tailX[nTail] && j == tailY[nTail]) printf("o"); else printf(" "); } } printf("\n"); } for (int i = 0; i < 27; i++) printf("#"); printf("\n"); printf("Score: %d\n", score);
}
void Input() { if (_kbhit()) { switch (_getch()) { case 'a': dir = LEFT; break; case 'd': dir = RIGHT; break; case 'w': dir = UP; break; case 's': dir = DOWN; break; default: break; } }
}
void Algorithm() { int prevX = tailX[0]; int prevY = tailY[0]; int prev2X, prev2Y; tailX[0] = x; tailY[0] = y; for (int i = 1; i < nTail; i++) { prev2X = tailX[i]; prev2Y = tailY[i]; tailX[i] = prevX; tailY[i] = prevY; prevX = prev2X; prevY = prev2Y; } switch (dir) { case LEFT: x--; break; case RIGHT: x++; break; case UP: y--; break; case DOWN: y++; break; default: break; } if (x >= 27 || x < 0 || y >= 27 || y < 0) exit(0); for (int i = 0; i < nTail; i++) if (tailX[i] == x && tailY[i] == y) exit(0); if (dir != STOP) nTail++;
}
int main() { Setup(); while (1) { Draw(); Input(); Algorithm(); Sleep(100); } return 0;
} C语言可以用于开发简单的图形程序,如绘制图形、实现动画效果等。
#include
int main() { int gd = DETECT, gm; initgraph(&gd, &gm, "C:\\Turboc3\\BGI"); setcolor(RED); circle(250, 250, 100); delay(5000); closegraph(); return 0;
} C语言可以用于开发各种实用工具,如文件压缩、解压、加密、解密等。
#include
#include
#include
void compress(const char *input, const char *output) { FILE *fp_in = fopen(input, "rb"); FILE *fp_out = fopen(output, "wb"); char buffer[1024]; int count; while ((count = fread(buffer, 1, 1024, fp_in)) > 0) { fwrite(buffer, 1, count, fp_out); } fclose(fp_in); fclose(fp_out);
}
void decompress(const char *input, const char *output) { FILE *fp_in = fopen(input, "rb"); FILE *fp_out = fopen(output, "wb"); char buffer[1024]; int count; while ((count = fread(buffer, 1, 1024, fp_in)) > 0) { fwrite(buffer, 1, count, fp_out); } fclose(fp_in); fclose(fp_out);
}
int main() { compress("input.txt", "compressed.dat"); decompress("compressed.dat", "output.txt"); return 0;
} 通过以上内容,相信你已经对C语言有了更深入的了解。创意实践是提高编程技能的重要途径,希望你能将所学知识应用于实际项目中,让代码更有趣。