欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第2章C语言程序设计初步.ppt

    • 资源ID:2252332       资源大小:271.51KB        全文页数:63页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    第2章C语言程序设计初步.ppt

    2019/3/11,1,第2章 C语言程序设计初步,2019年3月11日星期一,2019/3/11,2,2.1 C语言的字符集、关键字和标识符 2.2 数据类型 2.3 常量和变量 2.4 运算符与表达式 2.5 类型转换 2.6 输入输出函数,2019/3/11,3,2.1 C语言的字符集、关键字和标识符,2.1.1 C语言的字符集 字符是组成C语言的最基本元素,字符集是语言中允许出现的字符的集合。C语言的字符集由英文字母、数字、空白符和特殊字符等组成,通常采用ASCII码字符集。,2019/3/11,4,1字母:C语言严格区分大小写字母。 2空白符:空白符是指空格符、制表符、回车换行符等。 3特殊字符:主要为运算符,如:+、*、%、 、 、( 、)、! 、等等。 由以上字符组成C语言的最小语法成分,即单词。单词分为6类:标识符、关键字、常量、运算符、注释及分隔符,其中,运算符是由特殊字符组成,注释是以“/*”开头,并以“*/”结尾的串,分隔符有空白字符和逗号。,2019/3/11,5,2.1.2 C语言的关键字 关键字是C语言中预定的具有特定含义的单词,通常也称保留字。由于这些关键字有特定含义,因此不能另作它用。语言共有32个关键字。,附录 C语言关键字表 auto 、break、case 、char、const、continue、default 、do、double 、else、enum、extern、float、for、goto、if 、int、 long、register、 return、 short、 signed、sizeof 、static、struct、 switch、 typedef、union、unsigned、 void、volatile、 while,注意:关键字在程序中都必须是小写字母,2019/3/11,6,2.1.3 语言的标识符 标识符是一个对象的名字。例如:变量名、数组名、函数名、结构体类型名及文件名等等。 标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须是字母或下划线。,判断下列是否是合法的标识符: _123abc、Price、ab12 123_abc 、 $123 、M.D.rose,2019/3/11,7,注意: (1) C语言严格区分大小写。标识符一般用小写字母。 (2) 标识符不能和语言的关键字相同。 (3) 命名标识符应尽量有相应的意义,以便“见名知意”。,2019/3/11,8,综上所述,可以把C程序的每条语句看成是由一系列的记号组成,这些记号是不可再分的原子单位,记号和记号之间可以用多个空格分隔。 例如, printf ( “sum=%d“ , sum ) ; 该语句由7个记号组成,其中是系统函数名,、是运算符,是字符串常量,是分隔符,是用户标识符(变量名),是C语句结束标志。,2019/3/11,9,2.2 数据类型,图2.1 C语言的数据类型,2019/3/11,10,表2.1 基本数据类型,2019/3/11,11,说明: (1) 在C语言中,基本数据类型可以带说明前缀signed和unsigned,明确基本数据类型含义。signed和unsigned可以用来修饰字符型和整型,其中signed表示有符号数,unsigned表示无符号数。 (2) 在具体的编译环境下,每种数据类型所占的字节数可以通过sizeof运算符求得。具体的使用格式是:sizeof(数据类型符),2019/3/11,12,例如: #include int main() printf(“%d”,sizeof(int); return 0; ,在TC编译环境下,运行结果是2;在VC编译环境下,运行结果是4。,2019/3/11,13,2.3 常量和变量,2.3.1 常量 常量是指在程序运行过程中其值不能被改变的量。 直接常量:整型常量、实型常量、字符常量和字符串常量。 符号常量:指用一个符号(标识符)来代表一个常量。,2019/3/11,14,1.整型常量:是不带小数的整数,包括正整数、负整数和零。整型常量的表示形式有十进制、十六进制和八进制。 十六进制常量:以0x或0X开头,用09十个数字、AF或af字母表示。 八进制常量:以0(数字零)开头,用07八个数字表示。 长整型常量:整型常量后面缀上字母“l”或“L”。 无符号整型常量:整型常量后面缀上字母“u”或“U”。,2019/3/11,15,以下整型常量是否合法。并说明是什么类型的整型常量。 50、-792、-90u、100L 020、0101、0764、05 0xA、0x54、0X77D、0Xffff 5.78 、75A、081 、0x5H,2019/3/11,16,【例2.1】 整数的三种表示形式。 #include int main() int a,b,c; a=75; b=075; c=0x3A; printf(“%d,%d,%dn“,a,b,c); /* 以十进制数输出a,b,c */ printf(“%o,%o,%on“,a,b,c); /* 以八进制数输出a,b,c */ printf(“%x,%x,%xn“,a,b,c); /* 以十六进制数输出a,b,c */ return 0; 注意:%d、%o、%x,2019/3/11,17,2实型常量 在程序设计语言中,含有小数部分的数值称为浮点数。浮点数的表示形式有两种: 小数形式:由数字和小数点组成(注意必须有小数点)。 指数形式:小数e|E指数,其中指数部分只能是整数。,2019/3/11,18,判断下列是否是合法的实数: 0.32、.98、34.、123.5、25.4e-3、0.257E5 78 、 E-6 、 3.4e3.5,2019/3/11,19,3、字符常量 字符在计算机中是以ASCII码值存储的,因此每个字符都有对应的ASCII码值(详见附录I)。在ASCII表中ASCII码值为32以后的字符是可显示字符,ASCII码值为32以前的字符是不可显示字符。,2019/3/11,20,在C语言中,字符常量有两种表示方法: (1) 对可显示的字符,直接用单引号将该字符括住,例如'z'、'4'、'#'、'? '等。 (2) 对不可显示字符(例如,换行、回车、制表符、退格等等),以及在C语言中有特殊含义和用途的字符(如单引号、双引号、反斜杠等),则用单引号括住一个转义序列。,2019/3/11,21,表2.2 转义序列表,2019/3/11,22,【例2.2】 转义字符的使用。 #include int main() int a=10,b=20,c=30; printf(“a=%dtb=%dnc=%d“,a,b,c); return 0; ,2019/3/11,23,4字符串常量 字符串常量是用一对双引号引起来的字符序列。 字符常量和字符串常量的区别在于: (1)字符常量是用单引号引起的一个字符;字符串常量是用双引号引起来的零个或多个字符。 (2)字符常量占用一个字节的存储空间;字符串常量中的字符个数称为字符串的长度。,2019/3/11,24,a和”a”的区别?,'a',“a“,0,a,a,图2.2 'a'和“a“的存储区别,2019/3/11,25,5符号常量 在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。,一般形式为: #define 标识符 常量,2019/3/11,26,【例2.3】 输入球的半径,输出球的表面积和体积。 #include #include #define PI 3.1415926 int main() float radius,outarea,volumn; printf(“请输入球的半径:“); scanf(“%f“, ,2019/3/11,27,2.3.2 变量 变量是指在程序运行过程中其值可以改变的量。变量是存储空间的抽象,用户可以通过声明(定义)变量来获取存储空间。变量有变量名和变量值之分。,75,存储单元,x,变量名,变量值,图2.3 变量示意图,2019/3/11,28,说明变量的一般形式为: 类型说明符 变量名1, 变量名2,; 例如: int x,y; /* 定义int型变量x,y */ float z; /* 定义float型变量z */ char a,b,c; /* 定义char型变量a,b,c */,注意:变量必须“先定义,后使用”,2019/3/11,29,1整型变量 在C语言中,整型变量分为基本型(int)、短整型(short)、长整型(long)和无符号型(unsigned)。无符号型又可与前三种类型组合出无符号基本型、无符号短整型和无符号长整型,总共有六种形式,见表2.1。,在16位系统中,基本整型变量在内存中占两个字节。 例如,int a=101; 由于(101)10=(1100101)2,则变量a在内存的示意图如图2.4所示:,图2.4 值为101的变量a的内存示意图,2019/3/11,30,2实型变量 在C语言中,实型变量分为单精度型(float)、双精度型(double)和长双精度(long double)三种形式,见表2.1。,单精度型的变量在内存中占4个字节,这4个字节分成两部分:一部分用于存储小数部分(也称尾数);另一部分用于存储指数部分(也称阶)。如图2.5所示。,图2.5 单精度型的变量内存示意图,2019/3/11,31,【例2.4】 实型数据的输出示例。 #include int main() float a,b; a=55.1234567; b=123456.789e5; printf(“a= %f nb=%f“,a,b); return 0; ,2019/3/11,32,3字符型变量 字符型变量的类型说明符是char。字符型变量用来存放字符常量,即存放单个字符。,例如:char a=A; a变量存储空间里存放的是'A'的ASCII码值,即65,其内存示意图如图2.6所示。,图2.6 变量a的内存示意图,2019/3/11,33,字符数据在内存中的存储形式与整型数据的存储形式类似,可以看成是1字节的整数。 所以,在C语言中字符型数据和整型数据之间可以通用,可以将字符型数据以整型数据处理:,允许字符量赋值给整型变量 允许整型量赋值给字符变量 允许把字符变量按整型量输出 允许把整型量按字符量输出,2019/3/11,34,【例2.5】 字符型变量的使用 #include int main() char c1='a', c2=98, c3; int c4; c3=c1+4; c4=c1-32; printf(“c1=%ctc2=%ctc3=%ctc4=%c n“, c1, c2, c3,c4); printf(“c1=%dtc2=%dtc3=%dtc4=%c n“, c1, c2, c3,c4); return 0; ,2019/3/11,35,4变量的赋值 变量是存储空间的抽象,有多种方式可以将一个数据存储到该存储空间中,(1)通过赋值运算实现,int x; /* 先定义 */ x=15; /* 后赋值 */,(2)变量的初始化 在定义变量的同时赋给变量相应的值,称为变量的初始化。,int x=15,y=15; /* 变量的初始化,定义的同时赋值 */,(3)程序运行时给变量赋值,int x; /* 定义int型变量 x */ scanf(“%d“, /* 暂停程序的运行,等待用户从键盘输入数据 */,2019/3/11,36,2.4 运算符与表达式,运算是对数据进行加工的过程,要运算就必须有运算符和运算量。 运算符:是用来完成各种不同运算的一些特定符号。 运算量:是参加运算的数据,也称为操作数,运算量可以是常量、变量和函数。,2019/3/11,37,C语言提供了丰富的运算符,按功能分主要有以下几种: 算术运算符: 、-、*、/、%(取余)、+(自增)、-(自减) 赋值及其复合赋值运算符赋值运算符:=、复合赋值运算符 求字节数运算符:sizeof 强制类型转换运算符:(类型) 关系运算符:、=、 下标运算符: 指针运算符:*(间接访问运算符)、&(取地址运算符) 位运算符:(求反)、&(位与)、|(位或)、(右移) 其他运算符:()(函数调用运算符、优先级运算符) 有关运算符的优先级、结合方向等详细的信息参见附录。,2019/3/11,38,2.4.1 算术运算符与算术表达式 1基本算术运算符,表2.3 基本的算术运算符,2019/3/11,39,下列运算的结果是多少? 12/5 12/5.0 3%5 5%3,2算术表达式 算术表达式是用算术运算符和括号将运算量(也称为操作数)连接起来的、符合C语法规则的式子。运算量可以是常量、变量及函数。,下列表达式的结果是多少? 5+3*4 1/3.0*pow(sin(1.0/2),2),2019/3/11,40,2.4.2 赋值运算符与赋值表达式,变量是存储空间的抽象,将一个数据放置于变量所在的存储空间,可以通过赋值语句来实现。,1基本赋值运算符 格式如下: 变量=表达式 功能:将赋值号右边表达式的值存储到左边变量所在的存储空间。 注意: 这是赋值运算符,不是“等号”运算符。 赋值运算符要求它左边的操作数必须是变量。 赋值运算符的右边可以是常量、变量、函数或较为复杂的表达式。,以下赋值运算是否合法,不合法的说明原因: i=5 k=10*i+80 i+j=10 -12=i -i=j,2019/3/11,41,2复合赋值运算符 在基本赋值运算符“=”之前加上算术运算符或位运算符,可构成复合的赋值运算符。这些运算符共有10个,包括+=、-=、*=、/=、%=、&=、|=、=、=、=,它们都是二元运算符。 构成复合赋值表达式的一般形式为: 变量 复合赋值运算符 表达式 注意: (1)复合赋值运算符也要求它的左边是个变量。 (2)复合赋值运算符的右边表达式默认省略了圆括号。,下列的表达式等价式: x+=2 x*=y+2 x%=5,2019/3/11,42,3赋值表达式 由基本赋值运算符或复合赋值运算符将一个变量和一个表达式连接起来的具有合法语义的式子,称为赋值表达式。 注意: (1)可以连续赋值,例如:x=y=z=5 等效于x=(y=(z=5),(2)赋值运算符的优先级低于算术运算符、关系运算符和逻辑运算符,高于逗号运算符。,例如,下列表达式的结果是多少: c=53 k=5+(y=z),2019/3/11,43,(3)如果赋值运算符两边的数据类型不相同,系统会自动进行数据类型的转换,即把赋值号右边的类型转成左边的类型。详细说明请参阅2.5节类型转换。,(4)赋值表达式也可以包含复合的赋值运算符。 下列表达式的结果是多少? int a=4; a+=a-=2*a;,2019/3/11,44,2.5 类型转换,C语言规定,不同类型的数据在参加运算时,要先转换成相同的类型,然后再进行运算。有三类转换: 赋值表达式的类型转换 算术运算时的自动类型转换 强制类型转换,2019/3/11,45,2.5.1 赋值转换 C语言规定:当赋值运算符右边表达式的类型与左边变量的类型不一致时,以左边的为准。,赋值后变量a和变量x的值分别是多少? int a; a=5.23; float x; x=20;,2019/3/11,46,2.5.2 算术运算时的自动类型转换 不同类型的数据在一起运算时,C编译器自动将所有操作数“向上”转换成数据最长的操作数类型。,图2.7 不同类型数据的转换规则,2019/3/11,47,例如以下运算的结果是什么类型? 70+'B'*2.4,2019/3/11,48,2.5.3 强制转换 强制类型转换的一般形式为: (类型说明符) 表达式 功能:把表达式的数据类型强制转换成数据类型说明符中的数据类型。,注意以下强制转换的结果不同,为什么? ( int ) ( x +y) ( int ) x + y,强制数据类型改变了原变量的数据类型没有?,2019/3/11,49,【例2.6】 强制数据类型转换示例。 #include int main() int a=5; float x=2.14; a*=x*('D'-'A'); printf(“%fn“,(float)a); return 0; ,2019/3/11,50,2.6 输入输出函数,C语言没有输入输出语句,它的输入输出是通过C标准函数来实现。C标准函数库中提供了一批用于处理输入输出的函数,例如getchar()、putchar()、scanf()、printf()、gets()、puts()等。在使用这些输入输出函数之前,要在源程序的前面加上一条编译预处理命令: #include ,2019/3/11,51,2.6.1 字符型数据的输入输出函数 1字符输出函数putchar() 使用格式如下: putchar(char) 功能:向标准输出设备(指显示器)显示输出一个给定的字符。,2019/3/11,52,【例2.7】 putchar()函数的使用举例。 #include int main() char a,b,c; a='P'b='i'c='g' putchar(a); /* 实参是字符变量a */ putchar('n'); /* 实参是字符常量,转义字符'n' */ putchar(b); putchar('n'); putchar(c); return 0; ,2019/3/11,53,2字符输入函数getchar( ) 使用格式如下: getchar( ) 功能:暂停程序的运行,等待用户从标准输入设备(指键盘)上输入一个字符。 getchar()调用一次只能读入一个字符,不能读入多个字符。,2019/3/11,54,【例2.8】 从键盘上输入两个数字字符,将它们分别转变成数字后,输出这两个数之和。 #include int main() char ch1,ch2; int x1,x2,sum; ch1=getchar(); ch2=getchar(); x1=ch1-'0' x2=ch2-'0' sum=x1+x2; printf(“x1=%d,x2=%d , sum=%d“,x1,x2,sum); return 0; ,2019/3/11,55,2.6.2 格式化输出函数printf( ) 函数使用一般形式如下: printf(“输出格式控制参数“,输出项列表) 函数功能:按用户指定的格式,把指定的数据显示到显示器屏幕上。,2019/3/11,56,输出格式控制参数是用双引号括起来的字符序列,其中可以出现三类字符:普通可显示字符、转义字符、格式控制符。,表2.4 常用格式控制符,2019/3/11,57,(2)输出项列表 输出项列表是用逗号分隔的多个输出表达式。,int x=754;,printf(“整数:%dn字符:%cn小数:%f“, x , 'a'-32, 45.78);,2019/3/11,58,以下输出的结果是什么?,2019/3/11,59,【例2.9】 将19的数字分三行显示,每个输出项占4个字符的宽度。 #include int main() printf(“%4d %4d %4dn“,1,2,3); printf(“%4d %4d %4dn“,4,5,6); printf(“%4d %4d %4dn“,7,8,9); return 0; ,2019/3/11,60,2.6.3 格式化输入函数scanf( ) 函数的一般形式为: scanf(“格式控制字符串“,输入项地址表列) 功能:按用户指定的格式从键盘上把数据输入到指定的变量之中。,2019/3/11,61,(1)格式控制字符串 格式控制字符串规定数据的输入格式,其内容主要由格式控制符构成,也可以有普通字符。常用的格式控制符如表2.6所示,表2.6 常用格式控制符,2019/3/11,62,(2)地址表列 地址表列是用逗号分隔的若干个变量的地址。地址是由地址运算符“&”后跟变量名组成的,其中“&”叫取地址运算符。,例如 char c; int x; float y; scanf(“%c%d%f“, ,2019/3/11,63,(3) 该函数以回车键结束输入。,【例2.10】 scanf()函数使用举例。 #include int main( ) int a,b; printf(“请输入a和b两个整数的值:“); scanf(“%d%d“, ,

    注意事项

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

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开