### C语言知识整理 #### 第一章:C语言基础 1. **语言的分类与C语言的起源**: - **语言的分类**通常分为低级语言和高级语言两大类。低级语言接近计算机硬件指令集,如汇编语言;而高级语言更接近人类自然语言,易于理解和编写,例如C语言、Java等。 - **C语言的起源**:C语言是在1970年由UNIX的研制者丹尼斯·里奇(Dennis Richie)和肯·汤姆逊(Ken Thompson)基于B语言发展和完善起来的一种编程语言。 2. **C语言的关键元素**: - C语言包含32个关键字,34种运算符,9种控制语句,10种复合赋值运算符,6种关系运算符以及6种位运算符。 - “+=”是一个整体,不可拆分。这意味着`x += y`等价于`x = x + y`。 - 在C语言中,每使用一个库函数都需要单独占用一行,并且以“#”开始,例如`#include <stdio.h>`用于引入标准输入输出库。 3. **格式化输出**: - 格式化规定符“%m.nd”中,`m`表示域宽,即输出项占据的字符数;`n`表示精度,用于指定输出实数的小数位数。 - 格式“%0md”表示在输出一个长度小于`m`位的数值时,前面会补0,使其总宽度为`m`。 - 格式“%-md”中的“-”表示采用左对齐输出方式;如果不加“-”,则默认为右对齐输出方式。 4. **输入函数`scanf()`**: - 对于`scanf()`函数,如果输入的是字符串数组或字符串指针变量,则不需要在它们前面加上“&”操作符。 - `scanf()`中没有控制精度的输入功能,如`scanf("%8.4f", &a)`是非法的。 - 在多个变量输入数据时,如格式控制字符串中没有普通字符作为输入数据之间的间隔,则可用空格、Tab键或回车键作为间隔。 - `scanf()`函数要完成输入,必须输入回车。 5. **清除函数`fflush(stdin)`**: - `fflush(stdin)`用于清除已经输入但不需要的字符,例如,在连续使用两个或两个以上`scanf()`函数连续给多个字符变量赋值时可能会出现问题,这个问题可以通过`fflush(stdin)`来解决。 - 示例代码: ```c #include<stdio.h> void main() { char c1, c2; scanf("%c", &c1); fflush(stdin); // 如果去掉这一行,输出会有错误 scanf("%c", &c2); printf("c1 is %c, c2 is %c", c1, c2); } ``` 6. **非格式化输入输出函数**: - `puts(s)`:输出字符串,其中`s`为字符串数组名或字符串指针。 - `gets(s)`:接收输入的整个字符串直到回车结束,`s`为字符串数组名或字符串指针。 - `putchar(ch)`:向标准输出设备输出一个字符,其作用等同于`printf("%d", ch)`。 - `getch()`、`getche()`和`getchar()`函数分别用于从键盘读入一个字符,其中`getch()`不回显,`getche()`和`getchar()`会回显。使用这些函数需要加入头文件`#include <conio.h>`。 7. **C语言程序开发步骤**: - 问题的求解 - 程序设计 - 程序编译 - 链接程序 - 程序运行 8. **文件名扩展名**: - `.c`:标准C语言程序文件名的后缀。 - `.cpp`:C++程序文件名的后缀。 - `.obj`:源程序经编译后所生成的目标文件的扩展名。 - `.exe`:Windows源程序经编译、链接后所生成的可执行文件的扩展名。 #### 第二章:数据类型与常量 1. **32位系统下的数据类型**: - 在32位系统下,指针类型数据占32位。指针类型的位数与机器的寻址位有关。 2. **常量分类**: - 十六进制数中可以使用大写字母A-F或者小写字母a-f,大小写可以混用。 - C语言编译系统默认将实型常量按照双精度型处理,若后缀为`f`或`F`,则将其视为单精度型。 - 系统会在字符串常量的结尾自动添加字符串结尾标志`\0`。 - C语言中没有字符串变量的概念,只有字符数组。 3. **变量初始化**: - 错误写法:`int a = b = c = 1;`。正确的初始化方式应该明确指定每个变量的初始值。 4. **算术运算**: - 两个整数相除的结果为整数,并“向零取整”。例如,5 / 3 的结果为1,-5 / 3 的结果为-1。 - 求余运算的结果符号与被除数相同。例如,-7 % 4 的结果为-3,7 % -4 的结果为3。 通过以上内容,我们可以了解到C语言的基础知识及其常用的功能特性,这对于初学者来说是非常重要的学习材料。掌握这些基础知识对于后续深入学习和实践都是不可或缺的。
剩余12页未读,继续阅读
- 粉丝: 80
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助