ch21C语言基础语法.ppt_第1页
ch21C语言基础语法.ppt_第2页
ch21C语言基础语法.ppt_第3页
ch21C语言基础语法.ppt_第4页
ch21C语言基础语法.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

回顾上次课,重要知识点: 1、C语言的特点 2、C语句结构特点 3、C程序的上机步骤,本章复习题,1.一个C程序的执行是从( ) A.本程序的main函数开始,到main函数结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束,A,2.以下叙述正确的是() A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误,c,3.以下叙述不正确的是( ) A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后面,D,4.C语言规定:在一个源程序中,main函数的位置( ) A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后,C,5.一个C语言程序是由( ) A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成,B,6.C源程序的基本单位是( ) 7.一个C源程序中至少应包括一个( ),函数,主函数,编程题,编写一个C程序,输入a,b,c3个值,输出其中最大者。,#include void main() int a,b,c,max; printf(“please input a,b,c:n“); scanf(“%d,%d,%d“, ,参考代码:,第2章 数据类型和表达式,2.1基本数据类型 2.2常量与变量 2.3整型数据 2.4实型数据 2.5字符型数据,2.6数据类型转换 2.7算术运算符和算术表达式 2.8赋值运算符和赋值表达式 2.9逗号运算符和逗号表达式,本章学习目标,理解变量和常量的含义 熟悉基本数据类型:int、char、float和double 使用算术运算符 理解类型转换 熟练掌握自增和自减运算 熟练掌握复合赋值表达式,2.1 基本数据类型,数据属于不同类别,Africa,The quick brown fox,TRUE,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,Jackie Chan,char,数据类型,非数值,数值,整型,int,short int,long int,double,float,非整型,指针类型,空类型void,定义类型typedef,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,常量,字符串常量:”Hello”、”Good Morning!”,整型: 12、0、-3,实型: 4.6、-1.23,字符型:a、d,在程序运行过程中,其值不能改变的量称为常量,不 同 的 数 据 类 型,2.2 常量与变量,符号常量:标识符代表常量 定义格式: #define ,说明:符号常量一般使用大写英文字母表示,以区别一般用于小写字母表示的变量。,符号常量定义举例 #define PI 3.1415926 #define STAR *,符号常量使用(例2.1),#define MONEY 500 Void main() int year,month,total; year=4;month=9; total=year*month* MONEY ; printf(“total=%d“,total); ,符号常量的使用能给程序员带来哪些好处?,说明: 程序中用#define命令行定义MONEY代表常量30,此后凡在本文件中出现的MONEY都代表30,可以和常量一样进行运算。,说明:如再用赋值语句给MONEY赋值是错的。MONEY =400;/* 错误,不能给符号常量赋值*/,注意:,C语言中常量习惯用大写字母!,在程序运行过程中,其值可以被改变的量称为变量。,变量,变量定义的一般格式 数据类型 变量1,变量2,变量n;,决定分配字节数 和数的表示范围,变量定义举例: int a,b,c; float data;,变量的3个要素: (1)变量名。每个变量都必须有一个名称。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。 (3)变量的类型,二进制数值,不同编译器所占的位置不同,例如: int a=23; 变量的类型 int 变量名字:a 变量的值:23 在内存中存储单元占16位,变量命名,在 C 语言中,变量命名需要遵循一定的规则,变量的命名规则: 变量名可以由字母、数字和 _(下划线)组合而成 变量名不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、空格等 变量名必须以字母或 _(下划线)开头 变量名不能包含空白字符(换行符、空格和制表符称为空白字符) C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名 C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量,变量命名,有效名称,principal,cost_price,marks_3,lastname,city,无效名称,123rate,currency$,discount%,zip code,变量的命名规则: 变量名可以由字母、数字和 _(下划线)组合而成 变量名不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、空格等 变量名必须以字母或 _(下划线)开头 变量名不能包含空白字符(换行符、空格和制表符称为空白字符) C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名 C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量,专业提醒:标识符命名通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。通过变量名就知道变量值的含义,做到“见名知意”。 例如: name 姓名 sex 性别 age 年龄 salary 工资,讨论:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab above $123 _toDay,M.D.John,3days,#33,char,$123,ab,变量的使用: “先定义,后使用”,例1 int student; stadent=19; /Undefined symbol stadent in function main,例2 int a,b; /为a,b各分配两个字节,按整数方式存储数据,例3 float a,b,c; c=a%b; /illegal use of floating point in function main,(1)凡未被事先定义的,系统不把它认作变量名,这就能保证程序中变量名使用得正确。,(2)每一个变量被指定为一个确定的类型,在编译时就能为其分配相应的存储单元。,(3)指定每一个变量属于一种类型,这就便于在编译时据此检查在程序中要求对该变量进行的运算是否合法。,例3.3 输出变量的数值。 void main() int x, y; x=5; y=3; printf(“ %d- %dn”, x, y); x=1; y=2; printf(“ %d- %dn”, x, y); ,x、y是整型变量 每个变量分配2个字节存储单元,将数值5、3分别存放到x、y变量的存储单元,x、y变量的值重新赋值,运行结果: 5- 3 1- 2,思考下列代码的运行结果?,3.3.1整型常量的表示方法 整型常量即整数。在语言中,整常数可用3种形式表示,并且各种数制均可有正(+)负(-)之分,正数的“+”可省略:,2.3 整型数据,27,整型常量的输出实例,#include main() printf(“0x80 -%d n“, 0x80); printf(“0200 -%d n“,0200); printf(“128 - %d n“,128); printf(“128 - %o n“,128); ,运行结果: 0x80 -128 0200 -128 128 - 128 128 - 200,28,真题再现,(2009年9月)以下选项中可作为C语言合法整数的是( ) A.10110B B.0386 C.0Xffa D.x2a2,C,29,整型变量的分类,30,整型变量的定义,声明: int page_number; long int population; unsigned int age; 可按如下方式赋值: int page_number; page_number0; int max_marks = 100;,在同一语句中可以声明多个类型相同的变量: int page_number, copies, paper_width;,31,例3.2 整型变量的定义与使用,#include void main() int a,b,c,d; unsigned u; a=12;b=-24;u=10;c=a+u;d=b+u; printf(“a+u=%d,b+u=%dn“,c,d); ,运行结果:, ,说明:可以看到不同种类的整型数据可以进行算术运算,32,思考下列代码的执行结果?,#include void main() short int a,b; a=32767;b=a+1; printf(“%d,%dn“,a,b); ,运行结果:32767,-32768,说明:一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。,演示,33,真题再现,在C语言中表示整型变量时,表示无符号短整型的是( )。 A.Unsigned long B. Unsigned short C. Unsigned int D. short,B,2.4.1浮点型常量的表示方法,十进制数形式实型常量 0.123, .123, 123.0, 0.0, 123.,指数形式实型常量 12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 , .e3,2.4 实型数据,表示形式,真题再现,(2004年4月)以下符合C语言语法的实型常量是( ) A.1.2E0.5 B.3.14159E C.5E-3 D.E15,C,(2)实型数据的分类,单精度浮点型,float 在 C 语言中用于存储单精度浮点数,float,32 位,-10+38 至 10+38 ,7位有效数字,声明: float selling_price; 初始化: float selling_price = 11.3; selling_price = 65.90;,双精度浮点型,213.5671435568967,64位,取值范围:-10+308 至 10308,16 位有效数字,声明: double pressure_level; 初始化: pressure_level = 213.5671435568967; double dvalue = 35.4;,39,#include void main() double a; float b; a=123456789.1; b=a+1; printf(“a=%fn“,a); printf(“b=%fn“,b); ,说明:一个浮点型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数,(3)实型数据的误差,演示,在线保险单 年龄:_ 保险总额:_ 性别:_,23,98340, M ,数值型,字符型,int/float,char,2.5 字符型数据,如 101 -A 012 -n 376 - x61 -a 60 -0 483 -(),例 转义字符举例 main() printf(“101 x42 Cn“); printf(“I say:“How are you?“n“); printf(“C Programn“); printf(“Turbo C“); ,运行结果:(屏幕显示) A B C Isay:”How are you?” C Program Turbo C,例,a,A,1,?,$ abc、“a”,2.5.1 字符常量,真题再现,下列字符中不是C语言转义字符的是( ) A. n B. t C. 065 D.089,D,在下列字符常量中,表示回车的是( ) A. t B.b C.n D.r,D,字符变量的定义形式如下:char c1,c2,在程序中可以用2种方法给字符变量赋值,1是直接将字符赋给变量,2是将字符的ASCII码赋给变量: char c1a; char c197;,一个字符变量在内存中占1个字节。,字符变量用来存放字符常量,注意只能放1个字符。,2.5.3 字符变量,等价,45,所以: 根据需要,一个字符数据既可以以字符形式输出,也可以以整数形式输出。,2.5.3 字符数据在内存的存储形式,46,说明:在第和第4行中,将整数97和98分别赋给c1和c2,它的作用相当于以下两个赋值语句: c1;c2; 因为a和b的ASCII码为97和98,例2.6 向字符变量赋以整数。 #include void main() char c1,c2; c1=97; c2=98; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); ,运行结果: 97 98,47,思考:下列程序实现了什么功能? #include void main() char c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论