《计算机程序设计基础课件.ppt》由会员分享,可在线阅读,更多相关《计算机程序设计基础课件.ppt(39页珍藏版)》请在三一办公上搜索。
1、计算机程序设计基础,第1章 C 语言基本语法元素,1.1 数据类型1.2 量与表达式1.3 语 句1.4 基本输入输出函数1.5 程序设计风格,第1章 C 语言基本语法元素,1.1,整数类型浮点数类型字符串类型,数据类型,整数类型,分类,(1)基本型:以int 表示。,(2)短整型:以short int 或short 表示。,(3)长整型:以long int 或long 表示。,(4)无符号型:存贮单元中全部二进制位用作存放数本身,不包括符号。,无符号数,整型:unsigned int,短整型:unsigned short int,长整型:unsigned long int,注意:整数运算的溢
2、出问题,一、分类float:单精度浮点数、4B、7位有效数字double:双精度浮点数、8B、16位有效数字 注意:浮点数存储是有误差的。二、浮点数应用举例例1.编写程序,计算用户输入的两个浮点数之和,浮点数类型,一、字符串类型名STRING 注意:该类型名是由本书作者自定义的。二、字符串类型应用举例例2.接受用户输入的用户名,向用户问好。,工程项目的设置步骤:(1)创建新工程(2)将文件“zylib.h”与“zylib.c”拷贝到程序目录下(3)在工程项目中添加“zylib.c”文件(4)在程序代码中使用双引号包含头文件“zylib.h”,字符串类型,文字与常量变 量表达式赋值与初始化混合运
3、算与类型转换,1.2,量与表达式,一、什么是文字 程序中显示出现的数据值。例:100、3.14、“Hello”等二、整数类型文字三、浮点型文字四、字符串文字,文 字,一、什么是常量程序执行期间其值不可改变的量。二、常量定义格式const 数据类型 常量名称=初始值;例:const int zero=0;注意:定义常量时必须进行初始化!,常 量,const int zero;三、常量与文字区别常量可以寻址:&zero,(1)十进制表示:例:55、-32(2)十六进制表示:以“0 x”或“0X”开头的 09、A/aF/f 序列例:0 x55、0X1F、0 x2a(3)八进制表示:以“0”开头的 0
4、7 序列例:055注意:不要与十进制混淆!,整数类型文字,表示方式:,(1)一般形式由数字、小数点和正负号组成例:314.16、.23、-2.(2)指数形式(科学计数法)由尾数部分、字符E与指数部分组成例:314.16e-2、1.718E2,浮点型文字,314.1610-2,-1.718102,注意:e或E前必须有尾数,指数必须是整数。,浮点型文字默认为double类型,表示方式:,字符串文字:用双引号引起来的字符序列。例:“A”、“abcn”、“123”、“”转义字符:以反斜杠开始,后跟一个或多个字符例:n,字符串文字,C 语言预定义的转义序列,一、什么是变量程序执行期间,值可以发生变化的量
5、。二、变量定义格式变量类型 变量名称;例:int a;int b,c;三、变量的基本特征变量具有类型、名称、值和地址。注意:(1)变量要先定义,后使用。(2)在同一作用范围内,变量不能同名。,变 量,一、定义操作数与操作符组成的序列二、操作数文字、常量、变量、函数调用三、操作符即运算符例:a+1、b=c、+i、2*sqrt(2)、a/(b+c),表达式,一、操作符分类(1)一元操作符:只有单个操作数,例如负号(2)二元操作符:带有两个操作数,例如加减乘除(3)三元操作符:带有三个操作数,例如条件运算符二、操作符的优先级与结合性优先级确定计算顺序 a-b*c结合性确定计算方向,操作符,注意:优先
6、级相同的情况下,考虑结合性。,三、算术操作符+、-、*、/、%,操作符,优先级:*、/、%高于+、-结合性:左结合注意:(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,
7、操作符,六、自加自减操作符+、-(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
8、;a=b=c=1;int a=b=c=1;,赋值与初始化,混合运算与类型转换,一、各类数值型数据间的混合运算,例:3*5.2+A整型、字符型、浮点型数据可以混合运算,不同类型的数据要先转换成同一类型,然后运算。,double float long unsigned int char,short,方向是必定的转换。方向表示操作数为不同类型时转换的方向。,(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%
9、2/a 值为1,混合运算与类型转换,二、类型转换,一、简单语句格式:表达式后加分号例:sum=a+b;a+;printf(%d+%d=%dn,a,b,sum);二、复合语句格式:花括号括起来的语句序列三、空语句格式:;目的:满足程序特定语法规则的要求;作为未来添加程序代码的占位标记,1.3,语 句,四、控制语句,1.3,语 句,if()else for()while()do while()continuebreakswitchgotoreturn,典型输入输出函数格式化输出函数 printf格式化输入函数 scanf,1.4,基本输入输出函数,应用举例:编写程序,询问用户姓名,向用户问好,然后
10、请求用户输入一整数和一实数,输出加法运算结果。,一、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”);,二、格式码%d:有符号十进制整数%o:八进制整数%x:十六进制整数%f:float型浮点小数;%e:float型指数形式%lf:double型浮点小数;%le:double型指数形式%s:字符串%u:无符号
11、十进制整数%c:单个字符%:输出“%”自身,格式化输出函数 printf,三、场宽、精度与对齐,%对齐标志场宽.精度格式描述符(1)对齐标志:确定输出项左侧还是右侧对齐(2)场宽:确定输出项占用多少字符宽度(3)精度:对于浮点数,表示小数点后的小数位数。,格式化输出函数 printf,四、printf函数示例,格式化输出函数 printf,例:编写程序,按照下列格式输出截止2005年底的部分省市统计数据。所有数据均来自各地政府官方网站,面积仅包括陆域(单位:平方公里),人口仅包括户籍人口(单位:万人),其中部分数据为约数。,格式化输出函数 printf,可以使用 zylib 库中的三个函数代替
12、scanf!(1)整数输入:a=GetIntegerFromKeyboard()(2)浮点数输入:b=GetRealFromKeyboard()(3)字符串输入:c=GetStringFromKeyboard(),格式化输入函数 scanf,一、scanf 函数的格式scanf(“输入格式控制字符串”,地址表列);例:scanf(“%d%d”,注 释命名规范宏定义源代码的排版,1.5,程序设计风格,一、注释的目的增强程序的可读性、可维护性二、注释的格式格式一:/*注释内容*/注释内容可以是多行格式二:/注释内容注释从/开始一直到行尾,注 释,一、标识符用来表示常量、变量、函数、类型等的名称。二、命名规则以下划线或字母开头,由下划线、字母、数字组成。注意:标识符区分大小写!,命名规范,格式:#define 宏名 替换文本,#include#define PI 3.14int main()double r,area;r=3.0;area=PI*r*r;printf(%f,area);return 0;,宏定义,递进层次应使用缩进格式每行代码不能过长,不超过80个字符函数代码不超过60行使用空行区分不同功能代码复合语句书写格式要统一除非特别必要,否则不要在一行上书写多条语句命名规范要一致,源代码排版,