第一章导言的笔记与思考

简介:

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语言中,所有函数参数都是”通过值”来传递的.

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

相关文章
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
614 216
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
857 61
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1287 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
241 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
531 109