斯坦福大学C语言基础讲义-EssentialC
需积分: 10 134 浏览量
更新于2024-07-26
收藏 85KB PDF 举报
"EssentialC.pdf 是一份由 Nick Parlante 编写的关于 C 语言的基础教程,用于斯坦福大学的范式编程课程。这份讲义旨在快速概括 C 语言的所有基本特性,适合作为复习资料或已有其他编程语言背景的学习者使用。"
在文档中,Nick Parlante 覆盖了 C 语言的关键概念和结构,包括:
1. **变量(Variables)**:C 语言中的变量是用来存储数据的容器,它们有不同类型的,如整型(int types)、浮点型(floating point types)。
2. **整型(Integer Types)**:包括基本的整型如 `int`,以及无符号整型(如 `unsigned int`)和长整型(如 `long int`)等,它们用于存储整数值。
3. **浮点型(Floating Point Types)**:如 `float`、`double`,用于存储小数或科学计数法表示的数值。
4. **类型提升(Promotion)与截断(Truncation)**:在运算中,较小类型的值会被提升到较大的类型,而截断则是在存储或转换时丢弃超出部分的数据。
5. **运算符(Operators)**:C 语言提供了各种算术、比较和逻辑运算符,如加减乘除、赋值、比较(==, !=, <, >, <=, >=)和逻辑(&&, ||, !)等。
6. **控制结构(Control Structures)**:包括条件语句(if, if-else)、循环语句(while, for),这些结构用于控制程序的流程。
7. **函数(Functions)**:C 语言允许定义和调用函数,函数可以接受参数并返回值。参数分为值参数和引用参数(即指针参数)。
8. **值参数(Value Parameters)**:函数调用时,参数的值被复制给函数内部的局部变量。
9. **引用参数(Reference Parameters)**:通过指针传递,函数可以直接修改参数的值。
10. **结构体(Structs)**:结构体是 C 语言中组合多种类型数据的复合类型,允许创建自定义的数据结构。
11. **指针(Pointers)**:指针变量存储内存地址,可以用来间接访问和操作其他变量。
12. **数组(Arrays)**:数组是一组相同类型元素的集合,可以通过索引来访问其元素。
13. **预处理器(Pre-processor)**:C 语言的预处理器处理宏定义(#define)、包含文件(#include)等指令,完成代码的扩展和修改。
14. **标准 C 库函数(Standard C Library Functions)**:如输入输出函数(printf, scanf)、内存管理(malloc, free)等,提供了丰富的功能支持。
此文档最新版本可以在斯坦福大学 CSEducation Library 的网址 http://cslibrary.stanford.edu/101/ 找到。作者 Nick Parlante 鼓励读者分享和享受这份免费教育资源。
这份文档是斯坦福大学 CSEducation Library 的第 101 号文档,更多教育材料可以在 http://cslibrary.stanford.edu/ 免费获取。
2019-03-17 上传
273 浏览量
2007-09-30 上传
2010-04-06 上传
2012-09-10 上传
2014-06-18 上传
2011-01-06 上传
点击了解资源详情
笑问苍sky
- 粉丝: 3
- 资源: 27
最新资源
- DTSR fMRI 重建:通过施加双时间稀疏性进行 fMRI 重建的 DTSR 方法-matlab开发
- Git安装
- workload-collocation-agent:业务流程感知的工作负载并置代理-一个可以帮助您并置工作负载的守护程序
- 蓝色天空下载PPT模板
- cards.io:用于数字名片的 MERN 应用程序
- 页
- mad-eye-moody:SpotifyMoodify应用程序HackNC 2018
- 钢结构施工组织设计-04SG519-2多、高层建筑钢结构节点连接(主梁的全栓拼接)
- 图像光盘
- 训练有素的模型和代码来预测 3 个拼图挑战中的有害评论:有毒评论分类、有毒评论中的意外偏见、多语言有毒评论分类
- Kozak 散点图:这个易于阅读的散点图可以快速突出显示变量的最小值和最大值。-matlab开发
- 古典花纹背景PowerPoint下载PPT模板
- 电影:使用REST API的快速演示应用程序
- myo-java-JNI-Library:为myo-java项目构建JNI DLL所需的C ++ C文件
- Klix.ba-crx插件
- OverdriveNTool 0.2.9:最新版本 0.2.9-开源