张孝祥VC++讲义:通俗易懂的C++教程与实战检测
5星 · 超过95%的资源 需积分: 10 88 浏览量
更新于2024-08-01
收藏 425KB DOC 举报
张孝祥的《VC++讲课记录》是由他和袁龙友老师在2001年根据张孝祥的授课内容整理而成的初级教程。这本书稿以一种通俗易懂的方式讲解VC++基础知识,注重理论与实践相结合,力求消除读者在学习过程中的疑问,使他们在轻松愉快的阅读中提升编程技能。书中特别关注了C语言的基础,因为作者在教学过程中发现,许多学员虽然学习VC++,但在C语言的理解上存在不足,例如对字符串操作、指针理解、类型转换等问题。
章节中的几个例子旨在检验读者对C语言的理解程度:
1. 检查`strlen(str)`返回字符串长度(这里是13),而`sizeof(str)`返回数组大小(通常是11,因为包括结束符'\0')。
2. 当`str`被赋值为新地址后,`x`保持不变(35),`strlen(str)`可能更新为新字符串的长度。
3. 将字符串赋值给`str`会导致错误,因为`str`是常量,不能直接赋值。
4. `const char* p1`和`char* const p2`的区别在于,`p1`是常量指针,不能修改所指向的内容,而`p2`是普通指针但不能改变其指向的const属性。
5. 要将`str`赋给`p1`,需要类型转换,因为两者类型不匹配。类型转换本质是数据类型的互换,确保程序正确执行。
6. 尝试打印`str`会出错,因为指针被赋值为整数,而非字符串。
7. 将整数赋给指针`pstr`会编译失败,需要确保指针指向内存地址,可以通过`char *pstr = (char*)3000;`进行修改。
8. 将`long`类型的值赋给`long* y`是正确的,但`*p = 0x00313200;`将导致字符串`str`被修改,输出可能是乱码,因为每个十六进制数对应一个字符。
9. 对于`p = 3000`,由于`p`是字符指针,加1后的结果取决于`3000`的实际含义,如果它是一个有效的内存地址,结果将是下一个字符的地址。
这本书提供了实用的技巧和常见错误分析,强调了扎实的C语言基础在学习VC++的重要性,并鼓励读者在实践中深化理解。如果你对C语言和VC++编程有兴趣,这本书将是一个有价值的参考资料。同时,作者也欢迎读者提出反馈,共同完善著作。
2009-05-01 上传
2007-01-29 上传
2023-09-06 上传
2023-04-22 上传
2023-04-22 上传
2023-08-25 上传
chuenchuen
- 粉丝: 1
- 资源: 1
最新资源
- 背包问题 贪心算法
- IBM DB2通用数据库SQL入门
- ARM指令集及汇编 学习ARM必不可少的
- Lecture Halls 假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的算法进行安排。(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小会场数。)
- ARM开发工程师入门宝典
- 交通灯系统硬件软件设计(有图有程序)
- MAX SUM 给定由n整数(可能为负数)组成的序列 {a1,a2,…,an},求该序列形如ai+ai+1,…,+aj的子段和的最大值。当所有的整数均为负数时定义其最大子段和为0。
- Number Triangles 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。
- st5dfsfdsdfsdfsfds
- 最长公共子序列 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。例如,若X={A,B,C,B,D,B,A},Y={B,D,C,A,B,A},则序列{B,C,A}是X和Y的一个公共子序列,但它不是X和Y的一个最长公共子序列。序列{B,C,B,A}也是X和Y的一个公共子序列,它的长度为4,而且它是X和Y的一个最长公共子序列,因为X和Y没有长度大于4的公共子序列。 最长公共
- 《Keil Software –Cx51 编译器用户手册 中文完整版》(403页)
- Pebble Merging 在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。
- 云计算:优势与挑战并存
- Minimal m Sums 给定n 个整数组成的序列,现在要求将序列分割为m 段,每段子序列中的数在原序列中连续排列。如何分割才能使这m段子序列的和的最大值达到最小?
- Lotus 公式秘籍---经验总结
- 数据结构C++二分搜索树