
C语言学习大纲--郝斌(讲解).docx
163页c语言学习大纲一郝斌(讲解)C语言概述:I、为什么学习c语言1) .C的起源和发展2) .C的特点优点代码量小速度快功能强大缺点危险性高开发周期长可移植性不强3) .c的应用领域主要是系统领域4) .c的重要性2、怎样学习C语言3、学习的目标了解程序语言及发展历史熟练掌握c语言的语法规则掌握简单的算法理解面向过程的思想,这非常有助于将来对面向对象思想的学习能看懂程序会调试程序掌握将大问题转化为一系列小问题来求解的思想为学习C++、数据结构、c#>java打下良好的基础4、常见的学习问题1、学习java为什么建议先学习C语言2、没学过计算机专业的课程能够学懂C语言3、英语和数学不好能学好C吗32个关键词:(有系统定义,不能重做其他定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloat forgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunsignedunionvoidvolatilewhile5、课程规划c语言简介第一讲、基本编程知识第二讲、数据类型第三讲、运算符和表达式第四讲、流程控制(所有语言都一样的)第五讲、函数(体现出面向过程和面向对象的区别)第六讲、数组第七讲、指针(C语言的灵魂)第八讲、变量的作用域和存储方式第九讲、扩展数据类型第十讲、专题:字符串的处理进制转换补码动态内存分配(java、数据结构必学)综合应用:链表的使用5、举例子:一元二次方程# include
十六进制前要加0X或Ox,十进制前什么都不加!在汇编中:在数字后加字母B表示二进制数,加字母O表示八进制数,加字母D表示十进制,加字母H表示十六进制例:1011B为二进制数1011,也记为(1011),13570为八进制数1357,也记为(1357).2049D为十进制数2049,也记为(2049)3FB9H为十六进制数3FB9,也记为(3FB9)..什么叫n进制十进制十个基数,逢10进一基数:0123456789二进制二个基数逢二进一基数:0I八进制8个基数逢8进一基数:01234567十六进制16个基数逢16进一基数:0123456789abcdef或0123456789ABCDE十进制二进八进十六(D)制制进制(B)(O)(Ox)00001234567891011V数制对昭J、、、9、常量在c语言中如何表示的十进制:传统的写法十六进制:前面加Ox或0X,是数字0加x八进制:前面加数字0浮点数:传统写法floatx=3.2;〃传统科学计数法floatx=3.2e3;//x的值是123.45e-2; //x 的值3200floatx=是1.2345字符单个字符用单引号括起来公,表示字符A'AB,是错误的“AB”是正确的字符串用双引号括起来“A”正确,因为“A”代表了A3的组合10、常量以什么样的二进制代码存储在计算机中整数是以补码的形式转化为二进制代码存储在计算机中的实数是以IEEE754标准转化为二进制代码储存在计算机中的具体可参见末尾的穿插在课堂中的零散知识笔记字符的本质实际也是与整数的存储方式相同11、代码规范化代码的可读性更高【容易让别人和自己看懂】是程序更不容易出错林锐《高质量C/C++编程》代码要成对的敲12、什么是字节字节就是存储数据的单位,并且是硬件所能访问的最小单位1字节=8位1K=1024字节1M=1024K1G=1024M买硬盘时的换算是以1000为单位的13、不同类型的数据之间相互赋值的问题暂不考虑inti=45;longj=102345;••l=j;printf(H%d%d\nf\j);floatx=6.6;doubley=8.8;printf(''%fy);14、什么是ASCIIASCII不是一个值,而是一种规定,ASCII规定了不同的字符是使用哪个整数值去表示它规定了4-65B-66-97'b'-9815、字符的存储【字符本质上与整数的存储方式相同】基本的输入和输出函数的用法printf()--(重点讲)将变量的内容输出到显示器上四种用法Lprintf("字符串\n”)2 .printf("输出控制符”,输出参数);3 .printf("输出字符1输出字符2。
\输出参数L输出参数2,OOO);输出控制符和参数的个数必须一一对应4 .printf("输出控制符非输出控制符”,输出参数);输出控制符包含如下%d-int(十进制)%ldlongint%cchar%ffloat%Ifdouble%x(或者%X或者%#X)int或longint或short%o同上%s字符串为什么需要输出控制符1 .01组成的代码可以表示数据也可以表示指令2 .如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不同的输出结果scanf()--Java中已经没有了两种用法:用法一:scanf「输入控制符”,输入参数);功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中用法二:seanf(“非输入控制符输入控制符”,输入参数);功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中非输入控制符必须原样输入如何使用scanf编写出高质量代1 .使用scanf之前最好先使用printf提示用户以什么样的方式来输入2 .Scanf中尽量不要使用非输入控制符,尤其是不要用W3 .应该编写代码对用户的非法输入做适当的处理【非重点】while((ch=getchar())!=continue;运算符算术运算符+-*/(除)%(取余数)除法的运算结果和运算对象的数据类型有关,两个数都是int,则商就是int,若商有小数,则截取小数部分;被除数和除数中只要有一个或两个都是浮点型数据,则商也是浮点型,不截取小数部分。
如:16/5==316/5.0==3.20000-13/4 == -4-13/-3 = 43/5 = 05/3==1:经典的例题就是求s = 1 + 1/2+ 1/3 + 1/4 + 1/5+ 1/100 的值取余的运算对象必须是整数,结果是整除后。












