VIP会员
作者:CSDN
出版社:CSDN《程序员》
ISBN:1111111111117
VIP会员免费
(仅需0.8元/天)
¥ 40000.0
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
C 语言深度解剖 -------------------解开程序员面试笔试的秘密 评分:
目 录 第一章 关键字...................................................................................................................................9 1.1,最宽恒大量的关键字----auto..........................................................................................11 1.2,最快的关键字---- register............................................................................................... 11 1.2.1,皇帝身边的小太监----寄存器............................................................................. 11 1.2.2,使用 register 修饰符的注意点.............................................................................11 1.3,最名不符实的关键字----static........................................................................................12 1.3.1,修饰变量...............................................................................................................12 1.3.2,修饰函数...............................................................................................................13 1.4,基本数据类型----short、 int、 long、 char、 float、 double........................................... 13 1.4.1,数据类型与“模子”............................................................................................... 14 1.4.2,变量的命名规则...................................................................................................14 1.5,最冤枉的关键字----sizeof...............................................................................................18 1.5.1,常年被人误认为函数...........................................................................................18 1.5.2, sizeof(int) *p 表示什么意思? ........................................................................18 1.4, signed、 unsigned 关键字................................................................................................19 1.6, if、 else 组合.................................................................................................................... 20 1.6.1, bool 变量与“零值”进行比较...............................................................................20 1.6.2, float 变量与“零值”进行比较.................................................................................21 1.6.3,指针变量与“零值”进行比较...............................................................................21 1.6.4, else 到底与哪个 if 配对呢? ...............................................................................22 1.6.5, if 语句后面的分号............................................................................................... 23 1.6.6,使用 if 语句的其他注意事项.............................................................................. 24 1.7, switch、 case 组合........................................................................................................... 24 1.7.1,不要拿青龙偃月刀去削苹果.............................................................................. 24 1.7.2, case 关键字后面的值有什么要求吗? .............................................................. 25 1.7.3, case 语句的排列顺序...........................................................................................25 1.7.4,使用 case 语句的其他注意事项..........................................................................27 1.8, do、 while、 for 关键字................................................................................................... 28 1.8.1, break 与 continue 的区别.....................................................................................28 1.8.2,循环语句的注意点...............................................................................................29 1.9, goto 关键字......................................................................................................................30 1.10, void 关键字....................................................................................................................31 1.10.1, void a? ............................................................................................................31 1.10, return 关键字................................................................................................................. 34 1.11, const 关键字也许该被替换为 readolny....................................................................... 34 1.11.2,节省空间,避免不必要的内存分配,同时提高效率.................................... 35 1.12,最易变的关键字----volatile.......................................................................................... 36 1.13,最会带帽子的关键字----extern.................................................................................... 37 1.14, struct 关键字..................................................................................................................38 1.14.1,空结构体多大? .................................................................................................38 1.14.2,柔性数组.............................................................................................................39 1.14.3, struct 与 class 的区别.........................................................................................40 1.15, union 关键字..................................................................................................................401.15.1,大小端模式对 union 类型数据的影响............................................................. 40 1.15.2,如何用程序确认当前系统的存储模式? ........................................................ 41 1.16, enum 关键字..................................................................................................................42 1.16.1, 枚举类型的使用方法..........................................................................................43 1.16.2,枚举与#define 宏的区别....................................................................................43 1.17,伟大的缝纫师----typedef 关键字................................................................................. 44 1.17.1,关于马甲的笑话.................................................................................................44 1.17.2,历史的误会----也许应该是 typerename........................................................... 44 1.17.3, typedef 与#define 的区别...................................................................................45 1.17.4, #define a int[10]与 typedef int a[10]; .............................................................. 46 第二章 符号.....................................................................................................................................49 2.1,注释符号..........................................................................................................................50 2.1.1,几个似非而是的注释问题...................................................................................50 2.1.2, y = x/*p................................................................................................................. 51 2.1.3,怎样才能写出出色的注释...................................................................................51 2.1.3.1,安息吧,路德维希.凡.贝多芬................................................................. 51 2.1.3.2, windows 大师们用注释讨论天气问题....................................................51 2.1.3.3,出色注释的基本要求............................................................................... 52 2.2,接续符和转义符..............................................................................................................53 2.3,单引号、双引号..............................................................................................................54 2.4,逻辑运算符......................................................................................................................54 2.5,位运算符..........................................................................................................................55 2.5.1,左移和右移...........................................................................................................55 2.5.2, 0x01<<2+3 的值为多少? ...................................................................................55 2.6,花括号..............................................................................................................................56 2.7, ++、 --操作符...................................................................................................................56 2.7.1, ++i+++i+++i......................................................................................................... 57 2.7.2,贪心法...................................................................................................................57 2.8, 2/(-2)的值是多少? .........................................................................................................58 2.9,运算符的优先级..............................................................................................................58 2.9.1, 运算符的优先级表................................................................................................58 2.9.2,一些容易出错的优先级问题.............................................................................. 60 第三章 预处理.................................................................................................................................61 3.1,宏定义..............................................................................................................................62 3.1.1,数值宏常量...........................................................................................................62 3.1.2,字符串宏常量.......................................................................................................62 3.1.3,用 define 宏定义注释符号? .............................................................................. 63 3.1.4,用 define 宏定义表达式.......................................................................................63 3.1.5,宏定义中的空格...................................................................................................64 3.1.6, #undef....................................................................................................................64 3.2,条件编译..........................................................................................................................65 3.3,文件包含..........................................................................................................................66 3.4, #error 预处理................................................................................................................... 66 3.5, #line 预处理.....................................................................................................................673.6, #pragma 预处理...............................................................................................................67 3.6.8, #pragma pack........................................................................................................ 69 3.6.8.1,为什么会有内存对齐? ........................................................................... 70 3.6.8.2,如何避免内存对齐的影响....................................................................... 70 3.7, #运算符..............................................................................................................................72 3.8, ##预算符..........................................................................................................................72 第四章 指针和数组.........................................................................................................................74 4.1,指针..................................................................................................................................74 4.1.1,指针的内存布局...................................................................................................74 4.1.2, “*”与防盗门的钥匙............................................................................................. 75 4.1.3, int *p = NULL 和*p = NULL 有什么区别? .................................................... 75 4.1.4,如何将数值存储到指定的内存地址.................................................................. 76 4.1.5,编译器的 bug? ....................................................................................................77 4.1.6,如何达到手中无剑、胸中也无剑的地步.......................................................... 78 4.2,数组..................................................................................................................................78 4.2.1,数组的内存布局...................................................................................................78 4.2.3,数组名 a 作为左值和右值的区别.......................................................................79 4.3,指针与数组之间的恩恩怨怨..........................................................................................80 4.3.1,以指针的形式访问和以下标的形式访问.......................................................... 80 4.3.1.1,以指针的形式访问和以下标的形式访问指针....................................... 81 4.3.1.2,以指针的形式访问和以下标的形式访问数组....................................... 81 4.3.2, a 和&a 的区别...................................................................................................... 81 4.3.3,指针和数组的定义与声明...................................................................................83 4.3.3.1,定义为数组,声明为指针....................................................................... 83 4.3.3.2,定义为指针,声明为数组....................................................................... 85 4.3.4,指针和数组的对比...............................................................................................85 4.4,指针数组和数组指针......................................................................................................86 4.4.1,指针数组和数组指针的内存布局...................................................................... 86 4.4.3,再论 a 和&a 之间的区别.....................................................................................87 4.4.4,地址的强制转换...................................................................................................88 4.5,多维数组与多级指针......................................................................................................90 4.5.1,二维数组...............................................................................................................91 4.5.1.1,假想中的二维数组布局........................................................................... 91 4.5.1.2,内存与尺子的对比....................................................................................91 4.5.1.3, &p[4][2] - &a[4][2]的值为多少? ........................................................... 92 4.5.2,二级指针...............................................................................................................93 4.5.2.1,二级指针的内存布局............................................................................... 93 4.6,数组参数与指针参数......................................................................................................94 4.6.1,一维数组参数.......................................................................................................94 4.6.1.1,能否向函数传递一个数组? ................................................................... 94 4.6.1.2,无法向函数传递一个数组....................................................................... 96 4.6.2,一级指针参数.......................................................................................................97 4.6.2.1,能否把指针变量本身传递给一个函数................................................... 97 4.6.2.2,无法把指针变量本身传递给一个函数................................................... 984.6.3,二维数组参数与二维指针参数.......................................................................... 99 4.7,函数指针........................................................................................................................100 4.7.1,函数指针的定义.................................................................................................100 4.7.2,函数指针的使用.................................................................................................101 4.7.2.1,函数指针使用的例子............................................................................. 101 4.2.7.2, *(int*)&p ----这是什么? ....................................................................... 102 4.7.3, (*(void(*) ())0)()------这是什么? .....................................................................102 4.7.4,函数指针数组.....................................................................................................103 4.7.5,函数指针数组的指针.........................................................................................104 第五章 内存管理...........................................................................................................................107 5.1,什么是野指针................................................................................................................107 5.2,栈、堆和静态区............................................................................................................107 5.3,常见的内存错误及对策................................................................................................108 5.3.1,指针没有指向一块合法的内存........................................................................ 108 5.3.1.1,结构体成员指针未初始化..................................................................... 108 5.3.1.2,没有为结构体指针分配足够的内存..................................................... 109 5.3.1.3,函数的入口校验......................................................................................109 5.3.2,为指针分配的内存太小.....................................................................................110 5.3.3,内存分配成功,但并未初始化.........................................................................110 5.3.4,内存越界............................................................................................................. 111 5.3.5,内存泄漏............................................................................................................. 111 5.3.5.1,告老还乡求良田......................................................................................112 5.3.5.2,如何使用 malloc 函数.............................................................................112 5.3.5.3,用 malloc 函数申请 0 字节内存.............................................................113 5.3.5.4,内存释放..................................................................................................113 5.3.5.5,内存释放之后..........................................................................................114 5.3.6,内存已经被释放了,但是继续通过指针来使用............................................ 114 第六章 函数................................................................................................................................... 115 6.1,函数的由来与好处........................................................................................................116 6.2,编码风格........................................................................................................................ 116 6.2,函数设计的一般原则和技巧...........................................................................................121 6.4,函数递归........................................................................................................................123 6.4.1,一个简单但易出错的递归例子........................................................................ 123 6.4.2,不使用任何变量编写 strlen 函数......................................................................124 第七章 文件结构.........................................................................................................................127 7.1,文件内容的一般规则....................................................................................................127 7.2,文件名命名的规则........................................................................................................130
上传时间:2017-08 大小:851KB
- 993KB
并行程序设计导论课后答案_2.7z
2021-11-20并行程序设计导论课后答案
- 2KB
加速度积分求速度和位移的c语言算法程序
2020-09-17基于单片机的加速度传感器信号采集 并积分求速度和位移的c语言源码 基于单片机的加速度传感器信号采集 并积分求速度和位移的c语言源码
- 1KB
数据结构课设用C、C++写旅游区景点导游系统头文件(用文件存储,DFS,DIJ算法),完全免费!没有要积分,能多给我点点赞吗?
2023-03-23旅游区景点导游系统 完成以下功能: 1、数据格式 用文件存储数据,文件中存储哪些数据,数据格式是什么。 2、数据结构(读文件创建图) 将文件中的数据读入内存,建立图的存储结构,可以选择邻接表或邻接矩阵作为存储结构,存储结构要准确记录旅游区各旅游景点及其相邻景点之间的相关信息。给出存储结构的C语言定义。 3、查询、编辑景点信息 提供用户操作的菜单和界面,实现对景点信息的查询、添加、删除、修改等操作,注意数据间的关联性。编辑后的信息需要保存回文件。 4、旅游区景点显示 显示游客当前所在景点及所有与游客所在景点相邻景点信息。 5、查询从每个景点出发到其他任一景点的最短简单路径及距离 用户输入任一景点,输出旅游区每个景点到该景点的最短简单路径及距离。 6、查询任意两个景点之间所有简单路径及距离、最短简单路径及距离
- 401KB
DeepLearning之LSTM模型输入参数:time_step, input_size, batch_size的理解
2021-01-201. LSTM模型 输入参数理解 (Long Short-Term Memory) lstm是RNN模型的一种变种模式,增加了输入门,遗忘门,输出门。 LSTM也是在时间序列预测中的常用模型。 小白我也是从这个模型入门来开始机器学习的坑。 LSTM的基本概念与各个门的解释已经有博文写的非常详细:推荐博文:【译】理解LSTM(通俗易懂版) 这篇文章写的非常详细,生动,概念解释的非常清楚。我也是从这个博文里开始理解的。 2. 模型参数 模型的调参是模型训练中非常重要的一部分,调整参数前的重要一步就是要理解参数是什么意思,才能帮助更好的调整参数。 但是发现在一些实战模型将代码直接放在那里,但是基本
- 2.99MB
Vulkan编程指南.pdf
2020-04-13Vulkan编程指南高清版,内容可复制,非常实用.
- 2.44MB
python自动化办公——python操作Excel、Word、PDF集合大全
2021-01-21本文是鉴于有些粉丝的工作需求,有时候需要遇到这些文件的处理。因此,我写了一个文章集合,供大家参考,整篇文章已经整理成册(如下图所示),如有需求,请私聊! 目录 章节一:python使用openpyxl操作excel 1、openpyxl库介绍 2、python怎么打开及读取表格内容? 1)Excel表格述语 2)打开Excel表格并获取表格名称 3)通过sheet名称获取表格 4)获取表格的尺寸大小 5)获取表格内某个格子的数据 ① sheet[“A1”]方式 ② s
- 17KB
数据结构课设用C、C++写旅游区景点导游系统函数文件(用文件存储,DFS,DIJ算法),完全免费!没有要积分,能多给我点点赞吗?
2023-03-23旅游区景点导游系统 完成以下功能: 1、数据格式 用文件存储数据,文件中存储哪些数据,数据格式是什么。 2、数据结构(读文件创建图) 将文件中的数据读入内存,建立图的存储结构,可以选择邻接表或邻接矩阵作为存储结构,存储结构要准确记录旅游区各旅游景点及其相邻景点之间的相关信息。给出存储结构的C语言定义。 3、查询、编辑景点信息 提供用户操作的菜单和界面,实现对景点信息的查询、添加、删除、修改等操作,注意数据间的关联性。编辑后的信息需要保存回文件。 4、旅游区景点显示 显示游客当前所在景点及所有与游客所在景点相邻景点信息。 5、查询从每个景点出发到其他任一景点的最短简单路径及距离 用户输入任一景点,输出旅游区每个景点到该景点的最短简单路径及距离。 6、查询任意两个景点之间所有简单路径及距离、最短简单路径及距离
- 293KB
Autosar配置工具链
2022-04-14Autosar配置工具链
- 1.43MB
C#40000字全套精华教程!!!从入门到精通,一篇就够了!!!
2022-04-06C#40000字全套精华教程!!!从入门到精通,一篇就够了!!! 本文摘选自菜鸟教程,csdn,以及本人学习的笔记资源,如果遇到显示或者格式其他问题可以直接查看pdf文件
- 1.79MB
C++并发编程实战(全书和源码).zip
2023-12-26C++并发编程实战(全书和源码)
- 182B
数据结构课设用C、C++写旅游区景点导游系统main函数(使用文件存储,DFS,DIJ算法,附详细说明)完全免费,求求点赞!
2023-03-23旅游区景点导游系统 完成以下功能: 1、数据格式 用文件存储数据,文件中存储哪些数据,数据格式是什么。 2、数据结构(读文件创建图) 将文件中的数据读入内存,建立图的存储结构,可以选择邻接表或邻接矩阵作为存储结构,存储结构要准确记录旅游区各旅游景点及其相邻景点之间的相关信息。给出存储结构的C语言定义。 3、查询、编辑景点信息 提供用户操作的菜单和界面,实现对景点信息的查询、添加、删除、修改等操作,注意数据间的关联性。编辑后的信息需要保存回文件。 4、旅游区景点显示 显示游客当前所在景点及所有与游客所在景点相邻景点信息。 5、查询从每个景点出发到其他任一景点的最短简单路径及距离 用户输入任一景点,输出旅游区每个景点到该景点的最短简单路径及距离。 6、查询任意两个景点之间所有简单路径及距离、最短简单路径及距离
- 1.10MB
Qt移植:Ubuntu18.04 交叉编译qt5.12.7详细教程配置编译qt-everywhere-src-5.12.7
2021-01-09配置编译qt-everywhere-src-5.12.7安装交叉编译链已配置好TSLIB编译注意事项配置编译qt源码执行脚本对于硬浮点设置相关参数配置QTCreator打开选项添加qmake添加已安装的arm版本交叉编译工具链最后组合下PS:对于强迫症需要安装rsync复制相关文件至开发板PC端的串口通讯工具成功移植到了ARM开发板上运行 安装交叉编译链 参考我的博客安装arm-linux-4.9.4交叉编译链 已配置好TSLIB 参考我的博客tslib编译教程 编译注意事项 注意使用的交叉编译工具链,带hf和不带hf的运行程序是由区别的,可能就无法运行程序(常见报错:no such file
- 133KB
数据特征分析:相关性分析(Pandas中的corr方法)
2021-01-21文章目录1.图示初判两个变量之间的相关性(散点图)多变量之间的相关性(散点图矩阵)2.Pearson相关系数3.Spearman相关系数 分析连续变量之间的线性相关程度的强弱 介绍如下几种方法: 图示初判 Pearson相关系数(皮尔逊相关系数) Sperman秩相关系数(斯皮尔曼相关系数) 1.图示初判 拿到一组数据,可以先绘制散点图查看各数据之间的相关性: 两个变量之间的相关性(散点图) import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy import stats %matplo
- 6.20MB
基于stm32水质监测系统(毕设)
2019-09-13基于stm32水质监测系统(毕设)
- 106KB
npm ERR! code EPERM npm ERR! syscall open npm ERR! path C:\Program Files\nodejs\node_cache\_cacache\
2021-01-07报错信息: npm ERR! code EPERM npm ERR! syscall open npm ERR! path C:\Program Files\nodejs\node_cache\_cacache\tmp\9600794e npm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\node_cache\_cacache\tmp\9600794e' npm ERR! [OperationalError: EPERM: operation no
- 1.13MB
基于51单片机的温控系统
2021-12-23使用STC89C52单片机作为主控芯片,DS18B20检测外界温度,LCD1602显示,同时温度超过上限时,启动蜂鸣器报警及电机,模拟风扇降温(免费,含程序、仿真图、原理图)
- 319KB
source insight4.0暗黑主题【仿VS code】
2023-04-26source insight4.0暗黑主题【仿VS code】
- 202.93MB
modbus tcp/rtu客户端服务端通讯程序合集(C#、c++、mfc)
2019-10-17最近在学modbus通讯,整理了大批资源代码,肯定让你满意,包含c#、c++、mfc、c的各类基本、有难度的代码,modbus tcp/rtu和tcp等,也有modbus的类库及仿真软件,过段时间,我会再整理内容写篇博客,并且把整理好注释的代码提供到博客里,到时候写好望大家交流提点意见。若觉得积分不值,可退。qq1124008433
- 43KB
编译原理 - LR(1)分析法:C/C++实现
2023-11-15LR(1)(Left-to-Right, Rightmost derivation with 1 symbol lookahead)分析法是一种用于构建分析器的语法分析方法,通常用于分析上下文无关文法的语法结构,属于LR分析法的一种变种。它是一种强大的自底向上语法分析方法,适用于具有一定复杂性的上下文无关文法,通过使用向前查看符号来处理文法中的二义性,使得可以更精确地分析和理解输入。 在实验的代码实现过程中,定义了ACTION表和GOTO表,这两个表是LR(1)分析表的核心部分,其中ACTION表用于记录移进和归约操作,GOTO表用于记录状态之间的转移。这些表提供了对输入串和状态栈的操作指导。接着定义了产生式结构体,并初始化了产生式数组、状态栈、符号栈和输入串等变量。这些变量在分析过程中起着关键的作用。 主要的分析过程在函数analyse()中实现。这个函数使用了循环来逐步分析输入串,直到达到接受状态或发生错误。在每一步中,根据输入字符和当前状态,在ACTION表中查找相应的操作。如果是移进操作,将状态和输入字符压入栈中,并打印当前步骤的状态。如果是归约操作,根据产生式进行出栈操作,
- 6.23MB
CEC2021基础测试函数(matlab和C两个版本)
2021-11-21官网下载,用于智能群优化算法的CEC2021测本测试函数(matlab和C两个版本)。
- 83KB
解决 github项目clone报错 Failed connect to github.com:443; Connection
2021-01-09系统环境:CentOS Linux release 7.6.1810 (Core) 起因:npm构建时报错 npm ERR! Error while executing: npm ERR! /usr/bin/git ls-remote -h -t https://github.com/nhn/raphael.git npm ERR! npm ERR! fatal: unable to access 'https://github.com/nhn/raphael.git/': Failed connect to github.com:443; Connection timed out npm
- 63KB
详解Tomcat出现404的解决方法
2021-01-09Tomcat测试出现404问题出现的问题如下: HTTP状态 404 – 未找到 类型 状态报告 消息 请求的资源[/chapter06/IndexServlet]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。 Apache Tomcat/9.0.37 问题原因,浏览器不能直接访问Java文件 问题的解决方法 1、提交表单时遇到此问题 <form name = reg action=/login method=post> <meta charset=UTF-8> 账号:<input type=text name=usernam
- 37KB
从根源上解决libc.so.6版本问题 /lib64/libc.so.6:version ‘GLIBC_XXX’ not found
2021-01-09不知道你们是不是有时候也跟我一样,在安装完python某些包的时候,在import的时候总会报错 libc.so.6的版本问题,在网上查找了N种方式,不是没有资源下载就是没用,偶尔也会遇到一些有用的,但是是实在是有点烦。 于是就去找了公司的运维小哥帮忙看下,结果三两下就解决了。害… 厚着脸皮要来了解决方法,分享给大家 查看支持版本: strings /lib64/libc.so.6 | grep GLIBC 下载包(这里可以找自己需要的版本): wget http://ftp.gnu.org/gnu/glibc/glibc-2.19.tar.gz 剩下就编译安装: tar -xf glibc-
- 916KB
MinGW-w64 - for 32 and 64 bit Windows
2020-08-22MinGW-w64 - for 32 and 64 bit Windows The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems.
- 4.37MB
Cplex中文教程全.pdf
2020-11-291200页的全中文Cplex教程,从入门到精通,教程包含C,Java,python等语言的示例教程,很不错的资源
- 40KB
python读取excel数据绘制简单曲线图的完整步骤记录
2020-12-16python读写excel文件有很多种方法: 用xlrd和xlwt进行excel读写 用openpyxl进行excel读写 用pandas进行excel读写 本文使用xlrd读取excel文件(xls,sxls格式),使用xlwt向excel写入数据 一、xlrd和xlwt的安装 安装很简单,windos+r调出运行窗口,输入cmd,进入命令行窗口,输入以下命令。 安装xlrd: pip install xlrd 安装xlwt: pip install xlwt xlrd的API(application programming interface)网址: https://x
- 8.43MB
JLINK_V10_固件恢复.zip
2021-11-26超级简单的一键恢复JLINK固件小工具 ,研发工程师必备的。
- 133.65MB
MinGW64.zip
2021-08-30MinGW64 自带9.2.0版本的GCC/G++/GDB等工具
- 73KB
无需降级scipy的情况下解决AttributeError: module ‘scipy.misc’ has no attribute ‘imread’,imresize,imsave等问题
2020-12-21无需降级scipy的情况下解决AttributeError: module ‘scipy.misc’ has no attribute ‘imread’, AttributeError: module ‘scipy.misc’ has no attribute ‘imresize’, AttributeError:module ‘scipy.misc’ has no attribute ‘imsave’问题 imread,imresize,imsave 最近遇到如下三个错误 AttributeError: module ‘scipy.misc’ has no attribute ‘imread
- 1.85MB
MISRA-C 2012_中文翻译版.pdf
2021-12-22MISRS-C 2012版的中文翻译版,适合嵌入式C语言开发的代码检查