编程C语言也能干大事.pdf
《编程C语言也能干大事.pdf》由会员分享,可在线阅读,更多相关《编程C语言也能干大事.pdf(91页珍藏版)》请在咨信网上搜索。
1、9录一.2二.12三.18田.22上.26.33六.41七.45八.49九、第一次亲身体灸一百遏的威力!.65十、Socket网以杼卷2.69十 一.73十二、数据唐仔卷.79十田.85口C语言也能孑之事。1、Mingw就是一个C/C+的编译器。编译器和编辑器:编译器其实就是把源代码编译成目标代码的程序;Tc就是一个编辑器:能在里边敲代码,高亮显示,自动提示。2、C-Free里边可以运行、也可以调试。设置断点很简单,就是在要设置断点的代码行前边点 击一下鼠标,有了一个红色小点就说明设置好了断点。3、控制台程序的入口是main,Win32程序的入口是WinMain4、以前用TuborC的同学会问
2、彳十么叫工程?在以前大家用TurboC写的程序一般也就是 一个文件,但是用C语言写大程序的时候不可能把所有的代码都写在一个文件中,肯定要写很 多文件。工程(Project)就是这些问题的一个集合。)在“工程名”中写入你为这个工程取的名 字,最好有一定意义。5、Windows程序的骨干代码:#include int WINAPI WinMain(HINSTANCE hlnstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)(return 0;)6、向Windows的世界问好(1)MessageBox(NULL,TEXT(世界你好)
3、TEXT(问好),MB_OK);第一个参数暂时不讲;第二个是正文;第三个是标题(Caption);第四个是类型。MB.OK就是表示有一个0K按钮【确定】)2/91口C语言也能孑之事。TEXT是一个宏,当字符串中有中文的时候最好用TEXT来包围这个字符串,虽然不使用 TEXT在VC6中没问题,但是在VC7中有问题,而且微软也建议使用TEXT宏,因此在涉及到中 文的场合要使用它。他的作用就是把中文转化成不会乱码的格式。(暂时这么认为 JV问好。,其实_T只是TEXT的一个缩写而已。而且一T在有的低版本里不识别。正XT()低版本也识别。换个样子:MessageBox(NULL,TEXT(世界你好),
4、TEXT(你好)MB_OKCANCEL);可从设置希望在对话框中显示的按钮:#define MB_OKOxOOOOOOOOL#define MB_OKCANCEL0 x0000000IL#define MB_ABORTRETRYIGNORE0 x00000002L#define MB_YESNOCANCEL0 x00000003L#define MB_YESNO0 x00000004L#define MB_RETRYCANCEL0 x00000005L也可以设置对话框中显示的图标:#define MBJCONHAND0 x00000010L#define MBJCONQUESTION0 x00
5、000020L#define MBJCONEXCLAMATION0 x00000030L#define MBJCONASTERISK0 x00000040L比如:MessageBox(NULL,TEXT(世界你好),TEXT(你好)MBCONQUESTION);(2)可是如果我想显示确定、取消按钮的时候同时使用问号图标呢?MessageBox(NULL,TEXT(世界你好),TEXT(你好)MB_OKCANCEL|MBJCONQUESTION);3/91打。语言也能孑大事MessageBox(NULL,TEXT(世界你好),TEXT(你好)MB_ABORTRETRYIGNORE|define
6、MBJCONEXCLAMATION);(3)思考:到这一步如果你只是在背诵“第一组和第二组中间放一个竖线就可以实现两种效果的组合 形式”,那么你未来只会成为一个代码工人。我们要思考一下其背后的原理。首先说T是什么意思?T是位运算里的“或运算,只有对应的两个二进位有一位为1时,结 果位才为1,否则为0o MB_OK、MB.OKCANCEL等的低四位不同,但是高位永远为0;MBCONHAND、MB.ICONQUESTION等的低5至第8位不同,而其他位永远为0。这样“MB_OK、MB_OKCANCEL”组的数值与“MBCONHAND、MBCONQUESTION”组的数值进行或运算后能分另(J保 留
7、各自的部分,也就是在结果值中同时体现两组的取值。拿到1000010以后怎么判断是不是和0000010或运算来的?10000100000010 与&000001010000110000010&0000010这种风格叫掩码”,在Windows编程中这种用法会经常用到。大家想像一下MessageBox的内部实现是怎么样的?if(mode&MB_OK)=MB_OK)(/显示OK按钮)if(mode&MB_ICONQUESTION)=MB_ICONQUESTION)4/91口C语言也能孑之事。显示问好)itoa、atoi 定义在 stdlib.h 中。(4)默认按钮为什么要有默认按钮:一个方便用户,不用
8、思考,直接点回车就可以选择默认按钮;防止用户误操作,默认的按钮应该是最优选的按钮。”是否保存文件?”默认应该是“确定”,“是 否发射导弹?”默认应该是“取消还可以指定哪个按钮是默认按钮,猜一下这些选项的取值的特征是什么?#defineMB_DEFBUTTON10 x00000000L#defineMB_DEFBUTTON20 x00000100L#defineMB_DEFBUTTON30 x00000200L#defineMB_DEFBUTTON40 x00000300L示例代码:MessageBox(NULL,TEXT(你是人吗?),TEXT(火星人)MB.YESNO|MB_ICONQUES
9、TION|MB_DEFBUTTON2);(5)返回值MessageBox是有返回值的,返回值为用户点击的按钮:#define IDOK1#define IDCANCEL2#define ID ABORT3#define IDRETRY4#define IDIGNORE5#define IDYES5/91口C语言也能孑之事。6#define IDNO7代码:int ret=MessageBox(NULL,TEXT(你是人吗?),TEXT(火星人)MB_YESNO I MBJCONQUESTION);if(ret=IDYES)(MessageBox(NULL,TEXT(火星人你好),TEXT(问好
10、),MB_OK);)else(MessageBox(NULL,TEXT(“欢迎回家来TEXT(“问好),MB_OK);)7、课后作业:自己动手写恶搞程序。(1)运行以后弹出询问对话框(有【是】、【否】两个按钮,默认选择【否】按钮,以及 问号图标)“你是好人吗?”,如果点击【是】,则弹出对话框(只有一个【确定】按钮以及一个 警告图标)“你看你就不像好人,点击【确定】开始格式化C盘!”;如果点击【否】,则弹出 对话框(有【重试】、【取消】两个按钮)“尝试把你变成好人失败,是否重试?(2)自己发挥完善上边的恶搞程序。1、MingW就是一个C/C+的编译器。编译器和编辑器:编译器其实就是把源代码编译成
11、目标代码的程序;Tc就是一个编辑器:能在里边敲代码,高亮显示,自动提示。2、C-Free里边可以运行、也可以调试。设置断点很简单,就是在要设置断点的代码行前边点 击一下鼠标,有了一个红色小点就说明设置好了断点。3、控制台程序的入口是main,Win32程序的入口是WinMain6/91口C语言也能孑之事,4、以前用TuborC的同学会问“什么叫工程?”。在以前大家用TurboC写的程序一般也就是 一个文件,但是用C语言写大程序的时候不可能把所有的代码都写在一个文件中,肯定要写很 多文件。工程(Project)就是这些问题的一个集合。)在“工程名”中写入你为这个工程取的名 字,最好有一定意义。5
12、、Windows程序的骨干代码:#include int WINAPI WinMain(HINSTANCE hlnstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)(return 0;)6、向Windows的世界问好(1)MessageBox(NULL,TEXT(世界你好)TEXT(问好)MB_OK);第一个参数暂时不讲;第二个是正文;第三个是标题(Caption);第四个是类型。MB.OK就是表示有一个0K按钮【确定】)TEXT是一个宏,当字符串中有中文的时候最好用TEXT来包围这个字符串,虽然不使用 TEXT在VC6中没问
13、题,但是在VC7中有问题,而且微软也建议使用TEXT宏,因此在涉及到中 文的场合要使用它。他的作用就是把中文转化成不会乱码的格式。(暂时这么认为 JV问好),其实一T只是TEXT的一个缩写而已。而且一T在有的低版本里不识别。正XT()低版本也识别。换个样子:MessageBox(NULL,TEXT(世界你好)TEXT(你好)MB_OKCANCEL);可从设置希望在对话框中显示的按钮:#define MB_OKOxOOOOOOOOL#define MB_OKCANCEL7/91打。语言也能孑大事0 x00000001L#define MB_ABORTRETRYIGNORE0 x00000002L
14、#define MB_YESNOCANCEL0 x00000003L#define MB_YESNO0 x00000004L#define MB_RETRYCANCEL0 x00000005L也可以设置对话框中显示的图标:#define MBJCONHAND0 x00000010L#define MBJCONQUEST1ON0 x00000020L#define MBJCONEXCLAMATION0 x00000030L#define MBJCONASTERISK0 x00000040L比如:MessageBox(NULL,TEXT(世界你好),TEXT(你好)MBJCONQUESTION);
15、(2)可是如果我想显示确定、取消按钮的时候同时使用问号图标呢?MessageBox(NULL,TEXT(世界你好),TEXT(你好)MB_OKCANCEL|MBJCONQUESTION);MessageBox(NULL,TEXT(世界你好),TEXT(你好)MB_ABORTRETRYIGNORE|define MBJCONEXCLAMATION);(3)思考:到这一步如果你只是在背诵“第一组和第二组中间放一个竖线就可以实现两种效果的组合 形式”,那么你未来只会成为一个代码工人。我们要思考一下其背后的原理。首先说T是什么意思?T是位运算里的或运算,只有对应的两个二进位有一位为1时,结 果位才为1
16、,否则为0o MB_OK、MB_OKCANCEL等的低四位不同,但是高位永远为0;MBJCONHAND、MB_ICONQUESTION等的低5至第8位不同,而其他位永远为0。这样MB_OK、MB_OKCANCEL”组的数值与“MBJCONHAND、MBCONQUESTION”组的数值进行或运算后能分另U保 8/91打。语言也能孑大事留各自的部分,也就是在结果值中同时体现两组的取值。拿到1000010以后怎么判断是不是和0000010或运算来的?10000100000010 与&000001010000110000010&0000010这种风格叫号奄码,在Windows编程中这种用法会经常用到。
17、大家想像一下MessageBox的内部实现是怎么样的?if(mode&MB_OK)=MB_OK)(/显示OK按钮)if(mode&MB_ICONQUESTION)=MBJCONQUESTION)(显示问好)itoa、atoi 定义在 stdlib.h 中。(4)默认按钮为什么要有默认按钮:一个方便用户,不用思考,直接点回车就可以选择默认按钮;防止用户误操作,默认的按钮应该是最优选的按钮。”是否保存文件?”默认应该是确定”,“是 否发射导弹?”默认应该是“取消还可以指定哪个按钮是默认按钮,猜一下这些选项的取值的特征是什么?#defineMB_DEFBUTTON10 x00000000L#defi
18、ne9/91口C语言也能孑之事。MB_DEFBUTTON20 x00000100L#defineMB_DEFBUTTON30 x00000200L#defineMB_DEFBUTTON40 x00000300L示例代码:MessageBox(NULL,TEXT(你是人吗?),TEXT(火星人)MB.YESNO|MB_ICONQUESTION|MB_DEFBUTTON2);(5)返回值MessageBox是有返回值的,返回值为用户点击的按钮:#define IDOK 1#define IDCANCEL2#define ID ABORT3#define IDRETRY4#define IDIGNO
19、RE5#define ID YES6#define IDNO7代码:int ret=MessageBox(NULL,TEXT(你是人吗?),TEXT(”火星人),MB_YESNO I MBJCONQUESTION);if(ret=IDYES)(MessageBox(NULL,TEXT(火星人你好),TEXT(问好),MB_OK);else(MessageBox(NULL,TEXT(欢迎回家来),TEXT(问好),MB_OK);10/91口C语言也能孑之事。7、课后作业:自己动手写恶搞程序。(1)运行以后弹出询问对话框(有【是】、【否】两个按钮,默认选择【否】按钮,以及 问号图标)“你是好人吗?
20、,如果点击【是】,则弹出对话框(只有一个【确定】按钮以及一个 警告图标)“你看你就不像好人,点击【确定】开始格式化C盘!”;如果点击【否】,则弹出 对话框(有【重试】、【取消】两个按钮)“尝试把你变成好人失败,是否重试?(2)自己发挥完善上边的恶搞程序。11/91口C语言也能孑之事,1、上节课作业点评:海豚天使作业:写的非常好,99分。唯一的改进点就是“if else中的代码哪怕只有一行也要 用大括号括起来”。VansOS:一个可取之处是TEXT。”的应用;把whilecontinue用的很好;符合了“if else中的 代码哪怕只有一行也要用大括号括起来的要求。100分。3、怎么打开VC6、
21、VC7、DevC+的工程?C-Free4.0用【工具】一【工程转换】。C-Free4.1的话,直接把工程文件拖进来就可以。大家以后从网上下载了别的写的C语言程序,有可能用VC写的,所以要转换一下。下了 VC的程序不用担心,C-Free是支持的。语言、IDE都是互通的,“一通百通”。4、为什么代码自动提示不出来?怎么增加自动提示的数量?【工具】一【编辑器选项】一【代码提示】。显示最大条数、输入几个字符后才激活。建 议改成10、15、怎么修改新建文件的默认文件名为co【工具】一【环境选项】、修改新建文件类型”6、每次都输入WinMain以及那些参数,很麻烦,有没有快速方式?添加自己的模板“。【工具
22、】一【编辑器选项】一【代码模板】,点击【添加】按钮,为模 板选一个名字,然后将代码模板粘贴到“代码”框中。使用方式:在编辑器中点击鼠标右键,选择【模板】,然后选择创建的代码模板。7、怎么生成exe程序。怎么把做好的exe程序发给别人?12/91打。语言也能孑大事主菜单【工具】一【定位到工程文件夹】跳转到工程的文件夹,也可以在我的电脑里直接 进入工程文件夹。mingw2.95目录下生成的exe文件就是生成好的可执行文件,发给别人就可以。8、播放声音文件(1)用途:游戏里播放音乐;自己动手给女友做音乐贺卡(图片、滚动的字母、温馨的 音乐)(2)可以使用PlaySound。函数播放声音文件,该函数原
23、型位于include 中,因 此要使用PlaySound,首先需要添加对这个头文件的引用。提示:mm就是MultiMedia的简写,多媒体(3)函数原型为:BOOL PlaySound(LPCSTR pszSound,HMODULE hmod.DWORD fdwSound);返回值表示是否播放成功。参数pszSound是要播放声音的文件名,只支持WAV等格式的文件;去用“wav”为关键词可以搜到很多wav音乐,也可以用工具将其他格式的转换为wav格式的。参数hmod是应用程序的实例句柄,一般传递NULL就可以;参数fdwSound是标志的组合掩码,可选值有SND_FILENAME、SND_AS
24、YNC、SND_SYNC等。SND_FILENAME表示pszSound参数指定的是文件名(pszSound还可以指定资源、内存音乐、系 统音乐等等);SND_ASYNC:用异步方式播放声音,PlaySound函数在开始播放后立即返回;SND_SYNC:同步播放声音,在播放完后PlaySound函数才返回;SND_LOOP 一遍遍的重复播放 声音,必须与SND_ASYNC标志一块使用。(4)使用举例:PlaySound(TEXT(C:WINDOWSMediaWindows XP 启J.wav),NULL,SND_FILENAME|SND_SYNC);13/91打。语言也能孑大事注意的问题:文件
25、名中的反斜线要用“,因为C语言中T默认是转义符,如果要表示,”则 需要使用“”,对这点不明白的请回去翻一下C语言的书;对中文字符串要使用TEXT宏。(5)为啥构建不通过?include 只是保证编译通过,还要设定linko解决方案:工程上点击右键,选工程设置”,连接,添加“winmm”库。解决此问题时参考的文章:http:/ 它虽然描述的是VC中解决此问题的方式,但是记住一通百通”这个道理,C-Free中添加Link 库的方式和VC非常相似,只是操作步骤不同而已。附录:VC中添力口 Link库的方式:project-setting-Link 下的 Object/library modules
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 语言 能干 大事
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。