自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DuanXu-yzc

专注

  • 博客(19)
  • 收藏
  • 关注

原创 【第八章—第十一章】【初识C++ Accelerated C++ 学习笔记】

第八章 编写泛型函数1、泛型函数和模板泛型函数是指那些参数类型或者返回值类型直到使用这个函数的时候才能确定的函数。这些待定的参数并不是完全随意的,函数使用未知类型参数的方式会约束参数的类型。比如在定义一个泛型函数时,使用了两个参数x和y,并且使用了表达式x+y,此时这种使用方式就产生了一个约束条件:x和y的类型必须能够支持+操作。 实现泛型函数的语言特性叫做模板函数(templ

2013-11-11 22:10:09 1731

原创 【第四章—第七章】【初识C++ Accelerated C++ 学习笔记】

1、异常(exception)C++程序在运行时会遇到的不正常情况,比如:0作为除数、数组下标越界、打开不存在的文件、远程机器连接超时等等,一旦出现这些问题,会引发算法失效、程序运行时无故停止等现象,这就要求我们在设计软件算法时要考虑周全,而使用C++的异常机制是最常见的办法。异常的抛出和处理主要使用三个关键字:throw、try、catch。示例代码:

2013-11-05 14:15:22 2194 1

原创 【第0章—第三章】【初识C++ Accelerated C++ 学习笔记】

Koneing两口子真不愧为教育专家。从20多年前的《C陷阱与缺陷》,到《C++沉思录》,再到这本 《Accelerated C++》无不是语言学习的必修之课。特别这本《Accelerated C++》可以说是最佳的C++入门书籍。 大家一起来学习 Accelerated C++吧!

2013-10-29 23:41:50 2192

原创 【制表符和空格的转换】The C Programming Language 程序研究 第一部分第二章

本章详细讨论如何将文本中的 换行符 转换为 空格,以及如何将 空格 尽可能的转换为 换行符。本章内容取材于K&R的The C Programming Language 的练习题1-20和1-21。

2013-10-27 19:59:09 2472

原创 【续集】 C语言图形和函数图像的绘制【其他部分 第二章】

图形输出是C语言初学者经常遇到的问题,实际上大多数简单的图形并不需要使用复杂的控制结构,所见即所得的方法更加简洁,不过对于复杂的图形或者函数图像,使用控制结构会更好。在使用控制结构输出图形时,要把握一个原则:只能逐行输出,因此,在输出一行时必须把这一行中所有需要输出的字符全部输出,所以,找到每行中各个位置需要输出的字符(或者说,各字符在每行中的位置)尤为关键!我们有两种方法来确定位置,其中第二种方法更通用简洁。在输出图形时,特别是函数图像,要充分利用对称、平移关系简化程序,另外,要注意调节屏幕的行宽比和适当

2013-10-23 15:09:15 4613

原创 【其他部分 第二章 C语言图形和函数图像的绘制】

第二章 图形和函数图像的绘制本章详细讨论如何使用C语言绘制出各种规则的图形和一些常见函数的图像。  一、    使用所见即所得的方法绘制直接上代码:/* * 所见即所得的绘制方法 * 缺点:不灵活、不易修改 * 优点:直观、简单 */#include int main ( void ){ // 绘制正方形 printf ( "\n" );

2013-10-15 10:04:30 10456 1

原创 【其他部分 第一章 矩阵】The C Programming Language 程序研究 【持续更新】

其他部分 第一章矩阵一、矩阵的转置 问题描述:编写函数,把给定的任意一个二维整型矩阵转换为其倒置矩阵。输入:      1 2 3       4 5 6 输出:      1 4       2 5       3 6   分析    题目要求编写一个能转置任意二维矩阵的函数,显然这个函数需要得到

2013-09-26 14:32:48 1386

原创 【第一部分 第一章】The C Programming Language 程序研究 【持续更新】

The C Programming Language程序研究 前言C语言之父创作的The C Programming Language一书对于所有学习C语言的人来说都可以算作一部圣经。它不到200页的篇幅却几近完整地阐述了C语言的各个方面,不仅如此,书中的每个例程和练习都展现了作者丰富的C编程经验,对于初学者来说这些例程和练习并不是那么简单,即使是对于有些经验的C语言工作者来说,也有很

2013-09-25 21:40:38 1886

原创 Reverse Polish Calculator (逆波兰计算器)方案的分析——如何解决问题,从需要到实现

Reverse Polish Calculator (逆波兰计算器)方案的分析——如何解决问题,从需要到实现

2013-09-04 23:28:35 2058

原创 结构体中的成员到底如何存储?

结构的存储分配编译器按照成员的顺序一个接一个地给每个成员分配内存,但是由于要考虑到正确的边界对齐要求,成员之间会出现用于填充的额外内存空间(内存对齐)。为什么有边界对齐?当内存中的值合理对齐时,很多机器能非常高效地访问,而且,有些机器根本就不能访问没有对齐的地址。结构的内存对齐主要有一下几个原则:1)结构体变量的首地址是其最长基本类型成员的整数倍;备注:编译器在给结

2013-09-04 00:03:32 3374 2

原创 负数的除法和取模运算规则

负数的除法和取模运算规则    1/*    2 *测试负数除法和取模运算    3 */    4#include     5    6intmain(void)    7{    8    printf("-5 / 2 = %d\t", -5/

2013-09-03 23:51:10 3784

原创 高效“神奇”的位操作符

位操作符& |^ ~ >只能用于整数,其中和>>操作符是双目操作符,它们的右操作数必须为非负整数;左移运算,空位都用0填充;右移运算,unsigned类型空位用填充,signed类型空位有的用0填充,有的用符号位填充,取决于具体实现;功能                              示例

2013-08-31 15:07:17 1120

原创 如此转换

类型转换 当一个运算符的几个操作数类型不同时,就需要进行类型转换; 一般来说,自动转换会把“比较窄的”操作数转换为“比较宽”的操作数,并且不会丢失信息; 不允许进行无意义的转换,比如将float型数作为数组下标值; 针对可能丢失信息的转换,编译器会给出警告; C语言并没有指定char类型的变量是无符号的还是有符号的,当把一个char类型值转换为int类型值时,其结果可能为正,可

2013-08-31 14:57:51 911

原创 这些声明的知识,你知道吗?

声明 如果变量不是自动变量,则只能进行一次初始化操作,应该在程序开始之前进行,并且初始化表达式必须为常量表达式,并且不能使用函数进行初始化; 自动变量的初始化可以是任意表达式; 默认情况下,外部变量和静态变量将被初始化为0; 任何变量的声明都可以使用const限定符限定,表明该变量为只读变量,如果试图修改由const限定的值,其结果取决于具体的实现; con

2013-08-31 14:57:07 870

原创 常量和常量表达式

常量和常量表达式 long型常量以L或者l结尾,有时候,如果一个整数太大无法用int表达,也被当做long型; 无符号常量以U或者u结尾,unsigned long型常量以UL或者ul结尾; 没有后缀的浮点数常量为double型; 有后缀F或者f的浮点数常量是float型,后缀L或者l表示long double型常量; 八进制和十六进制的常量也可以使用L和U后缀;

2013-08-31 14:56:25 3591

原创 如何选择正确的整数类型

整数类型的选择 1、没有特别的要求的话,按照时间和空间来权衡,够用即可。 2、除非确实需要存储字符类型,不然,不要使用char来存储小整数,因为编译器会产生额外的代码来进行int型和char型的转换。 3、C语言没有精确的类型大小的定义,C标准只是给出了如下规定: 长整型至少应该和整型一样,而整型至少应该和短整型一样。 char类型至少8位 short和int类型至少1

2013-08-31 14:54:09 1242

原创 “大嘴贪心”——词法分析

词法分析中的“贪心法” 符号(token):程序中的一个基本组成单元,其作用相当于一个句子中的单词。(符号就是程序中的一个基本信息单元。) 词法分析器:编译器中负责将程序分解为一个一个符号的部分。 C语言中,符号之间的空白字符会被忽略,但是符号中间不能有空白。 C语言中的有些符号比如:+、-、=等只有一个字符长,称为单字符符号;有些符号包含多个字符比如:==、->等,称为多字符符号

2013-08-31 14:51:34 1708

原创 你看糊涂了吗?解析C中复杂的声明

复杂的声明考虑下面的一个声明:char *(*(*a[])())();使用由内到外的阅读方法,并遵循[]和()的结合性强于*的规则,依然很难得到这个声明的准确描述和含义。我们使用另一种方法,“声明模仿使用”:*(*(*a[])())()  是一个     char(*(*a[])())()   是一个    指向char*(*a[])()       是

2013-08-31 14:49:24 799

原创 标识符的命名规则(此规则强于ISO/ANSI C的规定)

标识符的命名规则(此规则强于ISO/ANSI C的规定) 1、不要使用任何以下划线开头的名称; 2、不要使用任何匹配标准宏的名称; 3、不要使用任何标准库中已经使用过或者留作“未来使用”的函数和全局变量名称。 4、不要重定义标准库的类型定义和标签名称。 未来使用的名称模式   is[a-z]* to[a-z]*  functionE[0-9]* E[A-

2013-08-31 14:47:57 2184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除