表达式字母大小写转换

字母大小写转换  时间:2021-05-05  阅读:()
附录AC语言运算符表运算符按照优先级大小由上向下排列,在同一行的运算符具有相同优先级.
第二行是所有的一元运算符.
运算符解释结合方式括号(函数等),数组,两种结构成员访问由左向右*&(类型)sizeof否定,按位否定,增量,减量,正负号,间接,取地址,类型转换,求大小由右向左*/%乘,除,取模由左向右+-加,减由左向右>左移,右移由左向右小于,小于等于,大于等于,大于由左向右==!
=等于,不等于由左向右&按位与由左向右^按位异或由左向右|按位或由左向右&&逻辑与由左向右||逻辑或由左向右=条件由右向左各种赋值由右向左,逗号(顺序)由左向右关于条件运算符的结合方式,参看第3.
4.
2节的解释.
1附录BC语言速查本附录按照分类描述C语言各方面的特征,对于在本书正文里有详细介绍的东西,这里只给出简单介绍和索引.
在下面介绍中,诸如(2.
3.
4)之类的写法表示讨论有关问题的章节编号.
1,关键字C语言总共有32个关键字:autobreak(4.
3.
2)case(4.
5)char(2.
3.
3,5.
1)const(5.
3.
5)continue(4.
3.
2)default(4.
5)do(4.
3.
1)double(2.
3.
2)else(3.
6.
1)enum(8.
4)extern(5.
3.
1)float(2.
3.
2,5.
1)for(3.
6.
3)goto(4.
3.
2)if(3.
6.
1)int(2.
3.
1,5.
1)long(2.
3.
1,5.
1)register(5.
3.
5)return(3.
3.
1,3.
2.
3,5.
2.
4)short(5.
1)signed(5.
1)sizeof(6.
2)static(5.
3.
4,5.
3.
5)struct(8.
1.
1)switch(4.
5)typedef(7.
6)union(8.
3)unsigned(5.
1)void(3.
3.
1,5.
2.
4)volatilewhile(3.
6.
2,4.
3.
1)注:关键字auto用于说明自动变量,通常不用;volatile(易变的)表示该变量不经过赋值,其值也可能被改变(例如表示时钟的变量、表示通信端口的变量等).
2,基本类型(2.
3,5.
1,7)C语言的基本类型包括下面列出的类型,字符类型和各种整型对应的无符号类型,还有各种指针类型,关于指针类型的介绍见第七章.
字符类型短整数类型整数类型长整数类型charshortintintlongint浮点数类型双精度浮点数类型长双精度浮点数类型floatdoublelongdouble注:(1)字符类型和所有整数类型都有对应的无符号类型,类型名加unsigned;(2)shortint和longint可以分别简写为short和long;(3)unsignedint类型可以简写为unsigned.
3,字面量的书写形式(2.
3,5.
1)字面量是程序里直接写出的数据,包括各种整数、浮点数、字符和字符串.
整数(各种整型的字面值)由一串数字构成.
第一个数字不是0的是十进制数;以0开头的是八进制数;以0x或0X开头的数字序列表示十六进制数.
加字母u或U后缀表示无符号整数;加字母l或L后缀表示长整数.
(2.
3.
1,5.
1)浮点数(float、double和longdouble类型的字面值)的基本部分包括一个整数部分,一个小数点和一个小数部分.
此后可以有一个指数后缀,其形式是字母e或E后跟一2个可以带符号的整数,表示十进制的指数值;最后还可以有一个字母f,F,l或L作为类型后缀.
f或F表示是float类型的字面量,l或L表示是longdouble类型,无后缀是double类型.
整数或小数部分两者可以缺一个,小数点和指数部分两者可以缺一个.
(2.
3.
2,5.
1)字符是单引号括起来的一个字符,特殊字符的写法见下面的特殊字符表.
(2.
3.
3)字符串字面量是由一对双引号界定的一个字符序列,其中可以写各种能直接写出来的字符,以及按下表列出的换意序列方式描述的特殊字符.
以换意序列描述的特殊字符包括:换行符:\n水平制表符:\t垂直制表符:\v退格符:\b回车符:\r换页符:\f鸣铃符:\a反斜线符:\\问号:\单引号:\'双引号:\"任意字符均可以用换意符号(反斜线符)后跟八进制或十六进制表示,形式为:八进制表示:\ooo十六进制表示:\xhh其中ooo表示三位八进制数字,最左一位只能是0到3;hh表示两位十六进制数字,0到9以及A到F或a到f.
4,运算符与表达式所有运算符的优先级及结合方式见附录A.
下面给出各运算符的简单意义,并列出有关它们的讨论所在的章节.
运算符意义章节运算符意义章节()括号,函数[]数组成分6.
1.
2->由指针取结构成分8.
1.
3.
结构成分8.
1.
2!
逻辑非3.
4.
3~字位取反5.
5++增量3.
7.
1--减量3.
7.
1+(一元)正号2.
4.
1-(一元)负号2.
4.
1&(一元)取地址7.
1.
1(类型)类型强制2.
4.
4sizeof数据或类型的大小6.
2*算术乘2.
4.
1/算术除2.
4.
1%求余数(取模)2.
4.
1+(二元)算术加2.
4.
1-(二元)算术减2.
4.
1>字位右移5.
5大于3.
4.
1>=大于等于3.
4.
1==等于3.
4.
1!
=不等于3.
4.
1&(二元)字位与5.
5^字位异或5.
5|字位或5.
5&&逻辑与3.
4.
3||逻辑或3.
4.
3:条件运算符3.
4.
2,逗号3.
7.
2=赋值3.
2.
2各种更新赋值3.
7.
3常量表达式:3常量表达式用在case后面,描述数组和字段的长度,给枚举常量指定值,给外部变量和局部静态变量提供初始值,给数组、结构变量的成分提供初始值,以及用在条件预处理命令中.
常量表达式在程序加工时被求值,这种表达式里不能包含:赋值运算符、增减量运算符、函数调用、逗号运算符.
对要求整数值的常量表达式,其中的运算对象只能是整数、枚举值、字符、sizeof表达式,浮点数常量必须强制转换到某个整型.
浮点数常量表达式的运算对象只能是整数、浮点数、字符、枚举值、sizeof表达式.
地址常量表达式应表示一个指针值,可以是外部变量、静态变量、函数的地址.
这个指针值可以是通过运算符&作用于外部或静态对象而得到的,或是由数组名、函数名直接创建的.
表达式计算的结果或者就是一个已经说明了的外部或静态变量的地址,或者是一个这种地址加或减一个常数.
创建过程中不应间接访问变量的值.
在预处理命令#if之后的常量表达式中不允许出现sizeof、枚举常量或类型强制.
5,基本控制结构这里列出C语言的各种控制结构,并给出简短的解释.
空语句只包含一个分号.
它的执行什么也不做,通常用于在程序中填补位置(3.
7.
4).
break;中止语句.
退出最内层的循环语句或者switch语句(4.
3.
2).
continue;继续语句.
停止最内层循环体的一次执行,准备开始循环的下次执行(4.
3.
2).
goto标号;转跳语句.
使程序执行立即转到指定标号处.
标号的作用范围是它所在的函数体(4.
3.
2).
return;return表达式;返回语句.
立即结束当前函数的执行,控制返回函数调用处.
第一种形式用于无返回值的函数,第二种形式用于有返回值的函数,在执行时表达式被求值,得到的值转换成函数所要求的返回值类型,作为函数的返回值(3.
3.
1,3.
2.
3,5.
2.
4).
复合语句在形式上是一对花括号,其中可以有一系列的定义或说明,后跟一系列的语句.
这两部分都可以没有(3.
1).
if(表达式)语句1if(表达式)语句1else语句2条件语句.
表达式应为算术类型或指针类型.
首先对表达式求值,若得到的值非0就执行语句1部分;若得到值0,有else部分时执行语句2,否则整个条件语句立即结束(3.
6.
1).
while(表达式)语句当循环语句.
表达式应为算术或指针类型.
首先对表达式求值,得到值0时整个循环语句立即结束;得到非0值时执行语句部分,然后重复这整个过程(3.
6.
2).
4do语句while(表达式);首先执行语句,执行完毕后对表达式求值.
当求出的值非0时重复前面的过程;否则整个语句结束.
这里的表达式也必须是算术类型或指针类型的(4.
3.
1).
for(初值表达式;条件表达式;步进表达式)语句首先求值初值表达式.
然后顺序地反复做:求值条件表达式,执行语句,求值步进表达式.
一旦某次条件表达式求出值0,整个结构的执行就立即结束.
这里的条件表达式必须是算术类型或指针类型的(3.
6.
3).
switch(表达式){case常量表达式:语句序列case常量表达式:语句序列.
.
.
}这里的复合语句称为switch的体,"case常量表达式:"称为case标号.
表达式和常量表达式(称为case常量)可以是各种字符类型或整型,一个switch语句的各个case后的常量表达式的值必须互不相同.
语句的执行过程是:首先求值表达式,用这个值顺序与各case常量表达式的值比较.
发现相等时,就从该标号case后的语句序列开始执行.
switch体中可以有一个default标号,当所有case标号都不匹配时执行转到default标号处.
如果没有default标号,没有标号匹配时整个语句立即结束.
人们通常在每个语句序列的最后放一个break语句,使语句序列执行完毕时执行能退出switch语句.
如果被执行序列的最后没有break语句,执行将进展到随后的语句(case标号的作用就像是普通标号,只表示一个位置).
语句序列可以是空(4.
5).
6,变量的定义与说明简单变量定义及初始化问题见(3.
2.
1,3.
2.
3,5.
3.
5),数组定义及初始化见(6.
1.
1,6.
1.
2),指针变量的有关问题见(7.
1),结构变量、联合变量见(8.
1.
1,8.
3等).
各种变量有关情况请参看:自动变量(3.
2.
1,5.
3.
2,5.
3.
3),寄存器变量(5.
3.
5),外部变量(5.
3.
1,5.
3.
2,5.
3.
5),局部静态变量(5.
3.
4),外部静态变量(5.
3.
5),常变量(5.
3.
5).
变量外部说明的形式及作用参看(5.
3.
1).
7,数组、结构、联合、枚举的描述和类型说明数据描述机制:数组(6.
1.
1,6.
5)、结构(8.
1.
1)、联合(8.
3)、枚举(8.
4).
类型定义的有关问题见(7.
6,7.
7,8.
1.
1),复杂类型的描述和解读见(7.
8).
8,函数定义、调用和原型说明函数定义的基本形式是:返回值类型函数名参数表函数体其中函数名是一个标识符;函数体是一个复合语句;参数表由一对圆括号界定,内有一系列的参数描述,每个描述说明了函数的一个形式参数的名字和它的类型.
描述间用逗号分隔.
无参函数的参数表可以写为()或(void)(3.
3,3.
5,5.
2).
函数调用是一种基本表达式,它的形式是:函数名实际参数表其中实际参数表由一对圆括号界定,里面是一系列的实际参数表达式,表达式间用逗号分隔.
无参函数的调用形式是函数名之后跟一对空的圆括号(3.
3,3.
5,5.
3).
函数原型的书写形式、意义和作用请参看(5.
2.
6,5.
2.
7,5.
2.
8,8.
6).
59,预处理命令预处理命令中最常用的是文件包含#include(5.
4.
1),宏定义#define(5.
4.
2)和一组与条件保留有关的命令#if、#elif、#else、#endif(5.
4.
3).
另两个命令#ifdef、#ifndef也用在条件保留方面:#ifdef标识符等价于#ifdefined标识符#ifndef标识符等价于#if!
defined标识符与#define有关的还有两个特殊运算符#和##.
C语言的预处理命令还有#line、#error和#progma.
有的命令主要是用于编写生成C程序的程序.
读者要了解这方面的情况,请查看参考文献[1][2].
C预处理部分还提供了几个特殊的预定义常量,这些常量比较特殊,它们的形式类似,前后都有两个下划线符号.
有关常量列在表里:__LINE__值为一个整数,表示出现位置的行号__FILE__值为字符串,是被编译的文件名(本文件的名字)__TIME__值为字符串,以"hh:mm:ss"形式表示的当前时间__DATE__值为字符串,以"Mmmddyyyy"形式表示的当前日期__STDC__对于标准的C语言实现,值为110,标准函数库有关库函数及其相关问题请参看有关章节的介绍:标准流输入输出(9.
3)伪随机数生成(5.
5)文件输入输出(9.
2)动态存储管理(7.
5.
2)输入输出的格式描述(9.
3.
2,9.
3.
3)执行控制(9.
5.
2)直接输入输出(9.
2.
5)与环境交换信息(9.
5.
2)文件定位(9.
2.
3)查找与排序(9.
5.
2)输入输出出错处理(9.
2.
4)整数带余除操作(9.
5.
2)各种数学函数(2.
5.
2,9.
5.
1)时间处理(4.
2.
4,9.
5.
3)字符类型判断(6.
4.
4)与实现有关的规定(9.
5.
4)字母大小写转换(6.
4.
4)条件诊断(9.
5.
5)字符串操作(6.
4.
4,9.
5.
1)变长参数表函数的定义(9.
5.
6)存储区操作(9.
5.
1)非局部控制转移(9.
5.
7)串数据转换(9.
5.
2)异常条件与处理(9.
5.
8)本书没有介绍的标准库函数包括:与本地化有关的类型与函数、多字节处理函数、有变长度表类型va_list参数的输入和输出函数等.
需要进一步了解这些函数的读者请参看参考文献[1]或[2].
6

百驰云(19/月),高性能服务器,香港三网CN2 2核2G 10M 国内、香港、美国、日本、VPS、物理机、站群全站7.5折,无理由退换,IP免费换!

百驰云成立于2017年,是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。百驰云提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端...

inlicloud48元/月,云主机,2核1G/200Mbps,可选安徽/上海联通/广州移动/江门移动NAT

inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...

virmach:AMD平台小鸡,赌一把,单车变摩托?$7.2/年-512M内存/1核/10gSSD/1T流量,多机房可选

virmach送来了夏季促销,价格低到爆炸,而且在低价的基础上还搞首年8折,也就是说VPS低至7.2美元/年。不过,这里有一点要说明:你所购买的当前的VPS将会在09/30/2021 ~ 04/30/2022进行服务器转移,而且IP还会改变,当前的Intel平台会换成AMD平台,机房也会变动(目前来看以后会从colocrossing切换到INAP和Psychz),采取的是就近原则,原来的水牛城可能...

字母大小写转换为你推荐
filemedia加多宝和王老吉王老吉和加多宝的区别宜人贷官网宜人贷是不是骗人的爱买网超爱买网的特点discuz伪静态DZ怎么开启全站伪静态开源网店免费开源网上商城系统有哪些dezender如何将shopex和phpwind两个伪静态规则写在一起邮件管理系统什么邮箱管理软件好用?顽固木马专杀工具金山顽固病毒木马专杀 xia zai hou zen me hai shi da bu kai ?一键备份如何一键备份安卓手机操作系统
cn域名 怎样注册域名 北京服务器租用 韩国vps俄罗斯美女 日本动态vps 中国域名网 冰山互联 美国主机评测 virpus t楼 香港机房托管 xfce 服务器架设 免费网站申请 数字域名 重庆双线服务器托管 申请网站 免费邮件服务器 实惠 电信宽带测速软件 更多