您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > C 语言程序设计教案(清华)
第1章C语言概述学习内容1.1C语言出现的历史背景1.2C语言的特点1.3简单的C语言程序介绍1.4运行C程序的步骤与方法目的要求:掌握C语言格式特点熟悉C语言的编辑环境重点难点:C语言格式特点TC编辑器的运行、操作重点难点详解:【例1.3】通过调用子函数求两个数的和。main()/*主函数*/{inta,b,sum;/*定义变量*/a=3;b=4;/*变量赋值*/sum=add(a,b);/*调用add函数*/printf(sum=a+b=%d.\n,sum);}intadd(intx,inty){intz;z=x+y;return(z);/*将z的值返回*/}C程序的组成规则:1、C程序是由函数构成的。C语言是函数的语言,一个程序是由一个或多个函数构成的。2、一个函数有两部分组成:(1)函数的首部(函数的第一行)。(2)函数体即函数首部下面的大括弧内的部分。(3)一个C程序总是从main主函数开始执行。无论位置如何。(4)每个语句和数据定义的最后必须有一个分号“;”。(5)C语言本身没有输入/输出语句,是库函数scanf和printf等函数来完成的。(6)用/**/作注释,以用于增加可读性。TC编辑器的运行、操作1.编辑源文件——2.源文件的编译——3.目标程序的连接——4.执行程序——查看结果操作步骤Alt+F9Ctr+F9Alt+F5第二章程序的灵魂—————算法学习内容2.1算法的概念2.2简单算法举例2.3算法的特征2.4算法的表示方法2.5结构化程序设计方法目的要求:掌握算法的各种表示方法熟悉N-S流程图重点难点:N-S流程图重点难点详解:用N-S流程图描述算法传统的流程图用流程线和流程元素表示各个处理的执行顺序,但对流程线的使用没有严格的规定,因此,使用者可以不受限制地使流程转来转去,这样的流程图使人难以理解算法的逻辑。为了解决这个问题,规定了算法的三种基本结构:顺序结构、分支结构和循环结构。用这些基本结构按一定的规律组成一个算法,这样的算法称为结构化算法。按照结构化算法编写的程序称为结构化程序。为了设计结构化算法,1973年,美国学者I.Nassi和B.Shneiderman提出提出一种新的流程图,称为N-S流程图。N-S流程图基本符号例如例2.3.1节的计算1+2+3+…+1000的算法用N-S流程图计算1+2+3+…+1000算法的N-S图操作A操作B顺序结构操作A操作B成立不成立条件p分支结构操作A当条件p成立操作A直到条件p成立当型循环直到型循环循环结构0=>s1=>is+i=>si+1=>i直到i>1000输出s第三章数据类型、运算符与表达式学习内容3.1C语言的数据结构3.2常量与变量3.3整数类型3.4浮点型数据3.5字符型数据3.6变量赋初值3.7各类数值型数据间的混合运算3.8算术运算符和算术表达式3.9赋值运算符和赋值表达式3.10逗号运算符及表达式目的要求:掌握整数类型与浮点型数据类型掌握标识符的命名规则数据的储存方式字符型数据标识符、常量、变量及初始化掌握运算符及其表达式掌握赋值运算符和赋值表达式重点难点:整数类型与浮点型数据类型标识符的命名规则复合赋值运算符运算符及其表达式重点难点详解:整型数据1.整型数据的在内存中的存放形式2.整型变量的分类1)基本整型一般为2字节2)短整型一般为2字节3)长整型一般为4字节3.整型数据的溢出如何判断整型常量的类型。①若在-32768—32767之间,可认为是普通整型int型或短整型(short型)。②若超出了-32768—32767,而在-2147483648—+2147483647之间,则认为是长整型(long型)。若认为是int类型的,系统不做检查,但数据会丢失。4.整型常量的类型(1)十进制整型常量:289、-183等。每个数位都可以是(0~9)十个代码。(2)八进制整型常量:以o开头,如(128)10=o200。(3)十六进制整型常量:以ox开头,如(128)16=ox80。如何判断整型常量的类型。①若在-32768—32767之间,可认为是普通整型int型或短整型(short型)。②若超出了-32768—32767,而在-2147483648—+2147483647之间,则认为是长整型(long型)。若认为是int类型的,系统不做检查,但数据会丢失。③若常量是无符号型(unsigned型),那么一个非负值的整数可以赋值给unsigned型变量,但要注意其范围。50000可赋给unsignedint型,70000却不可以。(无符号整型变量最大值65535.)④如一整型常量后有L或l则表示为longint型的。常用于函数的调用中。5.整型变量的定义①变量定义的一般格式[存储类型]数据类型变量名[,变量名2……];例如,intd,l,a;定义变量时指定变量的类型,在编译时好为其分配相应的存储单元。另外,还可在编译时检查该变量所做运算是否合法。一般称在定义变量的同时进行赋初值的操作为变量初始化。②变量初始化的一般格式[存储类型]数据类型变量名[=初值][,变量名2[=初值2,……]];例如,intd=2,l=6,a;浮点型数据类型1浮点型常量的表示方法(1)十进制小数形式:由整数部分、小数点和小数部分组成。(2)指数形式:由实数部分、E(e)和整数部分组成。2.浮点型数据的在内存中的存放形式3.浮点型变量的分类①单精度型:关键字float,一般占4字节(32位),提供7位有效数字。②双精度型:关键字double,一般占8个字节、提供15~16位有效数字。③长双精度型:关键字longdouble,3.实型数据的舍入误差请注意有效为数。4.浮点型常量的类型一个实型常量赋值给一个实型变量时,只根据实型变量表示的有效数字的位数,在实型常量中按从左向右的方向截取数据。Float型的变量只能保存七位有效数字,double型的变量只能保存15~16位有效数字。5.浮点型变量的定义和前面整型变量的定义的方法一样。标识符的命名规则标识符是一个字符序列,用来标识C语言程序中一个对象的名字。命名时应注意以下几点:1)标识符是一串英文字母或下划线开头的由字母、数字和下划线组成的字符串。例如:aaBCx2zy_1_An0都是合法的标识符;而3d#asd110A*C∏∑π都是非法标识符。2)C语言本身并没有要求标识符的长度,不同的C编译系统允许包含的字符个数有所不同,通常标识符的长度可识别的标识符长度常限制为8个字符。3)标识符大小字母含义不同。比如abcAbcABC代表三个不同标识符,这一点一定要牢记。复合赋值运算符合赋值运算符是由赋值运算符之前再加一个双目运算符构成的。复合赋值运算的一般格式为:变量双目运算符=表达式└──┬──┘复合赋值运算符它等价于:变量=变量双目运算符(表达式)。当表达式为简单表达式时,表达式外的一对圆括号才可缺省,否则可能出错。例如:x+=3/*等价于x=x+3*/y*=x+6/*等价于y=y*(x+6),而不是y=y*x+6*/C语言规定的10种复合赋值运算符如下:+=,-=,*=,/=,%=;/*复合算术运算符(5个)*/&=,^=,|=,=,=;/*复合位运算符(5个)*/其中后五种是位运算的运算符,在位运算那章介绍。运算符及其表达式算术运算符和算术表达式1.基本的算术表达式+加法运算符或正值运算符-减法运算符或负值运算符*乘法运算符/除法运算符TC2.0采取“向零取整”法%模运算符或称求余运算符该运算符的两边只能是整型数据。2.算术表达式和运算符的优先级与结合性左结合性、右结合性3.强制类型转换运算符除自动转换外,C语言也允许强制转换。数据类型强制转换的一般格式为:(要转换成的数据类型)(被转换的表达式)(类型)(表达式)例如:(int)(x+y)/*将x+y的结果转换成int型*/(float)5/2(等价于(float)(5)/2)/*将5转换成实型,再除以2(=2.5)*/(float)(5/2)/*将5整除2的结果(2)转换成实型(2.0)*/注意:强制转换类型得到的是一个所需类型的中间量,原表达式类型并不发生变化。例如,(double)a只是将变量a的值转换成一个double型的中间量,其数据类型并未转换成double型。4.自增、自减运算符(++、--)(1)作用自增运算使单个变量的值增1,自减运算使单个变量的值减1。(2)用法与运算规则自增、自减运算符都有两种用法。a)前置运算——运算符放在变量之前:++变量、--变量先使变量的值增(或减)1,然后再以变化后的值参与其它运算,即先增减,后运算。b)后置运算——运算符放在变量之后:变量++、变量--变量先参与其它运算,然后再使变量的值增(或减)1,即先运算,后增减。例如:k=1;k=1;演示1-9j=++k;j=k++;左边:k先变成2,j=2右边:k为1,j=1然后k为2。使用中的问题说明:(1)这两种、运算符只能用于变量,而不能用于常量或表达式。(2)++、--运算符的优先相同,但比算术运算符优先级要高。其结合性是“从右至左”的。i=3;j=-(i++);i=3;j=+(++i);printf(“%d,%d”,i,j);printf(“%d,%d”,i,j);结果是:4,-3结果是:4,4第四章顺序结构程序设计学习内容:4.1C语句概述4.2赋值语句4.3数据输入输出4.4字符数据的输入输出4.5格式输入和输出4.6顺序结构程序设计举例目的要求:掌握顺序结构程序设计方法掌握数据的输入输出重点难点:数据的输入输出重点难点详解:数据的输入输出1.printf函数(格式输出函数)printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。(1)printf函数调用的一般形式为:printf(“格式字符串”,输出表列);例如:printf(radius=%f\nlength=%7.2f,area=%7.2f\n,r,l,a);格式字符串也称格式控制字符串或格式转换字符串,其中可以包含下列三种字符:①格式指示符:由“%”和格式字符组成,例如“%f”、“%7.2f”等,这总是由“%”字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式指示符。②转义字符:这些字符通常用来控制光标的位置。③普通字符:除格式指示符和转义字符之外的其他字符,这些字符输出时原样输出,例如上面例子中的“radius=”等。(2)类型字符:%d十进制整数inta=567;printf(“%d”,a);567%o八进制无符号整数inta=65;printf(“%o”,a);101%x或X十六进制无符号整数inta=65;printf(“%x”,a);ff%u不带符号十进制整数inta=567;printf(“%u”,a);567%c单一字符chara=65;printf(“%c”,a);A%f小数形式浮点小数floata=456.789;printf(“%f”,a);456.789000%s字符串printf(“%s”,“ABC”);ABC%e或E指数形式浮点小数floata=456.789;printf(“%e”,a);4.567890e+02%g或Ge和f中较短一种floata=456.789;printf(“%g”,a);456.789说明:格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换:格式字符与输出项类型不一致,自动按指定格式输出2.scanf函数(格式输入函数)(1).scanf函数的一般形式格式:scanf(“格式控制字符串”,地址表列);功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束返值:正常,返回输入数据个数地址表列:变量的地址,常用取地址运算符&格式字符:d,i,o,x,u,c,s,f,e使用scanf()时应注意的一些问题:①scanf函数中没有精度控制,不能企图用格式控制符来规定输入数据的精度scanf(“%5
本文标题:C 语言程序设计教案(清华)
链接地址:https://www.777doc.com/doc-4005320 .html