徐敏-C语言启蒙.docx

上传人:无*** 文档编号:68311944 上传时间:2022-12-27 格式:DOCX 页数:63 大小:300.42KB
返回 下载 相关 举报
徐敏-C语言启蒙.docx_第1页
第1页 / 共63页
徐敏-C语言启蒙.docx_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《徐敏-C语言启蒙.docx》由会员分享,可在线阅读,更多相关《徐敏-C语言启蒙.docx(63页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、(0分00秒)C语言启蒙 主讲人:徐敏(1分32秒)目录(入门)第1章数据类型3第2章 第3章 第4章 第5章第6章 第7章第8章 第9章第10章 第11章 第12章 第13章输入输出语句4选择结构5流程图7循环结构(一)8循环结构(二)9函数10数组12字符12字符串14结构与联合14二进制15硬件知识17(进阶) 第15章第14章输出语句输入语句2019第16章 第17章 第18章 第19章 第20章 第21章 第22章 第23章 第24章 第25章 第26章数据类型与表达式更多的运算符21选择的嵌套23多路分支24循环的嵌套25函数的嵌套27多维数组 29结构的嵌套31枚举 32指针基础

2、32位运算3420(髙级)第27章指针与一维数组36第28章文件 37第29章预处理39第30章自定义类型40第31章 指针与二维数组41第32章 指针与字符串42第33章指针与函数43第34章 指针与结构45第35章 双重指针与数组46第36章 链表理论48第37章链表实践 49第38章 变量生存期50第39章常用算法 51第40章 难题讲解52附录:ASCII码表59/程序入口点/起点/叫计算机执行的指令/终点/(3分53秒)入门(入门)第1章数据类型C语言的用途计算机“语言”的责任是让人与计算机可以通话, 下指令。C语言是目前世界上流行最广的可以给计算机“下 指令”的语言之一。目前我们学

3、的几乎所有软件, 如:Word, Excel, QQ, Photoshop, Windows,千 千静听,电影播放器,VB, VFP。游戏有:魔 兽世界,魔兽争霸,劲舞团,征途,跑跑卡丁车都 由C语言的身影。(6分32秒)软件公司开发软件首选C,主要是因 为C语言设计的软件速度快,代码精简,占电脑资 源少。但是它有个明显缺点:难学。造成C程序员 资源稀少,工资高,直接导致软件成本上升。(7分32秒)两种人适合学习C语言,种是将来 要通过软件设计赚钱的人,像上面所说的软件和游 戏的开发,或者是单片机开发等:另种是对计算 机本身非常有兴趣,将来要往黑客,人工智能,汇 编语言等分支发展的人。软件与参

4、考书(8分50秒)建议安装:、操作系统:Windows XP二、开发工具:Visual Stdio 6.0英文版,简称VS6.0, 安装时包含有VB6、VC6、VFP6等软件,可以选 择安装。三、补丁: VS6sp6四、随机帮助:MSDN(Microsoft Developer Network 微软开发者网络)五、助手:Visual Assist (VC助手),可以加快编写 程序的效率,减少出错概率参考书籍:潭浩强的C程序设计,清华大学出版 社个简单的程序(12 分 26 秒)include /使用别人的程序/ main() int a=l+2;)标识符(17分16秒)标识符就像给刚出生的小孩

5、取名字 样,给刚定义的变量或函数取名字。合法的标识符:由字母、数字和下划线组成,并 且第一个字符必须为字母或下划线。大写字母和小写字母被认为是两个不同的字符, 因此TEACHER、teacher和Teacher是三个不同的 变量名。(18分40秒)题目讲解:以下选项中哪个是正确的标识符:A、void B、_asb3 C、abc.c D、2c关键字(20分13秒)关键字属标识符的子集,有些标识 符已经被系统使用,称之为“关键字”。因此,程 序员在写程序时就不能取与关键字相同的名字。 如:void,while,#define常量(21分09秒)定义:其值不能被改变的量。如:5 0 -2 2.382

6、 T “hello”都是常量。还有一种特殊常量:#define MAX 5这种常量的用法,将在“宏定义” 一章中讲解。变量(22分07秒)定义:其值可以被改变的量。如a a3max给变量取名时要符合标识符的规定。整数:整型常量(22分48秒)整数分十进制,进制,十六进制, 它的明显标志是:没有小数点。进制和十六进制将在“二进制” 课中讲解。(23分30秒)计算机中各整数类型的取值范围: short:短整型(-32768-32767)int:整型(-21474836482147483647)long:长整型(-21474836482147483647)unsigned int(short lon

7、g):无符号整型(上面的范 围乘以2再加1)(26分。0秒)题目讲解:以下选项中正确的整型常量是(口是空格):A、12. B, -20 C、1,000 D、40506实数(浮点数):实型常量(27分28秒)浮点数,顾名思议,就是有个小数 点可以左右浮动的数,在数学上又叫“实数”。浮点数分小数和指数部分,它的明显标志是:有小 数点。合法的小数部分:0.329 .329 3. -.2 +.2(28分32秒)指数部分:在早期的计算机中,想 把指数部分写在数字的右上角相当的困难,因此编 程语言一般都用e和E表示指数部分。如:0.329*102 在计算机中表示为.329e+2,0.8*10-8表示为0.

8、8e-8。(30分11秒)计算机中各浮点类型的取值范围: 浮点型:float (-3.4e-383.4e38)双精度浮点型:double (-1.7e-3081.7e308)长浮点型:long double (-1.7e-3O81.7e3O8)(31分45秒)题目讲解:以下选项中正确的实型常量是:A、0 B、3.C1415 C、0.329*102 D、.871其它复杂类型(32分31秒)枚举型enum结构struct联合union自定义类型typedef另外还有字符与字符串类型将在后面的课程中讲 解。运算符(33分10秒)+ - * 1 % (取余)都叫运算符, C语言中运算符有几十种,并且有

9、不同的优先级与 结合性。在本课只需要认识这些类似数学上的运算 符和优先级,结合性的概念将在后面讲解。表达式(34分36秒)表达式由变量、常量、运算符组成。 如:S=3.14*(r*r)它符合数学上的运算次序,先括号,再乘除,再加 减。作业1、以下选项中哪个是正确的标识符:A _void B、asb*3 C、f.n D、2c2、以下选项中正确的整型常量是:A、12. B、.2 C、123 D、03、以下选项中正确的实型常量是:A、0 B、2.C71828 C、.329E+2 D、-871第2章输入输出语句使用VC6(5分32秒)建立程序流程:(1)在菜单中选择:File/New会弹出个窗口。 在

10、窗口中选择Projects标签,选择 Win32 Console Application选项。点击Location文本框右边的按钮, 选择你要在哪个文件夹中创建文件,再在Project Name文本框填入你的项目名,单击OK。(2)再一次在菜单中选择:File/New会弹出同样 的窗,在窗口中选择Files标签,选择C+ Source File选项。点击Location文本框右边的按钮,选择 你要在哪个文件夹中创建文件,再在File文本框填 入你的文件名(文件名后面一定要加.c)。再单击 OKo运行程序:点击感叹号,或按Ctrl+F5键,再按OK 按钮,程序就会运行。输出(14分50秒)pri

11、ntf的作用是按格式在显示器上显 7K字符。(18分53秒)程序1printf的使用printf函数双引号中包括三种字符:(1)以开头的格式控制字符(2)以、开头的转义字符(3)普通字符输入(28分18秒)scanf的作用是按格式从键盘接收字 符。(28分44秒)程序2 scanf的使用(31分37秒)使用scanf时,变量前的&号非常第4页重要,这是它与printf的个明显区别。(33分32秒)执行到scanf时,程序会停在那里 不动等待键盘输入,待用户按下回车后,程序会 继续往下执行,而printf不会。(35分25秒)程序3计算两数之和(38分05秒)在程序3中,scanf在不修改代码

12、的前提下,就可以实现许多数学运算。(38分34秒)程序4分别输入两个整数给两个整型变量a,b,交换a与b 的值,再输出(45分30秒)等号的作用是将右边的数值装进 左边的变量。Xa=b执行以后,b的值并不会消失,它们是复制 的关系。(49分48秒)继续程序4排查错误小经验(52分10秒)总结d和n作业由用户输入个梯型中上底,下底,高的数值,由 电脑算出它的面积,输出在屏幕上。(注意:数学 计算一般使用浮点型数据)第3章选择结构关系运算符(00分15秒)小于大于等于=小于等于=不等于!=逻辑运算符(02分03秒)非:!与:&或:II(04分01秒)题目讲解:假设 x=l,y=2,xl=3,yl=

13、4,那么 xy|xly)&xl f低(16分20秒)算术运算:、/高于+、 关系运算: 、=、2、所有的单目运算符比如+、+(正)、(负)、 (位反)、指针运算、&、!3、这个余是指取余运算即4、移位运算符: ,关系: =b) & (xy)可化简为 ab&xy(a= =b) | (x= =y)可化简为 a= =b | x= =y(!a) | (ab)可化简为!a | abif语句(26分35秒)格式:if(表达式)若干语句(27分07秒)程序1用户输入2个数,按从大到小的顺序将它输出(35分08秒)变化:格式:if(表达式)一条语句;注意:if(ab)a+;b+;相当于if(ab)a+;)b+

14、;而不是if(ab) a+;b+;(37分56秒)变化二(二选): 格式:if(表达式)(若干语句else(若干语句)(38分48秒)变化三:格式:if(表达式)一条语句;else 一条语句;(39分08秒)程序2用户输入2个数,按从大到小的顺序将它输出的第 二种解法单目运算符和双目运算符(44分15秒)目前学过的运算符中,+、!都 为单目运算符。其实减号运算符也可作单目运算 符,它加在表达式(表达式可包括常量、变量)左 边,表示取它的相反数。双目运算符的两边必须都要有表达式(45分11秒)程序3输入个整数,打印出它是奇数还是偶数(学习 的使用)程序调试技巧(51分25秒)程序调试:F9:设置

15、断点F5:运行至断点F10:单步执行F11:单步执行至函数内部(60分25秒)在VC中书写程序时如果不小心拼 错了某个关键字或漏了什么标点标号等等,这叫语 法错误。这时按感叹号时在编辑器的下面会报错, 查找错误的方式就是在报错栏中找到带error的行,第6页问题二再双击它,代码栏就会出现个蓝色箭头指向错误 行,再在错误行的附近查找语法错误并修正它。作业上机改错题:输入两个数,求出它们之中最小的数 输出#include stdio.hmain()int a,b;/* * * fou nd * */scanf(d%d”,&a,&b);if(ab)|/* * * fou nd * */ printf

16、(最小的数为d,a);)else(printf(最小的数为d”,b);)第4章流程图解题思路(算法)(01分20秒)问题:将变量a与b中的值互换解题思路:1、设个临时变量c2、将a的值赋给c3、将b的值赋给a4、将c的值赋给b(02分57秒)问题:计算1+2+3+4+5的和。解题思路:1、计算1+2的和等于32、计算3+3的和等于63、计算6+4的和等于!04、计算10+5的和等于!5顺序结构流程图(04分45秒)讲解流程图学习流程图得先学会看,再尝试跟书上画的模 样,最后自己画。(08分22秒)程序1内附带debug窗口无意关闭 如何处理程序1计算1+2+3+4+5的和选择结构流程图(15分

17、19秒)问题:判断一个数能否同时被3和 5整除(18分38秒)不一定一个图框要对应一行代码, 也可以直接写文字思路。画图时尽量不要交叉流程图为了美观,有时图框可以画成并排的,而 程序不可能并排执行,在流程图转化为程序时要注 意这点。(见PPT演示)(21分32秒)(PPT演示)流程图上下排列(23分41秒)(PPT演示)画流程图的顺序(25分50秒)程序2判断个数能否同时被3和5整除作业画流程图并写程序:输入一个学生的成绩,判断该 成绩在60分以上就显示“及格”,否则显示“不 及格”。第5章循环结构(一)需求:用计算机计算从1加到10的和前面先讲了程序1(12分57秒)一种笨方法:解题思路:1

18、、定义2个变量:计数器,总和,并初始化为2、计数器加1(1)3、总和=总和+计数器4、计数器加1 (2)5、总和=总和+计数器6、7、计数器加1 (10)8、总和=总和+计数器9,输出总和55(01分53秒)程序1计算 1+2+3+9+10(14分21秒)累加器一般初始化为0,请同学 们想想累乘器可否初始化为0?goto语句(15分26秒)格式:goto标号;标号格式:标识符:语句;规律:goto语句通常配合if语句使用,否则容易构 成死循环(15分55秒)程序2计算 1+2+3+9+10 的 goto 解法(29分05秒)讲解流程图while语句(34分55秒)格式:while(条件表达式)

19、(若干语句 )(35分20秒)程序3计算 1+2+3+-+99+10 的 while 解法(44分16秒)讲解流程图(47分35秒)错误讲解:printf放在循环体内和外的差别do while 语句(52分35秒)格式:do(若干语句 while(条件表达式);(53分39秒)程序4打印出到2010年之间所有的闰年注意:(69分10秒)所有的循环语句都是条件满足 执行循环体(70分19秒)Xdo while语句至少会执行一次循 环体,while则有可能一次都不执行。作业1、写出计算1+2+3+99+100的do while解法。2、求 !0!第6章循环结构(二)死循环(00分55秒)插入/和/

20、*/两种注释符的区别。(29分40秒)这里用了倒序讲解,所以在29分钟 开始讲死循环的内容软死机:CPU占用100%, 双核占50%,机器明显变慢。出现软死机其实就是 死循环。如while(l);就是个死循环语句,请不要用 在歪门邪道处。硬死机:鼠标、键盘、显示器无响应。大部分的死循环是忘记改变循环变量的值造成 的。进化(03分00秒)程序1将1到10显示在屏幕上(03分01秒)(1)使用goto语句(09分15秒)(2)使用while语句(14分48秒)(3)使用for语句(20分35秒)规律:for循环一般用在循环次数确 定的循环中,而while 一般用在循环次数不确定的 循环中。for语

21、句(22分35秒)规律:将while的初始化、递增都 组装成一条语句,就成了 for格式:for(循环变量赋初值;条件表达式;循环变量增值)(若干语句)for循环执行流程(22 分 53 秒)for(n=0;n100;n+)(循环体)相当于n=0;while(n100)(循环体n+;continue 和 break 语句(37分46秒)continue可结束本次循环,但不跳 出循环,break语句可直接跳出本层循环。(38分12秒)程序2用continue求1至100的偶数之和(50分20秒)讲解流程图(50分10秒)题目讲解:判断一个数n是否为素数(56分50秒)先讲标记法程序(63分37秒

22、)正式讲解素数判定程序解题思路:(脑中所想)(55分28秒)假设这个数是n(要判断n是否素 数,必须用n除以2到n-1,有任意个除断即不 是素数,全部除不断就是素数。(62分23秒)2到n-1可以用个for循环解决, 在for循环中如果n除以任意个数除断,就要立 刻跳出循环。(62分47秒)在循环中要使用一个变量作为标志, 如果是用break跳出循环的,就将这个标志置0, 如果是自然退出循环的,标志就置1当循环结束 后,查看标志为0就输出“不是素数”,为1就输 出“是素数(72分50秒)写在纸上的草稿: 定义i,n,j三个变量输入nj置1 (默认是素数)循环i=2到n-1如果n+i可以除断把标

23、志位j置0 跳出循环判断j的值如果是0就输出“不是素数”如果是1就输出“是素数”。(63分37秒)程序3素数判定(74分12秒)规律:一般循环中的break或continue语句都使用if语句 判断后执行。for循环的变化(74分35秒)for语句中两个分号之间可以没有表 达式,比如:for(;i100;i+). 是种常用写法。如果写成for(;);就成了死循环。这表示,for循环中的所有表达式,它可以根据实际 需要进行增减,有些人就喜欢放在循环体中判断循 环条件,再用break来跳出循环。作业型+理、求 =1女=1女=1 K2、画出素数判定的流程图。第7章函数库函数(02分40秒)我们平时使

24、用的printf和scanf都是 库函数,除此之外还有常用的求平方根函数sqrt, 做游戏用的rand等等也是库函数。使用库函数时要 使用#include宏命令来包含有库函数的文件。(04分17秒)程序1求2的平方根(09分20秒)“随机”表示没有规律,随机函数就第10页double fun(double m,double n)r4 A若干语句return m;main。/复制uble q:dl;d2;d=fun(dl,d2)/将实参复制到形参/表示一种没有规律的函数,这种函数可以模拟很多 现实的事务,比如洗扑克牌,摸奖,很多MP3播 放器的随机播放模式等等。要在C语言中使用随机函数,需要调用

25、srand和rand 这两个函数。srand是随机种子,rand表示在。32767 之间产生一个随机整数。程序2(10分42秒)先讲解随机函数程序rand(23分26秒)讲解正式程序猜硬币函数的作用(32分32秒)1、减少重复代码的编写。2、将一个大项目按功能分解成函数,让多个程序 员分别设计。也就是分工合作,增加效率。自定义函数(35分14秒)程序3简单的自定义函数带自定义函数时需使用F11调试(44分34秒)自定义函数的格式:返回值的类型函数名(类型名形式参数1.类型 名形式参数2,)若干语句return表达式;)(52分28秒)程序4100600350+ Z+求“=500=300 的和注

26、意:(62分43秒)函数形参的定义与普通变量定义 不同的是:同时定义2个普通变量可以用int a,b; 而函数形参只能用int a,int b(63分41秒)父函数在调用子函数后,会在调 用点等待子函数返回,子函数永远不返回,父函数 就永远不会往下执行。(65分28秒)不能调用main函数函数声明(66分20秒)如果子函数在父函数之后定义, 就要对子函数先进行“声明”,否则父函数会认不 到子函数。函数声明的格式就是自定义函数的首部加上分 号。(70分04秒)如果函数返回值为整型,不需要 声明也可编译通过,但是不提倡使用这种方式。数据传递(71分28秒)父函数调用子函数时,通过“实 际参数”将数

27、据传给子函数的“形式参数”。父函数将数据传给子函数加工时,子函数不会改 变父函数中的数据,它加工的只是实际参数的副 本。(72分57秒)子函数通过return将加工好的数 据传回父函数,这时子函数中所有的数据寿终正 寝。(75分25秒)父子函数中如果有变量重名,这两个变量之间不会互相影响fun函数m的内存区h的内存区(f.I.I I;复制; 复制main函数:ii的内存区:I id2的内存区,;(75分42秒)程序5父子函数变量重名示例函数返回值(80分07秒)格式: return表达式;或return (表达式);表达式最后的运算结果要与函数定义时的类型 相同。如上面的代码,fun定义为do

28、uble类型,return m中的m也必须是double类型。每个函数只能通过return返回一个值。(82分!5秒)如果函数头部没有返回类型标识, 默认返回类型为int函数中无论有多少个return,只有一个return会 执行,return 一旦执行,函数马上就会跳出,后面 的代码不再执行。(84分30秒)无返回值的函数:无返回值的函数,类型定义为void。函数体中若 没有return语句,或是有单独个return;后面不带 表达式,均符合void函数的条件。这时的return功 能有点类似break语句。(86分43秒)无返回值函数也称“功能函数”, 主函数不需要它返回什么结果,只需要它

29、做完某件 事。(86分52秒)程序6无返回值的函数总结(91分04秒)函数的定义、声明、调用、形式参 数、实际参数。作业不要看例题,独立完成程序4的代码。第8章数组维数组(03分05秒)数组的作用:如果你有一组类似的数据,个个起名字麻烦也没 意义,用个数组保存它们,用起来省事又方便。(04分27秒)定义:类型名数组名常量表达式;如:int a8;它定义了一个有8个元素的数组,下标从0-7(07 分 38 秒)初始化:inta8=0,l,2,3,4,5,6,7;8个元素分别初始化成。,1,2,345,6,7也可以:inta8=3;它只把a初始化成3,后面的al倒a7系统默认 初始化为(10分56

30、秒)程序1求任意5个数中的最大数(27分42秒)一般在数组前面有类型说明符的, 如double a5就是“定义”数组。反之,前面没有 类型说明符的,如n=a5、a5=n就是使用数组。 定义数组时,方括号里只允许使用常量,不允许出 现变量。如:int n=5;int an;这是非法的数组定义。(31分52秒)数组在使用时就不允许使用a8=0 这样的方式来给数组赋值,只有使用循环来给数组 元素一个个地赋值。(34分09秒)定义数组时,方括号中可以是空的, 如:int a= 1,2,3);这时电脑会自动计算出a数组有3个元素,会把这 行代码翻译成int凯3=1,2,3;再执行。这种数组一定要用花括号

31、初始化,比如int a;这是非法的定义。(35分38秒)程序2将数组中的值按逆序重新存放。例如,原来顺序为 5、8、9、4、6,调整以后为 6、4、9、8、5。(50分25秒)数据调换不了的奇怪错误作业技巧:一旦有循环的题目,一定要在纸上打草稿 1、求某数列的前40个数:1,1,2,3,5,8,13,21第9章字符字符常量(。分。秒)”和9都是字符常量 注意:和9有很大区别单引号的空格口也是个字符常量,但不能写 成连续两个单引号字符变量(。2分。5秒)chare;/定义个字符变量/(03分!1秒)字符变量在内存中占个字节, 它只能存放ASCII (美国信息交换标准代码)码。 标准的ASCH码只

32、有127个字符(见附录1),电 子设备统了标准,各种电报机,打印机,电脑就 可参照标准大规模生产,还可以通过ASCII码交换 数据。(11分44秒)我们在用键盘输入数据时,电脑 会从ASCI!对照表中读取相应的ASCI!码装入内 存,而不是真实的字符。同理,想要显示信息在屏 幕上时,也要使用参照表将ASCII码转换成字符, 再显示在屏幕上。(66分20秒)大家看到,在ASCII码表中,每 个字符都有序号,要记住我们常用的字符对应的序 号也不难,方法如下:9对应的整数为48-57伏Z对应的整数为65-90匕-z对应的整数为97-122大写字母与小写字母的差值为32,于是得出小写 字母减32的值刚

33、好是对应的大写字母。字符类型的输入输出(18 分 04 秒)printf 和 scanf格式控制符为c如:char c;scanf(tt%c,&c);printf(c”,c);(21 分 22 秒)putchar 和 getchar如:char c;c=getchar();putchar(c);无论是字符还是字符串常量,引号在屏幕上输入 输出都不会显示。在编程时一定要加上,以区分其 它类型的常量。字符运算(25分08秒)语言规定,所有的字符运算都 是转成ASCH码的整数运算。如:B-A相当于 66-65=1*a+! 相当于 97+l=98=b9+9,相当于 57+57=114=r(30分50秒

34、)既然字符型数据和整型数据可这 么方便的转换,那么字符型数据也经常使用d输 出,用来得到字符的ASCII码序号。(32分36秒)不可以对字符串进行类似的运算, 如b-a”是错误的,字符串运算必须通过函数,将 在后面介绍(33分25秒)程序1字符运算用scanf输入字符(49分35秒)每个c只接收一个字符scanf(%c%c%c,&a,&b,&c);如果输入uvwxyz (回车)系统会自动个个地截取,使a=u, b=v, c=w(50分56秒)在字符型变量上使用列宽控制时, 第一个变量只会读取第一个字符,第二个变量会跳 跃列宽后再读取个字符scanf(%3c%3c,&c I,&c2);如果输入a

35、bcde (回车)c 1 为 a,c2 为 d(52分37秒)空格和回车都作为字符 scanf(%c%c%c,&a,&b,&c);如果输入xQyDz系统会自动使a=x, b=,c=y,最右边的两个 字符被丢弃如果输入x (回车)yza、c与前面相同,但是b会赋于个回车。也就是ASCII 码的 10o(55分48秒)题目讲解:有以下程序#include main()char cl,c2,c3,c4,c5,c6;scan f( n%c%c%c%c ,&c 1 ,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c l);putchar(c2);print

36、f(H%c%cnH,c5,c6);)程序运行后,若从键盘输入(从第1列开始)123 (回车)45678 (回车)则输出结果是A、 !267 B、 1256 C、 1278 D、 1245参考答案:D作业用电脑实践“用scanf输入字符”这小节的程序。第10章字符串字符串(00分00秒)在C语言中,没有字符串型数据, 只能用字符数组和字符指针来处理字符串。如:char ca10=0,e,T,T,o,、;或char cal 0=hello;或char ca10=,helloM;(04分36秒)都表示ca这个字符串中有10个字 符(包括、)。后面多出的元素自动补、。但是运算 中出现ca=string

37、!”;这样的赋值语句是不合法的, 后期赋值只能使用循环轮循数组元素,个个写 入。或者用字符串处理函数进行赋值。字符串的输入输出(10 分 20 秒)printf 和 scanf格式控制符为%s/*s为string的意思/与字符型数据处理不同的是,用s后面的变量 定是数组名。如:char cal 0=hello;primf(sn”,ca);(12分31秒)printf中可以在s前面加数字和正负 号:printf(M%8s,ca);系统会自动在左边补空格,输出结果为: hello加负号printf(“-8s”,ca);系统会自动在右边补空格,输出结果为:helloDDn(16分05秒)scanf在

38、s前面加数字,意义完全不 同,也不能加正负号:scanf(u%3s,ca);输入:abcde (回车)电脑会自动截取前面3个字符对ca赋值,ca的值 为“ abc”。(17 分 00 秒)puts 和 gets格式:puts(字符数组名);gets(字符数组名);如:char ca10;gets(ca);puts(ca);注意:gets可以接收空格和TAB键,scanf不可以。字符串处理函数(18分21秒)strcpy(sl,s2):复制(目标串,源串) strcat(sl,s2):连接(目标串,源串) intstrlen(s):求长度(字符串),返回长度 int strcmp(sl,s2):

39、比较(串 1,串 2),返回值0, 表示 sls2; =0,表示 sl=s2: 0 表示 sls2(24分54秒)程序1 使用字符串处理函数提示:字符串的比较实际上是比较它们的ASCII码作业用户输入若干个大写字母,将这些大写字母转换成 小写字母输出。第11章结构与联合结构的作用(02分48秒)处理大量的数据,除了使用数组 外,还有一个方法,就是使用结构。以前我们只学过int,double,char等几种类型,学 了结构以后,程序员就可以定义自己的类型。(04分10秒)从二维表格理解结构(见Excel 演示)结构类型的定义(06分50秒)定义格式:struct结构名(成员表列变量名表列;(14

40、分51秒)这里用了倒序讲解。技巧:“结构名”和“变量名表列”可省略,初学者在使 用结构时,一般可省略后面的变量名表列,以便于 理解。(07分15秒)如:struct student(char name20;/ 姓名/char sex3;/* 性别/int age;/年龄/;上面定义了一个结构student,中间是此结构的3 个成员变量。记住,它们不可以赋初值,目前只是 个躯壳。(16分10秒)那么什么时候才能给里面的成员 赋值呢?那就是定义此结构类型的变量。结构在定义时,后面的分号不可少。结构变量(20分30秒)定义格式:struct结构名变量名;如:struct student stu;此处的Stu就是个student类型的变量。和数组 样,它也可以在定义的时候初始化,但是格式有些 不同:struct student stu=“张三,男,23;(24分05秒)注意:结构变量初始化,必须根据 成员变量的类型逐个赋初值,而数组中所有的元素 都是赋同样类型的值。使用结构变量(25分43秒)结构变量不能直接引用,必须使用号 对结构中的成员变量进行操作,如: stu.age=18;/ 赋值/printf(d”,stu.age);/ 打印/成员变量像普通变量样可进行数学运算。(28分40秒)程序1学生结构联合(35

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com