VC 程序结构
- 格式:ppt
- 大小:417.00 KB
- 文档页数:50
Visual C++简介Visual C++(简称VC++)是美国Microsoft公司开发的Microsoft Visual Studio的一部分,是一个使用广泛的C/C++集成化开发环境。
它成功地将面向对象和事件驱动编程概念联系起来,并得到了很好的配合,使得编写Windows应用程序的过程变得简单、方便且代码量小。
VC++ 6.0集程序的代码编辑、编译、连接、调试于一体,给编程人员提供了一个完整、方便的开发界面和许多有效的辅助开发工具。
VC++6.0的编辑环境包含了许多独立的组件,它们是:文本编辑器、资源编辑器、C/C++编译器、连接器、调试器、AppWizard、ClassWizard、源程序浏览器以及联机帮助。
所有这些构件的功能都隐藏在VC++6.0的菜单和工具条中。
通过该集成环境,程序员可以观察和控制整个开发进程。
VC++6.0的主窗口可以分为如图1所示的几个部分。
典型的Windows应用程序结构有4种:–控制台应用程序–基于框架窗口的应用程序–基于对话框的应用程序–基于文档/视图结构图1VC 6.0的主窗口菜单栏工具栏工作区窗口编辑子窗口输出子窗口VC++既可用于管理基于Windows的应用项目,也可用于管理基于DOS的应用项目。
基于DOS的应用系统也称为控制台应用系统。
控制台应用程序结构简单,可以不使用MFC类库。
一、Visual C++6.0菜单介绍:1.文件菜单文件菜单中共有14个菜单项,分成6组,组与组之间通过凹下去的横线分割开。
–第一组是基本文件操作;–第二组是工作空间操作,工作空间是VC++6.0中最大的一个处理单位,每个工作空间包括多个工程,每个工程又包含若干个文件;–第三组用于文件保存;–第四组用于文件打印。
2.编辑菜单编辑菜单包含用于编辑和搜索的命令,这些命令与其它Windows应用程序中的同名命令具有相似的功能。
3.查看菜单查看菜单包含用于检查源代码和调试信息的命令项,它可以用来设置全屏方式显示窗口,或者打开工作区窗口、输出窗口和各种调试窗口。
第1章C语言程序概述本章主要介绍C语言的特点、C语言程序的结构、Turbo C 2.0集成环境下的上机操作过程。
学习本章的目的是使读者对C语言和程序设计有一个概略的了解,并掌握上机运行简单程序的操作步骤。
1.1 C语言的特点C语言是国际上广泛流行的计算机高级程序设计语言,它是1973年由美国贝尔实验室设计发布的。
1983年,美国国家标准化协会(ANSI)成立了一个委员会,制定了C语言标准(ANSI C),为C语言的进一步发展奠定了良好的基础,也成为现今C语言的标准。
现在,常见的C语言编译器有Turbo C 2.1,Visual C++ 6.0。
C语言之所以能迅速发展,得到大量程序员的支持,是因为它有许多别的编程语言所不具备的特色,归纳起来C语言有以下特点:(1) 最接近低级语言的高级语言。
(2) 是一种结构化的程序设计语言(Structured Program Language)。
(3) 具有强大的功能且适合多种领域的开发,特别适合开发底层或者系统级的应用软件。
1.2C语言程序的结构用C语言语句编写的程序称为C程序或C源程序。
一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其他函数结合而成的,或仅由一个main()函数构成。
【项目任务1】在屏幕上显示一行语句。
【设计思想】仅由main()函数构成的C语言程序示例。
【程序代码】#include <stdio.h>main(){printf("This is a C program.\n");}【运行结果】This is a C program.【项目任务2】利用函数编写求两个数的最大值的C语言程序。
【设计思想】由main()函数一个其他函数max()构成的C语言程序示例。
【程序代码】int max(int x, int y){ return( x>y ? x : y ); }main(){int num1,num2;printf("Input the first integer number: ");scanf("%d", &num1);printf("Input the second integer number: ");scanf("%d", &num2);printf("max=%d\n", max(num1, num2)); /*调用函数*/}【运行结果】Input the first integer number:6←┘Input the second integer number:9←┘max=9【知识拓展】(1) 任何一个C程序都是由一个或多个函数构成的,一个C程序中至少必须存在一个主函数main(),它是程序运行开始时被调用的一个函数。
实验4:选择结构程序设计实验名称:选择结构结构程序设计实验日期:年月日实验报告日期:年月日一、实验目的1、掌握关系、逻辑运算符及其表达式的正确使用。
2、掌握if语句和switch语句的使用。
二、实验环境Vc++6.0三、实验内容在v C下完成程序题:1、有如下函数,要求输入x的值,求y的值。
|X|,X<0Y= X2,0≤X<10LogX,X≥102、输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值。
3、某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。
工龄和现工资从键盘输入,编程求加工资后的员工工资。
四、实验要求1、实验前绘制程序框图,编制源程序、准备测试数据。
2、在vc下完成程序的编辑、编译、运行,获得程序结果。
3、实验中可以采用vc程序调试基本方法协助查找程序中的逻辑问题。
五、实验步骤、过程1、编辑、编译、运行程序题1,分别使用数据-5,0,5,10,100做测试。
人工计算结果分别是。
2、编辑、编译、运行程序题2,分别使用数据1,7,8做测试。
3、编辑、编译、运行程序题3,测试数据见下表:工龄y(年)现工资S0(元)调整后工资S(元)-人工计算结果25 220022 190018 170016 14004、尝试跟踪程序题1运行。
用F7或F8键单步跟踪程序,用^F7检查变量值,用F4可以将程序运行到光标当前位置。
X。
1.添加C++类 CCESeries下面是CCESeries.h 文件的内容:#pragma once//定义串口接收数据函数类型//这是一个回调函数,执行该函数时,表示串口接收到了数据。
typedef void (CALLBACK* ONSERIESREAD)(void * pOwner /*父对象指针*/ ,BYTE* buf /*接收到的缓冲区*/,DWORD dwBufLen /*接收到的缓冲区长度*/);class CCESeries{public:CCESeries(void); //CCESeries类的构造函数~CCESeries(void); //CCESeries类的析构函数public://打开串口BOOL OpenPort(void* pOwner,/*指向父指针*/UINT portNo = 1, /*串口号*/UINT baud = 9600, /*波特率*/UINT parity = NOPARITY, /*奇偶校验*/UINT databits = 8, /*数据位*/UINT stopbits = 0 /*停止位*/);//关闭串口void ClosePort();//同步写入数据BOOL WriteSyncPort(const BYTE*buf , DWORD bufLen);//设置串口读取、写入超时BOOL SetSeriesTimeouts(COMMTIMEOUTS CommTimeOuts);//得到串口是否打开BOOL GetComOpened();private://串口读线程函数,该函数被定义成私有静态。
static DWORD WINAPI ReadThreadFunc(LPVOID lparam);private://关闭读线程,当使用完串口后,便调用这个函数退出串口数据接收线程。
void CloseReadThread();private://已打开的串口句柄// HANDLE m_hComm;//读线程句柄HANDLE m_hReadThread;//读线程ID标识DWORD m_dwReadThreadID;//读线程退出事件HANDLE m_hReadCloseEvent;BOOL m_bOpened; //串口是否打开void * m_pOwner; //指定父对象指针public:ONSERIESREAD m_OnSeriesRead; //串口读取回调函数HANDLE m_hComm;};2.下面是CCESeries.cpp文件的内容:#include "StdAfx.h"#include "CESeries.h"//构造函数,将m_hComm初始化为无效的句柄CCESeries::CCESeries(){//初始化内部变量m_hComm = INVALID_HANDLE_VALUE;m_OnSeriesRead = NULL;m_bOpened = 0;}//析构函数,检测如果串口是打开的,则关闭串口CCESeries::~CCESeries(){if (m_bOpened){//关闭串口ClosePort();}}//串口读线程函数,该线程用于异步接收串口数据。