编程入门基础知识点总结资料教学教材.docx
《编程入门基础知识点总结资料教学教材.docx》由会员分享,可在线阅读,更多相关《编程入门基础知识点总结资料教学教材.docx(15页珍藏版)》请在冰豆网上搜索。
编程入门基础知识点总结资料教学教材
一、常量
Ø数字常量
i.普通数字:
1,35,2.7
ii.指数形式:
2.45e-2等价于2.45*10-2注意e大小写皆可,e前面的数字不能省,就算是1也不能省,后面的数字一定要是整数
iii.长整型,单精度浮点型:
3235L,32.5F分别表示3235是长整型数据,32.5是单精度浮点型左,若不写上L,F则表示3235是整型,32.5是双精度浮点型,L,F大小写皆可
Ø字符常量
iv.普通字符常量:
用单引号把一个字符括起来,如’A’,’@’
v.转义字符常量:
一对单引号括起来并以“\”开头的字符序列,如’\n’(回车)、’\123’(8进制123对应的字符),’\x23’(16进制23对应的字符)
Ø字符串常量
用一对双引号把一个字符序列括起来,如“ABCef”,系统存放字符串常量,每个字符分配一个字节,各字符所占字节紧邻,并且字符串末尾会给再开一个字节里面放一个’\0’做为结束标志。
Ø符号常量
定义格式#define符号常量名符号常量值,如#defineN20则定义了符号常量N,其值为20,注意符号常量名和符号常量值之间是用空格隔开,而不是写上=号,#define和符号常量名之间也有空格的。
Ø题目:
P7—1,5,6,7,9,10
二、标识符
Ø命名规则
以数字,字母,下划线这三类字符组成,但只能以字母或下划线开头,而不能也数字开头,另外不能将关键字做为标识符。
32个关键字表在P365附录B
Ø变量名,函数名,符号常量名全都是标识符
Ø题目:
P7—2,3,4
三、变量
Ø变量的定义格式
类型名变量名;
如inta;定义了一个整型常量a。
变量名是由人类随便定义的,符合命名规则的前提下,爱写啥就写啥。
所以什么flag,cc,y1或者函数名fun,find等全部是自定的用来做为名字而已,没有更特别的意义。
Ø类型名
int整型,long长整型:
用于存放整数,只是数值范围不同
float单精度浮点型double双精度浮点型:
用于存放实数,数值范围,精度不同
char字符型:
用于存放字符
Ø变量赋值,初始化
inta=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
Ø强制类型转换
格式:
(类型名)表达式。
将后跟的表达式的值的数据类型转换为与圆括号内的类型名一致的类型。
注意类型名一定要用()括起来。
Ø算术表达式
iv.算术运算符:
+,-,*,/,%(求余)
v.由算术运算符加上运算对象构成算术表达式,如3+3*6-9/2
vi.值:
跟我们小学时学的一样,就是表达式的计算结果
vii.整数除以整数结果取整数部分,故1/3得到的值是0
viii.5%3结果为2,想想小学除法,求余得到的是余数不是商。
Ø赋值表达式
ix.赋值运算符:
=,+=,-=,*=,/=,%=
x.赋值表达式:
变量=表达式,如x=3+6,x+=6-9,x+=x*=3+4注意等号左边只能是变量
xi.复合赋值运算符的运算:
以/=为例:
x/=表达式等价于x=x/(表达式)
xii.值:
=号左边的变量最终的值
Ø关系表达式
xiii.关系运算符:
<,>,<=,>=,==(等于),!
=(不等于)
xiv.由关系运算符加上运算对象构成关系表达式,如3>=4,2==a
xv.值:
满足相应运算符所指定的关系的值为1,否则为0
Ø逻辑表达式
xvi.逻辑运算符:
&&(且),||(或),!
(非)
xvii.由逻辑运算符加上运算对象构成逻辑表达式,如3&&4,x||!
y
xviii.值:
满足相应运算符所指定的关系的值为1,否则为0
xix.进行||或运算时,若||左边的表达式值为1,则不再对右边的表达式进行运算。
xx.进行&&且运算时,若&&左边的表达式值为0,则不再对右边的表达式进行运算。
Ø逗号表达式
xxi.逗号运算符:
,
xxii.用逗号将各种表达式连续起来构成逗号表达式,如3+4,a=9,8*a
xxiii.值:
组成逗号表达式的各个表达式中的最后一个的值,如上例为8*a
Ø题目:
P7—11~17P8—18~33
五、输入输出函数
Øscanf(“格式控制串”,变量地址表列);
如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,+,5
2.若是这种格式scanf(“%d%d”,&a,&b);则输入时应:
35;
3.若是这种格式scanf(“%d%c%d”,&a,&ch,&b);则输入时应3+5,若写成3+5则a=3,ch=‘’(空格),b=任意值(自己上机运行看看结果)
Øprintf(“格式控制串”,输出项表列);
如floatx=7.5;printf(“%8.2f”,x);此处的意思是将x打印出来,且占8列,保留两位小数。
自己上机运行看看效果。
Ø常用格式符汇总:
iv.%d:
输入输出整型数据,%ld:
输入输出长整型数据
v.%c:
输入输出字符型数据
vi.%f:
输出单(双)精度浮点型数据,输入单精度型数据。
%lf:
输入双精度型数据
vii.%s:
输入输出一个字符串,用printf输出字符串时,输出项书写时可为字符串常量,或字符数组名。
如printf(“%s”,”hello”);或charstr[10]=”hello”;printf(“%s”,str);
viii.%u:
输入输出无符号整型,%o:
输入输出八进制数,
%x:
输入输出十六进制数
Øgetchar();
函数调用后返回用户输入的一个字符,故需再定义一个变量来存放这个字符,即使用时应charc;c=getchar();意思就是接收用户输入的一个字符,并将其赋值给变量c。
Øputchar(字符常量或字符变量名);
如charc=’A’;putchar(c);或putchar(‘A’);都会向屏幕输出字符A。
六、C语言的语句
Ø表达式语句:
由表达式末尾加上分号构成。
Ø函数调用语句:
由函数调用表达式加上分号构成。
Ø空语句:
;
Ø选择结构语句:
if语句switch语句
Ø循环语句:
for语句while语句dowhile语句
Ø复合语句:
用花括号{}将以上任意语句括起来构成一条复合语句。
七、C程序的基本结构
voidmain()
{声明部分:
用来定义变量和声明自定义函数的原型,需以“;”结尾,如intx;
执行语句部分:
第六点里介绍的各种语句,如x=3;printf(“%d”,x);
}
main函数外可写自定义函数。
如
intmax()
{
return0;
}
八、选择结构语句
Øif(表达式)语句1else语句2
如果if语句的圆括号内的表达式值为非0,则执行语句1,值为0则执行语句2。
i.表达式可为任意表达式,if语句执行的实质是判断表达式的值是否为0来决定执行语句1还是语句2。
另外请在此处表达严重关切,不管是高手还是菜鸟经常会把判断两个数相等的符号“==”写成了一个等号“=”成为了赋值运算,这样的写法不会引发编译错误,但结果会与原意大大不同,所以考试前请再三提醒自己。
ii.语句1和语句2都只能是一个语句,若要跟多条语句,切记用一对{}括起来,构成复合语句;也不要随便在圆括号后加“;”,因“;”构成一条空语句,这会使后面跟的语句1不再属于if语句的组成部分。
iii.if语句的三种结构
1.单边:
if(表达式)语句
2.双边:
if(表达式)语句1else语句2
3.多层(重点掌握):
if(表达式1)语句1
elseif(表达式2)语句2
elseif(表达式3)语句3
…
else语句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循环语句
for(表达式1;表达式2;表达式3)循环体语句
语句执行过程:
1.计算表达式1
2.判断表达式2的值是否为0,若为0,语句执行结束,若不为0,进入步骤3
3.执行循环体语句(需注意的是循环体语句只能有一个语句,若要包含多个语句要用一对{}括起来,构成一条复合语句,此处也不要随便加上“;”,因一个“;”可构成一条空语句,这会使得后面真正的循环体语句不属于for循环语句的部分)。
进入步骤4
4.计算表达式3,然后重新进入步骤2
Øwhile循环语句dowhile循环语句