C语言基本语法归纳

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C语言基本语法归纳及实例介绍计算机教学中心李雪飞提纲C语言概况C程序的结构数据类型、运算符与表达式最简单的C程序设计—顺序程序设计选择结构程序设计循环控制数组函数指针C语言概况C的优点1)、高效2)、可移植3)、灵活C的缺点可读性差,学习应用较难。C语言概况--简单的C程序[例1.1]main(){printf(ThisisaCprogram.\n);}该程序的作用:在屏幕上输出一行信息:ThisisaCprogram.1、main()表示“主函数”,每一个C程序都必须有且只有一个主函数。2、main函数体由大括号{}括起来。3、语句后面有一个分号。.4、printf()是C语言的输出函数。双引号内的字符被原样输出。5、“\n”是换行符,即在输出ThisisaCprogram之后换行。[例1.2]求两数之和。main(){inta,b,sum;/*定义三个整型变量。(int=integer)。*/a=123;b=456;/*把常数123赋给变量a,把常数456赋给变量b*/sum=a+b;/*计算a、b之和,并把和值赋变量给sum*/printf(“Sumis%d\n”,sum);/*输出sum的值*/}程序的输出信息为:sumis579/**/中间的内容表示“注释”。注释是程序员对程序某部分的功能和作用所做的说明,是给人看的,对编译和运行不起作用。%d表示输出的数据类型是十进制整数类型。在输出时,该位置用对应变量sum的值代替。[例1.3]输入两个整数,输出其中的最大值。intmax(intx,inty)/*求两数最大值函数max*/{intz;if(xy)z=x;elsez=y;return(z);/*将z的值返回给主函数main*/}/*返回值通过函数名max带回main函数调用处*/main()/*主函数*/{inta,b,c;scanf(“%d,%d”,&a,&b);/*输入a,b的值*/c=max(a,b);/*调用max函数,将实参a,b的值给形参x,y*/printf(“max=%d”,c);/*输出最大值*/}C程序的结构1、C程序是由函数构成的。一个C源程序至少包括一个函数(main函数:它代表程序开始执行的起始位置),也可以包括一个main函数和若干其它函数。因此,函数是C程序的基本单位。C程序中有三种类型的函数:1).main():主函数,每一个C程序必须且只有一个main()函数。2).开发系统提供的特殊函数,如printf()、scanf()等。TurboC开发系统提供三百多个函数。3).程序员自己设计的函数,如例1.3中的函数max()。C的函数相当于其它语言中的子程序。用函数来实现特定的功能。可以说C是函数式的语言。程序全部工作都是由函数来完成的。C的这种特性很容易实现模块化。C程序的结构C程序的结构2、一个函数由两部分组成:(1)函数的说明部分。包括函数名、函数类型、函数属性、函数参数(形参)名、形式参数类型。如intmax(intx,inty)函数类型函数名函数参数类型函数参数名函数参数类型函数参数名(2)函数体。即函数说明部分下面的大括弧{...}内的部分。如果一个函数内有多个大括弧,则最外层的一对{}为函数体的范围。函数体一般包括:①变量定义。如[例1.3]中main函数中的“inta,b,c;”②执行部分。由若干个语句组成。当然,在某些情况下也可以没有变量定义部分(例如[例1.1])。甚至可以既无变量定义也无执行部分,如:dump(){}它是一个空函数,什么也不干,但这是合法的。C程序的结构3、一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前在另一些函数之后)。4、C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。C程序没有行号,也不象fortran或cobol那样严格规定书写格式(语句必须从某一列开始书写)。C程序的结构5、每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成部分。例如:c=a+b;分号不可少。即使是程序中最后一个语句也应包含分号(这是和pascal语言不同的)。6、C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。7、可以用/*……*/对C程序中的任何部分作注释。可以增加程序的可读性。C程序的结构程序开发过程……C源代码编译程序目标代码链接程序可执行代码库C源代码编译程序目标代码数据类型、运算符与表达式§3.1信息在计算机中的存储与表示计算机的基本功能是进行数据的计算和加工处理,程序和数据在计算机的存储是用二进制形式表示的。数与字符是自然信息与计算机二进制信息的中转环节。数制:就是用一组固定的数字和一套统一的规则来表示数据的方法。日常使用的十进制(逢十进一)机器内部的二进制(逢二进一)其它常用的数制:八进制,十六进制不同数制之间的对应表示十进制decimal二进制binary八进制octal十六进制hexdecimal000011112102231133410044510155611066711177十进制decimal二进制binary八进制octal十六进制hexdecimal810008910019101010111011121100131101141110151111161000010ABCDEF201011121314151617数制间的转换1.二、八、十六进制转换为十进制按权展开法。例:(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2=(5.75)10(127.4)8=1×82+2×81+7×80+4×2-1=(87.5)10数制间的转换2.十进制转换为二、八、十六进制整数部分:除R取余法(先余为低,后余为高)小数部分:乘R取整法(先整为高,后整为低)转换精度问题例:(4.6875)10=(?)2结果:(100.1011)2(87.5)10=(?)8结果:(127.47)8数制间的转换3.二进制与八、十六进制之间的转换八、十六进制转换为二进制一分为三、一分为四例:(23.54)8=(010011.101100)2=(10011.1011)2(13.B)16=(00010011.1011)2=(10011.1011)2二进制转换为八、十六进制合三为一、合四为一§3.2C的数据类型数据结构指的是数据的组织形式。不同的计算机语言所允许定义和使用的数据结构是不同的。处理同一类问题,如果数据结构不同,算法也会不同。所以,我们应当综合考虑算法和数据结构,选择最佳的数据结构和算法。数据结构+算法=程序对程序当中所用到的所有数据都必须指定其数据类型。C语言的数据结构是以数据类型形式出现的。C的数据类型如下:§3.2常量与变量3.2.1常量和符号常量3.2.2变量3.2.1常量和符号常量在程序运行过程中,其值不能被改变的量称为常量。常量分为:(1)整型常量;如12,0,-3等;(2)实型常量;如4.6,-1.23等;(3)字符常量;如‘a’,‘d’等;(将在后面的小节中详细讲解)常量一般从其字面形式即可判别,这种常量称为字面常量或直接常量。也可以用一个标识符代表一个常量。如例3.1例3.1符号常量的使用。#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);}程序中用#define命令行定义PRICE代表常量30,此后凡在本文件中出现的PRICE都代表30,可以和常量一样进行运算。程序运行结果为:total=300符号常量用一个标识符代表一个常量的,称为符号常量,即标识符形式的常量。注意:符号常量不同于变量。符号常量的值在其作用域(例3.1中即为main()函数)内不能被改变,也不能被再次赋值。如:在主函数main中再次用“PRICE=40”语句对PRICE赋值是错误的。为了方便区分符号常量与变量,习惯上符号常量名大写,变量名小写。使用符号常量的好处(1)含义清楚。定义符号常量名时应考虑“见名知意”,在一个规范的程序中不提倡使用很多的常数,如:sum=15*30*23.5*43.在检查程序时搞不清各个常数究竟代表什么。应尽量使用“见名知意”的变量名和符号常量。(2)在需要改变一个常量时能够做到“一改全改”。例如,在程序中多处用到某物品的价格,如果价格用常数表示,则在价格进行调整时,需要在程序中作多处修改;若使用符号常量PRICE代表价格,则只需在定义该符号常量处作一次修改即可。如:#definePRICE=353.2.2变量其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。在该存储单元中存放该变量的值。注意:变量名与变量值的区别。3a变量名(一个符号地址,在对程序编译时系统分配给它一个内存地址)变量值(在程序中对变量取值,实际上是通过变量名找到相应内存地址,从其存储单元中读取数据)存储单元变量的使用是程序设计的中心环节之一,应掌握:(1)变量的定义:某一时刻值是确定的,不同时刻可能取不同的值,其改变是不连续的。(2)变量的两个要素变量名:它是一个标识符,代表一定的内存存储单元,存储单元有一个地址。C语言以“&变量名”表示变量的地址。变量值:它存放在相应的存储单元中,C语言在使用变量名时,实际上是在使用存储单元中存放的变量的值。变量的命名规则变量的命名符合一般标识符(名字)的命名规则。(1)“字母数字串”;以字母开头,后边跟以字母或者数字,下划线等同于字母。(汉字看作字母,但编程时尽量避免使用汉字,因为汉字的兼容性不好)(2)建议长度不超过8个字符(可移植性要求);(3)区分大小写(一般使用小写字母);(4)尽量做到“见名知意”,避免使用代数符号(如a,b);(5)不能有空格,不能有小数点。变量的强制定义在C语言中,要求对所有用到的变量作强制定义,就是“先定义,后使用”。这样做的目的是:(1)凡是没有被事先定义的,不作为变量名,这就能保证程序中变量名使用的正确;(2)每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元;(3)制定每一变量属于一个类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。§3.3整型数据3.3.1整型常量的表示方法3.3.2整型变量3.3.3整型常量的类型3.3.1整型常量的表示方法整形常量即整常数。C整常数可用以下三种形式表示:(1)十进制整数。如123、-456、0(2)八进制整数。以0开头的数是八进制数。如0123表示八进制数123,即(123)8,等于十进制数83(1×82+2×81+3×80=83)。-011表示八进制数-11,即十进制数-9。(3)十六进制整数。以0x开头的数是16进制数。如0x123,代表16进制数123。3.3.2整型变量1.整型数据在内存中的存放形式2.整型变量的分类3.整型变量的定义4.整型数据的溢出整型变量的分类(1)基本型,以int表示。(2)短整型,以shortint表示,或以short表示。(3)长整型,以longint表示,或以long表示。(4)无符号型,以存储单元中全部二进位(bit)存放数本身,而不必空出最高位作为符号位。无符号型中又分为无符号整型、无符号短整型和无符号长整型,分别以unsignedint,unsignedshort,unsignedlong表示。如果整量在内存中占2个字节(16位),则int型变量数的范围为-32768~32767。而unsignedint型变量数的范围为0~65535.各类数据所占内存字节数C标准没有具体规定以上各类数据所占内存的字节数,只要求long型数据长度不短于int型,short型不长于int型。具体如何实现,有各计算机系

1 / 262
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功