欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言教案.docx

    • 资源ID:12794819       资源大小:56.51KB        全文页数:70页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言教案.docx

    1、C语言教案C语言教案第一章 导论 一、 对学习程序设计语言的一些说明程序、程序设计、程序设计语言程序设计语言的分类、作用当前实用的程序设计语言C语言的特点二、 C语言基础 字符集:大、小写字母,数字,特殊字符,不可打印字符 标识符:标识符是用来标识常量、变量、类型、函数及程序的名字。 标识符的组成规则:以字母或下划线开头的字母、数字串。 特殊标识符:关键字如int, char, do, if,_ax, pascal, include等(见P6) 特殊标识符不能用作自定义标识符。 C语言的程序结构:由一个或多个函数构成,有且仅有一个名为main的主函数,程序的执行是从主函数开始的。函数由函数头和

    2、函数体两部分组成,函数头包括函数类型说明、函数名、函数标志和参数等;函数体由语句组成并用花括号()括起。如程序:#include main() int w,x=30,y=60; int z=10; printf(“nEnter a int_num:”); scanf(“%d”,&w); z=max(x,y); w=max(z,w); printf(max=%dn,w);int max(int a,int b)if (ab) return(a); else return(b); 对照此程序说明C语言的程序结构。 C语言程序上机操作步骤(Turbo C VER2.0)建立源程序,编译与连接,运行(

    3、解释方式与编译方式的区别在哪?)可用TCC进行编译。TC的集成开发环境: 启动 (Options项中工作目录的设置) 输入上面给出的示例源程序,指定文件名保存 ALT+R让编译、连接、运行一次过 ALT+F5查看运行结果 说明程序中第一行的功能、执行过程 C语言的书写格式说明:一般语句以“;”号结束,一行内可写多个语句,也可把一个语句分成几行来写,关键字都使用小写字母。 程序出错的修改处理:语法错误去掉if 语句中间的分号试试看; 逻辑错误去掉scanf语句中w前的&看看。 一个程序验证完成后怎样开始新的程序 常用菜单项说明。第二章 基本数据类型及表达式一、 基本数据类型每一个数据在使用前必须

    4、给出其数据类型,数据类型分基本类型和扩展类型。基本类型有:整型(int) 字符型(char) 实型(又分单精度型float,双精度型double) 无值型(void)其中char和int类型双可用signed、unsigned、long、short来修饰。(各种类型的存储和取值参见P13表2-3) 扩展类型如数组类型、结构类型、指针类型等。二、 常量及变量1 常量 整型常量十进制: 如25,0,-38八进制: 如025,-038(以0开头)十六进制: 如0x25,0X1f(以0X或0x开头)注在整型常量后加l或L表示long int类型,如25L。 实型常量(浮点型常量)有小数和指数两种表示形

    5、式。如:-1.23, 1234.567, 2.5E3, 2E+4, 2.3E-2. 但下列表示是不合法的: E3, 2.5E, 4.3E2.5 字符型用单引号引起的单个字符或转义序列。如:A , 5, 012(回车动作) 字符串常量用双引号引起的字符序列或转义序列。如:”Computer”C语言编译程序在存储字符串常量时,自动在结尾处加空操作字符0作为字符串结束标记。因此sizeof(“Computer”)测试结果字符串长度为9。2 变量变量用一般标识符来命名(不区分大小写)。使用变量前必须事先说明并指明数据类型,也可以给变量赋初值。变量说明的一般格式为: ; 类型说明符是上面说过的数据类型,

    6、如int, char等。 例如: int a1, b1, c1; long ww=5825125, vv; float x, y=123.45, z=18; double d; char _c1=A, _c2=0; 【说明】整型与字符数据之间可以相互赋值。给字符型变量赋值时要注意数值的大小,赋值超过255时将输出一个不认识的图形字符。 整型与实型数据之间可以相互赋值。 如在上面的变量说明后,可以进行如下赋值: _c2=48; a1=_c1; d=128; b1=y;3 转义序列以“”开头,后跟一个规定字符。如n表示输出换行。也可以是形如ddd(八进制)或xhh(十六进制)的表示方式。如012。

    7、三、 运算符1 赋值运算符赋值语句又称赋值表达式,格式为:= 如: a=a+b; b=a+b/c; 运算结果的类型按预先说明的变量类型进行转换。二目运算符与赋值运算符一起构成得合运算符。如A+=B,相当于A=A+B;A/=B相当于A=A/B。2 算术运算符有+,-,*,/,%(取余);*,/,%的优先级高于+,-运算,同一优先级自左向右处理。可用圆括号改变运算顺序。如: X+Y*Z (X+Y)*Z3 关系运算符有六种:, , =, =, !=优先级:=和!=的优先级低于前四种; 关系运算符的优先级低于算术运算符,高于赋值运算符。 如: A+BC+D结果只有两种:真(1)、假(0)。4 逻辑运算

    8、符优先级从高到低有:!, &, |前述四种运算符的优先级从高到低的顺序为: !*,/,%+,-,=,=,!=&,|赋值符(=)5 Sizeof运算符(应该叫函数)得到操作数所占存储空间的字节数。如: sizeof(int); /*结果为2*/ sizeof(5+6.3) /*结果为8,所有实数按double处理*/6 自增减运算符+操作数/-操作数 /*操作数使用前先自动加(减)1*/操作数+/操作数- /*操作数使用前后再自动加(减)1*/自增减运算只能用于变量,不能用于常量和表达式。-I+相当于-(I+)。7 地址和地址运算符C语言具有低级语言的功能,提供对计算机存储单元地址的访问。有地址

    9、运算符&和*,若a为变量名,则:&a表示取变量a存储的首地址;a称间址运算,说明变量a是一个指针变量。指针变量的值是另一个变量的地址(用*a可访问另一变量的值)。8 其他运算符条件运算符“?:”如result=ab?a+b:a-b;园括号和方括号操作符园括号改变优先级别,方括号用于标识数组元素的下标。点.与箭头操作符用于结构和联合类型。逗号,操作符用于连接几个表达式。假设y=10,则x=(y-=5,25/y)相当于y=y-5;x=25/y;四、 表达式由操作数和运算符按一定顺序连接起来的式子。如: a+b/2 !(a=200)注意表达式的运算结果的类型。例:若有以下定义: char a; in

    10、t b; float c; double d; 则表达式a*b+d-c值的类型为double。表达式中可以利用强制类型转换运算将一个表达式转换成所需类型,但不影响原变量的类型。如(int)a+(int)(x+y).第三章 程序控制语句一、 程序的三种基本控制结构顺序结构按语句书写的自然顺序执行分支结构根据判断条件的真(1)与假(0)执行不同的语句序列循环结构在一定条件下多次重复执行某一相同的语句序列(控制结构的框图表示,框图形状的说明) 程序设计规范 限制使用goto语句、设计风格(从属关系低格书写,注释,易读)、模块程序 设计方法。二、 简单及其程序设计1赋值语句C语言中有赋值表达式,又有赋

    11、值语句。如赋值语句: a=b=c+d;这在很多高级语言(如FoxBASE)中是错误的语句,但在C语言中是正确的,相当于a=(b=c+d); 可把右边的等号看成是赋值运算符,左边的等号看成赋值符号。从C语言的赋值运算从右向左结合的规则看也应是这样的。 2函数调用语句 C语言程序是由一个一个函数组成的,函数间互相调用形成完整的系统。函数有两种:标准库函数和用户编写的函数(如第一章例中的max函数)。这里介绍的是几个标准输入输出函数,使用这些函数时应在源程序中加入程序行: #include 函数调用语句的一般格式为:(); 注意在不同函数中的使用格式,并对照各函数加以说明 (1)putchar()

    12、函数输出单个字符 例:#include main() char a=2; putchar(a); putchar(5); putchar(n); 输出结果为:25 (2)printf()函数格式输出函数 调用格式为:printf(,); 其中是用双引号括起来的字符串,可用“%”加规定的控制字符组成输出格式(如%d,%c,%f,%s),其他字符原样输出;中是要输出的数据或表达式,参数个数必须与中说明的控制字符个数相同,且按顺序一一对应。 C语言规定的控制字符有%c,%d,%e,%f,%g,%o,%s,%u,%x,%, 另有附加格式字符l,m,n,-。各控制字符的格式控制说明见P34表3-1、表3

    13、-2。 (举例说明各种控制字符控制的输出格式) 例: . (3)getchar()函数从键盘输入单个字符 无参数,只接收一个字符,可以赋给字符或整型变量,也可作为表达式使用。 程序运行时为了看清结果可用此函数实现暂停。 例: #include main() int a,b,c; a=5;b=3; c=a+b; printf(“%d+%d=%dn”,a,b,c); c=getchar(); /*若输入多个字符,只接收第一个字符。回车也作为一个字符*/ (4)scanf()函数格式输入函数 调用格式为: scanf(,); 其中中的控制字符与printf()相似(见P39表3-3、表3-4);中的

    14、参数一般是变量的地址,不能是变量名,参数表中地址变量必须与格式控制字符一一对应。 例: #include main() float a,b,c; printf(“Enter 3 Number=”); scanf(“%f%f%f”,&a,&b,&c); /*变量中前加“&”表示取变量的地址,数组除外*/ printf(“%f,%f,%f,%fn”,a,b,c,(a+b+c)/2); 程序运行时若输入数据为: 5 8 2 输出结果为: 5.000000,8.000000,2.000000,7.500000 若输入数据为: 5,8,2 结果为: 5.000000,0.000000,0.000000,

    15、2.500000 若输入数据为: 5 8 2 结果为: 5.000000,8.000000,2.000000,7.500000 改scanf()函数控制格式为: scanf(“%f,%f,%f”,&a,&b,&c)再试试看,结果如何? 【注】格式控制中的空白字符(或无任何字符),在输入数据时可用空格、制表符和换行符;若在控制字符间有非空白字符,则在输入时,数据项间一定要加上与之相同的字符。输入数据时不能规定精度,但可指定输入数据所占列数。“*”号紧随%之后,表示跳过与之相应的数据。在输入数据时,遇下列情况时认为输入已结束:空格、宽度结束、非法输入。4 空语句只有一个分号(;)5 复合语句用花括

    16、号()括起来的一组语句。用于条件语句和循环语句的循环体。 三、 条件语句及其程序设计 1条件有关系表达式和逻辑表达式两种,表达式的结果不是真(1)就是假(0)。(六种关系运算符,三种逻辑运符,可以与其他运算符、表达式混合使用)所有非零值均视为真。注意条件的构成形式,如(a&b)+5,!a+5将永过为真,不是你想要的,且不会提示语法错误。 2if语句格式: if () ; else ;用框图表示,看执行方法。说明:一定要用园括号括起; 语句1、语句2可以是简单语句,也可以是复合语句或空语句; else部分用方括号括起表示可选; else之前要有分号(;)或“”号; 所有关键字一律用小写。例:从键

    17、盘输入一个整数,判断它的正负(不考虑0)。main()int x;printf(“Enter a integer=”);scanf(“%d”,&x);if (x0) printf(“x=%d,0n”,x);else printf(“x=%d,”,x); printf(“x0) printf(“x=%d,0n”,x);else if (x0) printf(“x=%d,”,x); printf(“x0n”);在if语句的嵌套结构中要注意if与else的配对关系:else总是与上面最近的if配对,但可使用复合语句格式改变这种配对关系。如: if (条件1) if (条件2) 语句1; else 语

    18、句2;比较:if (条件1) if (条件2) 语句1; else 语句2;4.开关语句switch是多路分支语句,可以替代有规律的if语句嵌套结构。格式为: switch () case : case : . case : default : 说明:switch后的表达式结果只能是整型或字符型(有序类型); 执行时依次判别常量值是否等于表达式的值,当某一常量值等于表达式值时,执行该常量后的语句;后面的所有语句将自动执行而不再判断,因此每个case分支的末尾应加上break语句以跳出switch语句; 若所有常量值均不等于表达式的值,则执行default后的语句而结束switch结构; 每个c

    19、ase后常量的值应互不相同; case的书写顺序不影响程序的执行; 多个case可共用一组语句(见P46例3-20)例:main()int a;scanf(“%d”,&a);switch (a)case 1:printf(“1”); case 1:printf(“2”); case 1:printf(“3”); case 1:printf(“4”); default:printf(“error.n”); 程序运行时,若输入2,则输出为:234error.可在每一printf函数后加一个break语句。这种语句常可用于编写象FoxBASE一样的菜单程序。四、 循环语句及其程序设计C语言中提供了三

    20、种循环语句:for、 while、 dowhile 1while语句格式: while () /*循环体*/ 先对进行判断,为真(非0)时执行循环体。若一开始就为假,则循环体一次也不执行。例:从键盘输入一组整数,统计正整数个数并求它们的和(输入0时结束)。#include main()int x,n=0;long s=0;scanf(“%d”,&x);while (x0) if (x0) s=s+x; n=n+1; scanf(“%d”,&x); printf(“n=%d,s=%dn”,n,s);说明:while语句一般用于循环次数未知的情况;中使用的变量要先赋初值,且使其值在每次循环中不断变

    21、化,以免造成死循环;防止将中的“=”误写成“=”而造成死循环(这在任何中都应注意)。2dowhile语句格式: do /*循环体*/ while ()与while语句相似,只是先执行循环体,后判断条件,为假时结束。 循环体至少执行一次。问:用dowhile语句如何改写上例程序?例:输入一个正整数,判断该数是否为素数。#include main()int x,i=1,f=0;scanf(“%d”,&x);do i+; if (x%i=0) f=1; while (i=x/2);if (f) printf(“Non”); else printf(“Yesn”);例:求两个数的最大公约数和最小公倍数

    22、。 #include main() int x,y,i,flag; printf(“Enter 2 integer:”); scanf(“%d%d”,&x,&y); i=x; flag=0; if (xy) i=y; do if (x%i=0&y%i=0) flag=1; else i-; while (!flag); printf(“%d %dn”,i,x*y/i); 3for语句for语句一般用于循环次数已知的情况。格式为: for (;) 这里,是给循环控制变量赋初值;是用循环控制变量的值与终值进行比较;是修改循环控制变量的值(增加或减少步长)。如: for (i=1; i=100;i+

    23、) sum=sum+i; /*sum=1+2+3+99+100*/说明:for语句可以用while语句来实现,等价于 ; while () ; ; for 语句中各表达式可以省略,形如: for (;) ;将是一个死循环,要想结束循环,可通过其它手段完成(如用break)。例:用for 语句编写程序,判断一个正整数是否是素数。 (程序略) 例:输入20个数,按每行5个数输出,并求最大数和最小数。 4break语句和continue语句这两个语句都不带任何参数。break用于跳出switch和循环结构;continue 用于结束本次循环,重新开始下一次循环。在其它地方不能使用它们。五、 goto

    24、语句及标号C语言虽然提供了goto语句,但应尽量不用,它会影响程序质量。goto语句的一般格式为:goto ; /*标号只能是标识符*/标号用来标识某语句的位置,格式为: :;说明:goto语句只能在所在函数内进行跳转,且标号唯一; goto语句可与if语句一起构成循环结构; gogo语句可用来从循环体内跳到循环体外,但不能从循环体外跳到循环体内。六、 多重循环及举例循环体内又包含另一循环称多重循环(循环不能交叉)。结构说明:.例1:输出1-100间的所有素数。#include main()int x,i,f,n=0;for (x=2;x=100;x+) f=0; i=1; /*对每个x都假定

    25、它是素数f=0,注意语句的位置*/ do /*内循环判断x是否为素数*/ i+; /*这样的内循环会少输出一个素2,应改用while语句,怎么改?*/ if (x%i=0) f=1; while (i=x/2); if (!f) printf(“%5d”,x); n+; /*按5位字符宽度输出一个素数*/ if (n%5=0) printf(“n”); /*实现每行输出5个数*/ 例2:打印如下数字图形。 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 .程序如下:#include mainint i,j,n=8;for (i=1;i=n;i+) for (j=1;j=n+1-

    26、i;j+) printf(“ “); /*打印每行左边的空格*/ for (j=1;j=1,j-) printf(“%2d”,j); /*打印后半行*/ printf(“n”); /*换行*/ getchar(); /*暂停*/问:如何实现一个循环控制输出一整行?用for (j=-i+1;j=i-1;j+) if .阅读下列程序或程序段, 写出运行结果或回答问题: 1. main() int x,i; for (i=1;i=50;i+) x=i; if (+x%2=0) if (x%3=0) if (x%7=0) printf(%d,i); /* 28/27/42/41 */ 2. 假设a和b为int型变量, 则执行以下语句后b的值为? a=1; b=10; do b-=a; a+; while (b-3;j-) if (j%3) j-; -j; -j; printf(%d,j); /* 6 3/7 4/6 2/7 3 */ 4. main() int i,j; for (j=10;j11;j+


    注意事项

    本文(C语言教案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开