C语言学习遇到的关键点

这篇博客总结了C语言初学者在编程过程中容易犯的错误和需要注意的关键知识点,包括C99与SCANF的区别、标识符命名规范、输入输出格式、运算符优先级、浮点数输出、bool类型的使用、逗号表达式、switch结构限制、数学函数pow、字符串处理、函数声明、预处理命令、内存单位、输出格式控制、字符与整型转换、参数传递方式、作用域规则、结构体类型别名、宏定义陷阱、以及C语言定义规范。内容全面,适合C语言入门者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚刚接触编程,下面是我作为小白在学习过程中遇到的易错的注意点和部分需要记住的易忽略知识点,比较基础,简记于此,如果有不正确很希望您可以矫正,十分感谢!:

1.关于C99和SCANF

2.关于标识符(变量名)的命名规范

3.使用sacnf输入double型浮点数得用%lf,而不是%f

4.赋值是从右到左,连续的关系运算符从左到右

5.如何输出特定位数的浮点数:列:保留俩位小数,“%.2f”

6.bool类型的数据本质是整型,输出用%d,使用前加头文件<stdbool.h>

7.关于逗号表达式用处:for(i=0,j=10 ;i<j; i++,j–) (ps:似乎不能int i且int j)

8.关于switch结构中switch()括号内的判断条件必须是整型,相应的case后面常量也是整型

9.数学函数pow(a,b)是用于浮点数

10.C语言里面没有String定义字符串,没有字符串类型,都是用字符

11.关于函数声明:前面定义的函数调用后面定义函数需要声明,声明也可以帮助系统检查调用是否正确,声明位置只要求在调用之前

12.预处理命令不是C语言本身组成部分,C语句都是;结束的

13.一个内存单元就是一个字节=8位,故位是计算机的最小存储单元(没有深入),一个字通常4个字节(不一定)

14.关于如何输出前面有0的数字:“%03d”,表示一共输三个数字,前面为0

15.字符型和整型在C里很多时候可以通用,字符型以ASCII码存储

16.做实参的函数必须先定义或声明,否则系统无法确定是函数名还是变量名

17.形参俩种传递方式:
值传递:传递数值
地址传递:传递地址,所以形参中非数值如数组,函数可以用指针代替

18.for循环内定义的变量,作用域只在循环内部

19.主函数外定义一个全局变量a,在函数改变该变量的值设为a=n;则全局中a都是等于n

20.关于typedef定义结构体类型别名,别名应该是在大括号后面,因为结构体名+大括号内容 才是完整的定义了一个结构体类型

21.关于宏定义的俩个陷阱:#define s 40 和 #define t s+20 若z=t2;宏展开:z=40+202. 加括号#define t (s+20) 表示的才是(s+20)*2

22.归还予宏定义的俩个陷阱:#define STU int * STU a,b; 展开:int * a,b;定义的是一个指针和变量,若想定义俩个指针可用typedef

  1. typedef int * t; t a,b; 在这里同时定义了俩个指针,但 int * a,b; 定义的是一个指针和一个变量

24.关于C语言定义上的一些规范:宏定义#define的名字用大写表示这并非是普通的常量

25.%g是一个很方便用于输出浮点数的格式,输出时不带浮点数后面多余的0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值