C语言课程源码
目录嵌入式 / 编程基础 / C语言格式ZIP大小55.8 KB
在线预览
118 个文件3 个目录88.4 KB 解压后大小
C108TXT6H3JSON1
查看完整目录 · 118 个文件
84 B 01. 第一个C程序.c
432 B 02. 字面常量.c
334 B 03. 符号常量与枚举常量.c
765 B 04. 变量的定义和初始化.c
737 B 05. 局部作用域.c
565 B 06. 全局作用域.c
1.1 KB 07. 基本算术运算符.c
446 B 08. 自增自减运算符.c
687 B 09. 隐式类型转换.c
589 B 10. 显式类型转换.c
703 B 100. calloc函数的用法.c
825 B 101. realloc函数的用法.c
1.5 KB 102. 动态数组的用法.c
5.0 KB 103. 学生管理系统.c
5.9 KB 104. 贪吃蛇游戏/snake.c
1013 B 104. 贪吃蛇游戏/snake.h
231 B 105. 随机数的生成.c
382 B 106. 俄罗斯方块游戏/CppProperties.json
13.7 KB 106. 俄罗斯方块游戏/tetris.c
1.6 KB 106. 俄罗斯方块游戏/tetris.h
325 B 11. 关系运算符.c
330 B 12. 逻辑运算符.c
333 B 13. 逻辑运算的短路求值.c
500 B 14. 按位与、或、异或操作.c
416 B 15. 按位取反操作.c
808 B 16. 移位运算.c
751 B 17. 复合赋值运算.c
356 B 18. 条件表达式.c
414 B 19. sizeof运算符.c
352 B 20. 字段宽度.c
333 B 21. 精度控制.c
494 B 22. 最简单scanf.c
282 B 23. scanf一次读取多个数据.c
278 B 24. 字符输入输出函数.c
404 B 25. 简单的if语句.c
254 B 26. 简单的if-else语句.c
422 B 27. 判断闰年.c
420 B 28. 学生成绩等级评定.c
339 B 29. 求三个数的最大值.c
472 B 30. 奇偶数判断.c
946 B 31. 简单的计算器程序.c
173 B 32. 打印100遍我命由我不由天.c
202 B 33. 1到100的和.c
436 B 34. 正整数校验.c
416 B 35. 简易计算器菜单.c
191 B 36. 最简单的for循环.c
190 B 37. for循环计算1到100的和.c
367 B 38. 水仙花数.c
205 B 39. 九九乘法表.c
190 B 40. 逢七过.c
466 B 41. 一维数组的引用.c
664 B 42. 一维数组的遍历.c
609 B 43. 二维数组的引用.c
554 B 44. 二维数组的遍历.c
522 B 45. 函数的定义与使用.c
522 B 46. 一维数组作为函数参数.c
567 B 47. 二维数组作为函数参数.c
516 B 48. 递归函数.c
407 B 49. 使用递归法计算阶乘.c
1.4 KB 50. 指针的定义和使用.c
968 B 51. 指针的算术运算.c
859 B 52. 指针的关系运算.c
781 B 53. 数组名与指针的关系.c
810 B 54. 数组参数传递的本质.c
942 B 55. 下标方式与指针运算方式的对比.c
1023 B 56. 二维数组的内存布局和指针访问.c
1.3 KB 57. 二维数组的指针遍历.c
1.3 KB 58. 函数指针概念演示.c
917 B 59. 指针函数小案例.c
845 B 60. 二级指针的基本概念演示.c
927 B 61. 二级指针的应用.c
440 B 62. 字符串表示方法.c
323 B 63. strlen函数的用法.c
622 B 64. 自己动手实现strlen.c
409 B 65. strcpy函数的用法.c
304 B 66. strncpy函数的用法.c
325 B 67. strcat函数的用法.c
332 B 68. strncat函数的用法.c
447 B 69. strcmp函数的用法.c
379 B 70. strncmp函数的用法.c
935 B 71. 字符处理函数小案例.c
430 B 72. 大小写切换系统.c
942 B 73. 结构体的定义与使用.c
978 B 74. 结构体数组的定义与使用.c
378 B 75. 结构体指针的用法.c
591 B 76. 按值传递结构体.c
781 B 77. 按地址传递结构体.c
624 B 78. 函数直接返回结构体.c
1.1 KB 79. 返回指向结构体的指针.c
840 B 80. 联合体的定义与使用.c
647 B 81. 使用联合体判断大小端系统.c
580 B 82. 枚举的定义与使用.c
915 B 83. 枚举小案例.c
1.2 KB 84. typedef的用法.c
321 B 85. fgetc函数的用法.c
545 B 86. fputc函数的用法.c
603 B 87. fgets函数的用法.c
709 B 88. fputs函数的用法.c
574 B 89. fprintf函数的用法.c
538 B 90. fscanf函数的用法.c
573 B 91. fwrite函数的用法.c
1.2 KB 92. 文件位置指针.c
469 B 92. fread函数的用法.c
1.4 KB 93. 错误处理相关函数用法.c
284 B 94. 带参数宏定义的用法.c
277 B 95. include指令的引入.c
336 B 96. include指令的用法/main.c
120 B 96. include指令的用法/math_ops.c
107 B 96. include指令的用法/math_ops.h
667 B 97. 条件编译的用法.c
456 B 98. ifdef与ifndef的用法.c
491 B 99. malloc函数的用法.c
14 B data.txt
28 B demo.txt
32 B example.txt
66 B output_lines.txt
15 B output.txt
298 B README.txt可读文件预览
README.txt298 B
C语言课程源码
本压缩包由开源协会知识库从学习目录中自动精选生成。
已排除安装包、视频、编译缓存、目标文件、可执行文件、私钥和大型第三方依赖。
部分工程需要通过对应 IDE、SDK 或配置文件重新生成依赖后再编译。data.txt14 B
101 95.5 Alvindemo.txt28 B
Hello World
have a nice day01. 第一个C程序.c84 B
#include <stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}02. 字面常量.c432 B
#include <stdio.h>
int main(void)
{
//字面常量
//整形
int a = 100; //十进制
short b = 200;
int c = 010; //八进制
int hex = 0x1F; //十六进制
int binary = 0b1010; //二进制
//浮点型
float pi = 3.14f;
double height = 1.75;
//字符型
char letter = 'A';
//科学计数
double light_speed = 2.998e8;
return 0;
}03. 符号常量与枚举常量.c334 B
#include <stdio.h>
//#define PI 3.14
enum gender{
MALE = 10,
FEMALE
};
int main(void)
{
const double PI = 3.14;
//PI = 3.33;
double radius = 5.0;
double area = PI * radius * radius;
printf("圆的面积为:%.2f\n", area);
printf("FEMALE的值为:%d\n", FEMALE);
return 0;
}04. 变量的定义和初始化.c765 B
#include <stdio.h>
//变量一定要先定义再使用
int global_int; //全局变量自动初始化为0
int main(void)
{
//定义一个变量
int age;
int x, y, z; //同时定义多个变量
int count = 30; //定义并初始化变量
//相当于:
//int count;
//count = 30;
float a = 1.0f, b = 2.0f, c = 3.0f; //多个变量同时初始化
float A;
int return;
//为变量赋值
age = 25;
x = 10;
x = 11;
x = 12;
y = 20;
y = age;
z = 30;
z = x + y;
//输出变量的值
printf("年龄:%d\n", age);
printf("x = %d, y = %d, z = %d\n", x, y, z);
printf("学生数量:%d\n", count);
printf("a = %f, b = %f, c = %f\n", a, b, c);
printf("globale_int = %d\n", global_int);
return 0;
}05. 局部作用域.c737 B
#include <stdio.h>
int main(void)
{
int outer_var = 100; //外层变量
printf("外层变量: %d\n", outer_var);
{
int inner_var = 200; //内层变量
printf("内层变量:%d\n", inner_var);
printf("在内层访问变量:%d\n", outer_var);
{
int deep_var = 300;
printf("深层变量:%d\n", deep_var);
printf("在深层访问变量inner_var:%d\n", inner_var);
printf("在深层访问变量outer_var:%d\n", outer_var);
}
//printf("在内层访问深层变量deep_var:%d\n", deep_var);
}
//printf("内层变量inner_var:%d\n", inner_var);
printf("在外层访问变量outer_var:%d\n", outer_var);
return 0;
}06. 全局作用域.c565 B
#include <stdio.h>
int a = 10; //全局变量
void fun1(void)
{
a = 40;
printf("fun1函数里读取a的值为:%d\n", a);
}
void fun(void)
{
a = 30;
printf("fun函数里读取a的值为:%d\n", a);
}
int main(void)
{
printf("main函数里读取a的值为:%d\n", a);
a = 20;
printf("main函数里修改a的值为:%d\n", a);
{
int a = 50;
printf("局部变量a的值为:%d\n", a);
}
printf("回到main函数变量a的值为:%d\n", a);
fun();
fun1();
return 0;
}07. 基本算术运算符.c1.1 KB
#include <stdio.h>
int main()
{
//加法运算符
int a1 = 10, b1 = 20;
int result1 = a1 + b1;
printf("result1的值为:%d\n", result1);
char a2 = 127;
char result2 = a2 + 1;
printf("result2的值为:%d\n", result2);
//减法运算符
int a3 = 50, b3 = 20;
int result3 = a3 - b3;
printf("result3的值为:%d\n", result3);
a3 = -a3;
printf("a3的值为:%d\n", a3);
char a4 = -128;
char result4 = a4 - 1;
printf("result4的值为:%d\n", result4);
//乘法运算符
int a5 = 10, b5 = 5;
int result5 = a5 * b5;
printf("result5的值为:%d\n", result5);
//除法运算符
int a6 = 7, b6 = 3;
int result6 = a6 / b6;
printf("result6的值为:%d\n", result6); //2...1
float a7 = 7.0, b7 = 3.0;
float result7 = a7 / b7;
printf("result7的值为:%f\n", result7);
//取模运算符
int a8 = -7, b8 =-3;
int result8 = a8 % b8;
printf("result8的值为:%d\n", result8);
return 0;
}08. 自增自减运算符.c446 B
#include <stdio.h>
int main()
{
int x = 10, y = 10;
printf("初始值为:x = %d, y = %d\n", x, y);
//前置自增
int result1 = ++x;
// x = x + 1;
// result1 = x;
printf("++x后:x = %d, result1 = %d\n", x, result1);
//后置自增
int result2 = y++;
// result2 = y;
// y = y + 1;
printf("y++后:y = %d, result2 = %d\n", y, result2);
return 0;
}104. 贪吃蛇游戏/snake.h1013 B
#ifndef __SNAKE_H__
#define __SNAKE_H__
#include <stdio.h>
#include <Windows.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define ROW 22 //游戏区行数
#define COL 32 //游戏区列数
//颜色枚举
enum
{
COLOR_DEFAULT = 7, //默认颜色
COLOR_WHITE = 15, //白色
COLOR_RED = 12, //红色
COLOR_LIGHT_BLUE = 11, //浅蓝色
COLOR_BLUE = 9 //蓝色
};
//标记枚举
enum
{
EMPTY, //标记空(什么也木有)
WALL, //标记墙
FOOD, //标记食物
HEAD, //标记头
BODY, //标记蛇身
};
//方向键枚举
enum
{
UP = 72, //上
DOWN = 80, //下
LEFT = 75, //左
RIGHT = 77, //右
SPACE = 32, //空格(暂停)
ARROW = 224 //方向键
};
//蛇头结构体
struct Snake
{
int len; //记录蛇长度(包含蛇头)
int headX; //蛇头横坐标
int headY; //蛇头纵坐标
};
//蛇身结构体
struct Body
{
int bodyX; //蛇身横坐标
int bodyY; //蛇身纵坐标
};
#endif106. 俄罗斯方块游戏/tetris.h1.6 KB
#ifndef TETRIS_H__
#define TETRIS_H__
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
//游戏区域大小常量
#define GAME_BOARD_HEIGHT 22
#define GAME_BOARD_WIDTH 16
#define PLAYABLE_AREA_WIDTH 14
//屏幕区域位置偏移量 - 控制游戏区域在屏幕上的位置
#define SCREEN_OFFSET_X 15
#define SCREEN_OFFSET_Y 2
//信息区域位置常量
#define INFO_AREA_X 50
#define INFO_AREA_Y 5
//方块状态常量
#define CELL_EMPTY -1
#define CELL_BORDER -2
//方块类型枚举定义
enum PieceType{
PIECE_I,
PIECE_O,
PIECE_T,
PIECE_S,
PIECE_Z,
PIECE_J,
PIECE_L
};
//控制台颜色枚举定义
enum ConsoleColors {
COLOR_WHITE = 7, //白色/默认色
COLOR_ORANGE = 6, //橙色
COLOR_GRAY = 8, //灰色
COLOR_BLUE = 9, //蓝色
COLOR_GREEN = 10, //绿色
COLOR_CYAN = 11, //青色
COLOR_RED = 12, //红色
COLOR_MAGENTA = 13, //紫色
COLOR_YELLOW = 14, //黄色
COLOR_BRIGHT_WHITE = 15 //亮白色
};
//按键枚举定义
enum{
KEY_LEFT = 75,
KEY_RIGHT = 77,
KEY_UP = 72,
KEY_DOWN = 80,
KEY_SPACE = 32,
KEY_QUIT = 27,
KEY_ARROW = 224
};
//游戏状态结构体
typedef struct{
int game_borad[GAME_BOARD_HEIGHT][GAME_BOARD_WIDTH]; //直接保存方块类型,-1空,-2边框,0-6方块类型
int current_score;
int total_lines_cleared;
int current_level;
int game_over_flag;
} TetrisGameState;
//方块结构体
typedef struct {
int piece_shape[4][4];
int position_x, position_y;
int piece_type;
} TetrisPiece;
#endif96. include指令的用法/math_ops.h107 B
#ifndef MATH_OPS_H__
#define MATH_OPS_H__
int add(int a, int b);
int subtract(int a, int b);
#endif106. 俄罗斯方块游戏/CppProperties.json382 B
{
"configurations": [
{
"inheritEnvironments": [
"msvc_x64"
],
"name": "x64-Debug",
"includePath": [
"${env.INCLUDE}",
"${workspaceRoot}\\**"
],
"defines": [
"WIN32",
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "windows-msvc-x64"
}
]
}example.txt32 B
adbc1234
hello world!
良许真帅