第一章导言的笔记与思考

Writer:BYSocket(泥沙砖瓦浆木匠)

微博:BYSocket

豆瓣:BYSocket

~:较重要 ~~:重要

1.1 hello,world

~初学人来说还是一大障碍,手写编写程序文本,然后成功的进行编译,并加载、运行,然后输出到某个地方。

#include<stdio.h>

int main()

{

printf(“hello,world\n”);

return 0;

}

思考:renturn 0; 为啥呢? return -1; return 1000;可以吗? 答案是可以的。

~一个C语言程序,无论大小,都是由函数和变量组成。

~~#include<stdio.h>用于告诉编译器在本程序中包含标准输入/输出库的信息。

思考:编译器?有哪些?干嘛用?
答案是:例如常见的gcc (GNC Compiler Collection)GNC编译器套件,初衷是为了GNC编写的一款编译器。被大部分UNIX采纳为标准编译器。四个相关步骤:预处理 → 编译 → 汇编 → 链接,详情查阅:gcc百科

~用双引号括起来的字符序列为字符串或者字符串常量。

思考:字符串常量?有木有字符串变量呢?答案是:有的。

~~printf函数永远不会自动换行。

1.2变量与算数表达式

~~int与float类型的取值返回取决于具体的机器。

思考:跟机器,还是编译器?那标准是什么?

答:C标准只规定了short至少16位,long至少32位,long long 至少64位[1],同时long long >= long >= short。至于具体多少由机器上的编译器决定。

~好习惯:每行指书写一条语句,并在运算符两本各加上一个空格。

~~%6.1f:至少占6个字符宽,精确到小数后一位。%o 表示八进制数,%x表示十六进制数,%c表示字符,%s表示字符串,%%表示%本身。

1.3for 语句 1.4 符号常量

~for语句是while语句的推广。

~在程序中,不要使用200,”1″这种幻数

~#define指令吧符号名定义为一个特定的字符串。末尾无分号。

1.5 字符输入/输出

~~输入和输出都是按照字符流的方式处理的。问奔流是有多行字符构成的字符序列,而每行字符则由0个或者多个字符组成,行末是个换行符。一次读/写一个字符的函数:getchar 和 putchar。

1.5.1 文件复制

~~字符在机器内部都是以为模式存储的。char类型专门在于存储这种字符类型数据。

~EOF定义在<stdio.h>头文件,是一个整型数。具体数值是什么并不重要,只要它与任何char类型的值不相同即可。可以确保程序不需要依赖于其对应的任何特定数值。

~不等于运算符的优先级高于赋值元算符=。

1.5.2 字符统计

~~long整形,长整型至少要占用32位存储单元。在某些机器上int与long类型的长度相同,int类型的值只有16位存储单元的长度。

~ @.0f强制不打印小数点和小数部分。

~单独的分号称为空语句。

1.5.3 行计数

~~单引号字符表示一个整形数,此字符在机器字符集中对应的数值。称为字符常量。

~‘\n’代表换行符的值,ASCII值为10。

1.5.4

~nl = nw = nc =0; 等价于  nl = (nw = (nc =0)); 由右往左。

1.6 数组

~ 数组下标可以是任何整形表达式。包括整形变量(如i)以及整形常量。

1.7 函数

~~如果源程序分散在各个文件中,编译和加载时会做更多的工作,但是这个是操作系统的原因,并不是语言的决定的。

~~调用者实际上的就是程序的执行环境,返回为0表示正常终止,非0表示异常情况或者出错结束条件。

~建议:在使用新式的编译器时,最好使用新式的函数原形声明方式。

1.8 参数-传值调用

~ ~在C语言中,所有函数参数都是”通过值”来传递的.

~~ 调用者需要想被调用提供设置值得变量地址。地址就是变量的指针。被调用者需要将其设置为指针类型,并通过间接访问变量。

Writer:BYSocket(泥沙砖瓦浆木匠)

微博:BYSocket

豆瓣:BYSocket

时间: 2024-10-14 09:59:44

第一章导言的笔记与思考的相关文章

《操作系统概论》第一章引论读书笔记

计算机系统分为硬件和软件. 硬件主要由:CPU.存储器.输入输出控制系统.各种输入输出设备组成. 软件主要分为:系统软件.支撑软件.以及应用软件. 操作系统定义:一般认为,操作系统是管理计算机系统资源.控制程序执行.改善人机界面和为应用软件提供支持的一种系统软件. 操作系统的作用: 管理计算机系统的资源. 为用户提供方便的使用接口. 具有扩充硬件的功能. 操作系统的功能: 从资源管理的观点看,操作系统的功能可以分为:处理器管理.存储管理.文件管理和设备管理. 处理器管理的主要工作是进行处理器的分

【深入理解Linux内核】《第一章 绪论》笔记

1.商用Unix操作系统包括: - AT&T公司开发的(System V Release 4) SVR4. - 加州伯克利分校发布的4.4BSD - Dec公司(现属于HP)的Digital Unix - IBM公司的AIX - HP公司的HP-UX - Sun公司的Solaris   - Apple公司的Mac OS X 所有商业版本都是SVR4或4.4BSD的变体,并且都趋向于遵循某些通用标准:如IEEE的POSIX(Portable Operating Systems based on U

html5 +css3 第一章学习和笔记

各位同学.身为本版的斑竹.,希望各位童鞋都能学到Html5 .特此没两天更新一个学习笔记和大家一起学习Html5.... 语法改变       1.新增的元素和废除的元素       2.新增的属性和废除的属性       3.全局属性 html5和4的区别:DOCTYPE.声明.内容类型.字符的编码的制定方法.元素标记的省略.布尔值的类型.引号的省略 一:html5中的标记方法        1内容类型:.html  .htm        2DOCTYPE声明: <!DOCTYPE html

邹欣老师的《构建之法》第一章“概论”学习笔记与自我随笔

刚读完了邹欣老师的<构建之法>第一章“概论”,四个字形容:酣畅淋漓. 概论将自己的一些模糊的认识清晰化,用准确的文字描述了出来,填补了脑海里的一些灰色地带. 总结一下:概论通俗地阐述了编程.软件.计算机科学.软件工程的联系与区别,简单说,编程是一项具体动作,软件是供人使用的产品,具体有很多种类型,而计算机科学是偏向理论研究,软件工程就像其他工程学一样,是在一定条件下合理配置资源达到生产软件的目的. 本人作为一名从小对编程.软件.计算机感兴趣的Nerd,虽然大学专业与此无关,但刚毕业时签了一份软

第一章 导言

字符型实际上就是int型,保存的方式是将字符的ASCII码.char类型实际就是short型. ''单引号包括的是一个字符,""双引号包括的是一个字符串. 整形数之间相除,这个操作将执行舍位,例如:5/9,应该约等于0.5555,但由于舍位,最终的值为0.如果需要保留小数位,先将操作数转换为浮点型的数,例如:5.0/9.0. 字符串是以字符数组的形式来储存.例如:char strings[20]. getchar.sanf,都是从输入缓冲区中读取数据.如果缓冲区的数据有剩余数据,那么再

第一章 概论 计算机网络笔记 学堂在线 1.3交换方式(电路交换、分组交换)

交换就是要建立两种机制: 建立数据传输通路机制 控制数据传输过程机制 信道:是信号传输通道 1 发送端将数据转换成信号 2 信号经过信道传播到达接收端 3 接收端将信号还原成数据 1 电路交换 两两互联建立信道过程: 信道固定. 缺陷:如果终端之间存在双向信道,n个终端需要n*(n-1)个信道.按需建立信道过程: 信道不固定.终端之间的信道由3段物理链路组成. 电路交换过程(连接建立过程):由电路交换机按需在两个终端之间动态建立信道. 数据传输通路建立机制: 1 建立连接:两个终端之间进行数据传

第一章 概论 计算机网络笔记 学堂在线 1.4 网络体系结构和协议

1 分层对每一层进行定义: 下一层为本层提供的服务 本层为上一层提供的服务 本层需要完成的功能 对相邻层之间接口进行定义: n层通过接口发出服务请求,n-1 层通过接口提供服务响应. 只要n层与n-1 层之间的接口不变,其它层的变化不会对n层实现过程产生影响 分层的原则: 每一层的功能相对独立,相邻层之间功能划分清晰 功能层越多,功能层实现越简单,但网络运行效率越低,必须综合考虑实现难度与运行效果 分层结构实例: PC结构: 操作系统 --> BIOS --> 主板(不同主板提供的接口不同,但

Camel In Action 阅读笔记 第一部分概述 + 第一章概述 认识Camel

第一部分: 最开始的一小步 Apache Camel 是一个开源集成框架,其目的是让系统集成变得更加简便,在本书的第一章中,我们会为您介绍它并向您展示它是如何在大型企业应用中做好集成工作.您也会了解到Camel 的一些原理和术语. 第二章会为您集中讲述Camel 最重要特性之一: 消息路由. Camel还提供两种方式来定义路由规则: 基于Java的领域特定语言(Domain Specific Language--DSL)和Spring XML 配置方式. 除了创建路由,我们还会为您讲述如何使用企

【vue.js权威指南】读书笔记(第一章)

最近在读新书<vue.js权威指南>,一边读,一边把笔记整理下来,方便自己以后温故知新,也希望能把自己的读书心得分享给大家. [第1章:遇见vue.js] vue.js是什么? vue.js不是一个框架-它只聚焦视图层,是一个用来构建数据驱动的Web界面的库.Vue.js通过简单的API来提供高校的数据绑定和灵活的组件系统 vue.js的特性 轻量级:体积非常小,而且不依赖其他基础库 数据绑定:对于一些富交互,状态机类似的前端UI界面,数据绑定非常简单,方便 指令:类似与AJ,可以使用v-*的