C语言从入门到精通(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-11 10:27:47

点击下载

作者:孙雅娟,严长生

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

C语言从入门到精通

C语言从入门到精通试读:

前言

preface

为什么学习C语言

C语言是目前应用最广泛的高级程序语言,在工程应用、软件开发和互联网建设中具有举足轻重的地位。在互联网领域,C语言已经涉及网站建设、底层操作系统开发、多媒体应用、大型网络游戏设计等各个IT行业。在工业以及通信领域,C语言是首选的工程软件设计语言。各种操作系统,如UNIX、Linux和Windows等的内核都部分或全部采用C语言编写。

由于C语言既可以实现图形化界面软件设计,又可以和硬件系统直接交互,因此,C语言的应用非常广泛。手机程序设计、DSP软件开发、单片机软件开发等都需要用到C语言。通信基站软件系统开发、航空航天器软件部件设计等也可以见到C语言的身影。程序员根据自己的工作需求和爱好,可以针对某些C语言的特定应用深入研究。

在当前软件开发领域,C语言已成为一项程序员必须具备的基本技能,熟练掌握和利用C语言进行程序设计,程序员必能在IT领域占有一席之地。

为什么要写这本书

C语言是伴随着计算机及互联网的发展而发展起来的,作为承接高级语言和低级语言的关键的程序设计工具,C语言经历数十年而长盛不衰。但是,很多程序初学者由于不能掌握C语言的设计技巧,不能领会C语言蕴含的奇妙思想而放弃继续学习。根据调查,笔者总结出初学者在学习C语言的过程中存在的困惑。

● 概念理解模糊不清。

● 教材讲解晦涩难懂。

● 程序实例难以理解。

● 开发工具和开发环境无法下手。

● 实践机会和实践实例不切实际。

为了解决这些问题,笔者决定写这样一本书,通过这本书让初学者重燃学习信心,让初学者少走弯路,快速轻松地学会C语言编程。通过对笔者多年开发和配置经验的总结,让读者快速入门,学有所用。

本书特点

对于一些读者而言,读书是一件乏味的事,如果有一位教师带领着学习就不一样了,但是进入培训机构学习需要巨额的培训费用。为了解决这个问题,作者在本书配套资源中配备了如下内容:

电子教案(PPT)

本书是一本C语言基础教程,覆盖C语言全部知识点和工程应用中需要的软件测试与基本算法,所以本书可以作为高校教材,也可以作为工程技术人员速查手册。为了教学和读者使用方便,作者为本书制作了随书教学课件,并且配套的视频也是使用本电子教案讲解的,教师可以参考使用。

开发工具视频讲解

目前在C语言实际开发中,主流的开发工具是Visual C++6.0,作者为这款开发工具录制了140分钟的视频,供读者学习。相信读者看完该视频后,一定受益匪浅,对以后的工作有所帮助。

软件测试技巧和代码编写规范

为了使工程技术人员读者能更快地理解和学习C语言,也为了高校学生学习C语言后能够很快地适应C语言在工作中的应用,本书还着重介绍了针对C语言的代码测试基本流程和C语言代码编写过程中需要注意的代码规范,以使读者能够更好、更快地了解和使用C语言。

本书适合哪些读者

● 从未接触过C语言的自学人员。

● 对程序设计有所了解,想专门学习C语言的工程技术人员。

● 各大、中专院校的在校学生和相关授课教师。

● 备考和应考计算机C语言二级考试、三级或四级上机考试的考生。

● 编程爱好者。

鸣谢

作者力图使本书案例功能全面,并尽量使用关键编程技术进行程序设计和简化程序代码。但由于水平有限,纰漏之处难免,欢迎广大读者、同仁批评斧正。编者目录封面扉页版权信息前言

第1章 C语言开发环境简介

1.1 C语言发展历史

1.2 C语言的特点

1.3 C语言的广泛应用

1.4 Visual C++6.0开发环境概述

1.4.1 Visual C++6.0开发环境安装1.4.2 Visual C++6.0开发环境介绍

1.5 Visual C++6.0下创建开发项目

1.5.1 Visual C++6.0下创建工程项目1.5.2 Visual C++6.0下C源代码创建

实训1.1——一个经典的C语言程序

1.6 疑难解答和上机题

1.6.1 疑难解答1.6.2 上机题

第2章 基本数据类型

2.1 数据类型概述

2.2 进制换算

2.2.1 进位计数制概述2.2.2 二进制与其他进制转换2.2.3 八进制与其他进制转换2.2.4 十六进制与其他进制转换2.2.5 十进制与二进制的转换2.2.6 机器数及其在内存中存储格式

2.3 常量

2.3.1 整型常量2.3.2 实型常量2.3.3 字符常量2.3.4 字符串常量

2.4 变量

2.4.1 变量与内存结构2.4.2 变量的定义2.4.3 整型变量2.4.4 实型变量2.4.5 字符变量

2.5 枚举

2.5.1 枚举的定义2.5.2 枚举变量的定义与使用

2.6 疑难解答和上机题

2.6.1 疑难解答2.6.2 上机题

第3章 运算符和表达式

3.1 运算符与表达式的分类

3.1.1 运算符的分类3.1.2 表达式的分类

3.2 运算符的优先级与结合性

3.3 赋值运算符与赋值表达式

3.4 算术运算符与算术表达式

3.4.1 算术运算符与数据类型

实训3.1——计算圆柱体体积

3.4.2 模除运算符3.4.3 自增自减运算符

3.5 关系运算符与关系表达式

3.6 逻辑运算符与逻辑表达式

3.6.1 逻辑与(&&)3.6.2 逻辑或(||)3.6.3 逻辑非(!)

实训3.2——判断闰年

3.7 位运算符

实训3.3——交换两变量的值

3.8 条件运算符

实训3.4——分段函数计算

3.9 sizeof运算符

3.10 强制类型转换

3.11 疑难解答和上机题

3.11.1 疑难解答3.11.2 上机题

第4章 C语言标准输入与输出

4.1 C语言标准库函数概述

4.2 格式输出函数printf

4.2.1 标准格式输出4.2.2 格式输出控制

4.3 格式输入函数scanf

4.3.1 标准格式输入4.3.2 格式输入控制

4.4 字符输入/输出函数

4.4.1 putchar函数4.4.2 getchar函数

实训4.1——输出及格率

4.5 疑难解答和上机题

4.5.1 疑难解答4.5.2 上机题

第5章 分支结构程序设计

5.1 结构化程序设计思想

5.2 简单的if语句

5.2.1 if语句的定义5.2.2 合理设计if语句

实训5.1——求一元二次方程的实根解

5.3 多分支if语句

5.3.1 if-else语句的结构5.3.2 if-else语句的应用5.3.3 if-else-if语句的结构及应用

5.4 嵌套if-else语句

5.4.1 嵌套if-else语句的定义5.4.2 嵌套if-else语句的应用

实训5.2——求一元二次方程的复数根解

5.5 switch语句

5.5.1 switch语句的定义5.5.2 break语句5.5.3 switch语句的执行与应用

实训5.3——使用switch语句实现四则运算

5.6 嵌套switch语句

5.6.1 嵌套switch语句的定义5.6.2 嵌套switch语句的执行与应用

5.7 疑难解答和上机题

5.7.1 疑难解答5.7.2 上机题

第6章 循环结构程序设计

6.1 循环语句的提出

6.2 for循环语句

6.2.1 for语句的定义6.2.2 for语句的执行6.2.3 for循环语句的应用

6.3 for循环嵌套语句

6.3.1 for循环嵌套语句的定义与执行6.3.2 for循环嵌套语句的应用

实训6.1——打印九九乘法表

实训6.2——打印三位数水仙花数

6.4 while循环语句

6.4.1 while循环语句的定义6.4.2 while循环语句的应用

实训6.3——记录键盘输入字符数

6.5 do…while循环语句

6.5.1 do…while循环语句的定义6.5.2 do…while循环语句的应用

6.6 goto语句

6.7 break语句和continue语句

6.7.1 break语句6.7.2 continue语句

6.8 疑难解答和上机题

6.8.1 疑难解答6.8.2 上机题

第7章 数组

7.1 一维数组

7.1.1 一维数组的定义7.1.2 一维数组赋值与引用7.1.3 一维数组的应用

实训7.1——数列排序

7.2 二维数组

7.2.1 二维数组的定义7.2.2 二维数组的赋值与引用7.2.3 二维数组的应用

实训7.2——学员平均成绩计算

实训7.3——输出杨辉三角

7.3 字符数组

7.3.1 字符数组的定义7.3.2 字符数组的赋值与引用7.3.3 字符数组与字符串7.3.4 二维字符数组

7.4 疑难解答和上机题

7.4.1 疑难解答7.4.2 上机题

第8章 函数

8.1 函数的定义

8.1.1 函数的分类8.1.2 函数的定义

8.2 函数的调用与声明

8.2.1 函数的调用

实训8.1——计算数学分段函数

8.2.2 函数的声明

实训8.2——近似计算圆周率pi

8.2.3 函数的参数

8.3 局部变量与全局变量

8.3.1 局部变量8.3.2 全局变量

8.4 函数的嵌套调用和递归

实训8.3——汉诺塔程序设计

8.5 数组作函数参数

8.6 疑难解答和上机题

8.6.1 疑难解答8.6.2 上机题

第9章 指针

9.1 指针的引入

9.1.1 指针的定义9.1.2 指针的引用

9.2 指针和地址

9.2.1 指针和地址的关系9.2.2 指针和地址的区别9.2.3 void指针和空指针

9.3 指针与数组

9.3.1 指针与数组首地址9.3.2 指针与数组名的区别

实训9.1——指针转换数组中字母大小写

9.4 指针与函数

9.4.1 指针作函数参数9.4.2 函数返回指针9.4.3 指向函数的指针

9.5 指针与字符串

9.5.1 指针与字符串的关系9.5.2 指针引用字符串

9.6 指针与二维数组

9.6.1 指针和二维数组的关系9.6.2 指针数组

实训9.2——输出main函数参数值

9.7 内存分配

9.7.1 指针与内存分配9.7.2 malloc函数9.7.3 memset函数9.7.4 free函数

实训9.3——指针实现简单月历计算

9.8 疑难解答和上机题

9.8.1 疑难解答9.8.2 上机题

第10章 结构体与共用体

10.1 结构体的定义

10.2 结构体变量

10.2.1 结构体变量的定义10.2.2 结构体变量的初始化10.2.3 结构体变量的引用10.2.4 结构体数组

实训10.1——身份证信息录入

10.2.5 结构体的嵌套

10.3 结构体指针

10.3.1 结构体指针的定义10.3.2 结构体指针引用结构体成员10.3.3 指向结构体数组的结构体指针

10.4 结构体变量的内存分配

10.4.1 动态分配结构体内存10.4.2 结构体在内存中的存储结构

10.5 结构体指针作函数参数

10.5.1 结构体指针作函数参数的定义10.5.2 结构体指针作函数参数的应用

10.6 共用体的定义

10.6.1 共用体的定义10.6.2 共用体变量的定义与应用

10.7 共用体的内存结构

实训10.2——教师学生信息卡设计

10.8 疑难解答和上机题

10.8.1 疑难解答10.8.2 上机题

第11章 链表

11.1 什么是链表

11.2 结构体实现单链表

11.2.1 单链表节点的结构体实现11.2.2 单链表的结构体实现

11.3 结构体实现双向链表

11.3.1 双向链表节点的结构体实现11.3.2 双向链表节点的内存分配

11.4 链表节点的插入与删除

11.4.1 单链表节点的插入11.4.2 双向链表节点的插入11.4.3 单链表节点的删除11.4.4 双向链表节点的删除

实训11.1——新员工录入员工信息表

11.5 疑难解答和上机题

11.5.1 疑难解答11.5.2 上机题

第12章 编译预处理

12.1 宏定义

12.1.1 什么是宏定义12.1.2 宏定义的应用

实训12.1——程序不同Log的打印

12.1.3 宏定义的终止

12.2 文件包含

12.2.1 头文件包含

实训12.2——银行卡信息录入

12.2.2 头文件中的函数声明

12.3 条件编译

12.3.1 #if…#else和#endif命令12.3.2 #ifdef…#endif和#ifndef…#endif命令

12.4 疑难解答和上机题

12.4.1 疑难解答12.4.2 上机题

第13章 文件

13.1 文件和文件指针

13.1.1 流和文件13.1.2 文件指针

13.2 文件的打开和关闭

13.2.1 文件的打开13.2.2 文件的关闭

13.3 文件的读写

13.3.1 字符处理函数fgetc和fputc

实训13.1——建立readme文件

13.3.2 字符串处理函数fgets和fputs13.3.3 数据段处理函数fread和fwrite

实训13.2——项目信息录入与输出

13.3.4 标准格式读写函数fprintf和fscanf

13.4 文件的定位

13.5 疑难解答和上机题

13.5.1 疑难解答13.5.2 上机题

第14章 C语言标准数学库函数

14.1 平方根计算函数sqrt

14.2 指数函数exp和pow

14.2.1 指数函数exp14.2.2 指数函数pow

14.3 取对数函数log和log10

14.3.1 自然对数函数log14.3.2 10为底的对数函数log10

14.4 绝对值函数abs和fabs

14.4.1 绝对值函数abs14.4.2 绝对值函数fabs

14.5 三角函数

14.5.1 正弦函数sin和asin14.5.2 其他三角函数

14.6 取整函数floor和ceil

14.6.1 取整函数floor14.6.2 取整函数ceil

14.7 疑难解答和上机题

14.7.1 疑难解答14.7.2 上机题

第15章 字符串处理

15.1 字符串复制函数strcpy

15.1.1 库函数strcpy15.1.2 自定义函数strcpy

15.2 字符串链接与比较函数strcat和strcmp

15.2.1 字符串链接函数strcat15.2.2 字符串比较函数strcmp

15.3 字符串长度与查找函数strlen和strchr

15.3.1 字符串长度计算函数strlen15.3.2 字符串查找函数strchr

15.4 字符串输入/输出函数gets和puts

15.4.1 字符串输入函数gets15.4.2 字符串输出函数puts

15.5 其他字符串处理函数

15.5.1 特定字符串比较函数stricmp15.5.2 字符串重设函数strnset15.5.3 字符串子串查找函数strstr

实训15.1——文章中字符串查找与替换

15.6 疑难解答和上机题

15.6.1 疑难解答15.6.2 上机题

第16章 C语言调试

16.1 C语言开发入门

16.1.1 注释的编写16.1.2 代码风格

16.2 C语言单步调试与跟踪

16.3 C语言断点调试与跟踪

16.3.1 设置调试断点16.3.2 断点调试

16.4 查看动态内存

实训16.1——代码风格设计

16.5 疑难解答和上机题

16.5.1 疑难解答16.5.2 上机题

第17章 软件测试

17.1 软件测试概述

17.1.1 什么是软件测试17.1.2 软件测试模型、分类和流程

17.2 搭建软件测试环境

17.2.1 分析被测软件17.2.2 搭建软件测试环境

17.3 软件测试过程

17.3.1 函数级软件测试17.3.2 模块级软件测试

17.4 疑难解答和上机题

17.4.1 疑难解答17.4.2 上机题

第18章 C语言常用算法

18.1 什么是算法

18.2 排序算法

18.2.1 起泡排序18.2.2 选择排序18.2.3 合并排序18.2.4 快速排序

18.3 查找算法

18.3.1 顺序查找算法18.3.2 折半查找算法

18.4 二叉树

18.4.1 二叉树的结构18.4.2 C语言实现简单的二叉树18.4.3 二叉树的简单操作

实训18.1——合并两个有序数组

18.5 疑难解答和上机题

18.5.1 疑难解答18.5.2 上机题

第19章 C语言应用实例

19.1 C语言巧解问题实例

19.1.1 求1到1000之内的素数19.1.2 巧解古代百钱买百鸡问题19.1.3 巧解换钱币问题19.1.4 求1至20000之间的平方回文数19.1.5 验证卡布列克常数

19.2 C语言应用实例——计算数学公式

19.2.1 C语言实现三角函数sinx逼近19.2.2 C语言实现三角函数cosx逼近19.2.3 C语言计算排列组合

19.3 C语言编写万年历

19.3.1 万年历的实现流程19.3.2 万年历程序设计流程19.3.3 万年历程序编写19.3.4 结果验证与代码完善

19.4 疑难解答和上机题

19.4.1 疑难解答19.4.2 上机题第1章 C语言开发环境简介

C语言的编辑和调试都要在一定的环境下才能执行,C语言的可执行程序也是在C语言调试工具中编译和链接最终生成的文件。基于上述原因,本章将介绍如何创建C语言的开发工程项目,创建C语言源文件,以及如何进行C程序的编译和运行等。本章学习重点:

◆ C语言的历史和特点

◆ Visual C++6.0的安装

◆ Visual C++6.0下创建工程项目

◆ Visual C++6.0下建立C语言源文件

◆ Visual C++6.0下C语言程序的运行1.1 C语言发展历史

C语言是计算机程序设计语言的一种,它是伴随着计算机系统的发展而不断发展起来的。一个完整的计算机系统包括硬件和软件两部分,没有安装任何软件的计算机硬件设备又称为“裸机”,这样的计算机仅是一个通了电的设备,什么也干不了,安装了软件之后,计算机系统才算完整,才能够顺利执行指定的运算和处理。

最早期的计算机是由一个个电子开关组成的,因此,最初的计算机语言是二进制语言,即使用0和1表示运算过程的语言。二进制语言是计算机硬件可以直接识别的语言,所以有人也称为“机器语言”。后来,随着计算机运算能力的提高,出现了使用符号代替二进制码的汇编语言。汇编语言需要通过某种流程将其翻译成二进制码才能执行,所以称为汇编语言。另外,汇编语言由各种符号组成,以代替二进制码,因此也有人称它为符号语言。汇编语言一般只能在一种类型的计算机上运行,因此也称为“面向机器的语言”。

二进制语言和汇编语言都是低级语言,虽然汇编语言比机器语言有了很大进步,但仍然无法满足计算机系统对程序设计的要求。此外,各种类型的计算机系统也越来越多,因此,为了脱离程序对机型的要求,有人提出了能够在任何机型上运行的“高级语言”。在高级语言中最典型、应用最广泛的就是C语言。

C语言的原型是ALGOL 60(ALGOrithmic Language)语言,它是由计算机科学家、2005年图灵奖获得者彼德·诺尔(Peter Naur)于1960年提出的。此后的近20年间,出现过多种高级语言,但随着计算机硬件系统的发展和对程序设计需求的不断提高,这些语言都没有被很好地继承下来。直到1978年,美国电话电报公司(AT&T)贝尔实验室正式发表了C 语言这一引起软件业巨大变革的程序语言,同时,贝尔实验室的两名资深工程师B.W.Kernighan和D.M.Ritchit合作出版了著名的《The C Programming Language》一书。

C语言一经提出,就得到了广大程序爱好者和工程师的青睐,但是,最初的C语言并没有对语法结构和应用标准做严格的规定。因此,为了统一C语言的应用,1983年,美国国家标准协会在最初的C语言版本上制定并发表了标准的C语言,即ANSIC(American National Standard Institute C),这也是现在所使用的C语言的雏形。1.2 C语言的特点

C语言之所以能够在多种计算机高级语言中脱颖而出,成为最受程序员青睐的计算机程序设计语言,是与它本身许多独有的特点分不开的,具体来讲C语言具有如下特点。

1.运算符丰富、任务实现灵活多样

丰富的运算符,使C语言对同一个问题既可以使用这种方法实现,也可以使用另外一种方法实现。例如,将a和b之间的较大值存到max中,既可以使用if语句,也可以使用条件运算符实现,如下面的两段代码(有关这几条代码的含义将在后续章节中详细介绍)。

或者max = (a>b) ?a:b

2.语言简洁紧凑、风格多样

C语言有32个关键字用于定义不同的数据类型、语句结构等,同时9种控制语句也使C语言在具体编写过程中实现风格多样、程序编写灵活。为了合理处理不同类型的数据,C语言规定了整型(int)、实型(float和double)、字符型(char)等基本数据类型,在这些基本数据类型的基础上,派生出如数组、指针、结构体、共用体等复合数据类型,以满足对复合数据结构的应用需求。

3.数据操作灵活、程序设计自由度大

对于数据的使用,C 语言提供了一个非常独特的数据处理方式——强制类型转换。强制类型转换是针对物理内存存储结构进行的数据读取,它使得对数据的处理更加灵活,也更加适合各种不同场合的需求。C语言并没有规定严格的程序开发流程,程序员可以根据自己的意愿灵活设计和修改程序设计程式。

4.直接访问内存地址、程序可移植性好

C语言区别于其他高级语言的一个显著特点是,它可以直接访问物理内存地址。正是因为C语言有这样的功能,也有人称它为介于高级语言和低级语言之间的中间语言。指针的概念使C语言广受青睐,正是因为C语言具有指针这样一个特殊的数据类型,才使它广泛应用于各种低级计算机操作系统中。现在,几乎大部分操作系统和计算机系统都支持C语言开发的程序,如单片机、DSP、FPGA等硬件小系统内核,普通计算机以及超级计算机运算系统等。虽然C语言具有很多显著的特点,这些特点使它被广大程序员所追捧并延续至今,但是C语言本身也有缺陷和不足。最显著的一个缺点是C语言的语法结构限制不严格,一个典型的问题就是C语言没有对数组下标设置越界检查,这就要求程序员在编写程序时一定要小心谨慎。1.3 C语言的广泛应用

在现在的软件行业中,掌握C语言已经不是一项专有的能力,而是任何程序员都应该具备的基本素质和技能。在计算机语言行列中,C语言能够达到这样的地位,跟它的广泛应用是分不开的。

1.程序员的基本技能

C语言是全国计算机等级考试的科目之一,也是上机题覆盖最广的考试语言。由此可知,它在软件领域的重要性。在软件和互联网刚刚兴起的20世纪90年代,掌握C语言是一个非常令人崇拜的素质体现,而随着互联网和软件行业的不断发展,C语言已不再是曲高和寡的高级程序员所独有的技术,而逐渐成为每个程序员都必须具备的基本技能,没有C语言做基础,一个程序员将很难在软件行业生存下去。

2.C语言在单片机中的广泛应用

单片机是现代社会电子领域应用最广泛、最普通的简单计算机处理系统之一。简单的,如8位单片机和16位单片机,复杂的如32位单片机等,都能够在实际生活中找到它们的身影。

单片机早期的编程是使用汇编语言,但随着对单片机性能要求的提高和单片机本身处理能力的提升,使用汇编语言已很难满足程序设计需求,此时,作为唯一能够与硬件直接交互的高级语言,C语言便被移植到了单片机上。目前应用较广泛的单片机C语言编译工具是美国Keil公司开发的Keil C 系列的各种版本。

3.C语言在DSP中的广泛应用

DSP(Digital Signal Processor)是数字信号处理器的简称,是一种独特的微处理芯片。它不仅具有可编程性,而且具有很高的运行速度和很强的处理能力。DSP现在广泛应用于科研、航天和家用电器等电子设备上,是当前极其流行的数字处理器件。

由于基于 DSP 的程序设计与普通单片机相比代码量更多、算法更复杂,因此,使用 C语言编写DSP的程序则逐渐成为一种现实。目前,DSP编写程序主要使用的编译工具是CCS和Visual C++。1.4 Visual C++6.0开发环境概述

在Windows平台上,C语言开发最早的编译与调试软件是Turbo C,但随着软件的不断升级,微软公司推出了Visual C++,并且到现在已经推出了多个版本。本节将详细介绍如何在Visual C++6.0下进行C语言开发。1.4.1 Visual C++6.0开发环境安装

Visual C++6.0是微软公司在2004年推出的基于Windows平台的软件开发工具,它具有良好的人机交互界面和简易可操作性,支持标准 C 语言规范,已经成为当前 Windows 平台下软件开发的主流开发工具。

1.获取Visual C++6.0安装软件

Visual C++6.0安装软件主要分为中文版和英文版两个版本,读者可通过网络资源下载安装软件,也可以到书店或软件零售商处获得正版安装软件。下面以英文版为例,介绍 Visual C++6.0的安装过程。

2.Visual C++6.0软件安装

双击安装目录下图标,弹出“Installation Wizard for Visual C++6.0 Enterprise Edition”对话框,如图1-1所示。单击“Next”按钮,进入下一步操作。图1-1 安装Visual C++6.0 step1

打开“Installation Wizard for Visual C++6.0 Enterprise Edition”/“End User License Agreement”对话框,选择“I accept the agreement”单选按钮,如图1-2所示。单击“Next”按钮,进入下一步操作。图1-2 安装Visual C++6.0 step2

在打开的“Installation Wizard for Visual C++6.0 Enterprise Edition”/“Product Number and User ID”对话框中,输入产品的ID number,如果安装的是正版软件,通常在软件外包装上会标示软件的 Product Number,有些版本已经将序列号固化在软件中,因此无须输入。在“Your name”文本框和“Your company's name”文本框中分别输入用户的名称和公司的名称,如图1-3所示。单击“Next”按钮,进入下一步操作。图1-3 安装Visual C++6.0 step3

在打开的“Installation Wizard for Visual C++6.0 Enterprise Edition”/“Visual C++6.0 Enterprise Edition”对话框中,选择“Install Visual C++6.0 Enterprise Editi”单选按钮,如图1-4所示,单击“Next”按钮,进入下一步操作。图1-4 安装Visual C++6.0 step4

在打开的“Installation Wizard for Visual C++6.0 Enterprise Edition”/“Choose Common Install Folder”对话框中,单击“Browse”按钮,选择要存储的目录,如图1-5所示。这里请注意,一定确保要安装的磁盘下具有足够的磁盘空间,否则程序安装将会失败。目录选择后,单击“Next”按钮,进入下一步操作。图1-5 安装Visual C++6.0 step5

当有其他应用程序在运行时,为保证安装过程顺利进行,软件将提示关闭其他所有应用程序,如图1-6所示。待其他应用程序关闭后,单击“继续”按钮进入下一步操作。图1-6 安装Visual C++6.0 step6

软件安装过程中将会提示用户曾经输入的Product ID,检查磁盘空间,搜索已安装的组件等过程,这些过程都是软件安装过程中自动执行的,可不必控制。当执行完上述操作之后,程序将打开“Visual C++6.0 Enterprise 安装程序”对话框,如图1-7所示。在该对话框中,单击“Typical”左侧按钮,进行典型安装,单击“Custom”左侧按钮,进行选择安装,此处选择典型安装。

选择典型安装后,将弹出“Setup Environment Variables”对话框,提示用户进行环境变量注册,选择不注册,如图1-8所示。单击“OK”按钮,进入下一步操作。图1-7 安装Visual C++6.0典型安装图1-8 设置环境变量

随后,系统将检测磁盘空间,以验证是否有足够的空间完成安装。磁盘空间检测后,系统自动执行文件的复制等操作,如图1-9所示。

软件安装后,将弹出如图1-10所示的对话框,表明安装成功并结束。图1-9 文件复制图1-10 安装成功1.4.2 Visual C++6.0开发环境介绍

软件安装完毕后,可以通过“开始”菜单打开Visual C++6.0软件。默认设置的Visual C++6.0软件界面由菜单栏、工具栏、工作空间、代码编辑空间和输出控制空间组成,如图1-11所示。图1-11 Visual C++6.0工程界面

1.Visual C++6.0菜单栏介绍

Visual C++6.0开发环境共有11个菜单项,默认设置通常只显示3个菜单项。可以通过鼠标右键单击菜单项,在弹出的快捷菜单中选择需要显示的菜单项,如图1-12所示为Visual C++6.0的菜单列表图。

在代码编辑阶段,使用较多的是“File”“Edit”和“View”这3个菜单项。和一般的编辑软件类似,“File”菜单项主要包括项目工程的打开与关闭、工程与文件的保存、工作空间的控制及文件打印等;“Edit”菜单项主要包括文件的编辑、关键字查找及参数控制等;“View”菜单项主要包括窗口控制和源文件属性选择等。

在代码调试阶段,使用较多的是“Project”“Build”和“Tools”这3个菜单项。“Project”菜单项主要包括工程的载入与激活、工程环境配置等;“Build”主要用于源代码的编译、链接、运行和调试等;“Tools”主要用于各种控制器的打开、执行和关闭,宏的编辑和使用等。更多的菜单栏功能,可以查阅微软官方网站的帮助和支持主页http://support.microsoft.com/。图1-12 Visual C++6.0菜单栏

2.Visual C++6.0菜单栏的快捷键

菜单的使用和操作可以通过单击鼠标打开,也可以通过使用快捷键实现,使用快捷键前应先查看并记住不同菜单的快捷键,可以通过查看菜单栏中各菜单项名称中的下画线字母来确定对应菜单项的快捷键。例如,要打开“Project”菜单项下的“Settings”子项,可以记录标注下画线的两个字母P和S,使用快捷键时应将Alt键和对应字母组合使用,如打开菜单项“Project”,可以在标准窗口下按组合键Alt+P,此时打开快捷键“Project”,按住“Alt”键不放,继续按“S”键,则可以打开如图1-13所示的“Project Settings”对话框。此外也可以通过按“Alt+F7”组合键打开此菜单列表。图1-13 “Project Settings”对话框1.5 Visual C++6.0下创建开发项目

Visual C++6.0软件安装之后,就可以进行C语言程序的设计和调试了,但是,由于Visual C++6.0可以支持多种不同计算机语言的编译与调试,并且Visual C++6.0是基于项目的软件环境,因此在编写源程序之前,应先建立工程项目,再建立源文件。1.5.1 Visual C++6.0下创建工程项目

完成一个项目的程序设计,需要有一个项目的名字来约束属于该项目的所有内容。Visual C++6.0下提供了开发项目维护程序代码的功能。因此,在编写程序之前,应先创建开发项目,建立开发工程。

1.工程选择

打开Visual C++6.0软件,选择菜单“File”中的“New”选项,打开“New”对话框,如图1-14所示。选择“Projects”选项卡,在下面的图标列表框中选择“Win32 Console Application”选项,在右侧“Project name”文本框中输入工程的名字,本例为“mytest”。在“Location”文本框中选择工程保存的路径,本例选择“D:\C_LANGUAGE\mytest”。选择“Creat new workspace”单选按钮,勾选“Platforms”文本框中的“Win32”复选框。上述过程执行后,单击“OK”按钮进入下一步。图1-14 “New”对话框

2.Console Application选择

打开“Win32 Console Application-Step 1 of 1”对话框,选择“An empty project”单选按钮,单击“Finish”按钮进入下一步操作,如图1-15所示。图1-15 “Win32 Console Application-Step 1 of 1”对话框

3.New Project Information选择“New Project Information”对话框用于显示所创建的工程信息,当上一步中选择“An empty project”单选按钮时,对话框中显示:

当上一步骤中选择“A simple application”单选按钮时,表示要建立一个单一文件的应用程序,此时对话框中显示:

当上一步骤中选择“A‘Hello,World!'application”单选按钮时,将建立一个单一文件的Hello World程序,此时对话框中显示:

当上一步骤中选择“An application that supports MFC”单选按钮时,将建立一个支持MFC的应用程序,此时对话框中显示:

如图1-16所示为选择第一项按钮时“New Project Information”对话框显示的信息,本例中选择该按钮。单击“OK”按钮,完成工程创建。图1-16 “New Project Information”对话框

工程创建后,将出现工程初始窗口,由于此时没有任何源程序文件被载入,因此,工程初始窗口中仅含有工作空间窗口和输出控制窗口,如图1-17所示。在所创建的工程中,包含3个文件夹,分别为“Source Files”“Header Files”和“Resource Files”。“Source Files”文件夹中存放C代码源程序“,Header Files”文件夹中存放用户自定义头文件“,Resource Files”文件夹中存放程序中需要使用的资源文件,如表示数据的.txt文件和图片文件等。图1-17 工程初始窗口1.5.2 Visual C++6.0下C源代码创建

C语言源代码也叫源程序,是使用Visual C++6.0等代码编译和调试工具创建的程序文件,C语言源程序以.c结尾。此外,为了实现条件编译,C源代码中还可以包含.h文件,即通常所说的头文件。

1.新建C语言源文件

选择菜单“File”中的“New”选项,打开“New”对话框。转到“Files”选项卡,在下面的图标列表框中选择“C++ Source File”选项,在右侧“File”文本框中输入工程的名字,此处输入“test.c”,如图1-18所示。单击“OK”按钮,完成C语言源文件创建。图1-18 新建C语言源文件

2.源文件编辑、保存和载入

新建源文件之后,就可以根据需要在编辑窗口中进行程序代码的编写。本例在编辑窗口中输入以下代码:

这里主要介绍程序的创建过程,暂不讨论代码的含义。代码编辑和设计后,可以选择菜单“File”中的“Save”选项或使用“Ctrl+S”组合键保存所编辑的源代码文件。

源文件保存完毕后,要将其载入到工程中才能继续下一步执行,具体方法为用鼠标右键单击“Workspace”工作空间中“Source Files”目录,在弹出的快捷菜单中选择“Add Files to Folder…”选项,进入下一步操作,如图1-19所示。

在打开的“Insert Files into Project”对话框中的“文件名”文本框中选择“test.c”文件,如图1-20所示,单击“OK”按钮,结束操作。文件加载成功之后,将在“Source Files”目录左侧出现加号“+”标识,单击该“+”可以将“Source Files”目录进一步展开。图1-19 添加源文件图1-20 源文件选择Source Files目录下可以添加多个.c源文件,实际操作中,可根据不同需求添加不同的源文件。

3.源文件编译、链接和执行

编辑完的C语言源代码并不能被直接执行,而是要通过一系列编译和链接等操作之后,生成可执行的.exe文件才能被执行。

编译是指将C语言的源代码编译成汇编语言,为转换为二进制文件做准备。链接是将汇编语言文件转换为目标文件,目标文件是一种二进制文件,它也是可执行文件的源文件,可执行文件就是从目标文件中获取执行指令的。

选择菜单“Build”中的“Compile test.c”子项,选择菜单“Build”中的“Build mytest.exe”子项,源程序执行上述操作之后,将在工程创建所在的路径下建立多个文件,本例中保存在D:\C_language\mytest路径下,存在4个文件:Debug文件夹、mytest.dsp文件、mytest.dsw文件和mytest.ncb文件。

Debug 文件夹用于程序编译、链接及运行时生成可执行文件、编译文件和链接文件。mytest.dsp(DeveloperStudio Project)是一个项目文件,采用文本格式存储。mytest.dsw (DeveloperStudio Workspace)是工作区文件,其特点与mytest.dsp文件类似,但工作区文件可以包含多个项目文件。mytest.ncb(no compile browser)文件是无编译浏览文件,当自动完成功能出现异常时可以删除该文件,文件编译后会自动生成。

选择菜单“Build”中的“! Execute mytest.exe”子项,则程序将执行mytest.exe文件,并在屏幕上输出结果:Hello World!

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载