第一章导言的笔记与思考

简介:

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

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

相关文章
|
前端开发 JavaScript Go
【golang之路】——govaluate
【golang之路】——govaluate
58209 5
【golang之路】——govaluate
|
11月前
|
监控 数据挖掘 API
探索淘宝商品评论接口:功能、应用与开发者指南
在电子商务蓬勃发展的今天,商品评论已成为消费者购买决策的重要依据之一。作为国内最大的电商平台,淘宝通过其强大的商品评论系统,不仅为消费者提供了丰富的购物参考,也为商家提供了宝贵的用户反馈。而这一切的背后,离不开高效、稳定的商品评论接口支持。本文将深入探讨淘宝商品评论接口的功能、应用场景以及为开发者提供的指南,帮助大家更好地理解并利用这一资源。
|
8月前
|
机器学习/深度学习 人工智能 算法
《AI重塑无线网络:化解信号干扰与波动难题》
无线网络在数字化时代至关重要,但信号干扰与波动(如同频干扰、邻频干扰及物理环境变化等)严重影响性能。传统方法虽能缓解部分问题,但在复杂动态环境中效果有限。人工智能的引入,通过机器学习和强化学习,实现了智能信道选择、功率控制及干扰消除,显著提升网络稳定性与效率。实际应用中,智能工厂和大型商场的案例证明了AI技术的有效性。未来,随着AI不断发展并与其他技术融合,无线网络将更稳定高效,为用户带来更优体验。
405 5
|
8月前
|
机器学习/深度学习 文字识别 测试技术
Qwen2.5-VL-32B: 更聪明、更轻量!
年前,阿里通义千问团队推出了 Qwen2.5-VL 系列模型,获得了社区的广泛关注和积极反馈。在 Qwen2.5-VL 系列的基础上,研究团队使用强化学习持续优化模型,并使用 Apache 2.0 协议开源 32B 这个备受喜爱的参数规模的新 VL 模型—— Qwen2.5-VL-32B-Instruct。相比此前发布的 Qwen2.5-VL 系列模型,本次推出的 32B 模型的特点如下:
3103 0
|
安全 KVM 虚拟化
OpenEuler 中配置 KVM 虚拟化环境指南
本文档详细介绍了如何在OpenEuler系统中配置和管理KVM虚拟化环境,包括环境准备、组件安装、虚拟机安装及管理命令等,适合初学者和有经验的用户。内容覆盖了从桥接网卡配置到虚拟机的安装与管理,以及常见问题的解决方法,帮助用户高效利用虚拟化技术。
1340 0
|
搜索推荐 JavaScript 前端开发
【数字化销售】CPQ软件概述
【数字化销售】CPQ软件概述
|
数据安全/隐私保护 计算机视觉 Python
Python批量图片去水印,提高工作效率
Python批量图片去水印,提高工作效率
542 0
|
存储 安全 大数据
数据隐私与安全在大数据时代的挑战与应对
数据隐私与安全在大数据时代的挑战与应对
2157 0
关于 QWidget无法使用stylesheet设置自身backgound-color(背景色)和border-image(背景图片) 的解决方法
关于 QWidget无法使用stylesheet设置自身backgound-color(背景色)和border-image(背景图片) 的解决方法
关于 QWidget无法使用stylesheet设置自身backgound-color(背景色)和border-image(背景图片) 的解决方法
|
监控
CFA - Ethical & Professional Standards 职业伦理道德(上)
CFA - Ethical & Professional Standards 职业伦理道德(上)
1194 1
CFA - Ethical & Professional Standards 职业伦理道德(上)