C语言程序设计(第四版)(微课版)ch02 C语言程序设计基础_第1页
C语言程序设计(第四版)(微课版)ch02 C语言程序设计基础_第2页
C语言程序设计(第四版)(微课版)ch02 C语言程序设计基础_第3页
C语言程序设计(第四版)(微课版)ch02 C语言程序设计基础_第4页
C语言程序设计(第四版)(微课版)ch02 C语言程序设计基础_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

2.1常量2.2变量2.3运算符与表达式2.4运算符的优先级与结合性2.5类型转换2.1常量定义:程序运行时其值不能改变的量(即常数)分类:整型常量十进制常量1245401-3210+569八进制常量012450401-032100184想想为什么?十六进制常量0x12450x401-0xabcd0x2z12.1常量浮点型常量十进制小数形式0.0083.125-123.+3.14159指数形式表示实型常量1.23e312345.6E-22.23e1.51.23e想想为什么?单字符常量普通字符常量用单引号括起来

‘A’‘a’转义字符见书中表2.12.1常量字符串常量字符串常量是由一对双引号括起来的字符序列。例如,“Hello!”、“CLanguage”hello\0X

X\0例

‘X’“X”字符串一般都有一个结束标志'\0'‘X’与“X”是有区别的例2.1输入一个半径,求圆周长和圆面积#include<stdio.h>#definePI3.14159main(){ floatradius,circumf,area; scanf(“%f”,&radius); circumf=2.0*PI*radius; /*计算周长*/ area=PI*radius*radius; /*计算面积*/ printf("circumference=%.2f,area=%.2f\n",circumf,area);}运行结果:1↙circumference=6.28,area=3.14符号常量PI符号常量定义格式为:#define<符号常量名><常量>2.2变量概念:其值可以改变的量变量名与变量值变量定义的一般格式:

数据类型变量1[,变量2,…,变量n];变量初始化:定义时赋初值例:inta,b,c;floatdata;决定分配字节数和数的表示范围合法标识符例:inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;变量的使用:先定义,后使用变量定义位置:一般放在函数开头例:intstudent;

student=19;main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,data);}2.2.1变量名在C语言中,用户自定义的标识符需要符合以下规则(1)必须以字母或下划线(_)开头,C语言区分大小写,ABC,Abc和abc是不相同的。(2)只能由字母、数字或下划线组成,不能有空格,小数点等特殊字符。(3)不能和C中的系统保留的关键字重名。autodoubleintStructbreakelselongSwitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifstaticwhile系统保留的关键字2.2.2变量的类型数据长度类型标识符数值范围有符号整数

16位

shortint–32768~3276732位

int–2147483648~214748364732位

longint–2147483648~2147483647无符号整数

16位

unsignedshortint0~6553532位

unsignedint0~429496729532位

unsignedlongint0~4294967295整型变量例如:inti=0;整型数据的长度、类型标识符与数值范围2.2.2变量的类型浮点型变量float:单精度浮点数double:双精度浮点数longdouble:长精度浮点数浮点数的特征类型数据长度取值范围与有效位数float32位

约±(3.4E-38~3.4E+38),6位有效数字

double64位

约±(1.7E-308~1.7E+308),16位有效数字

2.2.2变量的类型字符型变量用char进行定义,用单引号引起来的单个字符如字符‘A’、‘a’、‘0’、‘$’等#include<stdio.h>main(){

charlowercase='a';

charuppercase=lowercase-32; printf("%c",uppercase);}【例2.2】小写字母转换成大写字母大写字母的ASCII值比对应的小写字母小32sizeof运算符运算符sizeof可以测定某种类型的数据所占的字节数。#include<stdio.h>main(){ printf("int:%dbytes\n",sizeof(int)); printf("double:%dbytes\n",sizeof(double));}【例2.3】用sizeof运算符测定所用C系统中int型和double型数据所占内存空间的字节数基本用法是

sizeof(类型名)运行结果:int:4bytesdouble:8bytes2.2.3变量的定义及操作intage,reach;定义age、reach为基本int类型变量。unsignedintheight,weight;定义height、weight为无符号int类型变量变量的定义先定义,赋值后使用#include<stdio.h>main(){ intage; printf("%d\n",age);}age未进行初始化,所以输出结果是不确定的2.3运算符与表达式C运算符算术运算符:(+-*/%++--)关系运算符:(<<===>>=!=)逻辑运算符:((!&&||)位运算符:(<<>>~|^&)赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(*&)求字节数:(sizeof)强制类型转换:(类型)分量运算符:(.->)下标运算符:([])其它:(()-)算术运算符和表达式基本算术运算符:+-*/%结合方向:从左向右优先级:----->*/%----->+-

说明:“-”可为单目运算符时,右结合性两整数相除,结果为整数%要求两侧均为整型数据例5/2=-5/2.0=例5%2=-5%2=1%10=

5%1=5.5%2例5/2=2

-5/2.0=-2.5例5%2=1

-5%2=-11%10=

1

5%1=

05.5%2()关系运算符和表达式关系运算符种类:<<===>=>!=结合方向:自左向右优先级别:<<=>>===!=优先级高优先级低例c>a+b//c>(a+b)a>b!=c//(a>b)!=ca==b<c//a==(b<c)a=b>c//a=(b>c)关系表达式的值:是逻辑值“真”或“假”,用1和0表示例inta=3,b=2,c=1,d,f;

a>b(a>b)==cb+c<ad=a>bf=a>b>c//表达式值1//表达式值1//表达式值0//d=1//f=0ab!a!ba&&ba||b真假真假假假真真逻辑运算符和表达式逻辑运算符种类:!&&||逻辑运算真值表C语言中,运算量:0表示“假”,非0表示“真”,

运算结果:0表示“假”,1表示“真”,真假假假假假真真假假真真真假真真赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量复合赋值运算符种类:+=-=*=/=%=《=》=&=^=|=含义:exp1op=exp2

exp1=exp1opexp2a+=3

a=a+3x*=y+8

x=x*(y+8)x%=3

x=x%3例a=3;d=func();c=d+2;自增、自减运算符++--作用:使变量值加1或减1种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再执行i+1或i-1)例j=3;k=++j;j=3;k=j++;j=3;printf(“%d”,++j);j=3;printf(“%d”,j++);a=3;b=5;c=(++a)*b;a=3;b=5;c=(a++)*b;//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=4条件运算符与表达式一般形式:expr1?expr2:expr3执行过程功能:相当于条件语句,但不能取代一般if语句例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);例求a+|b|printf(“a+|b|=%d\n”,b>0?a+b:a-b);expr1取expr2值取expr3值非0=0条件运算符可嵌套

如x>0?1:(x<0?-1:0)逗号运算符和表达式形式:表达式1,表达式2,……表达式n结合性:从左向右逗号表达式的值:等于表达式n的值用途:常用于循环for语句中例如:value=(x=10,y=5,x+y);

首先将10赋值给x,然后将5赋值给y,最后将15(即10+5)赋值给value。2.4优先级与结合性优先级用于确定复杂表达式求值时不同运算符的计算顺序。结合性用来决定复杂表达式求值时含有同优先级运算符的计算顺序。左结合表达式3*8/4%4*5等价于((((3*8)/4)%4)*5)右结合表达式a+=b*=c-=5等价于(a+=(b*=(c-=5)))2.5类型转换隐式类型转换显示类型

温馨提示

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

评论

0/150

提交评论