C语言程序设计教程(电子教案).ppt
《C语言程序设计教程(电子教案).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程(电子教案).ppt(317页珍藏版)》请在咨信网上搜索。
1、C 语言程序设计教程刘新铭刘新铭 吉顺如吉顺如 辜碧容辜碧容 郑君华郑君华编著编著目 录 第第1 1章章 C C语言概述语言概述第第2 2章章 数据类型、运算符和表达式数据类型、运算符和表达式第第3 3章章 C C程序中的输入、输出程序中的输入、输出第第4 4章章 C C程序的控制结构程序的控制结构第第5 5章章 数数 组组第第6 6章章 函数函数第第7 7章章 编译预处理命令编译预处理命令第第8 8章章 指指 针针第第9 9章章 结结 构构 体体第第1010章章 文文 件件第 1 章 C语言概述学习目标 对C语言有一个概括的了解,能够编写包含键盘输入、计算和显示输出等操作的简单C程序。主要内
2、容C语言的产生与特点 简单C程序的组成C语言应用程序开发的基本步骤1.1 C语言的产生及特点 C语言是为了编写系统程序而在1968年开始研发的计算机高级语言C语言表达能力强,使用灵活,程序结构清晰,紧凑,可移植性好C语言是进一步学习面向对象的程序设计语言 C+和VC 的基础【例例1-11-1】从键盘输入三个整数,输出它们的和从键盘输入三个整数,输出它们的和 main()/*main()/*计算三个整数的和计算三个整数的和 */int x,y,z,sum;int x,y,z,sum;scanf(scanf(d,d,d,d,d,&x,&y,&z);d,&x,&y,&z);sum sumx+y+z;
3、x+y+z;printf(sum printf(sumd dn n,sum);sum);语语句句 函函数数体体 主函数名最简单的最简单的C C程序的组成程序的组成对程序的注释1.2 C语言程序的结构及书写格式 一一.C.C程序的结构程序的结构 main()int x,y,z,sum;scanf(%d,%d,%d,&x,&y,&z);sum=x+y+z;printf(sum=%dn,sum)定义变量x,y,z和sum从键盘输入三个整数赋给变量x,y和z显示变量sum的值计算x+y+z,并将结果赋给变量sum程序说明一般C程序的组成【例例1-21-2】采用模块结构,改写例采用模块结构,改写例1-1
4、1-1的程序。的程序。add(int x,int y,int z)add(int x,int y,int z)return(x+y+z);return(x+y+z);main()main()int x,y,z;int x,y,z;printf(Please Input Three Integers:n);printf(Please Input Three Integers:n);scanf(%d,%d,%d,&x,&y,&z);scanf(%d,%d,%d,&x,&y,&z);printf(sum printf(sum%dn,add(x,y,z);%dn,add(x,y,z);函数add()主
5、函数main()调用函数add()函数函数1 1主函数主函数main()main()函数函数2 2函数函数k k注意:每个C程序必定有一个、而且只能有一个主函数main()。主函数可以调用其它子函数,而子函数不可以调用主函数,子函数彼此之间也可以相互调用。C程序的组成二.C程序的书写格式1.C程序允许一行写一个或多个语句,当一个语句分几行书写时,在换行前应加上“”符,然后从下一行的开头继续。2.习惯上,书写C程序时均使用小写英文字母。3.C程序一般都采用缩进格式的书写方法,不同结构层次的语句,从不同的起始位置开始,同一结构层次中的语句,缩进同样个数的字符位置。4.应当在程序中适当地添加一些注释
6、行。1.3 C程序的编辑、调试和运行编辑源程序 生成目标程序 经编译 经连 接库 修改源程序 函数 生成exe文件 运行 运行时出错编译编译出出错错第第1 1章章 结束结束第 2 章 数据类型、运算符和表达式 学习目标1.掌握基本数据类型的概念和常量表示方法,掌握变量的定义方法,能够根据实际情况选用适当的数据类型2.熟练掌握数值表达式的构造方法,能够利用表达式完成数值计算主要内容C数据类型概述常量和变量算术运算表达式赋值表达式自增、自减表达式2.1 概 述C语言支持的数据类型基本数据类型整型单精度型主要数据类型构造数据类型指针类型实型字符型数组类型结构体类型双精度型基本数据类型说明符整型:in
7、t long字符型:char实型:float double long double2.2 常 量常量在程序运行过程中,其值不能被改 变的量。一.不同数制整型常量的表示例如:12 :十进制数 12 012:八进制数 12(等于十进制数10,用前导符0表示八进制数常量)0 x12:十六进制数 12(等于十进制数 18,用前导符0X或0 x表示十六进制数常量)二.字符常量的表示1.用用括起来的可显示字符括起来的可显示字符,如如 A A、$、3 3 等等(转义字符除外转义字符除外)2.2.用八进制数表示其用八进制数表示其ASCASC代码的字符代码的字符,如如 101101 表表示西文字符示西文字符 A
8、 A、6363 表示数字字符表示数字字符 3 3。3.3.用十六进制数表示其用十六进制数表示其ASCASC代码的字符代码的字符,如如:x41x41 表示西文字符表示西文字符A A、x2Ax2A 表示字符表示字符*。4.4.用用 表示字符表示字符 ,”表示字符表示字符”,表示字符表示字符 。5.5.用双引号括起来的字符序列表示字符串常量,其用双引号括起来的字符序列表示字符串常量,其中最后一个字符是字符串结束符中最后一个字符是字符串结束符 00,不显式,不显式地表示出来。如地表示出来。如:“EnglishEnglish”。【例2-1】常量的例子main()floatr;printf(PleaseI
9、nputRadius:n);scanf(%f,&r);printf(TheCircumferenceofCirle:%fn,2*3.1415926*r);定定义义浮点型浮点型变变量量r r人机人机对话对话,通知用,通知用户户输输入半径的入半径的值值从从键盘输键盘输入半径的入半径的值值,并将并将值赋给变值赋给变量量r r显显示示结结果果常量常量2 2常量常量3.14159263.1415926三.符号常量 可以用可以用#define#define命令定义符号常量,在程序的执命令定义符号常量,在程序的执行过程中不允许改变符号常量的值。行过程中不允许改变符号常量的值。【例2-2】说明符号常量的例子#
10、definePRICE30main()intnum,total;num=10;total=num*PRICE;printf(total=%d,total);通通过过#include#include定定义义符号常符号常量量PRICEPRICE为为3030定定义义二个整型二个整型变变量量numnum和和totaltotal使使变变量量numnum的的值为值为1010执执行运算行运算10301030并把运算的并把运算的结结果果赋赋予予变变量量totaltotal显显示示结结果果2.3 变量的定义和初始化变量:在程序运行时,其值可变的量被称为变量,分为整型变量、实型变量和字符型变量一.C语言中的标识符
11、 C语言把用户给常量、变量、函数、标号和其它对象所起的名字统称为标识符。用户定义的标识符须遵循如下规则:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线,标识符的长度不超过32个字符。同时,C语言的关键字和库函数名不能作为标识符。例如,下面的字符序列均为合法的C语言标识符:a,b,word,_file,file2,F_name,f_name注意:C编译程序字母区分大小写,所以上述F_name和 f_name是二个不同的标识符。下面的字符序列为不合法的C语言标识符:2L 违反了标识符第一个字符必须为字母 或下划线的规定。a*违反了标识符只能由字母、数字和下 划线三种字符
12、组成的规定。int 违反了C语言的关键字和库函数名不 能作为标识符的规定。二.变量分类 1.整型变量分类有符号整型说明符有符号整型说明符有符号整型说明符有符号整型说明符无符号整型说明符无符号整型说明符无符号整型说明符无符号整型说明符整整整整型型型型intintintintsignedsignedsignedsigned signed int signed int signed int signed int unsignedunsignedunsignedunsignedunsignedunsignedunsignedunsigned int int int int 长长长长整整整整型型型型lo
13、nglonglonglonglonglonglonglong intintintintsignedsignedsignedsigned longlonglonglongsignedsignedsignedsigned long int long int long int long int unsignedunsignedunsignedunsigned longlonglonglongunsignedunsignedunsignedunsigned long int long int long int long int 有符号整型有符号整型有符号整型有符号整型无符号整型无符号整型无符号整型无符
14、号整型占字节数占字节数占字节数占字节数整整整整型型型型 int int int int-32768 32767-32768 32767-32768 32767-32768 32767 unsigned unsigned unsigned unsigned 0 65535 0 65535 0 65535 0 65535 2 2 2 2字字字字节节节节长长长长整整整整型型型型 long long long long -2 -2 -2 -231313131(2(2(2(231313131-1)-1)-1)-1)unsigned unsigned unsigned unsigned longlongl
15、onglong 04,294,967,295 04,294,967,295 04,294,967,295 04,294,967,2954 4 4 4字字字字节节节节整型变量的值域2.浮点型变量的分类及其值域Long doubleLong double取值取值(绝对值(绝对值)范围范围 占字节数占字节数1010-4931-4931101049324932 单精度单精度型型双精度双精度型型1010-37-3710103838 4 4 float float double double 1010-307-3071010308308 浮点浮点型型说明符说明符8163.字符型变量及其值域说明符说明符说明
16、符说明符取值范围取值范围取值范围取值范围(字符的(字符的(字符的(字符的ASCASC码值)码值)码值)码值)占字节数占字节数占字节数占字节数 char char0 2550 255 1 1在设计程序时,应当根据数据本身的特点和变化范围正确选择变量类型。三.变量的定义和初始化 变量的定义格式:类型说明符 变量名表;intint、unsignedunsigned、longlong、floatfloat、doubledouble、charchar等等变变量名只能由字母量名只能由字母、数字和下划、数字和下划线线三种三种字符字符组组成,且第一成,且第一个字符必个字符必须为须为字母字母或下划或下划线线。例
17、如,语句:inta1,a2,age;floatx,y,z;charch;分别定义了整型变量a1,a2,age,浮点型变量x,y,z和字符型变量ch。变量的初始化:在定义变量的同时对变量预 先设置初值。例如,执行语句:intnum=20;floatpi=3.14;charc1,c2=M;变量num、pi、c2的初值分别为20、3.14和字符M。四.各类数值型数据间的混合运算 高 double float long unsigned 低 int char当各种不同类型的数据混合运算时,其运算结果的类型由上图所示的类型转换原则确定。【例2-3】设程序中定义变量:inti;floatf;doubled
18、;执行运算:i+(f*d)-(f+i)(这里的*表示乘法)下图给出了在运算过程中所发生的数据类型的转换 i+(f*d)-(f+i)double double double double double double double double double2.4 算术运算符和算术运算表达式一.算术运算符算术运算符包括:+(加)-(减)*(乘)/(除)%(求余)操作符操作符%只作用于整数只作用于整数x%yx%y的的值值就是就是 x x除以除以 y y 的余数。的余数。操作符/的两种含义:整数除法(整除)当被除数和除数都是整型数据时,“”运算的结果为整型。例如:5/2的值为2(而不是2.5)实数除法
19、 当被除数和除数中至少有一个是实数型数据时,“”运算的结果为实数型。例如:5.0/2的值为2.5二.算术运算表达式 用算术运算符和括号将运算对象连接起来、并符合C语言语法规则的式子,称为算术运算表达式或算术表达式。例如:设r、x、y是已经定义的数值型变量,则:3.14*r*r、x+2*y-3/z、(x-y)*(x-y/2)均是合法的算术运算表达式,单独的r、x、y也是合法的算术运算表达式。实际上,单独的常量或变量是最简单的算术运算表达式。注意:算术运算表达式中的分数线须用中的分数线须用 /表示表示 例如:例如:2+32+3i i k kj j 表示为表示为C C语言表达式就是:语言表达式就是:
20、(2+3*i)/(k*j)(2+3*i)/(k*j)或或 (2+3*i)/k/j(2+3*i)/k/jC程序中,称表达式的运算结果为表达式的值。C语言规定,在表达式求值时,须按运算符优先级的高低次序执行。对算术运算而言,必须遵循先括号内后括号外,先乘、除及求余运算,后加减的运算优先级规则。C语言规定了运算符二种不同的结合方向:左结合:当参于运算的数据两侧的运算符优先级 相同时,运算顺序为自左至右。C语言规定算术运算符遵循左结合的规则。例如,计算算术运算表达式 a+b-c 时,运算符“+”和“”具有相同的优先级,所以先执行 a+b,其结果再和c相减。右结合:当参于运算的数据两侧的运算符优先级 相
21、同时,运算顺序为自右向左。C语言提供的运算符中有少量运算符遵循右结合的规则。教材的附录部分列出了C语言中所有运算符以及它 们的优先级和结合性。2.5 赋值运算符与赋值运算表达式一.赋值运算符 赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。例如:执行程序段 int a;a=3;a=a-5;当执行语句“a=3;”就完成一次赋值运算,把赋 值运算符右边的值3赋给赋值运算符左边的变量a,赋值后,a的值为3。再执行语句“a=a-5;”,赋值 运算符右边的表达式a-5的运算结果为-2,将-2赋 给a。最后,变量a的值变为-2。复合的赋值运算符复合的赋值运算符的格式:算术运算符=所以,+=
22、、-=、*=、/=、%=都是复合的赋值运算符。二.赋值运算表达式 将一个变量通过赋值运算符或复合的赋值运算符与一个表达式连接而成的式子称为赋值运算表达式。赋值运算表达式的格式为:变量名=表达式 或 变量名 复合的赋值运算符 表达式 例如:x=1.414,m1=E,s=3.14159*r*r 或 a+=5,x/=a+1 上述各例都是合法的赋值运算表达式。赋值运算表达式的作用是把赋值运算符右边表达式的值赋给赋值运算符左边的变量。当算术运算符和赋值运算符同时出现在一个表达式中时,算术运算符的优先级高于赋值运算符。C语言允许赋值运算表达式中的表达式部分还是一个赋值表达式,这样就构成了多重赋值。多重赋值
23、表达式中,赋值运算符遵循右结合的法则,即:自右向左的运算顺序。例如:多重赋值语句 a=b=c=x+8;在执行时等价于依次执行三个语句:c=x+8;b=c;a=b;将一个变量通过复合的赋值运算符与一个表达式连接而成的式子同样称为赋值运算表达式。例如:a+=5,x/=a+1 下面的例子说明了复合的赋值运算符的运算规则。表达式 a+=5 等价于 a=a+5表达式 a*=4-b 等价于 a=a*(4-b)表达式 a%=b-1 等价于 a=a%(b-1)注意:复合的赋值运算符右边的表达式是作为一个整体参与其左边算术运算符所规定的运算的。【例2-4】赋值运算表达式举例1)y=3*(x-1);/*将3*(x
24、-1)的结果 赋值给变量y。*/2)a=(b=4)+(c=6);/*这里的赋值运算表 达式(b=4)、(c=6)参于算术运算,C 言规定,将赋值运算符右边表达式的值 作为赋值运算表达式的值。所以,赋 值运算表达式(b=4)的值为4,(c=6)的值为6,最后将它们的和赋值给变量a,由于算术运算符的优先级高于赋值运 算符,所以表达式中的括号是必须的。*/3 3)a+=a*=a+2a+=a*=a+2;/*/*这里的语句等价于:这里的语句等价于:a=a*(a+2);a=a*(a+2);a=a+a;*/a=a+a;*/三三.字符型与整型的关系字符型与整型的关系1.字符型数据的值在内存表现为它们的字符型数
25、据的值在内存表现为它们的ASCASC代码代码值(值(0-2550-255之间的一个整数之间的一个整数)2.2.字符常量以其字符常量以其ASCASC代码值参与整数运算。代码值参与整数运算。如:如:A A+2+2 的值为的值为 6767字符字符A A的的ASCASC码值码值为为6565【例2-5】字符型变量参与算术运算 main()int a;char i;a=B-1;i=a+10;printf(a:%d,a:%cn,a,a);printf(i:%d,i:%cn,i,i);以字符格式输出变量a的值结果为字符A以整型格式输出变量a的值结果为67【例2-6】大小写字母的转换 main()char c1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教程 电子 教案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。