表达式转义字符

转义字符  时间:2021-05-20  阅读:()
C语言程序设计基础刘新国第六章数据类型和表达式6.
1数据的存储和基本数据类型6.
2常量和变量6.
3数据的输入和输出6.
4类型转换6.
5表达式C语言的数据类型基本数据类型整型实型(浮点型)字符型构造数据类型数组、结构、联合、枚举指针类型空类型(void)一、基本数据类型的存储整型实型字符型整型数据存储整数的第一位bit用于表示整数的符号1-负数0-正数10000001100000010000000110000001原码、反码、补码正数的原码、反码和补码相同1的补码0000000000000001……32767的补码0111111111111111(215-1,2个字节的存储单元能表示的最大正数)负数的原码、反码和补码不同-1原码1000000000000001反码1111111111111110原码取反补码1111111111111111反码+1原码反码补码32767补码0111111111111111-32767原码1111111111111111反码1000000000000000原码取反补码1000000000000001反码+1-32768=-32767-1补码1000000000000000=-215,2个字节的存储单元能表示的最小负数-32768-10132767327670111111111111111327660111111111111110327650111111111111101……1000000000000000100000000000000000-11111111111111111-21111111111111110……-327671000000000000001-32768100000000000000032767+1=0111111111111111+1=100000000000000(-32768)-32768-1=1000000000000000-1=0111111111111111(32767)浮点型数据存储实型数据的存储x=±m*rem–尾数r–基数e–阶码IEEE标准规定,常用的浮点数的格式为:符号位阶码尾数总位数短浮点数182332浮点数1115264临时浮点数1156480字符型数据存储占据一个字节存储ASCII码二、基本数据类型整型有符号整型无符号整型数据长度intunsigned[int]16或32位short[int]unsignedshort[int]16位long[int]unsignedlong[int]32位字符型char8位实型(浮点型)单精度浮点型float32位双精度浮点型double64位基本数据类型-整型扩展的整数类型:short,long,unsigned[int]有符号整型无符号整型数据长度intunsigned[int]16或32位short[int]unsignedshort[int]16位long[int]unsignedlong[int]32位short(有符号)1000000000000000-32768(-215)011111111111111132767(215-1)unsignedshort(无符号)00000000000000000111111111111111165535(216-1)整数类型的取值范围int32位[-231,231-1]short[int]16位[-215,215-1]long[int]32位[-231,231-1]unsigned[int]32位[0,232-1]unsignedshort[int]16位[0,216-1]unsignedlong[int]32位[0,232-1]基本数据类型-字符型小写字母:'a''b''c'…'z'大写字母:'A''B''C'…'Z'数字:'0''1''2'…'9'括号、标点符号、运算符等等基本数据类型-字符型转义字符换行符\n制表符\t反斜杠\\双引号\"单引号\'\ddd1-3位八进制码代表的字符\xhh1-2位十六进制码代表的字符附录B(ASCII码表,P334)%就是%,不是\%.
但是在scanf和printf函数的控制字符串中,%具有特殊作用(将其后的字符解释为格式字符),所以用%%表示字符%本身基本数据类型-字符型字符具有数值特征(值为ASCII码的整数)'A'6501000001适用算术运算、关系运算整型变量和字符变量的定义和赋值可以互换【ASCII码范围】charc;c='A';或c=65;c+1就是字符'B'基本数据类型-实型实型(浮点型)数据单精度浮点型float双精度浮点型double存储数据精度取值范围(有效数字)float4字节7/8位±(10-38-1038)double8字节16位±(10-308-10-308)数据精度和取值范围数据精度与取值范围是两个不同的概念:floatx=1234567.
89;虽在取值范围内,但无法精确表达.
floaty=1.
2e55;y的精度要求不高,但超出取值范围.
并非所有实数都能在计算机中精确表示实数的常量表示普通表示-12345.
678符号+整数部分+小数点+小数部分科学计数法表示-1.
2345678E5实型常量的类型都是double用f作为后缀,表示浮点数常量3.
14f三、数据的输入输出printf(格式控制字符串,输出参数1,.
.
.
,输出参数n);scanf(格式控制字符串,输入参数1,.
.
.
,输入参数n);格式控制字符串"%d%f%c""k=%d,x=%f,h=%c"格式控制说明符%字符char:%c实数float:%f实数doulbe:%lf整数int:%d整型数据的输入输出扩展整数的格式控制符十进制八进制十六进制int%d%o%xlong%ld%lo%lxunsigned%u%o%xunsignedlong%lu%lo%lx【示例】整型数据输出格式#includevoidmain(void){printf("%d,%o,%x\n",10,10,10);printf("%d,%d,%d\n",10,010,0x10);printf("%d,%x\n",012,012);}运行结果是什么10,12,a10,8,1610,a输出格式的宽度控制inta,b;scanf("%o%d\n",&a,&b);printf("%d%5d\n",a,b);如果输入1717那么运行结果是什么1517宽度控制%md表示:数据输出的宽度为m(包括符号位).
若实际宽度不足m个,左边补充空格.
若大于m,则按照实际宽度输出.
实型数据的输入和输出float:%f或%e以小数或指数形式输入一个单精度浮点数double:%lf或%le以小数或指数形式输入一个双精度浮点数输出printf()float和double使用相同的格式控制说明%f:以小数形式输出浮点数,保留6位小数%e:以指数形式输出实型数据输出示例doubled=3.
1415926;printf("%f,%e\n",d,d);printf("%5.
3f,%5.
2f,%.
2f\n",d,d,d);3.
141593,3.
14159e+003.
142,3.
14,3.
14一共5位小数3位小数点1位实型数据输入输出示例/*假定float的精度为7位,double的精度为16位*/#includeintmain(void){floatf;doubled;printf("inputf,d:");scanf("%f%lf",&f,&d);printf("f=%f\nd=%f\n",f,d);d=1234567890123.
12;printf("d=%f\n",d);return0;}inputf,d:1234567890123.
1234561234567890123.
123456f=1234567954432.
000000d=1234567890123.
123540d=1234567890123.
120120字符型数据输入输出scanf()和printf()%ccharch;scanf("%c",&ch);printf("%c",ch);getchar()和putchar()charch;ch=getchar();putchar(ch);输入输出一个字符输入输出字符示例#includeintmain(void){charch1,ch2,ch3;scanf("%c%c%c",&ch1,&ch2,&ch3);printf("%c%c%c%c%c",ch1,'#',ch2,'#',ch3);return0;}AbCA#b#CAbCA##b输出字符型数据/*字符b的ASCII码98*/#includeintmain(void){charch='b';printf("%c,%d\n",'b','b');printf("%c,%d\n",98,98);printf("%c,%d\n",97,'b'-1);printf("%c,%d\n",ch-'a'+'A',ch-'a'+'A');return0;}b,98b,98a,97B,66字符运算大小写英文字母转换'B'-'b'='A'-'a'……'Z'-'z'='A'-'a'大写字母=小写字母+'A'-'a'小写字母=大写字母+'a'-'A'数字字符和数字转换9-0='9'-'0'8-0='8'-'0'……1-0='1'-'0'数字字符=数字+'0'数字=数字字符-'0'不同类型数据的混合运算,先转换为同一类型,再运算.
自动类型转换非赋值运算的类型转换赋值运算的类型转换强制类型转换三类型转换自动类型转换(非赋值运算)水平方向:自动垂直方向:低高短->长带符号->无符号自动类型转换(非赋值运算)'A'+12–10.
05657766.
95自动类型转换(赋值运算)变量=表达式计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量将赋值运算符右侧表达式的类型自动转换成赋值号左侧变量的类型【例子】自动转换longa=-1;unsignedlongb,c;b=a;问b=c=a+1;问c=c=c+a;问c=自动类型转换(赋值运算)doublex;x=1;x=1.
0shorta=1000;charb='A';longc;c=a+b;c=1065intai;ai=2.
56;ai=2shortbi;bi=0x12345678Lbi=0x5678强制类型转换强制类型转换运算符(类型名)表达式(double)3(int)3.
8(double)(5/2)(double)5/2五表达式表达式:由运算符和运算对象(操作数)组成的有意义的运算式子,它的值和类型由参加运算的运算符和运算对象决定.
运算符:具有运算功能的符号运算对象:常量、变量和函数等表达式算术表达式、赋值表达式、关系表达式、逻辑表达式、条件表达式和逗号表达式等表达式可以嵌套AA+BA+5*x算术表达式-算术运算符单目双目注意/整数除整数,得整数1/4=0,10/3=3%模(求余):针对整型数据5%6=5,9%4=1,100%4=0+和–单目运算符,+10和–10双目运算符,x+10和y–10双目运算符两侧操作数的类型要相同,否则,自动类型转换后,再运算.
自增运算符++和自减运算符--intn;n++++nn----n(只适合变量运算)使变量的值增1或减1++nn++n=n+1--nn--n=n-1取变量的值作为表达式的值++n:n=n+1;取n值作为表达式++n的值n++:取n值作为表达式n++的值;n=n+1自增运算和自减运算intn,m;n=2;m=++n;n=2;m=n++;结果:n为3,m为3等价于m=nm=n+1等价于n=n+1m=n结果:n为3,m为3算术运算符的优先级和结合性单目双目*/%双目+-从右向左-5+3%2=(-5)+(3%2)=-43*5%3=(3*5)%3=0-i++-(i++)写出C表达式数学式C算术表达式s(s-a)(s-b)(s-c)(x+2)e2xs*(s-a)*(s-b)*(s-c)(x+2)*exp(2*x)(-b+sqrt(b*b-4*a*c))/(2*a)赋值表达式赋值运算符=x=3*4优先级较低,结合性从右向左x=y=3x=(y=3)赋值表达式变量=表达式计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量右侧表达式的类型自动转换成左侧变量的类型将赋值运算符左侧的变量的值作为表达式的值intn;doublex,y;n=3.
14*2;x=10/4;x=(y=3);复合赋值运算符赋值运算符简单赋值运算符=复合赋值运算符复合算术赋值运算符复合位赋值运算符赋值表达式变量赋值运算符表达式x+=expx=x+expx*=y–3x=x*(y–3)从右到左结合y=3;x=y+=5;关系表达式-关系运算符比较两个操作数,比较的结果:真假xyx>=yx!
=y优先级算术运算符==!
=赋值运算符左结合a>b==cd=a>bch>'a'+1d=a+b>c3b)==cd=(a>b)ch>('a'+1)d=((a+b)>c)(3b==cd=a>bch>'a'+1d=a+b>cb-1==a!
=c3a和b都为真a&&b为假a和b不全为真(至少一个为假)||逻辑或:a||b为真a和b不全为假(至少一个为真)!
逻辑非:!
a为真a为假!
A为假a为真a与b的逻辑运算aba&&ba||b!
a00001010111001011110逻辑运算运用判断字符ch是否为数字字符ch>='0'&&ch='0'&&ch='a'&&ch='A'&&ch='a'&&ch='A'&&ch=3&&x=3)&&(x0)x+2:x*x;if(x>0)y=x+2;elsey=x*x;z=(a>b)a:b;if(a>b)z=a;elsez=b;if(exp1)值为exp2else值为exp2逗号表达式表达式1,表达式2,……,表达式n依次计算表达式1,表达式2,……,表达式n,并将最后一个表达式的值作为逗号表达式的值.
inta,b,c;(a=2),(b=3),(c=a+b);逗号运算符的优先级最低,左结合可以不用括号:a=2,b=3,c=a+bsum=0;for(i=0;i>对操作数右移给出的位数复合位赋值运算位逻辑运算x=000000000y=300000011x&y00000000x|y00000011x^y000000111010^0101=1111注意区分:&和&&|和||~按位取反&按位与^按位异或:相同取0,不同取1|按位或位移位运算>对操作数右移给出的位数x>3将x向右移3位00111010>>300000111复合位赋值运算符&=|=^=>>=='A'&&ch='a'&&ch='A'&&ch='a'&&ch<='z')ch=ch-'a'+'A';putchar(ch);ch=getchar();}可以把(ch=getchar(n'改为ch=getchar()!
='\n'吗本章内容总结6.
1数据的存储和基本数据类型6.
2常量和变量6.
3数据的输入和输出6.
4类型转换6.
5表达式

快云科技,免云服务器75折优惠服务器快云21元/月

近日快云科技发布了最新的夏季优惠促销活动,主要针对旗下的香港CN2 GIA系列的VPS云服务器产品推送的最新的75折优惠码,国内回程三网CN2 GIA,平均延迟50ms以下,硬件配置方面采用E5 2696v2、E5 2696V4 铂金Platinum等,基于KVM虚拟架构,采用SSD硬盘存储,RAID10阵列保障数据安全,有需要香港免备案CN2服务器的朋友可以关注一下。快云科技怎么样?快云科技好不...

Gcorelabs:美国GPU服务器,8路RTX2080Ti;2*Silver-4214/256G内存/1T SSD,1815欧/月

gcorelabs怎么样?gcorelabs是创建于2011年的俄罗斯一家IDC服务商,Gcorelabs提供优质的托管服务和VPS主机服务,Gcorelabs有一支强大的技术队伍,对主机的性能和稳定性要求非常高。Gcorelabs在 2017年收购了SkyparkCDN并提供全球CDN服务,目标是进入全球前五的网络服务商。G-Core Labs总部位于卢森堡,在莫斯科,明斯克和彼尔姆设有办事处。...

无忧云:洛阳/大连BGP云服务器38.4元/月,雅安物理机服务器315元/月起,香港荃湾CN2限时5折优惠

无忧云怎么样?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点,目前商家开启了夏日清凉补贴活动,商家的机器还是非常...

转义字符为你推荐
manodoperaaltools耳机苹果5更新ios思科ipad2.3ios5eacceleratoraccess violation问题的解决办法!netbios端口26917 8000 4001 netbios-ns 端口 是干什么的photoshop技术什么是ps技术勒索病毒win7补丁由于电脑没连接网络,所以成功躲过了勒索病毒,但最近要联网,要提前装什么补丁吗?我电脑断网好久了iphone连不上wifi为什么苹果手机连不上wifi微信都发不出去?
国外域名 哈尔滨域名注册 免费注册网站域名 泛域名解析 idc评测 老鹰主机 电子邮件服务器 qq云端 台湾谷歌 卡巴斯基免费试用版 in域名 web服务器搭建 西安服务器托管 浙江服务器 阿里云手机官网 广东主机托管 免备案jsp空间 数据湾 葫芦机 godaddy域名 更多