自己学习C语言时的笔记
第一课
1.内存
2.double <—— float <—— int <——char
3.printf( )——> >> 输出
scanf( )——> << 输入
%d int
%f float double
%c char
scanf(“%d”,&a) scanf(“%d %d”,&a,&b)
scanf(“%d ,%d”,&a,&b)
scanf(“%d %d”,&a,&b)
在C语言学习中,了解内存管理、数据类型、输入输出函数以及条件运算符等基础知识是非常重要的。以下是对这些知识点的详细解释:
1. **内存**:在计算机中,内存分为不同的区域,包括代码区、数据区、栈区和堆区。代码区存储程序的机器指令,数据区用于存储全局变量和静态变量,栈区用于存储函数调用时的局部变量,而堆区则是动态分配内存的地方。
2. **数据类型**:在C语言中,数据类型包括基本类型和复合类型。基本类型如`int`、`float`和`double`,其中`double`的精度最高,其次是`float`,最低是`int`。`char`类型用于存储单个字符。
3. **输入输出函数**:`printf()`和`scanf()`是C语言中的两个关键函数,用于输出和输入数据。`printf()`用于格式化输出,如`%d`对应`int`,`%f`对应`float`,`%c`对应`char`。`scanf()`用于格式化输入,例如`scanf("%d",&a)`读取一个整数到变量`a`,`scanf("%d %d",&a,&b)`读取两个整数到`a`和`b`。
4. **强制停止**:`#include <stdlib.h>`引入后,可以使用`system("pause")`来暂停程序,等待用户按下任意键继续。
5. **换行符**:`\n`是转义字符,表示换行。
6. **算术运算**:在C语言中,负数除以正数的结果会进行下取整,例如`-7/2`的结果是`-4`。
7. **注释**:`//`开始的单行注释不会被执行,用于解释代码。
8. **条件运算符**:`x ? a : b`是一种三元运算符,如果`x`的布尔值为真,则执行`a`,否则执行`b`。
9. **赋值与比较**:`=`是赋值运算符,将右边的值赋给左边的变量;`==`是等于运算符,用于比较两边的值是否相等。
10. **C++特性**:C++相对于C语言,增加了结构化、STC(标准模板库)、泛型编程和面向对象等特性。
11. **习题解析**:题目的目的是判断一个5位以内的数的位数,并输出逆序的各位数字。通过模运算和整除操作提取每位数字,然后根据位数进行不同的输出。
12. **逆序输出**:另一个习题是输入一个整数并逆序输出它的各位数字。首先使用`for`循环对数字进行分解,然后反向输出。
以上就是C语言学习笔记第一课中的主要知识点。学习C语言时,理解并熟练运用这些基础知识是编写程序的关键。通过不断地练习和实践,可以更好地掌握C语言的精髓。