2013年6月19日

VC6集成开发环境使用参考

摘要: VC6集成开发环境使用参考1.VC6的常用菜单命令项(1)File菜单New:打开“new”对话框,以便创建新的文件、工程或工作区。Close Workspace:关闭与工作区相关的所有窗口。Exit:退出VC6环境,将提示保存窗口内容等。(2)Edit菜单Cut:快捷键Ctrl+X。将选定内容复制到剪贴板,然后再从当前活动窗口中删除所选内容。与“Paste”联合使用可以移动选定的内容。Copy:快捷键Ctrl+C。将选定内容复制到剪贴板,但不从当前活动窗口中删除所选内容。与“Paste”联合使用可以复制选定的内容。Paste:快捷键Ctrl+V。将剪贴板中的内容插入(粘贴)到当前鼠标指针所在 阅读全文

posted @ 2013-06-19 13:25 颓废的悠然 阅读(959) 评论(0) 推荐(0) 编辑

2013年6月18日

Visual C++ 6.0编程环境的使用

摘要: 1.1 编制并运行程序的四部曲(1)编辑(把程序代码输入,交给计算机)。(2)编译(成目标程序文件.obj)。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。(3)链接(成可执行程序文件.exe)。链接是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序。由于在实际操作中可以直接点击Build从源程序产生可执行程序 阅读全文

posted @ 2013-06-18 23:27 颓废的悠然 阅读(1521) 评论(0) 推荐(0) 编辑

C陷阱与缺陷(四)

摘要: 第四章 连接4.1 什么是连接器C语言中的一个重要思想就是分别编译,即若干个源程序可以在不同的时候单独进行编译,然后在恰当的时候整合在一起。典型的连接器把由编译器或汇编器生成的若干个目标模块,整合成一个被称为载入模块或可执行文件的实体,该实体能够被操作系统直接执行。连接器通常把目标模块看成是由一组外部对象组成的。连接器的输入一组目标模块和库文件,连接器的输出是一个载入模块。4.2 声明与定义下面的声明语句 int a;如果其位置出现在所有的函数体之外,那么它就被称为外部对象a的定义。这个语句说明了a是一个外部整型变量,同时为a分配了存储空间。如果它没初始化,则默认为0.严格的规则是,每个外部变 阅读全文

posted @ 2013-06-18 10:42 颓废的悠然 阅读(275) 评论(0) 推荐(0) 编辑

2013年6月17日

C陷阱与缺陷(三)

摘要: 第三章 语义陷阱3.1 指针与数组C语言中只有一维数组,而且数组的大小必须字编译期就作为一个常数确定下来。数组中的元素可以是另外一个数组。任何一个数组下标运算都等同于一个对应的指针运算。int a[3];除了a被用作运算符sizeof的参数这一情形,在其它所有情形中数组名a都代表指向数组a中下标为0的元素的指针,sizeof(a)是整个数组a的大小。*a是数组a中下标为0的元素的引用,*(a+1)是数组中下标为1的元素的引用。3.2 非数组的指针在C语言中,字符串常量代表了一块包括字符串中所有字符以及一个空字符的内存区域的地址。假设我们有两个这样的字符串s和t,我们希望可以借助常用的库函数st 阅读全文

posted @ 2013-06-17 13:40 颓废的悠然 阅读(291) 评论(0) 推荐(0) 编辑

2013年6月16日

C陷阱与缺陷(二)

摘要: 第二章 语法陷阱2.1 理解函数声明(*(void(*)())0)();任何C变量的声明都由两部分组成:类型以及一组类似表达式的声明符。一旦我们知道了如何声明一个给定类型的变量,那么该类型的类型转换符只需要添加一个括号即可的到。例如 float (*h)();表示h是一个指向返回值为浮点类型的函数的指针。因此(float (*h)())表示一个"指向返回值为浮点类型的函数的指针"的类型转换符。第一步假设fp是一个函数指针,那么通过(*fp)()调用fp所指向的函数,可以简写问fp()。在表达式(*fp)()中,*fp两侧的括号非常重要,因为函数运算符()的优先级高于单目运算 阅读全文

posted @ 2013-06-16 22:25 颓废的悠然 阅读(281) 评论(0) 推荐(0) 编辑

C陷阱与缺陷(一)

摘要: 第一章 词法陷阱术语“符号”指的是程序的一个基本组成单元,其作用相当于一个句子中的单词。编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”。1.1 =不同于==一般容易将比较运算误写成赋值运算的情形,另一方面,如果把赋值运算误写成比较运算,同样会造成混淆:if((filedesc==open(argv[i],0))<0)error();在本例中,如果函数open执行成功,则返回0或者正数;而如果函数open执行失败,将返回-1。上面这段代码的本意是将函数open的返回值存储在变量filedesc之中,然后通过与0比较来检查函数open是否执行成功。而按照上面的代码是比较o 阅读全文

posted @ 2013-06-16 18:02 颓废的悠然 阅读(396) 评论(0) 推荐(0) 编辑

2013年6月14日

C Primer Plus(十七)

摘要: 第十七章 C预处理器和C库17.1 研究数据表示先来研究一个实例,假设您想要写一个程序来输入您一年中看过的所有电影。下面来一个简单实现的程序#include<stdio.h>#define TSIZE 45 /* 存放片名的数组大小 */#define FMAX 5 /* 最多的影片数 */struct film{char title[TSIZE];int rating;};int main(void){struct film movies[FMAX];int i=0;int j;puts("Enter first movie title: ");while(i 阅读全文

posted @ 2013-06-14 08:18 颓废的悠然 阅读(336) 评论(0) 推荐(0) 编辑

2013年6月12日

C Primer Plus(十六)

摘要: 第十六章 C预处理器和C库16.1 翻译程序的第一步对程序做预处理前,编译器会对它进行几次翻译处理。编译器首先把源代码中出现的字符映射到源字符集。第二,编译器查找反斜线后紧跟换行符的实例并删除这些实例。也就是将两个物理行printf("That's wond\erful!\n");转换成一个逻辑行:printf("That's wonderful!\n");接下来,编译器将文本划分成预处理的语言符号序列和空白字符及注释序列。编译器用一个空格字符代替每一个注释。最后程序进入预处理阶段。预处理器寻找可能存在的预处理指定。这些指令由一行开始出的 阅读全文

posted @ 2013-06-12 17:53 颓废的悠然 阅读(400) 评论(0) 推荐(0) 编辑

C Primer Plus(十五)

摘要: 第十五章 位操作15.1 二进制数、位和字节以2为基数表示的数字称为二进制数,可以使用二进制数将任何整数表示为1和0的一个组合,这种系统非常适合于数字计算机使用。15.1.1 二进制整数描述存储器芯片和数据传输率时使用的字节指8位字节。最小的二进制数是00000000,或一个简单的0.一个字节可以存储的数的范围是0到255.通过改变对位模式的解释方式,一个字节可以存储从-128到+127之间的整数。15.1.2 有符号整数有符号数的表示方法是由硬件决定,而不是由C决定。其中最简单的方法就是保留1位来表述数的符号。但是该方法有一个确定就是有两个零+0和-0.二进制补码避免了这个问题。两种方法的区 阅读全文

posted @ 2013-06-12 10:33 颓废的悠然 阅读(271) 评论(0) 推荐(0) 编辑

2013年6月11日

C Primer Plus(十四)

摘要: 第十四章 结构和其它数据形式14.1 建立结构声明结构声明是描述结构如何组合的主要方法。声明如下:struct book{char title[MAXTITL];char author[MAXAUTL];float value;};该声明描述了一个由两个字符数组和一个float变量组成的结构。它并没有创建一个实际的数据对象,而是描述了组成这类对象的元素。以后可以这样声明: struct book library;它把library声明为一个使用book结构设计的结构变量。结构中的成员可以是任何一种C的数据结构,甚至可以是其它结构。介绍花括号后的分号表示结构设计定义的结束。标记名是可选的。14. 阅读全文

posted @ 2013-06-11 10:49 颓废的悠然 阅读(251) 评论(0) 推荐(0) 编辑

导航