《C语言参悟之旅》 -读书笔记(一)

C语言参悟之旅 本书作者将丰富的开发经验凝聚在方寸之间,以轻松易懂、深入潜出的笔调将C语言的世界描绘得有声有色。 立即下载

            最近在看《C语言参考之旅》,感觉这本书不错,作者有用心去写,也写出了一些实际开发过程中雪要注意的细节,和高校教师所编的书还是有一定区别,初看好像很简单,但仔细看还是有一定的深度,适合掌握了一些基本语法的 C语言学习者学习,本文记下了阅读过程中自己认为比较重要而在学校教材里没有讲透彻的地方摘录下来

                                                                                  第一章    程序设计与C语言

 

         1.什么是计算机程序?

              计算机程序是指能使计算机做出信息处理行为并产生一定结果的指令集和(就像做菜的菜谱)

        2.高级语言的执行方式?

             ( 1 )采用编译方式

                                 编译----->编译----->链接----->生产可执行文件

            (2)解释方式

                 利用针对某种高级语言的解释软件,解释所遇到的高级语言中的每个操作并完成这些操作所要执行的动作

             

                                 高级程序源程序---------->解释软件---------->计算结果

                                                                                  第二章    数据和数据类型

 

          1.几个重要概念

            数据类型( C 是一门强类型语言 ) 

         常量

         ‘10’和 10

            字符常量(在内存中存放的不是字符本身,而是该字符所在机器采用的字符集的代码(ASCII))

         注: 

                1)可以将一个字符常量赋给一个字符变量,不能将一个字符串常量赋给一个字符串变量(要用strcpy函数)

                2)在C语言中,没有专门的字符串变量,而是用字符数组来存放一个字符串常量

         变量的命名、定义、初始化

           不好的示范:

               total           //记录的总数

               totals          //全部记录的总数

           比较好的表示方法:

               envry_total   //某条记录的总数

               all_total       //全部记录的总数   

        

       注: 1)避免上面使用类似的变量名    2)每定义一个变量都要注释一下,养成良好的编程风格

 

  整型变量

        整型变量在内存中是以二进制的形式存放的,而数值(此处是整型)是一补码的形式存放的

        负数 -123 的补码的求解如图:

     

 整型变量的溢出

      对于有符号数来说,如果对其最大值再加1,结果将变成其该数位所能表示的最小值

 

 

      32767+1,应该等于32768,但因为发生溢出,最后得到的是16位的最小数-32768(16位机上整型为2个字节)

 注:图的第二行是-32868的补码形式  & 作为16位整型可以表示的范围为负的2的15次方 ~ 2的15次方减 1

 浮点数的存储     float f = 1.23456789

 

      浮点数是按指数形式存储的,系统将一个实数分为小数部分和指数部分(上图只是为了示意,用十进制表示,在内存中是以二进制数来表示小数部分 ,用2的幂次来表示指数部分的)

     注:

            具体哪个部分占多数位由编译器决定

            要防止两个数量级差别很大的数进行加减运算,因为舍入误差而产生与理论不同的结果123456789.0加上0.000123,按道理等于12345678.000123,将其转换成为具有7位精度的浮点数,0.1234567E+7, 第7位后面的数字都是无意义的

数据的输入/输出

     printf( )函数

           printf("格式控制字符串", 输出列表);

     说明:

           格式控制字符串分为格式字符串(%开头的)和非格式字符串(原样输出)

           %f(以小数形式输出单、双精度实数)

    * %g  (以%f和%e中较短的输出宽度输出单、双精度实数)

     注:

         若不按变量的类型来输出的话可能会输出很意外的值:

         假设系统中中int型占2个字节,char占1个字节,若变量的值为100(ASCII)对应的字符为d,若变量的值为300(ASCII最大值为255),这是printf( )会截断两个字节中的一个字节,这种阶段就相当于用256除这个数,余数为44(',')

        关于输出的精度,输出格式以及其他细节的东西就具体用的时候查相关资料

 scanf( )

      

 

 scanf( "格式控制字符串",地址列表 );

注:

     1)如果格式控制串中有非格式字符则输入时也要输入该非格式字符,

          scanf("a=%d",b=%d",&a,&b);,字符'a'、'='、‘,’,'b',都属于非格式字符,在输入时,应该原样并按照位置输入。

     2)在输入多个数据数据时,若格式控制串中没有非格式字符作为输入数据之间的间隔则可用空格,Tab或是回车作为间隔,C编译在碰到空格、Tab、回车或是非法数据(对“%d”输入“12B”时, B即为非法数据)即认为该数据结束

    3)在输入字符数据时,若格式控制串中有非格式字符,则认为所有输入的字符均为有效字符(  scanf("%c%c",&a,&b));,当输入A  B(中间有个空格),函数把字符‘A’和‘B’中的空格也当作有效字符,‘A’赋给a,'    '赋给b.

    4) 如果输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确

    5)' * ‘

          '

' * '修饰符提供了截然不同的作用,放在%和格式字母中,其用于表示该输入项读入后不赋予相应的变量,即跳过该输入值( )

 

 

putchar(  )(一次只能一个字符)

 

puts( ) & gets ( )

 

 

 

1) puts(s) (s为字符串指针或字符数组名) 

2) puts("hello ,World");

gets(s)    (s是字符串指针或字符数组名)

gets()是读取字符串直到回车符结束

《c语言参悟之旅》简介 左飞老师的《c语言参悟之旅》推荐。本文件只包含一章,如需阅读,请购买正版图书 立即下载

相关推荐

C语言参悟之旅.pdf

C语言参悟之旅.pdf C语言学习相关资料,收藏一下

《C语言参悟之旅》-读书笔记(六)

第7章指针 C语言编写的程序至今仍能和汇编语言程序相媲美,其中一个重要原因就是拥有一种数据类型——指针(内存操作) 1.指针和地址      数据的访问方式——直接访问和间接访问 间接访问方式     通过变量来访问( 计算机用一个别称(变量)来标识存储单元,计算机在寻找内存的数据时就要先把这个别称翻译成地址才行  ) 直接访问方式    通过地址来访问

瞎几波写 981

C语言参悟之旅pdf

C语言参悟之旅

《C语言参悟之旅》新鲜试读(完结篇)

lizhaoheng1982的专栏 4909

GPS数据处理必备:IGS精密星历下载与使用全攻略(附武汉大学/CDDIS/CODE/GFZ地址)

本文为GPS/GNSS数据处理者提供了IGS精密星历的完整下载与使用指南。详细解析了最终、快速、超快速三种精密星历产品的区别与选择策略,并手把手教学如何从武汉大学、CDDIS、CODE、GFZ四大主流数据中心高效获取数据,涵盖文件命名规则解析及自动化下载脚本,助力科研与工程应用。

weixin_29234239的博客 684

黑苹果从入门到精通:最详细的VMware安装macOS教程

前言 不知为何,以前我发的两篇关于黑苹果的文章或没过审或被删除,最近SMZDM上有不少优质的黑苹果文章发出来,貌似禁令已开,前段时间在一篇写的很不错的黑果文章下吹牛说今年要写一个系列,故有了这篇文章作为系列的开头。 系列的名字起的有点俗,叫做xxx从入门到精通,但是我很喜欢,相信过半的黑果群众都是程序员,作为教程来说这个名字俗但是好用,我也希望这个系列能像其它入门到精通系列一样,让大家学到东西...

La victoria的博客 14万+

c语言参悟之旅,《C语言参悟之旅》-读书笔记(一)

第一章 程序设计与C语言1.什么是计算机程序?计算机程序是指能使计算机做出信息处理行为并产生一定结果的指令集和(就像做菜的菜谱)2.高级语言的执行方式?( 1 )采用编译方式编译----->编译----->链接----->生产可执行文件(2)解释方式利用针对某种高级语言的解释软件,解释所遇到的高级语言中的每个操作并完成这些操作所要执行的动作高级程序员程序----------...

weixin_42521276的博客 355

【SimPy系列博客之官方example学习与解读】—— Example 1: Bank Renege

Hello,优快云的各位小伙伴们,拖更了几年后,又重新开始记录这段时间准备学习的东西啦!最近博主在学习 SimPy 的相关知识,发现国内关于 SimPy 的介绍还是相对较少,且缺乏系统性,因此博主打算用1~2周的时间,边学边记,打算从 SimPy 官方给出的几个例子出发分析 SimPy 的使用场景和用法,希望能和大家互勉!那废话不多说,我们直接开始吧!今天要学习的例程是 Bank Renege。

凝望,划过星空的博客 2009

《C语言参悟之旅》-读书笔记(七)

第八章 预处理 cpp源文件——(预编译)》预处理文件——(编译)》目标文件——(连接)》可执行文件 预处理:源文件在进行编译时第一遍扫描之前做的工作(词法分析和语法分析) 程序员与预处理器进行交互的工具是一种被称作预处理器指示的命令(一些以“#”号开头的单行命令) 编译的源文件test.cpp #include #define PI 3.1415926 int main( ) {

linuxlinuxlinuxlinux的专栏 1855

CODESYS V3.5 SP17编程环境全攻略:从安装到多语言编程实战

本文全面解析CODESYS V3.5 SP17编程环境,从安装配置到多语言编程实战技巧。详细介绍了运行时环境设置、六种IEC 61131-3语言的特性对比与混合编程策略,以及高级功能开发如自定义算法模块和实时通信配置。适合工业自动化工程师快速掌握这一强大工具。

weixin_30632089的博客 491

VTK在QT与非QT环境下使用的区别

VTK可以在QT框架内使用,也可以独立于QT使用,这两种使用方式在架构、交互和渲染方面有显著差异。

深之JohnChen的专栏 630

《C语言参悟之旅》-读书笔记(一)

第一章    程序设计与C语言            1.什么是计算机程序?               计算机程序是指能使计算机做出信息处理行为并产生一定结果的指令集和(就像做菜的菜谱)         2.高级语言的执行方式?              ( 1 )采用编译方式                                  编译----->编译----->链接--

Ac Dream 864

科研级YOLOv8 Neck革新:HS-FPN模块赋能,让特征融合更高效且参数量直降100W的实战指南

在文件夹下新建HS_FPN.py,将上述和HS_FPN类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义Neck模块。

FJN110的博客 153

《C语言参悟之旅》-读书笔记(八)

第九章   结构体和共用体 一、结构体 由一系列具有相同类型或不同类型的的数据构成的数据集合(但不能包含函数类型) 1.定义   1)第一种形式 struct 结构体类型名 { 数据类型名1 成员名1; ......... 数据类型名2 成员名2; }; struct 结构体类型名 变量名列表;   2)第二种形式 struct 结构体类型名 {

linuxlinuxlinuxlinux的专栏 1591

基于FFT的轴承故障诊断 - MATLAB代码和详细解释

最后,我们可以根据异常特征的位置和特征分析来确定轴承故障的类型。最后,我们可以根据异常特征的位置和特征分析来确定轴承故障的类型。因此,通过分析频谱图,我们可以识别轴承故障的特征。因此,通过分析频谱图,我们可以识别轴承故障的特征。我们可以选择适当的阈值,并在频谱图上标记异常特征。通过这种基于FFT的轴承故障诊断方法,我们可以快速、准确地检测和诊断轴承故障。接下来,我们将应用FFT来获取振动信号的频谱信息,频谱显示了信号在不同频率上的能量分布。通过将异常特征标记在频谱图上,我们可以直观地识别轴承故障的存在。

COWizard的博客 613

Codex入门00-初识神器(小白入门:到底什么是Codex CLI,和ChatGPT写代码有什么不同?)

OpenAI Codex CLI 是 OpenAI 于2025年推出的终端原生AI编程代理,不是在网页里聊天写代码,而是直接在你的终端里自主读代码、改文件、跑命令。它拥有三种安全模式、/goal 持久化任务、云端沙箱执行等独特能力。本文从零介绍 Codex CLI 的核心概念、与 ChatGPT 写代码的本质区别、典型使用场景和费用说明,让你全面认识这个改变开发方式的神器。

yueyeguzhuo的专栏 302

《C语言参悟之旅》-读书笔记(四)

第五章 函数 Ps:     函数的语法本身并不复杂,真正需要编程者去理解和体会的往往是如何用函数来拆解问题,使用函数的水平直接反映在编程者能够组织多大规模的程序 1.C语言中的main( )函数           main( )函数可以调用任何C语言函数;           但任何C语言函数都不能调用main( )函数,main( )函数通常在其所属的程序执行时被操作系统调用。 2

linuxlinuxlinuxlinux的专栏 816

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

《C语言参悟之旅》-读书笔记(九)

第十章  文件 文件就是一组相关元素或数据的有序集合,每个集合都有一个符号化的指代(文件名) 文件通常都被存在外部存储器上,它只在需要使用时被调入内存 一.相关概念: 1.主要分类   1).  普通文件:驻留在磁盘或其他外部介质上的一些有序数据集,   2).设备文件(逻辑上的文件): 和主机相连的各种外部设备:如显示器、打印机、键盘 2.流的概念  流就是表示文本输入(或输出)

linuxlinuxlinuxlinux的专栏 2226

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

《C语言参悟之旅》-读书笔记(三)

第四章   流程控制 1.流程图(当初学的时候觉得很麻烦,现在觉得对整理编程思路帮助还是很大) 2.顺序结构   3.分支结构  1)形式 (  else 总是与其前面最近的 if 配对 )        A . if(表达式)               语句;        B. if(表达式)             语句1;           else

linuxlinuxlinuxlinux的专栏 748

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

《C语言参悟之旅》-读书笔记(二)

第三章  运算符、表达式和语句 1.在表达式中使用(   )是一种很好的编程方式能大大提高程序的可读性如:            标准C中对很多运算符的求值顺序都没有进行明确规定,实现顺序与具体实现有关( 编译环境)                                                                        -a +b / 2 - c * 5

linuxlinuxlinuxlinux的专栏 895
上一篇: ctype.h中包含的函数
下一篇: 《C语言参悟之旅》-读书笔记(二)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值