C语言基本语法

上传人:ni****g 文档编号:512168115 上传时间:2022-08-21 格式:DOC 页数:24 大小:179KB
返回 下载 相关 举报
C语言基本语法_第1页
第1页 / 共24页
C语言基本语法_第2页
第2页 / 共24页
C语言基本语法_第3页
第3页 / 共24页
C语言基本语法_第4页
第4页 / 共24页
C语言基本语法_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《C语言基本语法》由会员分享,可在线阅读,更多相关《C语言基本语法(24页珍藏版)》请在金锄头文库上搜索。

1、C语言基本语法基本语法介绍预娅命令把小写字母转换成人写字母chara,b;a=,x:b=y:a=a32;b=b-32;pnntf(”c,%cn%d,%diT,a,bab);复介赋值语句右利于编译处理,能提高编译效率并产生质量较高的目标代码C语言中的空语句:wlule(getchar?-W);这里包含了空循环体scanfpimtf:scanf输入数据町以指定数据字段的宽度,但不能规定数据的稱度,而pnntf则町以prmtfC%3,2f;a);这里的3.2表示按实数形式输出,输出宽度为3,如果输出的数不足3,位,则按实际宽度输出,四舍五入保留两位小数预处理命令宋定义(1) 不带参数的宏定义#def

2、mePI3.1415926不用加分号(2) 带参数的宏定义#defmeMAN(a,b)(a)(b)?(a):(b)文松含命令#inchide或#mcludefilename.hno表示在存放C库两数头文件所在目录中去資找,而不再源文件目录去資找“表示首先在当前的原文家目录中查找,若未找到才到存放C库函数头文件所在目录中去找。在实际编程中,冇些公用的符兮常量单独组成一个文件,在其他文件的开头用包含命令包含该文件即可使用。乂件运算符(1)三个表达式的类型可不同,条件表达式值取较高的类型(2)条件运算符的结合方向是从右至左(3)条件运算符可嵌套自定义函数的相关知识变量的存储趣自定义函数:函数分为声明

3、部分和执行部分函数的声明与定义:函数的声明仕程序的数拯內明部分(文件包存命令和mam因数之间),函数的定义的位国可以在调用它的函数(一般在mam函数之外)之前也可以在调用它的两数之后,也可以位于其他的源程序模块中。使用函数的优点:(1)使用函数可以控制任务的规模(2)使用函数可以控制变量的作用范闱(3)使用函数可以可以由多人协作完成程序的开发(4)使用函数町以巫新利用已有的、调试好的、成熟的程序模块(函数)局部变最和全局变最在语句块内定义的变量称之为局部变呈.又称为内部变量,仅在定义它的语句块内有效,并且拥有自己独立的存储空间。在函数之外定义的变量成为全局变量。如果在同一个源文件中,全局变最和

4、局部变最同名,则在局部变量的作用范用内,全局变最不起作用,即被屏蔽S说明:(1)一个函数中既町以使用本函数的局部变量又町以使用有效的全周变量。(2)利用全局变量可以增加函数联系的渠道,从而得到一个以上的返回值(3)全局变量一般第一个字母用大写表示(4)建议在一般情况下不要使用全局变最,因为全局变量一直占用存储空间,降低lie两数的通用性和程序的清晰性,容易出错。变最的存储类型:(1)自动型变量automti=l;auto关键字只能用丁定义局部变量,为默认的类型(2)寄存器型变量register(3)静态型变量static该变最只有在所在的两数内仃效,退出该函数时该变最的值仍然保留,卜次进入后仍

5、然町以使用。退出程序时值才消失。(4)外部型变最externC程序在编译时当遇到extern,先在本文件中找外部变量的定义,如果找到,就在本文件中扩展作用域,如果找不到就在连接时从其他的文件中找到外部变量的定义如來找到.就将作用域扩展到本文件,否则按出错处理。在高级语言的学习中一方面应数鼠京握该语言的语法,因为它是算法实现的基础,另一方面必须认识到算法的重要性,加强思维训练,以便写出高质最的程序。getcharOgetchOgetche()函数和putchait)putchO函数putchar(c)putc11(c)把单个字符c输出到标准设备上getcharOgetche()getchO函数用

6、于从终端输入数据getcharO按enter键之后才接受数据,只接收第一个数据getchO和getche()在输入一个字符后立刻被函数接受,不用按enter键。getchO不回显输入的数据getche()显示输入的数据指针与数组一维数组二维数组字符数组二维字符串指针与F数组一维数组:不允许对数组的长度进行动态定义数组必须先定义后使用数组的定义:mti10mtb=1,23,0,0,0等价于mtb6=1,2,3字符数组:字符数组是由若干个有效字符构成且以字符叭0,作为结束标志的一个字符序列。字符数俎的定义*chara10;对字符数的各个尤素分别进行初始化chara3=Nb;/*余卜的自动补U(T,

7、这时字符数组就变成了字符串*/用字符串常崑来给字符数组进行初始化chai*a13=,flielloworld!H字符敷俎的入出:chaic6用格式符“c”逐个输入输出字符:scanf(,l%c,&cl);prmtfC%c*cl);(2) 用格式符“s”整个输入输出字符串:scanfCsc);prmtfCsc);字符敷俎与字符串的区别$字符数组用来存放和处理字符数组且不加结束标识符就叫(T时,则在程序中只能逐个引用字符数组中的各个字符,而不能一次引用整个字符数组。而字符串则可以对其引用整个数组.其操作的方式一个是数组元素,一个是数组名(1) 输入字符串函数char*gets(char*str);

8、/stdio.h在使用gets。输入字符串时,可以包括空格在内的字符,在回车时,自动骄倣字符串结束标志ro,赋予字符数组的最后一个元素。(2) 输出字符串函数mtputs(chai-str);/stdio.h在使用puts。输出字符串时,将字符串结束标志30,转换成if输出。(3) 字符串复制函数chai-strcpy(charstii,char*str2);/stnng.h不能使用=赋值语句対字符数组整体赋值只能使用stivpyO处理。(4) 字符串比较函数nitstrcmp(cliar*stri,char*sti2);/stmig.h字符串比较不能使用if(str1=str2)的形式,只能

9、使斤strcmpO;(5) 字符串长度测量函数unsignedmtstrlen(char*str);不包扌舌字符串结束字符,(r(6) 找字符或字符串位置函数査找字符的位置:chai-strchitchar*str,chai*ch);查找字符串的位豐:char*strstr(charstrl,charstr2);指针可以简单的认为“指针”就是地址,地址就是指针。一个变量的地址只能使用&符号获得。在C语言中指针被用來标识号内存单元的地址,如果把这个地址用一个变量來保存,则这中噢噢那个变量就成为指指针变量。如指针变量pi只想变量1,那么pi就表示变量1的地址,*pi就表示变量1的值,pj=&i。戶

10、3与邛尸3等价指针变量的使用:先定义,后使用。定义的一般形式:数据类型*指针变量名;指针变量号普通变量建立联系的方法(为指针赋值):指针变最名=&普通变最名;说明:(1) 由于数组名就是该数组的首地址,所以指针变最与数组建立联系时,只需将数组名赋予指针变量即可。(2) 当指针变量没有赋值时,可以赋空指针NULL或0,不能间接引用没有初始化或值为NULL的指针。(3) &取地址运算符,*取只想的值的运算符。指针变最的引用方式:(1) *指针变量名:表示所指变量的值。(2) 指针变量名:表示所指变彊的地址使用指针作为函数的参数:#mcludevoidswap(mt*x,mt*y);voidmain

11、()mta=3、b=4;pnntfChnainl:a=%db=%dnta,b);swap(&a,&b);printf(,mam2:a=%d,b=%dnw,a,b);voidswap(mtmt*y)mta;prmtfCswap:a=%d,b=%dnt車y);a=*x;*x=*y;*y=a;prmtf(Hswap2:a=%d,b=%dnf*x,*y);栅的环指针的运算通常只限于:+,,卄厂(1甘呂针变最加减一个蔡数的算术运算:表示通过加减运算获取新的内存空间的地址:pn,p+c“c表示指针变鼠所指向的数据类型所占用的字节数)(2) 两个指针变量之间的算术运算:只有减法运算,不能进行加法运算,表示两

12、个指针变量Z间的变量个数。(3) 两个指针变最之间的比较:=,!=,=,结果为真(1)或假(0)(4) 指针变量可以指向一个空值有效数据的指针补指向0单元对NULL指针不能使用间接引用。空指针与未对指针变量p赋值足两个不同的概念:空指针指向0单元,而未对指针赋值表示该指针町能指向一个未知的值。栅与一指向一维数组的指针变最:指向维数组的指针成为数组指针。赋值:p=&a0或者p=a获取数组元素ai的值:*(a-hi)指针表示法比下标表示法快的原因:在C编译时,数组元素ai被解释成*(a+i),即按照数组的首地址加上指针相对位移最得到要找的元素的地址,然后找出该单元的内容。指向一维数组元素的指针变最

13、:p=&a浓示p是指针变量,将a6的地址赋了po指向字符串的指针变量:字符串是特殊的一维数组,不过,指向字符串的指针变量的使用方法与指向一般数组的指针变量有所不同。字符指针:chai*sp=tfHelloworld!M;指向字符数组的字符指针:chai*str=nHelloworld!sp=str;二维数组:数据类型数组名行数常量表达式列数常最表达式;赋值运算:a2l=3;取地址预算:&a23;算术运算:alO=aOO+l;其他运算:aij0;砒化,(1)按行初始化mta23=l,2,3,4,5,6,;(2)按顺序初始化mta23=1,2,3,4,5,6;(3)使用关键字static赋值为定义

14、静态存储数组时,如果没有赋初值,则系统自动将全部元素赋予0值或ro,值。(4)对部分元素赋初值数组在対部分元索赋初值时,如果后面的数组元素不賦初值,系统会对耒赋值的所有数组元素自动赋予0值或30,值。(5)全部赋值时数组第一维长度可以省略mta3=1,23,4,5,6(6) 缺省数组第一维长度的部分赋值应使用分行赋值方式明确指定行数mta2=l,l,2,2(7) 通过键盘输入(8) 通过赋值语句逐个尤素赋初值作函数的舛二维数组作为怖数的参数时,时地址传递方式,在被调函数中対数组元素的改变,会影响到主调函数,对二维数组而言,在主调函数和彼调函数中使用数组的方法都一样。在定义被调函数时,二维数组的形参的第一维大小可有可无,有第一维大小时,可以可以时任意人小:而第二维的人小必须仃,并且和主调函数中和应的:维数组的第二维的人小一致。二imff串*求四个字符串中最小字符串的问题:#inchidevoidmmstrnig(chars20,mtn,cliarnnn);voidmain()mt”;chara420ymin20;for(i=0;14;卄)gets(ai);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号