C语言初学的学习总结

1. 占位符是什么?
 
        占位符是在C语言中用于`printf`和`scanf`函数的一种机制,它允许程序员自定义数据的输出和输入格式。例如,`%d`用于整数,`%f`用于浮点数,`%c`用于字符等。
 
2. 多个占位符一起使用
        在`printf`函数中,你可以同时使用多个占位符。例如,`printf("%d %f", i, f)`,其中`%d`是整型占位符,`%f`是浮点型占位符,`i`是整型变量,`f`是浮点型变量。
 
3. 如何限定输出最小宽度
        在`printf`函数中,可以通过在占位符前面添加`width`来实现最小宽度的限制。例如,`%6d`表示整型的输出宽度至少为6位,不足的部分会填充空格。
 
4. `%*.*f`的解释
        `%*.*f`是一种特殊的占位符,其中`*`代表宽度或精度的值可以在运行时动态确定。例如,`printf("%*.*f", width, precision, value)`,其中`width`代表输出的宽度,`precision`代表小数点的精度,`value`是要输出的浮点数。
 
5. `%.[m]s`的解释
        `%.[m]s`用于`printf`函数,其中`[m]`代表一个数字,表示要输出的字符串的长度。例如,`printf("%.5s", "hello world")`,只会输出"hello"。
 
6. 在Visual Studio中无法使用`scanf`的问题
        如果你在Visual Studio中无法使用`scanf`,可能是由于你的项目设置问题。你需要检查项目的属性,确保已经包含了标准输入库。
 
7. 缓冲区和`scanf`的关系
        缓冲区是内存中的一个区域,用于存储输入或输出过程中的数据。在使用`scanf`函数时,输入的数据会被临时存储在缓冲区中,然后`scanf`函数从缓冲区中读取数据。
 
8. 浮点数为什么不能精确存储
        浮点数在计算机中是以二进制的形式存储的,而有些十进制的小数转换为二进制时会变成无限循环小数,因此无法精确存储。
 
9. `scanf`的返回值
        `scanf`函数的返回值是成功读取的数据项的数量。当遇到非法输入或输入的数据类型与占位符不符时,`scanf`函数会提前结束并返回实际读取的数据项数量。
 
10. 多组数据输入如何用`scanf`实现
        可以使用多个`scanf`函数或者在一个`scanf`函数中使用多个占位符来实现多组数据的输入。例如,`scanf("%d %d", &a, &b)`,其中`&a`和`&b`是整型变量的地址。
 
11. `scanf`中使用`%c`注意事项
        在使用`%c`占位符时,需要注意不要让`scanf`函数读取到换行符或其他特殊字符,因为这些字符可能会导致`scanf`函数的行为异常。
 
12. `scanf`中使用`%s`注意事项
        在使用`%s`占位符时,遇到空白字符(如空格、换行符等)会停止读取。存储到变量里的字符串不会自动存储`\0`,需要手动添加。
 
13. 赋值忽略符
        赋值忽略符是`scanf`函数中的一个特性,它允许你在读取数据时跳过某些不需要的数据项。例如,`scanf("%d %*c %d", &a, &b)`,其中`%*c`表示读取一个字符并将其丢弃。
 
14. 创建变量为什么要给初始值
        给变量初始值是为了防止变量在使用前被赋予垃圾值,从而保证程序的正确性和稳定性。
 
15. 真假判断
        在C语言中,`true`和`false`并不是关键字,而是宏定义。通常,非零值为真,零值为假。
 
16. if语句执行流程
        `if`语句的执行流程是先判断条件是否满足,如果满足则执行相应的代码块,否则跳过。
 
17. 分支包含多条语句可以不写花括号{}吗?
 
        在C语言中,如果`if`或`else`分支只包含一条语句,那么可以省略花括号。但如果分支包含多条语句,则必须使用花括号。这是因为花括号用于明确指出哪些语句属于同一个分支,以避免混淆和错误。
 
18. if的嵌套使用?
        `if`语句可以嵌套使用,即在一个`if`语句内部再使用另一个`if`语句。嵌套的`if`语句可以帮助我们处理更加复杂的条件判断。例如:

if (条件A) {
    if (条件B) {
        // 条件A和条件B都满足时的操作
    } else {
        // 条件A满足,但条件B不满足时的操作
    }
} else {
    // 条件A不满足时的操作
}


19. 悬空else问题——就近原则!
        在C语言中,`else`语句总是与其之前的最近的未匹配的`if`语句关联。这种行为被称为“就近原则”。因此,为了避免歧义,建议每个`if`语句之后都跟随一个`else`语句,或者完全省略`else`语句。如果有多层嵌套的`if`语句,并且想要在某个特定的`if`语句失败时执行一些操作,那么应该在该`if`语句后面直接跟一个`else`语句,而不是在其他地方放置一个悬空的`else`语句。


20. 如何利用tab键,让你的代码规范好看?
        在编写C语言代码时,合理使用Tab键可以提高代码的可读性。一般来说,每级缩进使用一个Tab键,这样可以形成清晰的层次结构。此外,还可以通过设置Tab键对应的空格数(一般为4个空格)来保持代码的一致性。在大多数IDE和编辑器中,都可以在设置中找到相关的选项进行调整。使用合适的缩进可以使代码看起来更加整洁和规范。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值