您好,欢迎访问三七文档
C语言期末复习之基础知识篇---杨士帅一C语言概述程序:一组计算机能够识别和执行的指令。指令的有序的集合。计算机语言:人和计算机交流信息,计算机和人都能识别的语言C语言的注释://单行注释/*……*/多行注释。C语言的结构:1.由一个或多个源程序文件组成。2.函数是C程序的基本单位。3.一个C程序至少含有一个main函数,也可以由一个main函数和若干个其他函数组成。4.C的这些特点容易实现程序的模块化。5.C程序总是从main函数开始执行,而且不论main函数的位置如何。每个语句和数据的定义后面必须有一个括号。C语言本身没有输入输出函数,输入输出操作是库函数scanf和printf提供的。二数据的类型和运算(一)常量:在程序运行的过程中,其值不能被改变。1.整型常量:1000.2.实型常量:0.34,12.34e3.3.字符常量:’a’,’\n’.4.字符串常量:“boy”。5.符号常量:#definePI3.1416(二)变量:在程序运行期间,变量的值是可以改变的。1.变量必须先定义后使用。2.刚定义尚未赋值的变量具有随机值。3.定义变量要同时定义名字和类型。4.变量名和变量值是两个不同的概念。i.变量名实际是以这个名字代表一个内存地址。ii.变量值就是该内存单元当前存储的值。(三)标识符:一个对象的名字。1.只能由字母,数字和下划线三种字符组成,而且第一个字符必需为字母或下划线。2.标识符的长度无限制,但不能以关键字作为标识符。3.不合法的标识符:M.D.John,#33,3D64,Include。(四)数据类型:就是对数据分配储存单元的安排,包括储存单元的长度以及数据的存储形式。数据类型宽度Char1BShortint2BInt4BLongint4BFloat4BDouble8BLongdouble80B整数的默认时signed,各整数类型均可加修饰符unsigned表示无符号整数类型,unsignedint可以简写成unsigned.1.整型:一个十进制数是0到9的序列。十六进制应该加前缀0x。如:0xfa,0xAE03八进制应该加前缀0.如:030.使用科学记数法,e/E的后面绝对不能在跟小数,且E/e的前面必须有值。2.字符型:用单引号括起来的单个字符。如:’a’,’0’.实际上存储的是该数据的ASCII码。所以也可以把他们看成是整型量,C语言容许对整型变量赋以字符型,也允许对字符变量赋以整形值。3.转义字符:转义字符含义\bBackspace\tTab\n换行\r回车\”双引号\’单引号\\反斜杠4.字符串:C语言中并没有字符串类型,用字符数组来处理字符串。字符串是由一对双引号括起来的字符数列。字符串常量和字符常量的区别:字符常量由单引号括起来,字符串常量由双引号括起来。字符常量只能是单个字符,字符串常量则可以是一个或多个字符。字符常量占一个字节的内存空间,字符串所占的内存空间常量等于字符串中的字符数加一。增加的一个字节中存放字符‘\0’.ASCII为0,这是字符串结束的标志。Ex:‘a’在内存中占一个字节,“a”在内存中占2个字节。5.符号常量:在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义:#define标识符常量名常量值#define是一条预处理命令,称为宏定义命令,其功能是把该标识符定义为其后的常量值。习惯上常量的标识符用大写字母,而变量名用小写字母。(五)运算符:1.算术运算符:整数除法:两个整数相除的结果为整数。Ex:5/3=1,舍去小数部分。-5/3=-1,向零取整。浮点除法:保证除数和被除数中至少有一个是浮点数。Ex:5/4.0=1.25.%模运算要求运算元为整数,结果也是整数。Ex:5%3=2.C语言没有乘方运算,但pow函数可以实现乘方运算。pow(x,y)x的y次方。#includemath.h.算数运算符的优先级与结合性:先乘除后加减,从左至右。不同类型数据的混合运算:类型的自动转换,编译系统会自动把各操作系统操纵数转化为操作数中最长的类型。EX:若int型与float或double型数据进行运算时,系统会自动把int与float型数据转化为double型,然后在进行运算,结果时double型。2.自加自减运算符:i++,i--:在使用i之后将i的值加/减1.++I,--i:在使用i之前,先将i的值加/减1.3.强制类型转换:(double)a将a转化为double类型。短类型-长类型安全长类型-短类型有可能会丢失数据。4.运算符的优先级:1,()、{}、[]、.、(结构体成员运算符)、->(指向结构体成员运算符)2,单目运算符!(非)、--(自减)、++(自加)、~(按位取反)、正号(+)、负号(-)3,算术运算符*、%、/,+、-4,关系运算符、、=、=,==、!=5,逻辑运算符&&和||6,赋值运算符=7,逗号运算符(表达式1),(表达式2),(表达式3)...还有就是左右运算顺序a+b+为双目运算符,(ab)?a:b中?:为3目运算符.!a为单目运算符.单目,三目运算符都为自右向左结合,双目运算符除赋值运算符都为自左向右结合.5.关系运算符:,,=,=,==,!=.用来比较两个操作数之间的关系,运算结果为1或0.6.逻辑运算符:!,&&,||。用来实现逻辑运算和逻辑判断。用非0表示逻辑值的true,用0表示逻辑值的false。7.条件运算符:三目运算符:表达式a?表达式b:表达式c若表达式的值非0,则返回表达式b的值;若表达式的a的值为0,则返回表达式c的值。8.逗号运算符:用来将若干独立的表达式分隔并连接构成一个逗号表达式。9.赋值运算符:变量=表达式。右结合性。三输入输出函数(一)控制台I/O:程序与外界交流。(二)C语言中所有的I/O都是由库函数完成的,要用#include将相关头文件包含在源文件当中。使用标准输入输出函数时要用到stdio.h文件。(三)格式输出函数:printf(“格式控制字符串”,表达式列表)。格式字符意义d,i以带符号的十进制输出整数o以八进制形式输出无符号整数(不带前缀0)X,x以十六进制的无符号数输出整数(不带前缀0x)u以无符号的十进制形式输出整数f以小数的形式输出单,双精度实数,隐含6位小数E,e以指数的形式输出单,双精度实数G,g以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串格式修饰符:%-m.nlf,%-mld字符说明l用于输出长整形数据以及double型数据m数据显示的最小宽度n对实数,表示输出n位小数。对字符串,表示截取的字符个数。-输出的数字或字符在显示宽度区域内左对齐。未指定输出宽度m,则按实际位数输出。未指定小数位数,默认6位。宽度计算中小数点要占一位。若数据实际宽度比制定宽度要小,默认右对齐,即左补空格。有修饰符-,则左对齐,即右补空格。若数据的实际宽度比指定宽度大,则按实际宽度输出。4格式输入函数:用户用指定的格式从盘上把数据输入到指定的变量中。scanf(“格式控制字符”,变量地址列表);在scanf语句的格式字符串中,如果没有非格式字符在“%d%d%d”之间做输入时的间隔,在输入时要用一个或一个以上的空格或回车或TAB键作为输入数据之间的间隔。scanf函数中的格式控制后面应当是变量地址,而不是变量名。不能用格式控制来规定输入数据的精度。:scanf(%7.2f,&a);×scanf(%f,&a);√如果输入在格式控制字符串中除了格式字符还有其它字符,那么在输入时这些字符将被作为间隔符,要输入相同的字符。scanf(“a=%d,b=%d,&a,&b)a=12,b=34在输入数据时遇到以下情况,则认为是一个数据输入的结束:遇到空格键,回车键,tab键。满足域宽,如%4d,输入4位结束。遇到非法字符。在输入字符型数据时,若格式控制字符中没有非格式字符,则认为所有输入的字符均为有效字符。如:scanf(%c%c%c,&a,&b,&c);只有当输入为:def时(即:不能有间隔),才能把‘d’赋于a,‘e’赋予b,'f'赋予c。四流程控制(一)顺序:按语句的先后顺序依次执行。复合语句:可用{}括起来的多个语句,构成一个复合语句。在C语言中复合语句被认为是一条语句。(二)分支:if语句:实现两个分支的选择结构。最常用的3种if语句的形式:1.if(表达式)语句1(没有else子句)2.if(表达式)语句1else语句2(有else子句)3.if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3┆elseif(表达式m)语句melse语句m+1IF嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套。else总是与它上面最近的为配对的if配对。if()if()语句1else语句2elseif()语句3else语句4Switch语句:实现多分支的选择结构。根据表达式的值,使流程跳转到不同的语句。switch语句的一般格式:switch(表达式){case常量1:语句1case常量2:语句2┇┇┇case常量n:语句ndefault:语句n+1}switch语句中表达式和常量可以是整形以及字符型。任何两个case后面的常量不可有相同的值。先计算表达式的值,在根据表达式的值转向不同的分支。每个case分支的语句无需用{}括起来。每个case分支都是入口点。break语句时转移语句,即跳出switch,无break语句,将执行入口点之后的所有语句。(三)循环:While(表达式)语句先判断循环条件表达式的值,若为真,则执行循环体;若为假则不执行循环体语句。do循环体语句whilie(表达式)先无条件执行一次循环体,然后在判断循环条件是否成立。For(表达式1;表达式2;表达式3)循环体语句。表达式1:为循环变量设置初始值。表达式2:判断是否继续循环。表达式3:修改循环变量的值。循环嵌套:一个循环体内又包含另一个完整的循环结构,称之为循环嵌套。内层循环中还可以嵌套循环,这就是多层循环。3种循环可以互相嵌套。三种循环的比较:一般情况下,三种循环可以互相代替。循环中应包含使循环趋于结束的语句。用while和do…while循环变量操作应在while和do…while之前完成。而for语句可以在表达式1中实现循环变量的初始化。Break:从循环体中强行退出,结束整个循环。Continue:停止本次循环,直接开始下次循环。五函数使用角度来看函数包括库函数和用户自定义函数。库函数:由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序中包含有该函数的头文件即可在程序中直接调用。用户自定义函数:用户按照需要自己编写的函数。从函数形式来看:函数分为无参数函数和有参数函数。无参数函数:无参数函数一般用来执行一组操作。无参数函数可以带回或不带回函数值。有参数函数:在调用函数时,主调函数要通过参数向被调函数传递数据。函数可以带回或者不带回函数值。一般情况下,被调函数会返回一个函数值,供主函数使用。一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对较大的程序,一般不希望将所有的内容都放在一个文件中,而是将它们分别放在若干个源文件当中,由若干个源文件组成一个C程序。一个源程序文件由一个或多个函数及其他相关语句组成。一个源程序文件是一个编译的单位,在程序进行编译是以源程序文件为单位进行编译的,而不死以函数为单位进行编译的。C程序的执行是从main函数开始的,如果在main函数的执行过程中调用其他函数,调用函数结束后流程返回到main函数,main函数结束时整个程序运行结束。所有函数都是平行和平等的,即在定义函数时是分别进行的,互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数,main函数是被操作系统所调用。定义函数:C语言要求在
本文标题:c语言基础知识
链接地址:https://www.777doc.com/doc-3147636 .html