文档详情

C语言学习必备基础知识点总结

工****
实名认证
店铺
DOC
160.50KB
约17页
文档ID:458246407
C语言学习必备基础知识点总结_第1页
1/17

C语言知识点总结 错误!未定义书签一、 常量 2二、 标识符 2三、 变量 2四、 表达式 3五、 输入输出函数 4六、 C语言的语句 5七、 C程序的基本结构 5八、 选择结构语句 5? if(表达式)语句1 else语句2 5? 条件运算符 表达式 1? 表达式 2 : 表达式 3 6? switch 语句 6九、 循环结构 6? for循环语句 6? while 循环语句 do while 循环语句 6十、 数组 7十^一、 字符串函数 7十二、函数 8十三、指针 9十四、宏定义 10十五、 结构体,共用体,枚举类型 10十六、 Turbo C的使用 12一、 常量? 数字常量i. 普通数字:1, 35, 2.7ii. 指数形式:2.45e-2等价于2.45*10-2注意e大小写皆可,e前面的数字 不能省,就算是1也不能省,后面的数字一定要是整数iii. 长整型,单精度浮点型:3235L,32.5F分别表示3235是长整型数据, 32.5是单精度浮点型左,若不写上 L, F则表示3235是整型,32.5是 双精度浮点型,L,F大小写皆可? 字符常量i. 普通字符常量:用单引号把一个字符括起来,如’A','@'ii. 转义字符常量:一对单引号括起来并以“'开头的字符序列,如’\n'(回 车)、‘\123'(8进制123对应的字符),(\x23((16进制23对应的字符)? 字符串常量用一对双引号把一个字符序列括起来,如“ ABCef ”,系统存放字符串 常量,每个字符分配一个字节,各字符所占字节紧邻,并且字符串末尾 会给再开一个字节里面放一个’\0'做为结束标志。

符号常量定义格式#define符号常量名 符号常量值,如#define N 20则定义了符 号常量N,其值为20,注意符号常量名与符号常量值之间是用空格隔开, 而不是写上二号,#define与符号常量名之间也有空格的二、 标识符? 命名规则以数字,字母,下划线这三类字符组成,但 只能以字母或下划线开头, 而不能也数字开头,另外不能将关键字做为标识符32个关键字表在 P365附录B? 变量名,函数名,符号常量名全都是标识符三、 变量? 变量的定义格式类型名变量名;如int a;定义了一个整型常量a变量名是由人类随便定义的,符合命 名规则的前提下,爱写啥就写啥所以什么flag ,cc,y1或者函数名fun,find 等全部是自定的用来做为名字而已,没有更特别的意义 类型名int整型,long长整型:用于存放整数,只是数值范围不同float单精度浮点型double双精度浮点型:用于存放实数,数值范围, 精度不同char字符型:用于存放字符? 变量赋值,初始化int a=3;定义的同时初始化a=6*9;定义后在程序中进行赋值? 变量的值只有在赋值操作时才会被改变,即将其放在等号左边时才会改变它的值, 或自增自减操作:a=5,a++,a--,像a+3并未改变a的值,只是使用了 a 的值而已.?自增自减运算变量++,++变量,变量--,--变量 使变量的值自增1或自减1 等价于 变量=变量+1 变量=变量-1++,--放于变量前后效果的区别: 当自增自减运算做为表达式的一部分时, ++,--放在变量前面是先自增自减再使用变量的值,放在变量后面则是先使用变量的值,再自增自减。

如 x=3; printf( %d”,++x);则相当于执行了 ++x; printf( %d”,x);这样的操作 所以打印出4再如 x=3; printf( %d”,x++);则相当于执行了 printf( %d”,x); x++;这样的操 作,则打印出3,当然最后x的值还是4四、表达式? 运算符与运算对象 一个运算符都有若干个运算对象,如+必然要跟两个运算对象才能进行 加法运算:3+5°C语言里称需要跟n个运算对象的运算符为n元运算符 一元运算符有:!,(类型名)二元运算符有:+,-,*,/,%(求余),=,+=,-=,*=,/=,%=,< , > , <=, >=,==(等 于),!=(不等于),&&(且),||(或)多元运算符有:,? 运算符的优先级与结合性i. 优先级:同一个运算对象左右两边若同时有两个运算符, 则这两个运算符优先级高的先进行运算ii. 结合性:若同一个运算对象左右两边的两个运算符优先级相同, 则根据结合性判断先进行哪个运算,自左自右结合性的先算左边的运算符,自 右自左的先算右边的运算符iii. 各运算符的优先级与结合性见 P365附录C ? 强制类型转换格式:(类型名)表达式。

将后跟的表达式的值的数据类型转换为与圆 括号内的类型名一致的类型 注意类型名一定要用() 括起来 算术表达式i. 算术运算符:+,-,*,/,%(求余)ii. 由算术运算符加上运算对象构成 算术表达式,如3+3*6-9/2iii. 值:跟我们小学时学的一样,就是表达式的计算结果iv. 整数除以整数结果取整数部分,故 1/3得到的值是0v. 5%3结果为2,想想小学除法,求余得到的是余数不是商 赋值表达式i. 赋值运算符:=,+=,-=,*=,/=,%=ii. 赋值表达式:变量=表达式,如x=3+6,x+=6-9,x+=x*=3+4注意等号 左边只能是变量iii. 复合赋值运算符的运算:以/=为例:x/=表达式 等价于x=x/(表达式)iv. 值:=号左边的变量最终的值? 关系表达式i. 关系运算符: < , > , <=, >=,==(等于),!=(不等于)ii. 由关系运算符加上运算对象构成 关系表达式,如3>=4, 2==aiii. 值:满足相应运算符所指定的关系的值为 1,否则为0? 逻辑表达式i. 逻辑运算符:&&(且),||(或),!(非)ii. 由逻辑运算符加上运算对象构成 逻辑表达式,如3&&4, x||!yiii. 值:满足相应运算符所指定的关系的值为 1,否则为0iv. 进行||或运算时,若||左边的表达式值为1,则不再对右边的表达式 进行运算。

v. 进行&&且运算时,若&&左边的表达式值为0,则不再对右边的表达式 进行运算 逗号表达式i. 逗号运算符:,ii. 用逗号将各种表达式连续起来构成逗号表达式,如3+4,a=9,8*aiii. 值:组成逗号表达式的各个表达式中的最后一个的值,如上例为 8*a?题目:P7—11~17 P8—18~33五、输入输出函数? seanf(格式控制串”变量地址表列);如 scanf( %d%c%d”,&a,&ch,&b); scanf( %4f”,&x);i. 格式控制串可控制截取用户输入的前几个字符给变量, 但不能控制输入几位小数给变量,如不能写成scanf( %4.2f”,&x);ii. 第二个参数给的是地址,即要么是&+变量名或数组元素名的形式,要么就是一个数组名或指针变量名,如 int *p,a; p=&a; scanf( %d”,p);iii. 考试时注意看题目给你写好的scanf的格式1. 若其格式控制串内各格式符用“,”隔开如scanf(%d, %c,%d”,&a,&ch,&b);那输入时也要用逗号隔开,如此例输 入时应:3,+,52. 若是这种格式scanf( %d %d”,&a,&b);则输入时应:3 5;3. 若是这种格式scanf( %d%c%d”,&a,&ch,&b);则输入时应3+5,若写成3+ 5则a=3,ch= ‘ ’(空格),b=任意值 (自己上机运行看看结果)? printf(格式控制串”输出项表列);如float x=7.5; printf( %8.2f”,x);此处的意思是将x打印出来,且占8列, 保留两位小数。

自己上机运行看看效果 常用格式符汇总:i. %d :输入输出整型数据,%ld :输入输出长整型数据ii. %c:输入输出字符型数据iii. %f:输出单(双)精度浮点型数据,输入单精度型数据 %lf :输入双精度型数据iv. %s:输入输出一个字符串,用printf输出字符串时,输出项书写时可为字符串常量,或字符数组名如 printf( %s”,”hello”;或charstr[10]= ” hello”;pri ntf( %s”,str);v. %u :输入输出无符号整型,%0 :输入输出八进制数,%x:输入输出十六进制数? getchar();函数调用后返回用户输入的一个字符,故需再定义一个变量来存放这个 字符,即使用时应char c; c=getchar();意思就是接收用户输入的一个字 符,并将其赋值给变量co? putchar(字符常量或字符变量名);女口 char c='A 'putchar(c);或 putchar( A ';都会向屏幕输出字符 A六、 C语言的语句? 表达式语句:由表达式末尾加上分号构成 函数调用语句:由函数调用表达式加上分号构成 空语句:;? 选择结构语句:if语句switch语句? 循环语句:for语句 while语句do while语句? 复合语句:用花括号{}将以上任意语句括起来构成一条复合语句。

七、 C程序的基本结构void mai n(){声明部分:用来定义变量与声明自定义函数的原型, 需以“;”结尾,如int x;执行语句部分:第六点里介绍的各种语句,如 x=3; printf( %d”,x);}main函数外可写自定义函数女口int max(){return 0;}八、 选择结构语句? if(表达式)语句1 else语句2如果if语句的圆括号内的表达式值为非 0,则执行语句1,值为0则执行语 句2oi. 表达式可为任意表达式,if语句执行的实质是判断表达式的值是否为 0来决定执行语句1还是语句2o另外请在此处表达严重关切,不管是高 手还是菜鸟经常会把判断两个数相等的符号“==”写成了一个等号“=” 成为了赋值运算,这样的写法不会引发编译错误,但结果会与原意大 大不同,所以考试前请再三提醒自己ii. 语句1与语句2都只能是一个语句,若要跟多条语句,切记用一对{} 括起来,构成复合语句;也不要随便在圆括号后加“;”,因“;” 构成一条空语句,这会使后面跟的语句1不再属于if语句的组成部分iii. if语句的三种结构1. 单边:if(表达式)语句2. 双边:if(表达式)语句1 else语句23. 多层(重点掌握):if(表达式1)语句1else if(表达式2)语句2else if(表达式3)语句3else语句n? 条件运算符 表达式1?表达式2 :表达式3若表达式1的值非0,则取表达式2的值做为整个表达式的值,否则取表达 式3的值为整个表达式的值。

如 3>4? 1:2该表达式的值为2? switch 语句switch(表达式){case表达式1 :语句case表达式2:语句case表达式n:语句default:语句}语句执行过程:先计算表达式的值,然后判断该值与表达式 1到表达式n中 的哪个相等,若与表达式i的值相等,则执行表达式i后的所有语句,当遇 到break ;语句时结束整个switch语句的执行表达式1到表达式n的值都 不相等的情况下执行default后跟的语句每个case后可跟多条语句九、循环结构? for。

下载提示
相似文档
正为您匹配相似的精品文档