收藏 分享(赏)

C 自学指导书.doc

上传人:ysd1539 文档编号:6734890 上传时间:2019-04-21 格式:DOC 页数:24 大小:73KB
下载 相关 举报
C 自学指导书.doc_第1页
第1页 / 共24页
C 自学指导书.doc_第2页
第2页 / 共24页
C 自学指导书.doc_第3页
第3页 / 共24页
C 自学指导书.doc_第4页
第4页 / 共24页
C 自学指导书.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、C 自学指导书本文由 ohheaiqu 贡献doc 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。Visual C+自学指导书作业: 作业:第一部分: 一、选择题 (1) 软件是指 A 程序 B 程序和文档 C 算法加数据结构 D 程序、数据与相关文档的完整集合 (2)软件调试的目的是 A 发现错误 B 改正错误 C 改善软件的性能 D 验证软件的正确性 (3)在面对对象方法中,实现信息隐蔽是依靠 A 对象的继承 B 对象的多态 C 对象的封装 D 对象的分类 (4)下列叙述重,不符合良好程序设计风格要求是 A 程序的效率第一,清晰第二 B 程序的可读性好

2、 C 程序中要有必要的注释 D 输入数据前要有提示信息 (5)下列叙述中正确的是 A 程序执行的效率与数据的存储结构密切相关 B 程序执行的效率只取决于程序的控制结构 C 程序执行的效率之取决于所处理的数据量 D 以上三种说法都不对 (6)下列叙述中正确的是 A 数据的输入结构与存储结构必定是对应的 B 计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D 以上三种说法都不对(8)一棵二叉树中共有 70 个叶子结点于 80 个度为 1 的结点,则该二叉树重的总结点数为 A 219 B 221 C 2

3、29 D 221 (9)下列叙述重正确的是 A 数据库系统是一个独立的系统,它需要操作系统的支持 B 数据库技术的根本目标是要解决数据的共享问题 C 数据库管理系统是数据库系统 D 以上说法都不正确 (10)下列叙述中正确的是 A 为了建立一个关系,首先是要构造数据的逻辑关系 B 表示关系的二维表中各各组的每一个分量还可以分成若干数据项 C 一个关系的属性名称为关系模式 D 一个关系可以包括多个二维表 (11)在函数中,可以用 auto,extem,register,和 static 这四个关键字中的一个来说明变量的存1储类型,如果不说明存储类型,则默认的存储类型是 A auto B exte

4、m C register D static (12)对于一个类定义,下列叙述中错误的是 A 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数 B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数 C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数 D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数 (13)如果派生类以 public 方式继承基类,则原基类的 protected 成员和 public 成员在派生 类中的访问类型分别是 A public 和 public B public 和 protected C protected

5、 和 public D protected 和 protected (14)下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 A int operator-(FunNumber) B FunNumber operator-() C FunNumber operator-(int) D int operator (FunNumber) (15)C+中的模板包括A 对象模板和函数模板 B 对象模板和类模板 C 函数模板和类模板 D 变量模板和对象模板 (16)如果调用 C+流进行输入输出,下面的叙述中正确的是 A 只能借助于流对象进行输入输出 B 只能进行格式化输入输出 C 只能借

6、助于 cin 和 cout 进行输入输出 D 只能使用运算符 和 进行输入输出 (17)下列富豪中不属于 C+关键字的是 A friend B namespace C continue D byte (18)下列各组的量申明中,含义相同的一组是 A unsigned long int 和 long B signed short int 和 short B unsigned short 和 short D short int 和 int (19) 必须用一对打括号括起来的程序段是 A switch 语句中的 case 标号语句 B if 语句的分支 C 循环语句的循环体 D 函数的函数体 (20

7、)语句的 int*p=p=p=k C int*p;*p=*p=k (21)关于函数重载,下列叙述中错误的是 A 重载函数的函数名必须相同 B 重载函数必须在函数个数或类型上有所不同 C 重载函数的返回值类型必须相同 D 重载函数的函数体可以有所不同 (22)有如下头文件 Int f1(); Static int f2();2Class MA Public Int f3(); Static int f4(); ; 在所描述的函数中,具有隐含的 this 指针的是 A f1 B f2 C f3 D f4 (23)派生类的成员函数不能访问基类的 A 共有成员和保护成员 B 共有成员 C 私有成员 D

8、 保护成员 (24)下列关于运算符重载的描述中,正确的是 A 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符 B 一元运算符只能作为成员函数重载 C 二元运算符重载为非成员函数时,参数表中有一个参数 D C+中可以重载所有的运算符 (25)下列关于类模板的模板参数的叙述中,错误的是 A 模板参数可以作为数据成员的类型 B 模板参数可以作为成员函数的返回类型 C 模板参数可以作为成员函数的参数类型 D 模板函数不能作为成员函数的局部变量的类型 (26)已知一程序运行后执行的第一个输出操作是 Coutprint(); Delete ptr; Return(); 程序的输出结果是 A

9、1B B 1D C 2B D 2D 下列是重载乘法运算的函数原型声明,其中错误的是 A myclass operator*(double,double); B myclass operator*(double,myclass); C myclass operator*(myclass,double); D myclass operator*( myclass , myclass);(35) 有如下程序: #include Using namespace std: Class B Public: Virtual void show()coutshow(); Void fun2(B 6Void f

10、un3(B b)b.show(); Int main() B b,*p=new D; D d; Fun1(p); Fun2(b); Fun3(d); Return(); 程序的输出结果是 A DBD B BBD C DBB D DBD 二、填空题 (2).软件需求规格说明书应具有完整性、无歧视性、正确性、可验证性、可 修改性等特征,最重要的是. (3).在两种基本测试方法中测试的原则之一是保证所测模板中每一 个独立路径至少要执行一次。 (4).线性表的存储结构主要分为顺序存储结构和链式储存结构。队列中是一 种特殊的线性表。循环队列是队列的存储结构。 (5).对下列二叉树进行中序遍历的结果为.

11、(6).在 E-R 图中,矩形属于 在有定义语句:int a=3,b=2,c=1;则表达式 a Using namespace std; Class myclass Public: Void print() coutcouty?x:y;14int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(“%d,%d%dn“,e,f,g); 程序运行后的输出结果是 A)4,3,7 B)3,4,7

12、 C)5,2,7 D)2,5,7 (27)已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是 A)数组 a 和 b 的长度相同 B)a 数组长度小于 b 数组长度 C)a 数组长度大于 b 数组长度 D)上述说法都不对 (28)有以下程序 void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(p f(p,q); p+; q-; for(i=0;i=n;i-) ai+1=ai; main() int i,aN=1,2,3,4,5,6,

13、7,8,9,10; fun(a,2,9); for(i=0;i,则输出结果为 A)产生错误信息 B)1 0 20 00 C)1 2 30 00 D)1 0 20 30 (33)有以下程序 prt(int *m,int n) int i; for(i=0;i mi+; main() int a=1,2,3,4,5,i; prt(a,5); for(i=0;i=8) break; if(a%2=1) a+=5; continue; a-=3; printf(“%dn“,b); 程序运行后的输出结果是 A)3 B)4 C)5 D)6 (42)有以下程序 main()19 char s=“159“,*

14、p; p=s; printf(“%c“,*p+); printf(“%c“,*p+); 程序运行后的输出结果是 A)15 B)16 C)12 D)59 (43)有以下函数 fun(char *a,char *b) while(*a!=0) b+; return (*a-*b); 该函数的功能是 A)计算 a 和 b 所指字符串的长度之差 B)将 b 所指字符串复制到 a 所指字符串中 C)将 b 所指字符串连接到 a 所指字符串后面 D)比较 a 和 b 所指字符串的大小 (44)有以下程序 main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,1

15、5,16,i,j; for(i=0;inext=q-next; B)p-next=p-next-next; C)p-next=r; D)p=q-next; (48)以下对结构体类型变量 td 的定义中,错误的是 A)typedef struct aa21 int n; float m; AA; AA td; B)struct aa int n; float m; td; struct aa td; C)struct int n; float m; aa; struct aa td; D)struct int n; float m; td; (49)以下与函数 fseek(fp,0L,SEEK_

16、SET)有相同作用的是 A)feof(fp) B)ftell(fp) C)fgetc(fp) D)rewind(fp) (50)有以下程序 #include “stdio.h“ void WriteStr(char *fn,char *str) FILE *fp; fp=fopen(fn,“W“); fputs(str,fp); fclose(fp); main() WriteStr(“t1.dat“,“start“); WriteStr(“t1.dat“,“end“); 程序运行后,文件 t1.dat 中的内容是 A)start22B)end C)startend D)endrt 二、填空题

17、 (1)某二*树中,度为 2 的结点有 18 个,则该二*树中有 (2)在面向对象的方法中,类的实例称为 (3)诊断和改正程序中错误的工作通常称为 。 。 。个叶子结点。(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 (5)问题处理方案的正确而完整的描述称为 .(6)以下程序运行时若从键盘输入:10 20 30。输出结果是 . #include main() int i=0,j=0,k=0; scanf(“%d%*d%d“, printf(“%d%d%dn“,i,j,k); (7)以下程序运行后的输出结果是 #define S(x) 4*x*x+1 main() int i=6,j

18、=8; printf(“%dn“,S(i+j); .(8)以下程序运行后的输出结果是 main() int a=3,b=4,c=5,t=99; if(b if(a printf(“%d%d%dn“,a,b,c); (9)以下程序运行后的输出结果是 main() int a,b,c a=10;b=20;c=(a%b1);23printf(“%d %d %dn“,a,b,c); (10)以下程序运行后的输出结果是 main() char c1,c2; for(c1=0,c2=9;c1 printf(“%c%c“,c1,c2); printf(“n“); 第二部分答案一、选择题( (1)数据的存储结

19、构是指 D A)存储在外存中的数据 B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构中计算机中的表示 (2)下列关于栈的描述中错误的是 B A)栈是先进后出的线性表 B)栈只能顺序存储 C)栈具有记忆作用 D)对栈的插入与删除操作中,不需要改变栈底指针 (3) 对于长度为 n 的线性表, 在最坏情况下, 下列各排序法所对应的比较次数中正确的是 D A)冒泡排序为 n/2 B)冒泡排序为 n C)快速排序为 n D)快速排序为 n(n-1)/2 (4)对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为 C A)log2n B) n/2 C) n D)

20、 n+1 (5)下列对于线性链表的描述中正确的是 A A)存储空间不一定是连续,且各元素的存储顺序是任意的24B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C)存储空间必须连续,且前件元素一定存储在后件元素的前面 D)存储空间必须连续,且各元素的存储顺序是任意的 (6)下列对于软件的描述中正确的是 C A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能多地发现程序中的错误 D)软件测试的目的是使程序符合结构化原则 (7)为了使模块尽可能独立,要求 B A)模块的内聚程序要尽量高,且各模块间的耦合程序要尽量强 B)模块的内聚程

21、序要尽量高,且各模块间的耦合程序要尽量弱 C)模块的内聚程序要尽量低,且各模块间的耦合程序要尽量弱 D)模块的内聚程序要尽量低,且各模块间的耦合程序要尽量强 (8)下列描述中正确的是 D A)程序就是软件 B)软件开发不受计算机系统的限制 C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据与相关文档的集合 (9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 D A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对 (10)用树形结构表示实体之间联系的模型是 A)关系模型 B)网状模型 C)层次模型 D)以

22、上三个都是 C(11)算法具有五个特性,以下选项中不属于算法特性的是 A)有穷性 B)简洁性 C)可行性 D)确定性 (12)以下选项中可作为 C 语言合法常量的是 A)-80. B)-080 C)-8e1.0 AB25D)-80.0e (13)以下叙述中正确的是 C A)用 C 程序实现的算法必须要有输入和输出操作 B)用 C 程序实现的算法可以没有输出但必须要有输入 C)用 C 程序实现的算法可以没有输入但必须要有输出 D)用 C 程序实现的算法可以既没有输入也没有输出 (14)以下不能定义为用户标识符的是 A)Main B)_0 C)_int D)sizeof (15)以下选项中,不能作

23、为合法常量的是 A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0 DB(16)数字字符 0 的 ASCII 值为 48,若有以下程序 main() char a=1,b=2; printf(“%c,“,b+); printf(“%dn“,b-a); 程序运行后的输出结果是 C A)3,2 B)50,2 C)2,2 D)2,50 (17)有以下程序 main() int m=12,n=34; printf(“%d%d“,m+,+n); printf(“%d%dn“,n+,+m); 程序运行后的输出结果是 A A)12353514 B)12353513 C)1

24、2343514 D)1234351326(18)有定义语句:int b;char c10; ,则正确的输入语句是 A)scanf(“%d%s“, B)scanf(“%d%s“, C)scanf(“%d%s“,b,c); D)scanf(“%d%s“,b,B(19)有以下程序 main() int m,n,p; scanf(“m=%dn=%dp=%d“, printf(“%d%d%dn“,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入 是 A A)m=123n=456p=789 B)m=123 n=456 p=789

25、C)m=123,n=456,p=789 D)123 456 789 (20)有以下程序 main() int a,b,d=25; a=d/10%9; b=a printf(“%d,%dn“,a,b); 程序运行后的输出结果是 A)6,1 B)2,1 C)6,0 D)2,0B(21)有以下程序 main() int i=1,j=2,k=3; if(i+=1 程序运行后的输出结果是 D A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 327(22)若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 a A)1 B)2 C)3 D)4 (23)有以下程序 main()

26、 int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+y?x:y; int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); B28g=a+b+c+d-e-f; printf(“%d,%d%dn“,e,f,g); 程序运行后的输出结果是 A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7 A(27)已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是 A)

27、数组 a 和 b 的长度相同 B)a 数组长度小于 b 数组长度 C)a 数组长度大于 b 数组长度 D)上述说法都不对 (28)有以下程序 void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(p f(p,q); p+; q-; for(i=0;i=n;i-) ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i,则输出结果为 A)产生错误信息 B)1 0 20 00

28、C)1 2 30 00 D)1 0 20 30 (33)有以下程序 prt(int *m,int n) int i; for(i=0;i mi+; main() int a=1,2,3,4,5,i; prt(a,5); for(i=0;i=8) break; if(a%2=1) a+=5; continue; a-=3; printf(“%dn“,b); 程序运行后的输出结果是 B A)3 B)4 C)5 D)6 (42)有以下程序 main() char s=“159“,*p; p=s;33printf(“%c“,*p+); printf(“%c“,*p+); 程序运行后的输出结果是 A)1

29、5 B)16 C)12 D)59 A(43)有以下函数 fun(char *a,char *b) while(*a!=0) b+; return (*a-*b); 该函数的功能是 D A)计算 a 和 b 所指字符串的长度之差 B)将 b 所指字符串复制到 a 所指字符串中 C)将 b 所指字符串连接到 a 所指字符串后面 D)比较 a 和 b 所指字符串的大小 (44)有以下程序 main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;inext=q-next; B)p-next=p-next-next; C)

30、p-next=r; D)p=q-next; (48)以下对结构体类型变量 td 的定义中,错误的是 C A)typedef struct aa int n; float m;35AA; AA td; B)struct aa int n; float m; td; struct aa td; C)struct int n; float m; aa; struct aa td; D)struct int n; float m; td; (49)以下与函数 fseek(fp,0L,SEEK_SET)有相同作用的是 A)feof(fp) B)ftell(fp) C)fgetc(fp) D)rewind

31、(fp) (50)有以下程序 #include “stdio.h“ void WriteStr(char *fn,char *str) FILE *fp; fp=fopen(fn,“W“); fputs(str,fp); fclose(fp); main() WriteStr(“t1.dat“,“start“); WriteStr(“t1.dat“,“end“); 程序运行后,文件 t1.dat 中的内容是 A)start B)end C)startend D)endrtDB36填空题(每空 2 分,共 40 分) (1)某二*树中,度为 2 的结点有 18 个,则该二*树中有 19 (2)在

32、面向对象的方法中,类的实例称为 对象 。 。个叶子结点。(3)诊断和改正程序中错误的工作通常称为 程序调试(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 关系 。 (5)问题处理方案的正确而完整的描述称为 算法 .(6)以下程序运行时若从键盘输入:10 20 30。输出结果是 10 #include main() int i=0,j=0,k=0; scanf(“%d%*d%d“, printf(“%d%d%dn“,i,j,k); (7)以下程序运行后的输出结果是 #define S(x) 4*x*x+1 main() int i=6,j=8; printf(“%dn“,S(i+j)

33、; 81 .300 .(8)以下程序运行后的输出结果是 4599 main() int a=3,b=4,c=5,t=99; if(b if(a printf(“%d%d%dn“,a,b,c); (9)以下程序运行后的输出结果是 10 20 0 main() int a,b,c a=10;b=20;c=(a%b1); printf(“%d %d %dn“,a,b,c); 37(10)以下程序运行后的输出结果是 0918273645 main() char c1,c2; for(c1=0,c2=9;c1 printf(“%c%c“,c1,c2); printf(“n“); 第三部分: 第三部分:编

34、程题 1、由键盘任意输入一串字符,对其进行加密加密原则为:如果为字母,将其循环右移 2 个字母,其他字符保持不变如:原串为 abZ12,新串为 cdB122、编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入 2004 年 12 月 31 日 23 时 59 分 59 秒,则输出 2005 年 1 月 1 日 0 时 0 分 0 秒。 3、 输入一个 n ,然后在屏幕上打印出 NxN 的矩阵! 例如,输入一个 3,则 1 8 7 2 9 6 3 4 5输入一个 4,则 1 12 11 2 13 16 3 14 15 5 6 44、求用一段 C 或 C+程序写求 f(x)=1

35、00! 的完整程序 、 程序写求5、 为什么构造函数和析构函数都不能有返回值?6、标准的 AppWizard 文件包括哪几部份?7 简述构造函数和析构函数的作用以及它们的区别。 8 简述 Windows 程序与 DOS 程序的区别9 Windows 程序的入口点是什么函数 ? 它主要完成什么功能 ? 10 简述无模式对话框和模式对话框的区别答案381、由键盘任意输入一串字符,对其进行加密加密原则为:如果为字母,将其循环右移 2 个字母,其他字符保持不变如:原串为 abZ12,新串为 cdB12 #include main() char a100; int i=0; scanf(“%s“,a);

36、 while(a!=0) if(a=a) time as format “Year/Month/Day Hour:Minute:Second“:“); d; t; 0;t.ti_hund/* printf(“Input scanf( “%d/%d/%d */ d.da_year t.ti_hour tmp = = =%d:%d:%d“, =31,23,t.ti_min dostounix( unixtodos(tmp, printf( “The time at the following d.da_day, second is “%4d/%2d/%2d %02d:%02d:%02d“n“, d

37、.da_year, t.ti_hour, ); d.da_mon, t.ti_min,t.ti_sec3、 输入一个 n,然后在屏幕上打印出 NxN的矩阵!39例如,输入一个 3,则 1 8 7 2 9 6 3 4 5输入一个 4,则 1 12 11 2 13 16 3 14 15 5 6 4#include #include #define N 10voidprintCube(intaN,intn);void main()intaNN,n; n:n“);printf(“inputscanf(“%d“, printCube( getch(); void printCube(intaN,intn

38、)int inti,j,round=1; m=1;for(i=0;i=n/2;i-) for(j=round;j=round;j-) aij-1=m+; for(j=i;jround;j-) aj-1round-1=m+; for(j=round;jdouble if (!n)fac(intn)return else return else return if-1; (n=1) 1;n*fac(n-1);void intmain(void)n=100; facRet;doublefacRet=fac(n); printf(“Fac(100)=%lf“,facRet); 5、 为什么构造函数和析

39、构函数都不能有返回值? 构造函数和析构函数的定义 构造函数和析构函数是在类体中说明的两种特殊的成员函数。 构造函数的功能是在创建对象 时利用特定的值构造对象, 将对象初始化为一个特定的状态, 使此对象具有区别于其他对象 的特征。析构函数的功能是用来释放一个对象,在对象删除前,用它来做一些清理工作,与 构造函数的功能正好相反。 构造函数和析构函数都没有返回值, 并且定义它们时不需要显式 地写出没有返回值。构造函数可以带参数,也可以重载;而析构函数不能有参数,也不能重 载。 构造函数的特点: (1)构造函数是特殊的成员函数,函数体可以写在类体内,也可以写在类体外。该函数 的名字与类名相同,该函数不

40、能指定返回类型。 (2)构造函数一般都被声明为公有函数。构造函数可以重载,即可以定义多个参数个数 不同或参数类型不同的构造函数。 (3)构造函数在定义对象时被系统直接调用,程序中不能直接调用构造函数。 (4)应用构造函数定义对象的语法形式为:41(); (5)运算符 new 和构造函数一起使用。 析构函数的特点: (1) 析构函数是特殊的成员函数,函数体可以写在类体内,也可写在类体外。该函数的 名字为求反符号“”后面跟着类名,该函数不能指定返回类型,不能有参数,也不能重载。 (2)一个类只能定义一个析构函数。 (3)析构函数在对象生命周期结束时被系统直接调用,程序中一般不调用析构函数。 (4)

41、运算符 delete 与析构函数一起使用。 6、标准的 AppWizard 文件包括哪几部份? .通常,appwizard 显示一系列对话框获取创建新工程所需的设置。每一个步进对话框显示不 同的选项。appwizard 将这些选项的值存储在一个串映射中。这个串映射就叫做 dictionary 字典。dictionary 字典实际上是一个 ccustomappwiz 类的成员变量(m_dictionary) ,其类型 为 cmapstringtostring。dictionary 将 appwizard 宏映射到相关联的值。这里所说的宏是指工程 选项或设置的名称。 例如, 在创建 mfc 的时候

42、,你可以选择应用程序为 sdi, 那么,dictionary 中就会有一个名为 projtype_sdi 的宏。dictionary 中这个项目的值就是 1,否则这个与这个宏 关联的值为 0。 7. 构造函数用于实例生成,包括既定的初始化,析构函数用于销毁对象,释放资源。构造 函数可以多个,可以有参数,可以重载,析构函数没有参数也不能重载,构造函数名称 为类名,析构函数名称为类名 8. MS_DOS 过程驱动程序是顺序的、关联的,程序直接控制程序事件和过程顺序,以某种 不可改变的顺序进行工作,交互性差;Windows 事件驱动程序由事件发生来控制逻辑, 事件的发生是随机的不确定的,Windows 程序可以资源共享 9. Windows 程序的入口点函数是 WinMain,完成的主要功能是创建、注册和显示窗口,启 动消息循环完成消息驱动 10. 无模式对话框和模式对话框的区别:Visible 属性不同,无模式对话框的 Visible 属性 必 须设置为 true,模式对话框不需要;创建空间不同,无模式对话框通常创建在堆上,模 式对话框创建在堆栈上;窗口创建函数不同:无模式对话框用 Create 创建,模式对话框 用 DoModal 创建并显示;窗口删除函数不同;清理对话框对象方式不同;无模式对话框 不能“重入”421

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报