表达式转义字符

转义字符  时间: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表达式

Ftech:越南vps,2核/2G/20G SSD/1Gbps不限流量/可安装Windows系统,$12.5月

ftech怎么样?ftech是一家越南本土的主机商,成立于2011年,比较低调,国内知道的人比较少。FTECH.VN以极低的成本提供高质量服务的领先提供商之一。主营虚拟主机、VPS、独立服务器、域名等传统的IDC业务,数据中心分布在河内和胡志明市。其中,VPS提供1G的共享带宽,且不限流量,还可以安装Windows server2003/2008的系统。Ftech支持信用卡、Paypal等付款,但...

819云互联 香港 日本 美国 2核4G 18元 8核8G 39元 免费空间 免费CDN 香港 E3 16G 20M 230元/月

819云互联是海外领先的互联网业务平台服务提供商。专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前平台研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的海外资源、香港,日本,美国等各国优质的IDC资源。官方网站:https://www.819yun.com香港特价物理服务器:地区CPU内存带宽...

LOCVPS洛杉矶CN2线路KVM上线,洛杉矶/香港云地/香港邦联7折

LOCVPS发来了新的洛杉矶CN2线路主机上线通知,基于KVM架构,目前可与香港云地、香港邦联机房XEN架构主机一起适用7折优惠码,优惠后最低美国洛杉矶CN2线路KVM架构2GB内存套餐月付38.5元起。LOCPVS是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。...

转义字符为你推荐
命令ios10Singlesb支持ipad支持ipad支持ipad支持ipadipad如何上网IPAD4怎样上网?127.0.0.1127.0.0.1打不开联通版iphone4s苹果4S移动版和联通版有什么不同联通iphone4联通iphone4好用吗
短域名 政务和公益机构域名注册管理中心 个人域名注册 什么是域名解析 新加坡服务器 z.com paypal认证 京东云擎 web服务器架设软件 全能主机 777te 免费个人空间申请 129邮箱 太原网通测速平台 广州虚拟主机 申请免费空间 浙江服务器 512内存 apache启动失败 zencart安装 更多