C语言编程:vc++6.0入门教程及习题
- 格式:doc
- 大小:2.98 MB
- 文档页数:13
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 一、VC++编程基础1、#include "stdafx.h"int main(int argc, char* argv[]){printf("Hello World!\n");return 0;}main()函数是程序的入口。
2、 //输出十以内的偶数的平方和#include "stdafx.h" //预编译指令,包含头文件#include "stdio.h" //标准输入输出头文件void main(int argc, char* argv[]) //主函数定义{int num = 0; //初始化变量int sum = 0; //初始化变量for(num=0; num<=10; num++){if(num%2 != 0) //如果是奇数continue; //不做处理,直接进入下一轮循环sum+=num*num; //加上下一个偶数的平方}printf("平方和为%d\n",sum); //输出平方和}3、求字节数函数sizeof();#include<iostream.h>void main(){int x = 123; //定义整型变量x,并初始化为123 double y=456.123; //双精度类型变量y为456.123 cout<<"int所占字节数为:"<<sizeof(int)<<endl;//输出整型(int)所占字节数cout<<"doublet所占字节数为:"<<sizeof(double)<<endl;//输出整型(int)所占字节数}4、结构体,结构体操作#include<iostream.h>struct Employee //定义职员结构体{char name[10]; //职员姓名char sex; //职员性别int age; //职员年龄float salary; //职员工资};void main(){Employee employee1={"王强",'m',34,570};//定义结构体变量employee1并初始化Employee employee2;//定义结构体变量employee2未初始化employee2= employee1; //将employee1赋值给employee2//输出employee1的姓名和工资。
vc++6.0入门教程步骤是:(先工程—后文件—编译—连接---运行)1 桌面上的快捷方式如下:双击即可运行2 在所有程序里点击也可以运行:3 即会出现如下界面:4 进入后的界面如下:5 将每日提示关闭既可:一、源文件的编译运行1 建立一个工程,“文件”——“新建”2,建立一个工程,“文件”——“新建”,出现下面界面:选择“Win32 Console Application”(控制台应用程序,左边倒数第三个),命名工程名称,选择保存位置,点击“确定”,进入下一步,看到如下提示界面:建立一个空工程,对应其他需要的你一可以建立别的工程;点击“完成”,之后:显示你创建的工程的信息。
3,再在有一个的工程的条件下,我们再建立一个源文件;“文件”——“新建”(快捷键Ctri+N),出现:建立源文件,选择“C++ Source ”,一般都是建立这种文件的(适用在当文件中适用)如果要建立头文件的话,选择“C/C++ Header File”,(适用在多文件工程中使用)命名,文件名称,点击“确定”,之后:进入编辑区,在主界面编写代码:如下编写完之后呢:可以按编译按钮调试程序,看看有没有错误,有的话改正,没有的话就可以再按连接按钮检查连接(多文件工程时常用,检查文件间是否正常连接),最后,点运行按钮,就可以运行了。
如果是您有代码如:cpp文件,或 .h 文件,想添加都VC6.0里来测试的话,可以这样做:首先,要理解一下文件扩展名为:cpp和.h文件扩张名是.h,代表的是头文件,一般是书写一些函数原型,以及一些在整个程序中常用到的结构体,频繁使用的函数说明,定义等等;文件扩张名为,cpp的,是C++中的源文件,也是最常用到的文件,每建立一个工程都要至少一个源文件(至少要有一个函数入口——主函数main() ),包含了核心代码.二.多个源文件的编译运行以上是运行单个源文件的情况,但是在程序设计时,往往是由几个人各自独立编写不同的程序,显然这些程序是不能写在一起进行编译的,这时就需要建立项目工作区来完成几个独立程序的编译,具体方法如下。
VC++6.0⽹络编程⼊门例程(sockets)服务器端: 1.初始化阶段调⽤WSAStartup() 此函数在应⽤程序中初始化Windows Sockets DLL ,只有此函数调⽤成功后,应⽤程序才可以再调⽤其他Windows Sockets DLL中的API函数。
在程式中调⽤该函数的形式如下:WSAStartup((WORD)((1<<8|1), (LPWSADATA)&WSAData)参数:(1<<8|1):表⽰我们⽤的是WinSocket1.1版本;WSAata:⽤来存储系统传回的关于WinSocket的资料。
2、建⽴Socket 初始化WinSock的动态连接库后,需要在服务器端建⽴⼀个监听的Socket,为此可以调⽤Socket()函数⽤来建⽴这个监听的Socket,并定义此Socket所使⽤的通信协议。
此函数调⽤成功返回Socket对象,失败则返回INVALID_SOCKET(调⽤WSAGetLastError()可得知原因,所有WinSocket 的API函数都可以使⽤这个函数来获取失败的原因)。
SOCKET PASCAL FAR socket( int af, int type, int protocol ) 参数: af: ⽬前只提供 PF_INET(AF_INET); type: Socket 的类型 (SOCK_STREAM、SOCK_DGRAM); protocol:通讯协定(如果使⽤者不指定则设为0); 如果要建⽴的是遵从TCP/IP协议的socket,第⼆个参数type应为SOCK_STREAM,如为UDP(数据报)的socket,应为SOCK_DGRAM。
3、绑定端⼝ 接下来要为服务器端定义的这个监听的Socket指定⼀个地址及端⼝(Port),这样客户端才知道待会要连接哪⼀个地址的哪个端⼝,为此我们要调⽤bind()函数,该函数调⽤成功返回0,否则返回SOCKET_ERROR。
第6章创建和使用对话框对话框是一种用户界面,几乎每一个Windows程序都使用对话框与用户进行交互。
对话框可能是一个简单的只含有OK按钮的消息框,也可以是一个复杂的数据输入表单。
对话框上有一些方便用户输入的控件,对话框依靠这些控件与用户进行交互,其实质是一个接收消息的窗口。
在本章节我们主要讲述模式对话框和无模式对话框的原理和使用方法,下一章将详细介绍各种控件的使用。
你将学习创建一个对话框,使用对话框模板编辑一个对话框资源,并在程序中调用对话框的方法。
6.1 对话框的基本原理6.1.1 对话框的工作原理在创建一个对话框之前,我们先来了解一下对话框是如何工作的,对话框的数据来自三方面:对话框资源、对话框对象、和一个文档对象:1.对话框资源对话框资源是一个用户输入或取得数据的图形界面。
这个图形界面是使用Develop Studio的对话框编辑器在对话框模板上创建的,程序员可以在对话框模板上增加并编辑控件,生成对话框资源。
当应用程序运行时,就可以得到一个对话框。
2.对话框对象MFC使用CDialog类来描述对话框,它是CWnd类的派生类。
在CWnd类的基础上增加了数据交换的功能。
当创建一个新的对话框资源后,使用ClassWizard可以创建一个对话框类的派生类。
对话框对象实现了对话框和应用程序之间的通信。
在应用程序中定义一个对话框对象后,在对话框显示前,可以通过访问对话框对象的成员变量为一个对话框的控件初始化,在对话框关闭后,可以通过访问对话框对象的成员变量获得用户的输入数据。
3.文档对象MFC使用文档对象描述应用程序处理的数据,用户输入的数据要进一步的处理,通常要先存贮到文档对象中。
例如:一个学生记录处理的应用程序,用户通过一个对话框输入学生记录并贮存到一个文件中。
应用程序的处理顺序是:用户在对话框中输入信息,通过对话框对象得到输入信息,将输入信息整理到文档对象中,使用序列化函数将文档对象存贮到一个文件中,所以文档对象扮演了一个很重要的数据交换的角色。
图1-1Visual C++界面开项目工作区文件时其他文件随即会自动打开。
在此文件夹下还会创建 Res(资源)、Debug(调试)、Release(发行)等子文件夹。
2.2编辑 在编辑窗口打开、浏览文件、输入、修改、复制、剪切、粘贴、查找、替换、撤销等操作,可以通过菜单完成,也可以通过工具栏按钮完成,这些与 Word 之类的 windows 编辑器用法完全相同,这里就不再重复叙述了。
2.3辅助VC 不仅提供了“语法着色”帮助我们阅读程序,还可以通过一些快捷键检查常见的括号不匹配错误。
MSDN 也可以在编辑过程中提示存在的变量名、函数名。
很多程序员借助类似 Visual Assist X 的工具辅助开发,减少程序出错的可能性。
3.开发 C 程序3.1开发单个 C 语言程序1. 创建一个工作文件夹。
由于开发过程会产生一系列文件,建议每开发一个新的 C 程序都创建一个工作文件夹。
还可以将所有工作文件夹集中到一起,如E:\LXH\EX01-01 、E:\LXH\EX03-02 等。
2. 启动 Visual C++。
3. 新建一个 C 语言源程序。
选择菜单:File 下的 New 菜单项,出现如图 1-2 所示 new(新建)对话框。
图1-2选择菜单File下的New菜单项选择 Files标签下的 C++Source File 在“E:\LXH\EG01-01”文件夹中创建C 程序:eg01-01.c,如图 1-3 所示。
图1-3Files标签4. 输入、编辑源程序。
注意不要输入中文标点符号,要及时按 Ctrl+S 保存文件,如图 1-4 所示。
图1-4输入源程序5.编译、连接。
点击“BuildMiniBar”工具栏上的“Build”按钮进行编译、连接。
也可以选择菜单 Build 下的 Build (F7) 菜单项或Rebuild All菜单项。
更简捷的方法是直接按 F7 功能键。
Visual C++将提示创建默认工作区,如图 1-5 所示。
第8章文档和视图MFC应用程序的核心是文档/视图结构。
在前面章节的学习中,已经接触了不少文档/视图结构的应用程序,本章将详细分析其结构和原理,并进一步学习使用复杂的文档结构、构造更加丰富的视图。
8.1 文档/视图概述使用MFC的AppWizard可以创建三种类型的应用程序:(1)单文档界面的应用程序(SDI:Single Document Interface)(2)多文档界面的应用程序(MDI:Multiple Documents Interface)(3)基于对话框的应用程序(Dialog based)基于对话框的应用程序框架非常简单,由应用程序类、对话框类构成。
通过应用程序类的InitInstance()函数,构造一个模式对话框对象;调用DoModal()函数,让Windows对话框处理程序象通常情况一样接受和分配消息;用户退出对话框后,程序也就结束了。
我们已经知道SDI应用程序由应用程序类(CWinApp)、框架窗口类(CFrameWnd)、文档类(CDocument)、视图类(CView)和文档模板类(CSingleDocTemplate)共同作用。
MDI应用程序与SDI 应用程序的主要差别在于:MDI有CMDIFrameWnd和CMDIChildWnd两个框架窗口类,前一个派生CMainFrame类,负责菜单等界面元素的主框架窗口管理;后一个派生CChildFrame类,负责相应的文档及其视图的子框架维护。
而SDI由框架窗口类CFrameWnd 派生CMainFrame类。
一个文档可以有多个视图,但一个视图只能对应一个确定的文档。
因此,MDI应用程序需要解决的问题是多个文档的数据管理方法。
在MDI应用程序中,文档模板只支持主窗口。
每打开一个新文档时,都调用文档类的成员函数OnNewDocument(),建立一个由CMDIChildWnd派生的新的MDI子窗口,在子窗口中保存已打开的文档,所有这些细节都由MFC库来处理。
实验一 用VC++6.0编写简单C 程序一、实验目的:1. 掌握C++程序的编译、连接和运行的过程;2. 熟练编写简单的C 程序;二、实验环境:一台PC 机,window xp 操作系统,VC++6.0虚拟机系统。
三、实验内容及步骤: 1 编写一个程序实现输入变量x 的值,计算函数5.22log 5sin 2cos )(ex x x x f -+=的值并输出。
(1)N-S 图(2) 程序#include <iostream >#include <math.h>using namespace std;int main(){float x,y;cout<<"请输入x 的值:"<<endl;cin>>x;y=sqrt((cos(2*x)+sin(x*x)))/(5*log10(x)-exp(2.5));cout<<y<<endl;return 0;}(3)测试测试一:输入:3.5输出:-0.0703243测试二:输入:3输出:-0.1751192 教材P34 习题 #include <iostream >using namespace std;int main(){float BeiBaoPrice=60.0;float BeiXingPrice=40.0;float BiJiBenPrice=5.0;int BeiBaoGeShu=0;int BeiXingGeShu=0;int BiJiBenGeShu=0;float Total=0.0;cout<<"请输入背包个数:"<<endl;cin>>BeiBaoGeShu;cout<<"请输入背心个数:"<<endl;cin>>BeiXingGeShu;cout<<"请输入笔记本个数:"<<endl;cin>>BiJiBenGeShu;Total=BeiBaoPrice*BeiBaoGeShu+BeiXingPrice*BeiXingGeShu+BiJiBenPrice*BiJiBenGeShu;cout<<"总费用为:"<<endl;cout<<Total<<endl;return 0;}测试测试一:输入:1 2 3输出:155测试二:输入:2 3 4输出: 2603 编写一个简单程序,实现输入月工资,计算应交税款。
vc++6.0入门教程
步骤是:(先工程—后文件—编译—连接---运行)
1 桌面上的快捷方式如下:双击即可运行
2 在所有程序里点击也可以运行:
3 即会出现如下界面:
4 进入后的界面如下:
5 将每日提示关闭既可:
一、源文件的编译运行
1 建立一个工程,“文件”——“新建”
2,建立一个工程,“文件”
——“新建”,出现下面界
面:
选择“Win32 Console Application”(控制台应用程序,左边倒数第三个),命名工程名称,选择保存位置,点击“确定”,进入下一步,看到如下提示界面:
建立一个空工程,对应其他需要的你一可以建立别的工程;点击“完成”,之后:
显示你创建的工程的信息。
3,再在有一个的工程的条件下,我们再建立一个源文件;
“文件”——“新建”(快捷键Ctri+N),出现:
建立源文件,选择“C++ Source ”,一般都是建立这种文件的(适用在当文件中适用)如果要建立头文件的话,选择“C/C++ Header File”,(适用在多文件工程中使用)命名,文件名称,点击“确定”,之后:
进入编辑区,在主界面编写代码:如下编写完之后呢:
可以按编译按钮调试程序,看看有没有错误,有的话改正,没有的话就可以再按连接按钮检查连
接(多文件工程时常用,检查文件间是否正常连接),最后,点运行按钮,就可以运行了。
如果是您有代码如:cpp文件,或 .h 文件,想添加都VC6.0里来测试的话,可以这样做:
首先,要理解一下文件扩展名为:cpp和.h
文件扩名是.h,代表的是头文件,一般是书写一些函数原型,以及一些在整个程序中常用到的结构体,频繁使用的函数说明,定义等等;
文件扩名为,cpp的,是C++中的源文件,也是最常用到的文件,每建立一个工程都要至少一个源文件(至少要有一个函数入口——主函数main() ),包含了核心代码.
二.多个源文件的编译运行
以上是运行单个源文件的情况,但是在程序设计时,往往是由几个人各自独立编写不同的程序,显然这些程序是不能写在一起进行编译的,这时就需要建立项目工作区来完成几个独立程序的编译,具体方法如下。
首先建立两个文本文件,分别命名为“file1.c”和“file.c”,分别在两个文件中输入如下两个源代码,然后保存。
源代码1:
#include<stdio.h>
void main()
{
void sum();
sum();
}
源代码2:
#include<stdio.h>
void sum()
{
int i,sum=0;
for(i=1;i<=10;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}
打开VC++6.0,选择“文件”→“新建”打开如图所示
选择“工作区”项,并在“工作空间名称”项目下输入“sum”如图所示
单击“确定”,打开如图所示
在左侧的“工作区窗口”显示了新建立的工作区
选择“文件”→“新建”打开如图9所示,在“工程”项目下选择“Win32 Console Application”项,并在“工程名称”项目下输入工程名称,如“sum”,选择“添加到当前工作空间”项,如图所示
单击“确定”,打开如图
选择“一个空工程”项,单击“完成”,打开如图所示
单击“确定”,打开如图所示
在左侧的“工作区窗口”显示了新建立的工程
选择“工程”→“添加到工程”→“文件”,打开如图所示
选择刚刚创建的两个文件,单击“确定”,打开如图所示
选择“组建”→“组建”(或按F7键),打开如图所示
在下端的输出窗口会有错误和警告的提示,如果没有错误选择“组建”→“执行”(或按Ctrl+F5)即可出现运行结果,如图所示
练习: 例1:学习C语言
#include <stdio.h>
#include <stdlib.h>
main(void)
{
printf("欢迎使用C语言!\n");
printf("这是一个简单的C程序.\n");
system("pause");
}
例2:输出文本行 Hello world!
/* example2 The first C Program*/
#include <stdio.h>
main( )
{
printf(“\n Hello world!”);
}
例3:计算1~100的整数和
#include <stdio.h>
main()
{
int,sum;
sum = 0;
for (i=1;i<=100; i++) /*循环*/
{
sum = sum+i;
}
printf("\n1+2+3+...+99+100=%d", sum);
}
例4 :两个数的和
/* example4 calculate the sum of a and b*/
#include <stdio.h>
/* This is the main program */
main()
{ int a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf(”sum= %d\n",sum);
}
/* /* This function calculates the sum of x and y */*/ int add(int x,int y)
{ int z;
z=x+y;
return(z);
}
想一想
编写程序输出下图案: *
* * *
* * * * *
* * * * * * *。