C语言笔记

print与printf的区别

1,print 中不能使用%s ,%d 或%c;

2,print 自动换行,printf 没有自动换行。

使用 typedef 来为用户自定义的数据类型取一个新的名字

// typedef 仅限于为类型定义符号名称,
#define 不仅可以为类型定义别名,也能为数值定义别名,
比如您可以定义 1 为 ONE。

二进制 I/O 函数
下面两个函数用于二进制输入和输出:

size_t fread(void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);

size_t fwrite(const void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);
这两个函数都是用于存储块的读写 - 通常是数组或结构体

### C语言学习笔记与资料整理 C语言是一种通用的、过程式的计算机编程语言,支持结构化编程、 lexically scoped 语句以及递归函数调用[^1]。以下是关于C语言学习的一些关键点和参考资料: #### 1. 循环结构 C语言提供了多种循环结构以实现重复操作,包括`while`、`do...while`和`for`语句。以下是一个使用`while`循环的示例代码[^1]: ```c #include <stdio.h> int main() { printf("加入比特\n"); int line = 0; while(line <= 20000) { line++; printf("我要继续努力敲代码\n"); } if(line > 20000) printf("好offer\n"); return 0; } ``` #### 2. 随机数生成与用户交互 在C语言中,可以通过`rand()`函数生成随机数,并结合`time()`函数设置随机种子以确保每次运行时生成不同的随机数。以下是一个猜数字游戏的示例代码[^2]: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(0)); int number = rand() % 100 + 1; // 生成1到100之间的随机数 int count = 0; int a = 0; printf("我已经想好了一个1-100之间的数\n"); do { printf("请猜数:"); scanf("%d", &a); count++; if (a > number) { printf("你猜的数大了\n"); } else if (a < number) { printf("你猜的数小了\n"); } } while (a != number); printf("太棒了,你用了%d次就猜对了答案\n", count); return 0; } ``` #### 3. 整数逆序求解 对于整数逆序问题,可以利用`%`运算符获取个位数,`/`运算符去掉个位数,逐步构建逆序结果。以下是一个整数逆序的示例代码[^2]: ```c #include <stdio.h> int main() { int x; scanf("%d", &x); int digit; int ret = 0; while (x > 0) { digit = x % 10; ret = ret * 10 + digit; printf("x = %d, ret = %d, digit = %d\n", x, ret, digit); x /= 10; } printf("%d", ret); return 0; } ``` #### 4. 常见错误及调试技巧 在C语言编程过程中,常见的错误包括数组越界访问、指针使用不当、内存泄漏等。为避免这些问题,建议养成良好的编程习惯,例如初始化变量、检查边界条件、使用调试工具(如`gdb`)等。 #### 5. 学习资源推荐 - **书籍**:《C程序设计语言》(The C Programming Language),由Brian W. Kernighan和Dennis M. Ritchie编写。 - **在线教程**:菜鸟教程(https://www.runoob.com/cprogramming/index.html)、GeeksforGeeks(https://www.geeksforgeeks.org/c-programming-language/)。 - **实践平台**:LeetCode、Codeforces、HackerRank等提供丰富的C语言练习题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值