第1章 C语言概述_第1页
第1章 C语言概述_第2页
第1章 C语言概述_第3页
第1章 C语言概述_第4页
第1章 C语言概述_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章C语言概述1计算机文化的主要内容《离散数学》:包括数理逻辑、集合论、图论等内容,“二进制的原理”《电子线路》:“二进制的物理实现”《计算机组成原理》:“二进制的加法”二进制的原理十进制的数字:

0,1,2,3,4,5,6,7,8,9(西方)

一、二、三、四、五、六、七、八、九、十(中国)二进制的数字:0,1(西方)阴、阳(中国)1.1程序设计与程序设计语言2十进制是如何被发现的?恩格斯《反杜林论》“数和形的概念不是从其他任何地方,而是从现实世界中得来的。人们用来学习计数,也就是作第一次算术运算的十个指头,可以是任何别的东西,但总不是知性的自由创造物。为了计数,不仅要有可以计数的对象,而且还要有一种在考察对象时撇开它们的数以外的其他一切特性的能力,而这种能力是长期的以经验为依据的历史发展的结果。”1.1程序设计与程序设计语言3十进制是如何被发现的?数和形的概念不是从其他任何地方,而是从现实世界中得来的。人们曾用来学习计数,从而用来作第一次算术运算的十个指头,可以是任何别的东西,但是总不是悟性的自由创造物。为了计数,不仅要有可以计数的对象,而且还要有一种在考察对象时撇开对象的其他一切特性而仅仅顾到数目的能力,而这种能力是长期的以经验为依据的历史发展的结果。和数的概念一样,形的概念也完全是从外部世界得来的,而不是在头脑中由纯粹的思维产生出来的。(摘自《马克思恩格斯全集》第二十卷pp.41,《反杜林论》)1.1程序设计与程序设计语言41.1程序设计与程序设计语言德国的莱布尼茨发现了二进制,他认为:“第一天的伊始是1,也就是上帝。第二天的伊始是2,……到了第七天,一切都有了。所以,这最后的一天也是最完美的。因为,此时世间的一切都已经被创造出来了。因此它被写作‘7’,也就是‘111’(二进制中的111等于十进制的7),而且不包含0。只有当我们仅仅用0和1来表达这个数字时,才能理解,为什么第七天才最完美,为什么7是神圣的数字。特别值得注意的是它(第七天)的特征(写作二进制的111)与三位一体的关联。”八卦是由八个符号组构成的占卜系统,而这些符号分为连续的与间断的横线两种。这两个后来被称为“阴”、“阳”的符号,在莱布尼茨眼中,就是二进制的中国翻版。他感到这个来自古老中国文化的符号系统与他的二进制之间的关系实在太明显了,因此断言:二进制乃是具有世界普遍性的、最完美的逻辑语言。5周易八卦图及中华文化的影响

“是故易有太极,是生两仪。两仪生四象,四象生八卦。”(注:是,任何;故,事物;仪,测度)(注:艮gèn,巽xùn)1.1程序设计与程序设计语言6韩国国旗含义:太极图中的红色代表阳,蓝色代表阴,阴阳合一代表宇宙的平衡与和谐。以太极为中心,四角的卦分别象征阴阳互相调和,乾卦代表天空,坤卦代表大地,坎卦是月亮和水,离卦为太阳和火,各个卦还象征着正义、富饶、生命力和智慧。据韩国的解释,国旗底色为白色,象征韩国人民的纯洁和对和平的热爱。而整个国旗则代表韩国人民永远与宇宙协调发展的理想。1.1程序设计与程序设计语言不丹国旗含义:不丹的国旗为长方形,由两个三角形组成,左上方的三角形为金黄色,同中国一样表示帝王之色,象征国王在领导宗教以及世俗事物方面的权力和作用。右下方的三角形为桔红色,象征佛教的精神力量。图案是一条足登四颗白珠的白龙。白龙象征国家的权利,代表“神龙之国”;四颗白珠象征威力和圣洁。7“加密狗”折射出的西方文化东方和西方的动物崇拜西方在文艺复新(14世纪至16世纪)之前,包括在欧洲黑暗的中世纪,西方人从事放牧、狩猎是重要的生活来源手段,狗是忠实的伙伴。而同时期,中国西晋时期(公元前300年左右)已经有发达的农业,牛是主要的生产和交通工具。《世说新语》汰侈篇(注:汰侈,过分骄奢),“王右军少时,在周候末坐,割牛心啖之,于此改观”,“王武子与王君夫较射赌牛”印度的神殿的牛神圣不可侵犯1.1程序设计与程序设计语言81.1程序设计与程序设计语言二进制的物理实现(与)

A、B的开为“0”,关为“1”;灯灭为“0”,灯亮为“1”AB灯00001010011191.1程序设计与程序设计语言二进制的物理实现(或)

A、B的开为“0”,关为“1”;灯灭为“0”,灯亮为“1”AB灯000011101111101.1程序设计与程序设计语言二进制的物理实现(非)

A、B的开为“0”,关为“1”;灯灭为“0”,灯亮为“1”A灯0110111.1程序设计与程序设计语言二进制的加法(异或)

A、B的开为“0”,关为“1”;灯灭为“0”,灯亮为“1”A、B闸刀“向上”为开,闸刀“水平”为关A安装在卧室门口,B安装在床头,方便冬天熄灯睡觉复式房的房内楼梯?AB灯000011101110121.1程序设计与程序设计语言RAM(randomaccessmemory,随机存取存储器),存放的内容可以随机读写,但RAM中的信息具有易失性,关机或断电后信息全部丢失。计算机在运行时,系统程序、用户程序以及所有数据都存放在RAM中ROM(readonlymemory,只读存储器),只能从中读出信息,不能向其中写入信息,在关机和断电后,ROM中的内容仍能保存,不会丢失。ROM的写入,需要专门的编程器完成。131.1程序设计与程序设计语言DRAM记忆元件是靠栅极电容上的电荷保存信息,所以也称电荷存储型记忆元件。字线WCC0位线B仅由一个MOS管和一个电容组成。当字线为高电平时,该电路被选中。执行写操作时,若写“1”,位线上为高电平,对电容C充电;若写“0”,位线上为低电平,C上的电荷很快被泄放掉。执行读操作时,若原存“1”,C上有电荷,在位线产生输出信号;若原存“0”,C上无电荷,位线上无输出信号。141.1程序设计与程序设计语言ROMROM(MOSROM)PROM(programmableROM,可编程的ROM)EPROMUVEPROM(ultravioletEPROM,紫外线擦除EPROM)E2PROM(elctronicallyEPROM,电可改写EPROM)W0W1b0b1b215相关知识:紫外线的故事1801年的一天,德国研究太阳光谱的科学家里特突然想要了解太阳光分解为七色光后有没有其它看不见的光存在。当时他手头正好有一瓶氯化银溶液。人们当时已知道,氯化银在加热或受到光照时会分解而析出银,析出的银由于颗粒很小而呈黑色。里特就想通过氯化银来确定太阳光七色光以外的成份。他用一张纸片醮了少许氯化银溶液,并把纸片放在白光经棱镜色散后七色光的紫光的外侧。过了一会儿,他果然在纸片上观察到醮有氯化银部分的低片变黑了,这说明太阳光经棱镜色散后在紫光的外侧还存在一种看不见的光线,里特把这种光线称为紫外线。紫外线的发现者里特由于家境贫寒,生活清苦,正在他充满憧憬向科学高峰攀登时,却被肺病夺去了生命,在死时年仅34岁。16丹麦科学家芬森家里养了一只猫。一天,芬森到阳台上乘凉,看见家里的猫也静静地躺在地板上晒太阳。他看着看着,觉得很奇怪:每当猫身上晒不到阳光的时候,猫自己就会挪动身体,移到有阳光的地方。芬森心想:“这么热的天,猫为什么还要晒太阳?这里面一定有问题。”芬森走下阳台,来到猫的身边,用手轻轻地抚摸着猫的身体。忽然,他发现猫的身上,有一处正在化脓的伤口。他想:猫是不是利用晒太阳在治疗它的伤口呢?难道阳光里还有什么我们没有发现的东西吗?相关知识:紫外线的故事17芬森带着这种疑问,开始对阳光进行深入的分析研究和实验。终于,他在阳光中发现了一种我们肉眼看不见的光线——紫外线,它具有杀菌的作用,可用于治疗的疾病,效果很好。紫外线被广泛应用到医疗事业上,成为医务人员不可缺少的好帮手。芬森在1930年获得了诺贝尔医学奖。相关知识:紫外线的故事18分级存储为解决速度、容量和成本之间的矛盾。目前的计算机存储器一般分为3级:辅助存储器(也称外存,如光盘、磁盘、U盘等)、主存储器(也称内存)和高速缓冲寄存器(cache,简称缓存)。控制器运算器cache主存储器辅助存储器1.1程序设计与程序设计语言191.1程序设计与程序设计语言多级存储体系的建立,是因为实际的存储器制约因素是价格(每位成本)、容量和速度。这3个基本指标是矛盾的。201.1程序设计与程序设计语言处理器寄存器高速缓冲存储器主存储器(SRAM,DRAM)辅助存储器(磁盘存储器等)大容量(海量)存储器(光盘、磁带存储器)CPU芯片内主机内外部设备联机存储联机文件可卸存储211.1程序设计与程序设计语言硬盘磁表面存储元当具有很窄缝隙的磁头的写线圈中通过电流时,其垂直下方的一个小区间会形成一个局部小磁环,称为存储元。3.剩磁可感应出脉冲电流221.1程序设计与程序设计语言常见的CD-ROM“相变光盘”读写原理:相变型光盘的存储介质通常由硫族(S,Se,Te)化合物制成写入前全部是结晶状态。写“1”时,利用短激光脉冲使结晶态的存储介质局部熔化,骤冷后变成非结晶态。擦去时,则用光波较长的、强度较弱的光脉冲使它复原为结晶态。读出时,根据结晶态和非结晶态对激光束反射率的不同,区别存储的是“0”还是“1”。231.1程序设计与程序设计语言计算机不仅能够对数值数据进行处理,还能够对文本和其它非数值数据信息进行处理。非数值数据是指不能进行算术运算的数据,包括文字、图形、图象和声音等。为了处理文本,需要一个完整而足够的字符集,这个字符集最少应包括:26个小写字母;26个大写字母;约25个特殊字符,如:[,+,-,@,|,#等;10个数字码:0,1,2,3,4,5,6,7,8,9。共计87个字符。这87个字符须用7位“0”,“1”进行编码。241.1程序设计与程序设计语言常用的编码形式有美国信息交换标准代码(ASCII),微型计算机都采用ASCII码。ASCII码字符表,它用8位来表示字符代码。其基本代码占7位,第8位用作奇偶校验位,通过对奇偶校验位设置“1”或“0”状态,保持8位字节中的“1”的个数总是奇数(称奇校验)或偶数(称为偶校验),用以检测字符在传送(写入或读出)过程中是否出错(丢失1)。ENQ(查询)、ACK(肯定回答)、NAK(否定回答)等,是专门用于串行通信的控制字符。251.1程序设计与程序设计语言公元前5000至4000年左右,有了埃及象形文字1799年,法国古文字学家们发掘出一块黑石碑。碑文用3种文字写成,分别是希腊文、古埃及象形文字和后期的埃及文字。法国古代语学者研究并设法释读了古埃及的象形文字。261.1程序设计与程序设计语言汉字虽然还保留象形文字的特征,但由于汉字除了象形以外,还有其他构成文字的方式;而汉字经过数千年的演变,已跟原来的形象相去甚远,所以不属于象形文字,而属于形、音、义相结合的“表意文字”。271.1程序设计与程序设计语言汉字的0、1编码智能ABC全拼五笔字型自然码┆外码键盘管理程序码表机内码字库检索程序字库字模显示驱动程序控制信号281.1程序设计与程序设计语言汉字编码方案:GB2312-1980和GB2312-1990,共收录6763个简体汉字、682个符号,其中汉字分为两级:一级字3755,以拼音排序,二级字3008,以偏旁排序。BIG5编码,是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5401个、二级汉字7652个,共计13053个汉字。GBK编码——《汉字内码扩展规范》(俗称大字符集),兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。Unicode编码(UniversalMultipleOctetCodedCharacterSet),国际标准组织ISO的标准,V2.0于1996公布,内容包含符号6811个,汉字20902个,韩文拼音11172个,造字区6400个,保留20249个,共计65534个。GB18030-2000——2000年3月国家信息产业部和质量技术监督局在北京联合发布的《信息技术和信息交换用汉字编码字符集、基本集的扩充》,收录了27484个汉字,还收录了藏、蒙、维等主要少数民族的文字。该标准于2000年12月31日强制执行。GB18030-2000作为GBKforUnicode291.1程序设计与程序设计语言汉字的输入——汉字外码:按排列顺序形成的汉字编码(流水码),如区位码;按读音规则形成的汉字编码(音码),如全拼、简拼、双拼等;按字形形成的汉字编码(形码),如五笔字型、郑码等;按音、形结合形成的汉字编码(音形码),如自然码、智能ABC。

301.1程序设计与程序设计语言汉字字模:汉字字模的原理与西文字符的字模基本相同,只是由于汉字笔画复杂,为了表达清晰,要比西文字符须要更多的点阵。

一个24×24点阵的汉字字模示例311.1程序设计与程序设计语言汉字系统的工作过程:①用一种输入方法从键盘输入汉字。②键盘管理程序按照码表将外码变换成机内码。③机内码经字库模检索程序查对应的点阵信息在字模库的地址,从字库取出字模。④字模送显示驱动程序,产生显示控制信号。⑤显示器按照字模点阵将汉字字形在屏幕上显示出来。321.1程序设计与程序设计语言王永民与五笔字型:出生河南南阳农民家庭,家境贫寒,父母扒房供其读书从小立大志:“翻开物理课本、化学课本,为什么都是外国人的名字和人头像?中国人为什么不能有自己的发明创造,然后把自己印进课本去?”,考入中国科技大学1982年五笔字型汉字输入法和时任河南省副省长、河南省科委主任的罗干1978至1983年,发明“五笔字型”,提出“形码设计三原理”,首创“汉字字根周期表”,发明25键4码高效汉字输入法和字词兼容技术。在世界上,首破电脑汉字输入每分钟100字大关,获中、美、英三国专利。王永民现任中国科协委员、中国民营科技实业家协会副理事长、北京王码电脑总公司总裁331.1程序设计与程序设计语言离散化后的图像被看成一个由MⅹN的像素(picture-elements,piel)点阵组成的图。每个像点都是一个单色的小方块,放大了就是马赛克。图像中像素点的密度称为图像分辨率(imageresolution),单位为dpi(dotsperinch,每英寸像点数)。341.1程序设计与程序设计语言00000001001000110100010101100111011110001001101010111100110111101111101111011110111111111110111010110100000100000000000100100100351.1程序设计与程序设计语言采样频率定律:采样频率与信号频率之间有一定的关系,根据奈奎斯特理论,只要采样频率高于信号最高频率的两倍,就能把数字信号表示的信号还原成为原来的连续信号。电话语音信号频率为3.4kHZ,采样频率为8kHZ即可满足电话服务质量361.1程序设计与程序设计语言手动计算工具游珠算盘与算盘石子记事371.1程序设计与程序设计语言手动计算工具算筹381.1程序设计与程序设计语言手动计算工具算筹与算盘在计算过程中都要依据口诀进行,这是人类计算工具史上最早的用于计算的专门语言。

例:42+39

三下五去二(计算十位的4+3,结果为72)

九去一进一(计算个位的2+9,结果为81)39B.Pascal及其制造的计算机(1642)1.1程序设计与程序设计语言内动力计算工具Leibnitz及其制造的乘法器(1694)40电动机械式计算机(1930)1.1程序设计与程序设计语言Zuse的继电器式计算机(1938)第1台真空管计算机ABC(1942)

ENIAC(1946)411.1程序设计与程序设计语言提花机:一人在“花楼”根据“花本”提起一部分经线,以便另一人让滑梭牵引着不同颜色的纬线通过。提花机—Babbage分析机—EDVAC——实现自动计算的道路421.1程序设计与程序设计语言花本是提花机上贮存纹样信息的一套程序,它由代表经线的脚子线和代表纬线的耳子线根据纹样要求编织而成。上机时,脚子线与提升经线的纤线相连,此时,拉动耳子线一侧的脚子线就可以起到提升相关经线的作用。织造时上下两人配合,一人为挽花工,坐在三尺高的花楼上挽花提综,一人踏杆引纬织造。东汉王逸《机妇赋》中,用“纤纤静女,经之络之,动摇多容,俯仰生姿”来形容织工和提花工合作操纵提花机的场面。提花机后经丝绸之路传入西方,对现代电子计算机发展中程序控制与存储技术的发明有启示作用。提花机—Babbage分析机—EDVAC——实现自动计算的道路431.1程序设计与程序设计语言JACQUARD提花机和穿孔卡片(1801)1801年,法国人贾卡(Jacquard)在中国束综提花机的基础上发明了新一代提花机,用穿孔纹版代替花本,从而使丝织提花技术进入了一个新时代。441.1程序设计与程序设计语言差分机(1822)和分析机(1834)451.1程序设计与程序设计语言提花机—Babbage分析机—EDVAC——实现自动计算的道路Babbage的设计已经初步具备现代计算机的基本结构:存储器(仓库)运算器(作坊)控制器(穿孔卡片及其阅读设备)输入/输出设备(卡片穿孔设备、印刷厂)总线(运输数据部件)461.1程序设计与程序设计语言提花机—Babbage分析机—EDVAC——实现自动计算的道路H.Aiken和MarkⅠ计算机(1936)JohnVonNeumann电子计算机EDVAC(1952)471.1程序设计与程序设计语言提花机—Babbage分析机—EDVAC——实现自动计算的道路Neumann体系结构示意图481.1程序设计与程序设计语言计算机的自我管理问题的提出存储管理输入输出管理任务管理用户操作界面491.1程序设计与程序设计语言计算机的自我管理

处理器

管理

I/O设备

主存CPU存储管理

设备

管理

外存

文件

管理总线

硬件操作系统用户界面作业管理501.1程序设计与程序设计语言计算机的自我管理硬件操作系统这种非物理地实现计算机功能的扩大,称为计算机的虚拟(virtual)化。511.1程序设计与程序设计语言摩尔定律1965年,摩尔为了完成《电子学》一篇关于半导体工业的约稿时,把几年来芯片的集成度增长的情况总结一下,发现1962年和1965年的芯片的集成度很有规律。他提出,半导体芯片上集成的晶体管和电阻数量每年将翻一番,原因是工程师可以不断缩小晶体管的尺寸。后来又发现18个月更准确。521.1程序设计与程序设计语言摩尔定律531.1程序设计与程序设计语言摩尔定律受到科学发展水平的制约CPU集成度是指在CPU芯片的单位面积上集成电子器件数量的程度。如今的CPU大多数是基于场效应管(MOS管)技术制造的,nMOS管的结构如图所示。CPU集成度用MOS管的“制程”衡量。所谓制程,就是指在一定制造工艺下MOS管可以实现的最小“门控导线”(GATE)长度。一般来说,MOS管的制程越小,CPU的主频越高,CPU的运算速度越快。541.1程序设计与程序设计语言摩尔定律受到科学发展水平的制约按摩尔定律计算,到2010年,一个芯片上晶体管的数量将超过10亿现实印证了科学家的计算:2006年底GATE宽度约为50nm在SiO2介质上GATE宽度的极限是32nm,制程小于此宽度就容易发生电子隧穿、漏电、发热过高等反常效应目前商业用的CPU芯片绝大多数采用SiO2介质,制程为45nm现在Intel公司经过10多年的努力,发现用HfO2(二氧化铪)介质替代SiO2介质后,MOS管的GATE宽度可降至22nm但是,Hf元素的获取成本比Si高很多,因为Hf存在于大多数Zr(锆)矿中,地壳中含量很少,Hf常与Zr共存,无单独矿石,一般由HfCl4(四氯化铪)与Na(钠)加热还原而制得551.1程序设计与程序设计语言摩尔定律受到科学发展水平的制约由于CPU的速度受其集成度的制约,因此,在商业运营成本的范围内,多数服务器厂商以计算机并行技术为基础,以服务器“最高并行工作的CPU个数”为主要指标划分服务器类型。一般来说,小型机(入门级)“最高并行工作的CPU个数”是4颗中型机(中档级)是8颗大型机(高端级)最少是16颗561.1程序设计与程序设计语言OOP的发展和普及(科学发展水平制约的证据)1960’s的SmallTalk两个变量a=2,b=3的数据对换:(=为赋值语句)方法1:c=a;a=b;b=c;方法2:a=a+b;b=a-b;a=a-b;1990’s的C++、Java:物质的硬件发展到一定程度、内存、CPU、硬盘、高速传输接口2007年诺贝尔物理奖得主:瑞典的彼得-格林贝格尔发现巨磁电阻效应:非常弱小的磁性变化就能导致磁性材料发生非常显著的电阻变化。用于读取硬盘数据的技术,得益于这项技术,硬盘在近年来迅速变得越来越小。57第1章C语言概述1.1程序设计与程序设计语言1.2C语言的产生与发展1.3C语言的特点1.4C语言程序简介1.5C语言的运行环境58一、概念程序:人们事先准备好的、用来指挥计算机工作的描述工作步骤的指令序列

程序设计:程序员设计编写程序的过程

程序设计语言:编写程序所用的计算机语言二、程序设计语言的发展机器语言:0、1系列……汇编语言:movax,25Haddbx……(类似于网站域名与IP地址的关系)高级语言:源程序,执行方式分为“编译方式”和“解释方式”1.1程序设计与程序设计语言59三、程序设计方法1.1程序设计与程序设计语言结构化程序设计

(SP,StructuredProgramming)

强调程序设计风格和程序结构的规范化

(易读、易懂)

核心思想:自顶向下,逐步细化

如:工业控制系统面向对象的程序设计

(OOP,Object-OrientedProgramming)601.2C语言的产生与发展78年B.W.Kernighan&D.M.Ritchie合著《TheCProgrammingLanguage》80年代微机逐渐普及,美国国家标准化协会(AmericanNationalStandardsInstitute) 83年ANSIC(1) 87年ANSIC(2)90年代面向对象的程序设计语言C++60年代ALGOL60(高级语言)离硬件远,不宜编写系统软件

CPL BCPL(BasicCombinedProgrammingLanguage)70年代PDPUNIX贝尔实验室

B C(73年)611.3C语言的特点1.语言简洁、紧凑、灵活。(32个关键字、9种控制语句)2.运算符丰富。(44种运算符)3.数据结构丰富。4.具有结构化的控制语句。5.目标代码质量高,程序执行效率高。6.可移植性好。7.兼有低级语言和高级语言的特点,承上启下。8.语法限制不太严格,程序设计自由度大。621.3C语言的特点VisualC++6.0的安装过程在WindowsXPProfessionalSP3版本上安装安装VC6集成开发环境631.4C语言程序简介——简单实例例1.1

在屏幕上显示字符串“ThisisaCprogram.”。

#include<stdio.h> /*文件包含*/

voidmain()/*主函数*/{/*函数体开始*/

printf("ThisisaCprogram.\n");/*输出了一句话*/}/*函数体结束*/

641.4C语言程序简介——简单实例例1.2求整数10、20的和。

#include<stdio.h>voidmain()/*主函数*/{

intfirst,second,sum;/*定义变量*/first=10;/*给变量赋值*/second=20;sum=first+second;/*求a与b的和*/

printf("sum=%d\n",sum);/*输出结果*/}651.4C语言程序简介——简单实例C语言的赋值语句:=先制造某类袋子,再向袋子中放某类东西。661.4C语言程序简介——简单实例例1.3找出任意两个整数中较大的数。 #include<stdio.h>

int

max(intx,inty) /*定义max函数*/ { return(x>y?x:y);/*求出两数中的较大数并返回*/ } /*max函数结束*/ voidmain() { intnum1,num2,m;

printf("Inputthefirstintegernumber:"); scanf("%d",&num1);/*从键盘上输入第一个整数*/

printf("Inputthesecondintegernumber:"); scanf("%d",&num2); /*输入第二个整数*/ m=max(num1,num2);/*调用max,计算两个数的较大数*/

printf("max=%d\n",m); /*输出结果*/ }671.4C语言程序简介——简单实例现实生活与C语言程序的结构类比681.4C语言程序简介——基本元素,逗号(左圆括号>右尖括号%百分号.圆点)右圆括号!感叹号&and(与);分号[左方括号|竖线^xor(异或): 冒号]右方括号/斜杠*乘号? 问号{左大括号\反斜杠-减号‘ 单引号}右大括号~波折号=等于号“ 双引号<左尖括号#井号+加号C语言使用的基本符号共有如下三种:(1)大小写字母:A~Z、a~z(2)阿拉伯数字:0~9(3)标点符号和的运算符:1.字符集(符号集)691.4C语言程序简介——基本元素2.标识符用来标记常量、变量、函数及文件名字的字符序列标识符的构成规则:●以字母(大小写皆可)或下划线开头●随后可跟若干个(包括0个)字母、数字、下划线如:xy3_imaxELSEXA_to_B(合法)

7xint#Nobadonere-input(不合法)注意:区分大小写。如:sum、Sum是二个标识符注意!701.4C语言程序简介——基本元素3.关键字ANSI推荐的C语言的关键字是32个,TurboC另扩展了11个(不常用)asm_cs_ds_es_ss

cdedfarhugeinterruptnearpascal

#define#error#include#if#else#elif#endif#ifdef#ifndef#undef#line#pragma特殊字:主要用在C语言的预处理程序中注意:★所有的关键字和特殊字都有固定的意义,不能用作其它★所有的关键字和特殊字都必须小写如:else与ELSE代表不同含义:else是关键字,ELSE是标识符也称“保留字”.它是C语言中具有特定含义、专门用作语言特定成分的一类标识符.711.4C语言程序简介——基本元素运算符用来对运算对象进行规定(系统预定义的)的运算,并得到一个结果值。运算符通常由1~2个字符组成,如:“+”表示加法运算,“=”表示赋值运算,“==”表示“相等”的判断等。有的运算符中的两个字符是分开的,比如“?:”表示条件运算(如例1.3)。4.运算符分隔符用于分隔各个词法记号或程序正文,用于表示程序中一个实体的结束和另一个实体的开始。

常用的分隔符有: (){},:;空白这些分隔符不表示任何操作,仅用于构造程序。5.分隔符721.4C语言程序简介——基本元素6.注释对程序进行注释和说明形式:

/*

注释内容*/

注意:注释内容可以是一行,也可以是多行;可以是单独一行,也可以在行尾。731.4C语言程序简介——程序组成1.函数是组成C程序的基本构件,并至少有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论