资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,计算机程序设计基础,第,1,章,C,语言基本语法元素,计算机程序设计基础第1章 C 语言基本语法元素,1.1,数据类型,1.2,量与表达式,1.3,语 句,1.4,基本输入输出函数,1.5,程序设计风格,第,1,章,C,语言基本语法元素,1.1 数据类型第1章 C 语言基本语法元素,1.1,整数类型,浮点数类型,字符串类型,数据类型,1.1整数类型数据类型,整数类型,分类,(1),基本型:以,int,表示。,(2),短整型:以,short int,或,short,表示。,(3),长整型:以,long int,或,long,表示。,(4),无符号型:存贮单元中全部二进制位用作存放数本身,不包括符号。,无符号数,整型:,unsigned int,短整型:,unsigned short int,长整型:,unsigned long int,整数类型分类(1)基本型:以int 表示。(2)短整型:以s,注意:整数运算的溢出问题,类型,占字节数,表数范围,int,4B,-2,31,2,31,-1,long,4B,-2,31,2,31,-1,short,2B,-2,15,2,15,-1,unsigned int,4B,0 2,32,-1,unsigned long,4B,0 2,32,-1,unsigned short,2B,0 2,16,-1,注意:整数运算的溢出问题类型占字节数表数范围int4B-23,一、分类,float,:单精度浮点数、,4B,、,7,位有效数字,double,:双精度浮点数、,8B,、,16,位有效数字,注意:浮点数存储是有误差的。,二、浮点数应用举例,例,1.,编写程序,计算用户输入的两个浮点数之和,浮点数类型,一、分类浮点数类型,一、字符串类型名,STRING,注意:该类型名是由本书作者自定义的。,二、字符串类型应用举例,例,2.,接受用户输入的用户名,向用户问好。,工程项目的设置,步骤:,(,1,)创建新工程,(,2,)将文件“,zylib.h,”与“,zylib.c,”拷贝到程序目录下,(,3,)在工程项目中添加,“,zylib.c,”,文件,(,4,)在程序代码中使用双引号包含头文件“,zylib.h,”,字符串类型,一、字符串类型名工程项目的设置步骤:字符串类型,文字与常量,变 量,表达式,赋值与初始化,混合运算与类型转换,1.,2,量与表达式,文字与常量1.2量与表达式,一、什么是文字,程序中显示出现的数据值。,例:,100,、,3.14,、,“,Hello”,等,二、,整数类型文字,三、,浮点型文字,四、,字符串文字,文 字,一、什么是文字文 字,一、什么是常量,程序执行期间其值不可改变的量。,二、常量定义格式,const,数据类型 常量名称,=,初始值,;,例:,const int zero=0;,注意:定义常量时必须进行初始化!,常 量,const int zero;,三、常量与文字区别,常量可以寻址:,&zero,一、什么是常量常 量 const int ze,(1),十进制表示:例,:,55,、,-32,(2),十六进制表示:以“0,x,”或“0,X,”开头的 09、,A/aF/f,序列,例:,0,x55,、,0,X1F,、,0 x2a,(3),八进制表示:以“0”开头的 07 序列,例:,055,注意:不要与十进制混淆!,整数类型文字,表示方式:,(1)十进制表示:例:55、-32整数类型文字表示方式:,(1),一般形式,由数字、小数点和正负号组成,例:,314,.16,、,.,23,、,-2.,(2),指数形式,(,科学计数法,),由尾数部分、字符,E,与指数部分组成,例:,314,.16e-2,、,1.718E2,浮点型文字,314,.16,10,-2,-1.718,10,2,注意:,e,或,E,前必须有尾数,指数必须是整数。,浮点型文字默认为,double,类型,表示方式:,(1)一般形式浮点型文字314.1610-2-1.718,字符串文字:用双引号引起来的字符序列。,例:,“A”,、,“abcn”,、“,123”,、“”,转义字符:以反斜杠开始,后跟一个或多个字符,例:,n,字符串文字,字符串文字:用双引号引起来的字符序列。字符串文字,转义序列,功能与意义,a,响铃,b,退格,f,换页,n,换行,r,返回到当前行首,t,水平制表键,v,垂直制表键,0,ASCII,码 0,反斜杠字符自身,单引号字符(仅在字符常数中需要使用此方式),双引号字符(仅在字符串常数中需要使用此方式),ddd,“,ddd,”表示八进制的该字符,ASCII,码值,xhh,“,hh,”表示十六进制的字符,ASCII,码值,,x,为十六进制标志,C,语言预定义的转义序列,转义序列功能与意义a响铃b退格f换页n换行r返回到,一、什么是变量,程序执行期间,值可以发生变化的量。,二、变量定义格式,变量类型 变量名称,;,例:,int a;,int b,c;,三、变量的基本特征,变量具有类型、名称、值和地址。,注意:,(1),变量要先定义,后使用。,(2),在同一作用范围内,变量不能同名。,变 量,一、什么是变量变 量,一、定义,操作数与操作符组成的序列,二、操作数,文字、常量、变量、函数调用,三、,操作符,即运算符,例:,a+1,、,b=c,、,+i,、,2*sqrt(2),、,a/(b+c),表达式,一、定义表达式,一、操作符分类,(1),一元操作符:只有单个操作数,例如负号,(2),二元操作符:带有两个操作数,例如加减乘除,(3),三元操作符:带有三个操作数,例如条件运算符,二、操作符的优先级与结合性,优先级确定计算顺序,a-b*c,结合性确定计算方向,操作符,左结合:从左向右结合,右结合:从右向左结合,注意:优先级相同的情况下,考虑结合性。,一、操作符分类操作符左结合:从左向右结合右结合:从右向左结合,三、算术操作符,+,、,-,、*、,/,、,%,操作符,优先级:*、,/,、,%,高于,+,、,-,结合性:左结合,注意,:,(1),两侧操作数是整型 例:,5%2=0,(2),整数相除结果是整数 例:,5/2=2,(3),整数与浮点数相除结果是浮点数 例:,5/2.0=2.5,三、算术操作符操作符优先级:*、/、%高于+、-,四、赋值操作符,=,变量名,=,表达式,操作符,优先级:仅高于,操作符。,结合性:右结合,例:,a=1,a=a+2,a=b=1,注意,:,=,左侧只能是变量,不能是表达式,例:,a+2=b a=b+c=1,都是错误的,赋值表达式,四、赋值操作符=操作符优先级:仅高于,操作符。赋值表达式,操作符,五、复合赋值操作符,+=,、,-=,、*,=,、,/=,、,%=,变量名,表达式,优先级:与,=,相同。,结合性:右结合,例:,a=1,a*=a+2,a+=a*=a-=3,操作符五、复合赋值操作符,操作符,六、自加自减操作符,+,、,-,(1),变量名,+,表达式的值等于变量的值,变量的值增加,1,(2)+,变量名,变量的值增加,1,,表达式的值等于变量的值,例:,a=3,a+a a-,-a,b=a+,b=+a,结合性:右结合,注意:,+,、,-,只能用于变量,,不能用于常量或表达式。,操作符六、自加自减操作符+、-,操作符,七、逗号操作符,,表达式,1,,表达式,2,,,表达式,n,优先级:最低。,结合性:左结合,例:,a=b=1,a+2,b+3,a+b,a=3+4,a+7,a*3,x=a=3,6*a,x=(a=3,6*3),逗号表达式,操作符七、逗号操作符,逗号表达式,一、赋值语句,由赋值表达式加分号构成,格式:,变量名称,=,表达式,;,例:,a=0;,二、变量的初始化,在定义变量时直接设定初始值,例:,int a=0;,判断正误:,int a,b,c;a=b=c=1;,int a=b=c=1;,赋值与初始化,一、赋值语句赋值与初始化,混合运算与类型转换,一、各类数值型数据间的混合运算,例:,3*5.2+A,整型、字符型、浮点型数据可以混合运算,不同类型的数据要先转换成同一类型,然后运算。,double,float,long,unsigned,int char,short,高,低,方向是必定的转换。,方向表示操作数为不同类型时转换的方向。,混合运算与类型转换一、各类数值型数据间的混合运算例:3*5.,(1),隐式类型转换,例:,int a;double g=9.80665;,a=g;,(2),显式类型转换,格式,:,(,转换后的数据类型,)(,表达式,),例:,a=(int)g*4;/a,值为,4*9=36,a=(int)(g*4);/a,值为,39,a=(int)g%2 /a,值为,1,混合运算与类型转换,二、类型转换,(1)隐式类型转换 混合运算与类型转换二、类型转换,一、简单语句,格式:表达式后加分号,例:,sum=a+b;,a+;,printf(%d+%d=%dn,a,b,sum);,二、复合语句,格式:花括号括起来的语句序列,三、空语句,格式:;,目的:满足程序特定语法规则的要求;作为未来添加程序代码的占位标记,1.,3,语 句,一、简单语句1.3语 句,四、控制语句,1.,3,语 句,if()else,for(),while(),do while(),continue,break,switch,goto,return,四、控制语句1.3语 句if()else,典型输入输出函数,格式化输出函数,printf,格式化输入函数,scanf,1.,4,基本输入输出函数,应用举例:,编写程序,询问用户姓名,向用户问好,然后请求用户输入一整数和一实数,输出加法运算结果。,典型输入输出函数1.4基本输入输出函数应用举例:,一、,printf,函数的格式,printf(“,输出格式控制字符串,”,输出项列表,);,格式化输出函数,printf,例,:,printf(“Hello.n);,printf(“Hello,%s.n”,name);,printf(“a=%dnb=%dnsum=%dn,a,b,a+b);,printf(“%d,%f,%sn”,100,1.23,“good”);,格式码,由“,%”,和格式描述符组成。,普通字符。,文字、常量、变量、表达式,一、printf 函数的格式格式化输出函数 printf例:,二、,格式码,%,d:,有符号十进制整数,%o,:八进制整数,%x,:十六进制整数,%,f:float,型浮点小数;,%e,:,float,型指数形式,%,lf:double,型浮点小数;,%le,:,double,型指数形式,%,s:,字符串,%u:,无符号十进制整数,%,c:,单个字符,%,:输出“,%”,自身,格式化输出函数,printf,二、格式码格式化输出函数 printf,三、场宽、精度与对齐,%,对齐标志,场宽,.,精度,格式描述符,(1),对齐标志:确定输出项左侧还是右侧对齐,(2),场宽:确定输出项占用多少字符宽度,(3),精度:对于浮点数,表示小数点后的小数位数。,格式化输出函数,printf,三、场宽、精度与对齐%对齐标志场宽.精度格式描述,四、,printf,函数示例,格式化输出函数,printf,四、printf函数示例格式化输出函数 printf,例:,编写程序,,按照下列格式输出截止,2005,年底的部分省市统计数据。所有数据均来自各地政府官方网站,面积仅包括陆域(单位:平方公里),人口仅包括户籍人口(单位:万人),其中部分数据为约数。,格式化输出函数,printf,例:编写程序,按照下列格式输出截止2005年底的部分省市统计,可以使用,zylib,库中的三个函数代替,scanf,!,(1),整数输入:,a=GetIntegerFromKeyboard(),(2),浮点数输入:,b=
展开阅读全文