表达式转义字符

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

hosthatch:14个数据中心15美元/年

hosthatch在做美国独立日促销,可能你会说这操作是不是晚了一个月?对,为了准备资源等,他们拖延到现在才有空,这次是针对自己全球14个数据中心的VPS。提前示警:各个数据中心的网络没有一个是针对中国直连的,都会绕道而且ping值比较高,想买的考虑清楚再说!官方网站:https://hosthatch.com所有VPS都基于KVM虚拟,支持PayPal在内的多种付款方式!芝加哥(大硬盘)VPS5...

RAKsmart美国洛杉矶独立服务器 E3-1230 16GB内存 限时促销月$76

RAKsmart 商家我们应该较多的熟悉的,主营独立服务器和站群服务器业务。从去年开始有陆续的新增多个机房,包含韩国、日本、中国香港等。虽然他们家也有VPS主机,但是好像不是特别的重视,价格上特价的时候也是比较便宜的1.99美元月付(年中活动有促销)。不过他们的重点还是独立服务器,毕竟在这个产业中利润率较大。正如上面的Megalayer商家的美国服务器活动,这个同学有需要独立服务器,这里我一并整理...

HostYun全场9折,韩国VPS月付13.5元起,日本东京IIJ线路月付22.5元起

HostYun是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选,主要提供基于XEN和KVM架构VPS主机,数据中心包括中国香港、日本、德国、韩国和美国的多个地区,大部分机房为国内直连或者CN2等优质线路。本月商家全场9折优惠码仍然有效,以KVM架构产品为例,优惠后韩国VPS月付13.5元起,日本东京...

转义字符为你推荐
SCProute经济开发区127支持ipad支持ipad国家标准苹果5ipad如何上网ipad如何允许app使用网络windows键是哪个Windows快捷键是什么itunes备份itunes就是备份不了怎么办啊win7telnetWin7系统中的telnet命令如何应用?phpecho在php中 echo和print 有什么区别
金万维动态域名 krypt ftp空间 优惠码 外国空间 iis安装教程 网站实时监控 发包服务器 湖南服务器托管 七夕快乐英文 cn3 cdn加速是什么 东莞idc 海外空间 www789 路由跟踪 石家庄服务器托管 西安主机 atom处理器 实惠 更多