1、(二) 变量:在程序运行期间,变量的值是可以改变的。1. 变量必须先定义后使用。2. 刚定义尚未赋值的变量具有随机值。3. 定义变量要同时定义名字和类型。4. 变量名和变量值是两个不同的概念。i. 变量名实际是以这个名字代表一个内存地址。ii. 变量值就是该内存单元当前存储的值。(三) 标识符:一个对象的名字。1. 只能由字母,数字和下划线三种字符组成,而且第一个字符必需为字母或下划线。2. 标识符的长度无限制,但不能以关键字作为标识符。3. 不合法的标识符:M.D.John,#33,3D64,Include。(四) 数据类型:就是对数据分配储存单元的安排,包括储存单元的长度以及数据的存储形式
2、。数据类型宽度Char1BShort int 2BInt4BLong intFloatDouble8BLong double80B整数的默认时signed,各整数类型均可加修饰符unsigned表示无符号整数类型,unsigned int可以简写成unsigned.1. 整型: 一个十进制数是0到9的序列。 十六进制应该加前缀0x。如:0xfa,0xAE03 八进制应该加前缀0.如:030. 使用科学记数法,e/E的后面绝对不能在跟小数,且E/e的前面必须有值。2. 字符型: 用单引号括起来的单个字符。a,0.实际上存储的是该数据的ASCII码。所以也可以把他们看成是整型量,C语言容许对整型变
3、量赋以字符型,也允许对字符变量赋以整形值。3. 转义字符:转义字符含义bBackspacetTabn换行r回车”双引号单引号反斜杠4. 字符串: C语言中并没有字符串类型,用字符数组来处理字符串。 字符串是由一对双引号括起来的字符数列。 字符串常量和字符常量的区别: 字符常量由单引号括起来,字符串常量由双引号括起来。 字符常量只能是单个字符,字符串常量则可以是一个或多个字符。 字符常量占一个字节的内存空间,字符串所占的内存空间常量等于字符串中的字符数加一。增加的一个字节中存放字符0. ASCII为0,这是字符串结束的标志。 Ex: a在内存中占一个字节,“a”在内存中占2个字节。 在C语言中,
4、可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义:#define 标识符常量名 常量值 #define是一条预处理命令,称为宏定义命令,其功能是把该标识符定义为其后的常量值。习惯上常量的标识符用大写字母,而变量名用小写字母。(五) 运算符:1. 算术运算符: 整数除法:两个整数相除的结果为整数。Ex:5/3=1,舍去小数部分。-5/3=-1,向零取整。 浮点除法:保证除数和被除数中至少有一个是浮点数。Ex:5/4.0=1.25. %模运算要求运算元为整数,结果也是整数。5%3=2. C语言没有乘方运算,但pow函数可以实现乘方运算。pow(x,y)x的y次方。#in
5、clude.算数运算符的优先级与结合性:先乘除后加减,从左至右。 不同类型数据的混合运算:类型的自动转换,编译系统会自动把各操作系统操纵数转化为操作数中最长的类型。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,()、(结构体成员运
6、算符)、(指向结构体成员运算符) 2,单目运算符 !(非)、(自减)、(自加)、(按位取反) 、正号(+)、负号(-)3,算术运算符 *、 %、 /,+、-4,关系运算符 =、 b)?a:b 中? :为3目运算符 !a 为单目运算符. 单目,三目运算符都为自右向左结合,双目运算符除赋值运算符都为自左向右结合5. 关系运算符:,=,=,=,!=.用来比较两个操作数之间的关系,运算结果为1或0.6. 逻辑运算符:!,&,|。用来实现逻辑运算和逻辑判断。用非0表示逻辑值的true,用0表示逻辑值的false。7. 条件运算符:三目运算符:表达式a?表达式b:表达式c若表达式的值非0,则返回表达式b的
7、值;若表达式的a的值为0,则返回表达式c的值。8. 逗号运算符:用来将若干独立的表达式分隔并连接构成一个逗号表达式。9. 赋值运算符:变量=表达式。右结合性。三 输入输出函数(一) 控制台I/O:程序与外界交流。(二) C语言中所有的I/O都是由库函数完成的,要用#include将相关头文件包含在源文件当中。使用标准输入输出函数时要用到stdio.h文件。(三) 格式输出函数:printf(“格式控制字符串”,表达式列表)。格式字符意义d,i以带符号的十进制输出整数o以八进制形式输出无符号整数(不带前缀0)X,x以十六进制的无符号数输出整数(不带前缀0x)u以无符号的十进制形式输出整数f以小数
8、的形式输出单,双精度实数,隐含6位小数E,e以指数的形式输出单,双精度实数G,g以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串格式修饰符: %-m.nlf,%-mld字符说明l用于输出长整形数据以及double型数据m数据显示的最小宽度n对实数,表示输出n位小数。对字符串,表示截取的字符个数。-输出的数字或字符在显示宽度区域内左对齐。 未指定输出宽度m,则按实际位数输出。 未指定小数位数,默认6位。 宽度计算中小数点要占一位。 若数据实际宽度比制定宽度要小,默认右对齐,即左补空格。有修饰符-,则左对齐,即右补空格。 若数据的实际宽度比指定宽度大,则按实际宽度输出。格式
9、输入函数:用户用指定的格式从盘上把数据输入到指定的变量中。scanf(“格式控制字符”,变量地址列表); 在scanf语句的格式字符串中,如果没有非格式字符在“%d%d%d”之间做输入时的间隔,在输入时要用一个或一个以上的空格或回车或TAB键作为输入数据之间的间隔。 scanf函数中的格式控制后面应当是变量地址,而不是变量名。 不能用格式控制来规定输入数据的精度。 scanf(%7.2f,&a); %f, & 如果输入在格式控制字符串中除了格式字符还有其它字符,那么在输入时这些字符将被作为间隔符,要输入相同的字符。 scanf(“a=%d,b=%da,&b) a=12,b=34在输入数据时遇到
10、以下情况,则认为是一个数据输入的结束:遇到空格键,回车键,tab键。满足域宽,如%4d,输入4位结束。遇到非法字符。 在输入字符型数据时,若格式控制字符中没有非格式字符,则认为所有输入的字符均为有效字符。 如:%c%c%cb,&c); 只有当输入为:def 时(即:不能有间隔),才能把d赋于a,e赋予b,f赋予c。四 流程控制(一) 顺序: 按语句的先后顺序依次执行。 复合语句:可用括起来的多个语句,构成一个复合语句。在C语言中复合语句被认为是一条语句。(二) 分支:if语句:实现两个分支的选择结构。最常用的3种if语句的形式:1. if (表达式) 语句1 (没有else子句)2. if (
11、表达式) 语句1 else 语句2 (有else子句)3. if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else 语句m+1IF嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套。else总是与它上面最近的为配对的if配对。if( ) if( ) 语句1 else 语句2 else if( ) 语句3 else 语句4 Switch语句:实现多分支的选择结构。根据表达式的值,使流程跳转到不同的语句。 switch语句的一般格式:switch(表达式) case 常量1 :语句1 case 常量2 :语句2 ca
12、se 常量n :语句n default : 语句n+1switch语句中表达式和常量可以是整形以及字符型。任何两个case后面的常量不可有相同的值。先计算表达式的值,在根据表达式的值转向不同的分支。每个case分支的语句无需用括起来。每个case分支都是入口点。break语句时转移语句,即跳出switch,无break语句,将执行入口点之后的所有语句。(三) 循环: While(表达式) 语句先判断循环条件表达式的值,若为真,则执行循环体;若为假则不执行循环体语句。 do循环体语句whilie(表达式)先无条件执行一次循环体,然后在判断循环条件是否成立。 For(表达式1;表达式2;表达式3)循环体语句。表达式1:为循环变量设置初始值。表达式2:判断是否继续循环。表达式3:修改循环变量的值。循环嵌套:一个循环体内又包含另一个完整的循环结构,称之为循环嵌套。内层循环中还可以嵌套循环,这就是多层循环。3种循环可以互相嵌套。三种循环的比较: 一般情况下,三种循环可以互相代
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1