赫斌 C语言上课笔记

所需积分/C币:50 2015-04-21 20:55:50 5.33MB PDF
22
收藏 收藏
举报

赫斌老师,C语言视频是自学入门比较好的资料。网上他的视频和源代码比较容易下到。就是上课笔记较难寻找,这奉上。
整数是以补码的形式转化为二进制代码存储在计算机中的 实数是以IEE54标准转化为二进制代码存储在计算机中的 具体可参见末尾的穿插在课堂中的零散知识笔记—浮点数的存错所带来的问题 字符的本质实际也是与整数的存储方式相同 11.代码规范化 代码的可读性更强[容易让自己和别人更清楚的看懂程序] 使程序更不容易出错 12.什么是字节 字节就是存储数据的单位,并且是硬件所能访间的最小单位 宁节=8位 IK=1024字节 M=1024k 1G=1024M 13.不同类型数据之间相互贼值的问题 暂不考虑 int 1 =45 long j=102345; 1=J printf(gld %d\"i, j) float x =6.6 double y =8. 8 printf( %f %1f\n, x, y) 14.什么是 ASCII ASCI不是一个值,而是一种规定, ASCT规定了不同的字符是使用哪个整数值去表示 它规定 A.-65 B--66 a-97 15.字符的存储[字符本质上与整数的存储方式相同] 2>基本的输入和输出函数的用法 rinf(一将变量的内容输出到显示器上【重点】 四种用法 1. printf("字符串" 2. printf("输出控制符",输出参数); 3. printf(″输出控制符1输出控制符2。。。",输出参数1,翰出参巍2,。 输出控制符和输出参数的个数必须一一对应 4. printf("输出控制符非输出控制符,输出参数) 输出控制符包含如下 d int ld long int %c char f float %1f double %x(或者%后者%#)int或1 ng int或 short int %o 同上 %6S 符串 为什么需要输出控制符 1.01组成的代码可以表示数据也可以表示指令 2.如果01组成的代码表示的是数据的话,那么同样 的01代码组合以不同的输出格式输出就会有不 同的输出绪果 scanf【通过键盘将数据输入到变量中】 两种用法 用法一: scanf("输入控制符",输入参数) 功能:将从键盘输入的字符转化为输入控制符所规定格式的数据 ,然后存入以输入参数的值为地址的变量中 用法二: scanf("非输入控制符输入控制符",输入参数 功能:将从键盘输入的字符转化为输入控制符所规定格式的数据 ,然后存入以输入参数的值为地址的变量中 非输入控制符必须原样输入 如何使用scan编写出高质量代码 1.使用 scanf之前最好先使用 printf提示用户以什么样的 方式来输入 2.scan中尽量不要使用非输入控制符,尤其是不要用n 3.应该编写代码对用户的非法输入做适当的处理【非重点】 char ch hile ((ch=getchar o)1=,n') continue; 3>运算符 算术运算符 /(除)%(取余数 关系运算符 ≥=<<=!=(不等于)=(等于) 逻辑运算符 !(非)&段(并且)|(或) 真 假 假 真 真&真 真&假 真假 假&&真假 假&匙假 真|假 假‖真 真‖真 假真真真假 假|假 C语言对真假的处理 非零是真 零是假 真是1表示 假是0表示 &左边的表达式为假右边的表达式背定不会执行 ‖左边的表达式为真右边的表达式肯定不会执行 赋值运算符 优先级别: 算术〉关系>逻辑>赋值 附录的一些璜碎的运算符知识 自增自减三目运算符逗号表达式 4>流程控制【是我们学习C语言的第一个重点,要求所有的知识全部掌握】 1.什么是流程控制 程序代码执行的顺序 2.流程控制的分类 顺序 选择 定义 某些代码可能执行,也可能不执行,有选择的执行某些代码 分类 if 1.i最简单的用法 格式: if(表达式) 语句 功能 如果表达式为真,执行语句 如果表达式为假,语句不执行 2.if的范围问题 if(表达式) 语句A; 语句B 解释:if默认只能控制语句A的执行或不执行 if无法控制语句B的执行或不执行 或者讲:语句B一定会执行 2. if(表达式) 语句A 语句B; 此时i可以控制语句A和语句B 由此可见:if默认只能掉制一个语句的执行或不执行 如果想控制多个语句的执行或不执行 就必须把这些语句用括起来 3.if.e1se.的用法 A.i.e1seif,,else.的用法 格式: f( A 1se if (2) B else if (3) else D 5.C语言对真假的处理 非零是真 零就是假 真用1表示 假用零表示 6.if举例一求分数的等级 7.if的常见问题解析 1>.空语句的问题 if(3>2) 等价于 if(3>2) /这是一个空语句 2> if(表达式1) A e⊥se B 是正确的 if(表达式1); se B 是错误的 if(表达式1) A else if(表达式2) B else if(表达式3) C else 即便表达式1和2都成立,也只会执行A语句 if(表达式1) A: else if(表达式2) B else if(表达式3) C: 这样写语法不会出错,但逻辑上有漏洞 if(表达式1) A: else if(表达式2) B else if(表达式3) C: else(表达式4)//行 这样写是不对的,正确的写法是: 要么去掉7行的(表达式4) 要么在7行的else后面加if 6》 if(表达式1) A: else if(表达式2) B else if(表达式1) else(表达式4); 这样写语法不会出错,但逻辑上是错误的 else(表达式4); 等价于 se (表达式4 把电梯程序看懂就OK了 循环 定义: 某些代码会被重复执行 分类 for 1.格式: for(1;2;3) 语句A; 2.执行的流程【重点】 单个for循环的使用 多个for循环的嵌套使用 for(1;2;3)/1 for(4;5;6)//2 A;//3 B;//4 整体是两个语句,123是第一个语句 4是第二个语句 2 for(1;2;3) for(4;5;6) A: 整体是一个语句 for(7;8;9) for(1;2;3 A B for(4;5;6) C 整体是一个语句 3.范围问题 4.举例: 1+2+3+,,,,+100 1+1/2+1/3+..+1/100 【本程序对初学者而言很重要,具体细节可参见我录制的相关视频】 while 1.执行顺序 格式: while(表达式) 语句; 2.与for的相互比较 for和 while可以相互转换 for(1;2;3 等价于 while (2) A: whi1e和for可以相互转化 但for的逻辑性更强,更不容易出错,推荐多使用for 3.举例 从键盘输入一个数字,如果该数字是回文数, 则返回yes,否则返回no 问文数:正着写和倒着写都一样 比如:12112321都是回文数 4.什么时候使用 while,什么时候使用for 没法说,用多了自然而然就知道了 do.. while 格式 }whi1e(表达式) do. while.并不等价于for,当然也不等价于 while 主要用于人机交互 一元二次方程 break和 cont inue break break如果用于循环是用来终止循环 break如果用于 switch,则是用于终止 switch break不能直接用于if,除非if属于循环内部的一个子句 例子 for(i一0;i<3;++i) if(3>2 break;// break虽然是内部的语句, //但 break终止的确是外部的fo循环 printf("嘿嘿!n";//永远不会输出 在多层循环中, break只能终止最里面包裹它的那个循环 例子 for (i for〔j=1;j4;+j break;// break只能终止距离它最近的循环 printf("同志们好!n" 在多层 switch嵌套中, break只能终止距离它最近的 switch 例子 int x=1, y=0, a=0, b switch(x)//第一个 switch case l switch(y)//第二个 switch case 0: break;/终止的是第二个 switch case 1 b++; break b=100 break;/终止的是第个 switch case 2: break

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
赫斌 C语言上课笔记 50积分/C币 立即下载
1/0