📄 vc学习.txt
字号:
回复可见:
[parse][hidden segment start][/parse]
发信人: bingbinICE (小ICE-逆境中求生存), 信区: VisualC
标 题: 我初学VC时候的一些笔记(很浅显的东西哦)
发信站: 水木社区 (Thu Jun 23 16:29:09 2005), 站内
找到了初学VC时的记事本,觉得有些东西还不错,就都打了出来,东西是很简单的东西。而且由于当时是初学,难免有错误~希望发现错误的大牛们批评指正。不过这也是偶辛辛苦苦打得哦。。希望对初学者能有些帮助^^
include使用方法
格式: #include “文件名” #include<文件名>
使用尖括号括起来的文件名如果在当前项目所在的目录找不到,编译器会到一个特定的系统目录中查找。而使用双引号括起来的文件名如果在当前项目所在的目录中找不到,编译器会给出出错信息。
函数的调用格式
::函数名(参数表);
函数名(参数表);
这两个格式的功能完全一样,但在C++语言中,推荐使用第一个格式。”::函数名”代表这个函数是系统中的全局函数。
绝对值计算
Visual C++ 库函数abs:
abs是用来计算一个带符号整数的绝对值。
原型: int abs(int x);
对象的数据成员访问、成员函数调用语句:
对象名.数据成员
对象名.成员函数(参数表)
对象指针->数据成员
对象指针->成员函数(参数表)
字符串类
CString是Visual C++的MFC类库中所带的一个类,用于字符串处理。
字符串类:CString常用成员函数:
Format、GetLength、IsEmpty、Empty等。
Format用于产生一个格式化的字符串。调用格式:
对象名.Format(“格式控制字符串”,输出数据项1,……,输出数据项n);
例:
int nIndex = 5;
nValue = nIndex * 6;
CString strOutput;
strOutput.Format(“%d%d”,nIndex,nValue);
%s:格式化一个经典C++字符串
实例:
strOutput.Format(“%s”,”this is a string”);
结果为:
strOutput等于this is a string
更多参见:基础(51页)
CString strOutput; //声明一个CString类的对象
strOutput.Format(“%d”,nResult); //strOutput等于以十进制转换 //的nResult的字符串形式
pDC->TextOut(0,0,strOutput); //在客户区输出strOutput
pDC:Windows传来的指向显示设备的指针
0,0:显示坐标
“文件名View”类的OnDraw成员函数下一般进行计算和屏幕显示。
break语句和continue语句
1、 break
在switch中,break用于跳出switch结构。在循环体中如果加入break语句,则程序执行到break语句时将跳出循环(即提前结束循环)。执行循环外的下一条语句。
例:
while (nIndex<100)
{
if(nIndex * xPosition>640)
break;
}
2、 continue
结束本次循环,进入下一次循环。continue同break语句的区别是:continue不终止循环,而只是跳过循环体中剩余的语句,直接进入下一次循环。
for(i=100;i>0;i --)
{
if(i = =50)
continue;
nCounter ++;
}
如果i=50,则nCounter ++不会被执行。
数组作为参数传递给函数
在C++中,要将整个数组作为参数传递给函数,大体上有两种格式:
(1) 数据类型 函数名 (数据类型 数组名[ ],int 长度);
(2) 数据类型 函数名 (数据类型 数组名[长度]);
UpdateData函数原型
void UpdateData(BOOL bValidateAndSave = TRUE);
const形参
如果函数体不改变某个形式参数的值,则可以将该形参声明为const形,方法是在参数类型前加const关键字。例如:
int GetStringLen(const char String[ ]);
表示函数GetStringLen对形参String以及数组String中的任何一个元素的值都不做改变。
将参数声明为const有助于提高运行效率。
作用域为整个源程序文件的变量:
在整个源程序,但不能被其他源程序文件中的程序段访问,必须将变量的声明放在源程序文件的开头部分,并加上static关键字。
例:
#include “stdafx.h”
#define WHITE 0
#define BLACK 0
static int nInteger;
如果一个局部变量保存在CPU寄存器中,那么对它的访问将具有最快的速度,可以使用register关键字将某个变量声明成必须放在寄存器中:
如: register int nIndex;
外部变量:
在源程序文件bbb.cpp中如果要访问aaa.cpp中的nInterger和fReal两个全局变量,需要在程序开头先将这两个变量声明为外部变量,方法是给变量声明加extern关键字:
#include <string.h>
#include “stdafx.h”
extern int nInterger;
extern floot fReal;
在bbb.cpp中对nInterger和fReal的访问操作,都被指向aaa.cpp中的nInterger和fRral。
动态变量和静态变量:
动态变量在声明时可以使用关键字auto来修饰,如:auto int a,默认的,所有局部变量都是动态变量,可以不必加auto关键字。
静态局部变量,在声明时加static关键字。例如,在函数FunctionC中声明的变量nStaticExample是静态局部变量。
void FunctionC ( )
{
static int nStaticExample = 0;
nStaticExample ++;
}
在FunctionC函数第一次被调用时,系统会为静态局部变量nStaticExample分配空间,并将其置初始值0,由于nStaticExample是静态变量,所以在FunctionC退出时nStaticExample所占用的空间不会被回收,下一次调用FunctionC时,系统不会重新为nStaticExample分配空间并赋初始值,nStaticExample的值将是上一次FunctionC函数退出时的值。
强制类型转换(基P131)
int *pnValne;
char byCh = ‘A’;
pnValue=(char *)&byCh;
将指向一个char型变量的指针强制转换为指向int型变量的指针后,就可以将值赋予int型指针变量pnValue了。
(类型标识符)操作数;
例:
int a,b;
(long)a; //把a转换为长整型
(char)b; //把b转换为字符型
(类型标识符)(表达式);
例:
(int)x+y; //将x转换为整型再和y相加
(int)(x+y); //将(x+y)转换为整型
例:
main()
{
float x;
int y;
x=33.3;
y=(int)x;
printf(“x=%f,y=%d”,x,y);
}
结果:x=33.30000,y=33
putchar( )函数:头文件:stdio.h
例:
putchar(‘A’); //将A输出到屏幕
putchar(33); //将ASCII码为33的字符输出到屏幕
putchar(x); //将变量x的值当成ASCII码值。并将对应字符输//出到屏幕,这里x可以使字符型或整型变量。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -