C++语言的基本符号

Python017

C++语言的基本符号,第1张

C++语言的基本符号

C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。下面是我收集的关于C++语言的基本符号,希望大家认真阅读!

C++语言的基本符号与词汇

基本符号:C++中的基本符号可以分为3类、共计92个。

》字母:包括大写英文字母《A~Z》和小写英文字母《a~z》共52个符号。

》数字:包括《0~9》共10个符号。

》特殊符号:包括《 + - * / = , . _ : ? \ " ' ~ | ! # % &( ) [ ] { } ^ <>空格》共30个符号。

关键字:也称为保留字,它是由C++语言本身预先定义好的一类单词,每个关键字在C++语言中都具有特殊的含义,并实现着一定的功能。所以,不能将下述关键字再当做其他类型的单词使用。

标识符:是用户为程序中各种需要命令的“元素”所起的名字。这些“元素”包括:变量、符号常量、函数、函数的参数、结构、类、对象等。

标识符的组成规则:

》标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。

》标识符不能与任意一个关键字同名。

》标识符中的字母区分大小写。

》标识符不宜过长。C++语言不限制标识符的'长度,但多数编译器只识别前32个字符,如果程序中的标识符超过了这个长度,超出的部分被忽略不计。

字面常量:指在程序中固定不变的值。常量一般有两种表示形式,即符号常量和字面常量。

》例如,在“PI等于3.1416“这句话中,PI是一个符号常量,PI的值3.1416称为字面常量。C++语言中符号常量的名字就是一个标识符,而字面常量却是一类特殊的单词。

》字面常量分为整型、浮点型、字符型和字符串型四类。

运算符:对程序中的数据进行操作的一类单词。 C++中的运算符有:

》单字符组成的运算符,例如:+ , - , * , /等。

》双字符组成的运算符,例如:++ , <= , &&, *= , ->等。

》三个字符组成的运算符,例如:<<= , >>=等。

》关键字运算符:new,delete,sizeof。

标点符号:在程序中起分割内容和界定范围作用的一类单词。

C语言程序设计时可以使用的符号包括以下几种:1数据类型定义符号:int、char、float等;2函数定义相关符号:main,void等;3编程语句:if……else,while、switch等;4运算符号:+、-、*、/、<、>等

如果真正掌握了C 语言,你就能很轻易的回答上来。这个问题就请读者试着回答一下吧。本章不会像关键字一样一个一个深入讨论,只是将容易出错的地方讨论一下。

表(2.1)标准C 语言的基本符号

C 语言的基本符号就有20 多个,每个符号可能同时具有多重含义,而且这些符号之间相互组合又使得C 语言中的符号变得更加复杂起来。

你也许听说过“国际C 语言乱码大赛(IOCCC)”,能获奖的人毫无疑问是世界顶级C程序员。这是他们利用C 语言的特点极限挖掘的结果。下面这个例子就是网上广为流传的一个经典作品:

#i nclude <stdio.h>

main(t,_,a)char *a{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,

main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\#q#n+,/+k#*+,/'r :'d*'3,}{w+K w'K:'+}e#'dq#'l \q#'+d'K#!/+k#q#'r}eKK#}w'r}eKK{nl]'/##q#n'){)#}w'){){nl]'/+#n'd}rw' i# \){nl]!/n{n#'r{#w'r nc{nl]'/#{l,+'K {rw' iK{[{nl]'/w#q#n'wk nw' \

iwk{KK{nl]!/w{%'l##w#' i:{nl]'/*{q#'ldr'}{nlwb!/*de}'c \{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \}'+}##(!!/"):t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1):0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,"!ekdc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-Om.vpbks,fxntdCeghiry"),a+1)}

还没发狂?看来你抵抗力够强的。这是IOCCC 1988 年获奖作品,作者是Ian Phillipps。

毫无疑问,Ian Phillipps 是世界上最顶级的C 语言程序员之一。你可以数数这里面用了多少个符号。当然这里我并不会讨论这段代码,也并不是鼓励你也去写这样的代码(关于这段代码的分析,你可以上网查询)。