编程入门基础知识点总结

上传人:悦** 文档编号:145318129 上传时间:2022-08-29 格式:DOC 页数:11 大小:120.50KB
收藏 版权申诉 举报 下载
编程入门基础知识点总结_第1页
第1页 / 共11页
编程入门基础知识点总结_第2页
第2页 / 共11页
编程入门基础知识点总结_第3页
第3页 / 共11页
资源描述:

《编程入门基础知识点总结》由会员分享,可在线阅读,更多相关《编程入门基础知识点总结(11页珍藏版)》请在装配图网上搜索。

1、一、常量? 数字常量i. 普通数字:1,35,2、7ii. 指数形式:2、45e2等价于2、45*102注意e大小写皆可,e前面得数字 不能省,就算就是1也不能省,后面得数字一定要就是整数iii. 长整型,单精度浮点型:3235L,32、5F分别表示3235就是长整型数据,32、 5就是单精度浮点型左,若不写上L,F则表示3235就是整型,32、5就是 双精度浮点型丄,F大小写皆可? 字符常量i. 普通字符常量:用单引号把一个字符括起来,如A,ii. 转义字符常量:一对单引号括起来并以“开头得字符序列,如n(回 车)、123(8进制123对应得字符),Ax23(16进制23对应得字符)? 字符

2、串常量用一对双引号把一个字符序列括起来,如“ABCef” ,系统存放字符串常 量,每个字符分配一个字节,各字符所占字节紧邻,并且字符串末尾会给再 开一个字节里面放一个0做为结束标志。? 符号常量定义格式#define符号常量名 符号常量值,如#define N 20则定义了符 号常量N,其值为20,注意符号常量名与符号常量值之间就是用空格隔开,而不就是写上=号 ,#define与符号常量名之间也有空格得。? 题目:P71,5,6,7,9,10二、标识符? 命名规则以数字,字母,下划线这三类字符组成,但只能以字母或下划线开头,而不能 也数字开头,另外不能将关键字做为标识符。32个关键字表在P36

3、5附录 B? 变量名,函数名,符号常量名全都就是标识符?题目:P72,3,4三、变量? 变量得定义格式类型名变量名;如int a;定义了一个整型常量a。变量名就是由人类随便定义得,符合命 名规则得前提下,爱写啥就写啥。所以什么flag,cc,y1或者函数名fun,find 等全部就是自定得用来做为名字而已,没有更特别得意义。? 类型名int整型,long长整型:用于存放整数,只就是数值范围不同float单精度浮点型double双精度浮点型:用于存放实数,数值范围,精 度不同char字符型:用于存放字符? 变量赋值,初始化int a=3;定义得同时初始化a=6*9;定义后在程序中进行赋值? 变量

4、得值 只有在赋值操作时才会被改变 ,即将其放在等号左边时才会改变它得值 , 或自增自减操作:a=5,a+,a像a+3并未改变a得值,只就是使用了 a得值 而已、? 自增自减运算变量+,+变量,变量,变量 使变量得值自增1或自减1 等价于 变量=变量+1 变量=变量 1 +,放于变量前后效果得区别 : 当自增自减运算做为表达式得一部分时 ,+, 放在变量前面就是先自增自 减再使用变量得值 , 放在变量后面则就是先使用变量得值 , 再自增自减 。 如 x=3; printf( %d”,+x);则相当于执行了 +x; printf( %d”,x);这样得操作 所以打印出 4再如 x=3; print

5、f( %d”,x+);则相当于执行了 printf( %d”,x); x+;这样得操 作,则打印出3,当然最后x得值还就是4。四、表达式? 运算符与运算对象 一个运算符都有若干个运算对象 ,如 + 必然要跟两个运算对象才能进行 加法运算:3+5。C语言里称需要跟n个运算对象得运算符为n元运算符。 一元运算符有 :!,(类型名 )二元运算符有:+,*,/,%(求余), =,+=,=,*=,/=,%=, , =, = =(等 于), !=(不等于),&(且) , |(或) 多元运算符有 : ,? 运算符得优先级与结合性i. 优先级:同一个运算对象左右两边若同时有两个运算符 ,则这两个运算符 优先级

6、高得先进行运算。ii. 结合性:若同一个运算对象左右两边得两个运算符优先级相同 ,则根据结 合性判断先进行哪个运算 ,自左自右结合性得先算左边得运算符 ,自右自 左得先算右边得运算符。iii. 各运算符得优先级与结合性见P365附录C? 强制类型转换 格式: (类型名 ) 表达式 。将后跟得表达式得值得数据类型转换为与圆括 号内得类型名一致得类型。 注意类型名一定要用 括起来 。? 算术表达式i. 算术运算符 :+,*,/,%(求余)ii. 由算术运算符加上运算对象构成算术表达式 ,如 3+3*69/2iii. 值:跟我们小学时学得一样 ,就就是表达式得计算结果iv. 整数除以整数结果取整数部

7、分 ,故 1/3 得到得值就是0v. 5%3 结果为 2, 想想小学除法 , 求余得到得就是余数不就是商。? 赋值表达式i. 赋值运算符 :=,+=,=,*=,/=,%=ii. 赋值表达式 :变量=表达式,如 x=3+6,x+=69,x+=x*=3+4 注意等号左边只 能就是变量iii. 复合赋值运算符得运算:以/=为例:x/=表达式 等价于x=x/(表达式)iv. 值:=号左边得变量最终得值? 关系表达式i. 关系运算符 : , =, = =(等于), !=(不等于)ii. 由关系运算符加上运算对象构成 关系表达式 ,如 3=4, 2=aiii. 值:满足相应运算符所指定得关系得值为1,否则

8、为 0? 逻辑表达式i. 逻辑运算符 :&( 且) , |(或) , !(非)ii. 由逻辑运算符加上运算对象构成 逻辑表达式 ,如 3&4, x|!yiii. 值:满足相应运算符所指定得关系得值为1,否则为 0iv. 进行 | 或 运算时,若| 左边得表达式值为 1, 则不再对右边得表达式 进行运算。v. 进行 &且 运算时 , 若&左边得表达式值为 0, 则不再对右边得表达式 进行运算。? 逗号表达式i. 逗号运算符 : ,ii. 用逗号将各种表达式连续起来构成 逗号表达式 ,如3+4,a=9,8*aiii. 值:组成逗号表达式得各个表达式中得最后一个得值,如上例为 8*a?题目:P711

9、17P81833五、输入输出函数?seanf(格式控制串”变量地址表列);如 scanf(“%d%c%d”,&a,&ch,&b);scanf(“%4f”,&x);i. 格式控制串可控制截取用户输入得前几个字符给变量 ,但不能控制输入 几位小数给变量 ,如不能写成 seanf(“%4、2f”,&x);ii. 第二个参数给得就是地址 ,即要么就是 &+变量名或数组元素名得形式 , 要么就就是一个数组名或指针变量名 ,如 int *p,a; p=&a; seanf(“%d”,p);iii. 考试时注意瞧题目给您写好得 sea nf得格式1. 若其格式控制串内各格式符用 “ , ”隔开如 seanf(

10、“%d,%e,%d”,&a,&eh,&b); 那输入时也要用逗号隔开 ,如此例输入时应 :3,+,52. 若就是这种格式scanf( %d %d”,&a,&b);则输入时应:3 5;3. 若就是这种格式 seanf(“%d%e%d”,&a,&eh,&b); 则输入时应 3+5,若写成 3+ 5则a=3,ch= (空格),b=任意值(自己上机运行瞧瞧结果)? printf( “格式控制串 ”,输出项表列 );如float x=7、5; printf( %8、2f”x);此处得意思就是将x打印出来,且占8 列,保留两位小数。自己上机运行瞧瞧效果。? 常用格式符汇总 :i. %d :输入输出整型数据

11、,%ld :输入输出长整型数据ii. %c:输入输出字符型数据iii. %f:输出单(双)精度浮点型数据,输入单精度型数据。%lf:输入双精度型数据iv. %s:输入输出一个字符串,用printf输出字符串时,输出项书写时可为字 符串常量,或字符数组名。如 printf( %s”hello”;或 char str10=”hello”;printf( “%s”,str);v. %u: 输入输出无符号整型 ,%o :输入输出八进制数 ,%x: 输入输出十六进制数? getchar;函数调用后返回用户输入得一个字符 ,故需再定义一个变量来存放这个 字符,即使用时应char c; c=getchar;

12、意思就就是接收用户输入得一个字符 并将其赋值给变量 c。? putchar( 字符常量或字符变量名 );女口 char c=A putchar(c);或putchar( A 都会向屏幕输出字符 A。六、C 语言得语句? 表达式语句 : 由表达式末尾加上分号构成。? 函数调用语句 :由函数调用表达式加上分号构成。? 空语句 : ;? 选择结构语句 :if 语句 switch 语句? 循环语句 :for 语句 while 语句 do while 语句? 复合语句:用花括号将以上任意语句括起来构成一条复合语句。七、C程序得基本结构void main 声明部分:用来定义变量与声明自定义函数得原型 ,需

13、以“;”结尾,如 int x; 执行语句部分 :第六点里介绍得各种语句 ,如 x=3 ; p rintf( “%d”, x) ;main 函数外可写自定义函数 。如int maxreturn 0;八、选择结构语句? if( 表达式 ) 语句 1 else 语句 2如果if语句得圆括号内得表达式值为非 0,则执行语句1,值为0则执行语句2。i. 表达式可为任意表达式 ,if 语句执行得实质就是判断表达式得值就是否为 0 来决定执行语句 1 还就是语句 2。另外请在此处表达严重关切 , 不 管就是高手还就是菜鸟经常会把判断两个数相等得符号“ =”写成了 一个等号“ =”成为了赋值运算 , 这样得写

14、法不会引发编译错误 , 但结果 会与原意大大不同 , 所以考试前请再三提醒自己。ii. 语句1 与语句 2都只能就是一个语句 ,若要跟多条语句 ,切记用一对 括起来,构成复合语句;也不要随便在圆括号后加“ ;” ,因“ ;”构成 一条空语句 , 这会使后面跟得语句 1 不再属于 if 语句得组成部分 。iii. if 语句得三种结构1. 单边 : if( 表达式 ) 语句2. 双边:if(表达式)语句1 else语句23. 多层(重点掌握 ):if( 表达式 1) 语句 1 else if(表达式2)语句2 else if(表达式3)语句3else 语句 n? 条件运算符 表达式 1? 表达式

15、 2 : 表达式 3 若表达式 1 得值非 0,则取表达式 2 得值做为整个表达式得值 ,否则取表达式 3 得值为整个表达式得值。如 34? 1:2 该表达式得值为 2? switch 语句 switch(表达式) case 表达式 1:语句 case 表达式 2:语句 case表达式n:语句default: 语句语句执行过程:先计算表达式得值,然后判断该值与表达式1到表达式n中得 哪个相等 ,若与表达式 i 得值相等 ,则执行表达式 i 后得所有语句 ,当遇到 break; 语句时结束整个 switch 语句得执行 。表达式 1 到表达式 n 得值都不相等得情 况下执行default后跟得语

16、句。每个case后可跟多条语句。九、循环结构? for 循环语句for( 表达式 1;表达式 2;表达式 3) 循环体语句语句执行过程 :1. 计算表达式 12. 判断表达式 2得值就是否为 0,若为0,语句执行结束 ,若不为 0,进入步骤 33. 执行循环体语句 (需注意得就是循环体语句只能有一个语句, 若要包含多个语句要用一对 括起来 , 构成一条复合语句 , 此处也不要随便加上 “; ”,因一个“ ; ”可构成一条空语句 ,这会使得后面真正得循环体语 句不属于 for 循环语句得部分 )。进入步骤 44. 计算表达式 3,然后重新进入步骤 2? while 循环语句 do while 循

17、环语句i. while(表达式)循环体语句执行过程 :1. 判断表达式得值就是否为非 0,若就是进入步骤 2,否则结束语句执行。2. 执行循环体语句 ,重新回到步骤 1 。ii. do 循环体语句 while( 表达式 );执行过程:1. 执行循环体语句 ,进入步骤 22. 判断表达式得值就是否为非 0,若就是重新回到步骤 1,否则结束语句执 行。这里要注意得地方跟 for 语句一样 , 即循环体语句只能有一个语句 , 若要包 含多个语句要用一对 括起来 , 构成一条复合语句 , 此处也不要随便加上 “; ”, 因一个“ ; ”可构成一条空语句 ,这会使得后面真正得循环体语句不 属于 whil

18、e 循环语句得部分 , 另外 do while 循环得 while( 表达式 ) 后就是要 加“ ; ”得。? break 语句: 放在循环体内实现得功能就是结束其所在得那层循环得执行。十、 数组? 定义格式 :数据类型数组名整型常量 ;如 int a10; 定义了一个整型数组 ,数组名为a,这个数组含有10个元素。? 引用数组元素 : 格式:数组名下标切记下标值从 0开始。下标可为常量 ,表达式,变量等,如 int i=3; a0=5;a3*2=9; ai=7;?初始化:数据类型数组名 整型常量 =数据表列 ;将数据表列得各个值依次赋值给数组得各个元素。如int a5=0,1,2,3,4;则

19、数组a各元素a0到a4 得值分别为 0,1,2,3,4? 遍历数组元素 数组定义后,我们不能对数组进行整体得操作,如int a10;不能用a=3这样得 操作将数组得各元素都赋值为 3;而只能一个一个元素得进行赋值 ,如 a0=3;a1=3;a2=3a9=3;当然此时我们就可以借助于一个 for循环来控 制下标得变化从而对数组得各个元素进行赋值for(i=0;i y ? x : y ;return ( z ) ;、I 、+:注意点 :1、函数类型就是指返回值得类型,即要与return语句后跟得表达式得值得类型一 致。若函数类型为 void 则说明该函数无返回值 , 即函数体里不能出现 retur

20、n 语 句。2、 形式参数列表里定义得变量要记得给它们指定类型,而且如果同时要定义多个 应在每个前面都分别指定类型名 ,而不能写成 int x,y;3、函数体里能写得语句跟 main 函数一样 ,在开头可定义所需要得变量 ,后面跟上 一堆执行语句。? 函数调用流程以上面得函数为例,在main函数进行调用:void main int a,b,c;scanf( “%d%”d ,&a,&b);printf(“%d”,max(a,b); 或 c=max(a,b);printf(“%d”, c) 以上两种方法都会在屏幕中打印出 a,b 间得较大值。 调用函数得格式 函数名(实际参数列表 );调用得时候像

21、什么函数类型 , 形式参数 得类型就不要加上去了。max(a,b)中max就就是函数名,写上变量名a,b就是实际参数列表 , 执行这个调用语句时 , 会先把 a,b 得值给相应位置得形式参数即执 行了 x=a,y=b这样得操作,然后开始执行max函数得函数体得语句。当max函数体里执行到一个return语句时,则max函数结束执行,将return后得表达式得值 返回给main函数调用max函数得那个位置,即若上面a=3,b=5则max(a,b)return 后得表达式得值应该就是5也就就是说执行完max后把5返回到调用max得位置 可瞧成 printf( “%d”,5); 或另一种解法得 c=

22、5。十三、 指针? 指针变量得声明 : 类型名 * 指针变量名 ;? 通过指针变量访问它所指向得普通变量得值 先将普通变量得地址赋值给指针变量 ,再通过指针运算符 * 得到普通变 量得值。int *p,x,y;x=3;p=&x;则printf( %d”*p);会打印出3即x得值y=*p; 则 y 得值变为 3*p=5; 则 x 得值变为 5? 指针变量加上 (减去)一个位移得效果 若指针变量存入得就是数组元素得地址,则其 加一减一得到得就是那个数组元素下一个或前一个元素得地址 。int a10; p=&a3;*p得到得就是a3得值。若p+;此时p存放得就是a4得地址&a4; *p得到得就就是a

23、4得值。 或P;此时p存放得就是a2得地址&a2,*p得到得就就是a2得值。? 行指针i. 主要就是对于二维数组来说得 ,二维数组每行都有自己得地址 ,第 0行地 址用 数组名 表示,第i行地址为 数组名+i;而想要得到二维数组里一个 元素得地址 ,必需先得到其所在行得地址 ,然后再由那个地址得到元素得 地址,比如说 int a34; 定义了一个二维数组 ,该二维数组第 0 行得地 址为a,第 1行得地址为a+1,第2行得地址为a+2,想从行得地址得到元素 得地址,需在行地址前加上指针运算符“ * ”,即*a就就是第0行首个元 素得地址即a00得地址,而a02得地址就就是在a00得地址基础 上

24、加上位移量2,即*a+2,然后想得到a02这个元素得值呢就再加上一 个指针运算符“* ”,即*(*a+2),类似地,想得到a22这个元素得值呢就 就是 *(*(a+2)+2)ii. 定义行指针变量 : 类型名(*变量名)数组长度 ;如int (*p)4,a34; p=a;此时就可把p当成a来用用法同上所述。? 判断就是否合法访问数组元素 :若就是指针法访问 ,判断指针后跟得就是否地 址;若就是下标法访问 ,判断下标有无越界。? 函数指针 :函数名即为函数得地址 (指针 )i. 函数指针变量得定义 : 类型名 (*变量名) (形参列表 );如 int (*p);ii. 赋值:指针变量=函数名;设

25、有个函数其函数名为 max,则要将该函数得地址给 p 得话只要执行如下语句即可 p = max;? 指针数组 :指针数组得数组元素都就是指针变量 ,就是用来存放变量得地址得 定义格式为 类型名 * 变量名数组长度; 如 int * p10;? 指向指针得指针 :指针变量也就是一种变量 ,故在内存中也有对应得一个地址 而要存放指针变量得地址 ,就要求助于用来存放指针变量得地址得指针变量 , 定义格式 类型名 * 变量名 ; 如 int *p1; int *p2; int a=3; 可进行赋值 p1=&a; p2=&p1; 则 a 、*p1 与 *p2 得值都就是 3、十四、 宏定义? 无参宏定义

26、 #define 标识符 值 定义后 ,出现所定义得标识符得地方都 将以定义时指定得值来代替。#define M 2+3main int x;x=M*M; 则 x 得值为 2+3*2+3=11 若想得到得结果就是 (2+3)*(2+3) 则定义时也写成这样 #define M (2+3)注意 #define 、标识符、值之间都要用空格隔开 , 且宏定义结尾不需加分 号。? 带参宏定义 #define 标识符 (参数表 ) 值#define S(x,y) x*ymain( ) int a=3,b=4,c=5,d=6;printf(a*b=%dn, S(a,b); 此时会打印出 a*b=12pri

27、ntf(a+b*c+d=%dn , S(a+b,c+d);此时会打印出 a+b*c+d=29,带 参宏定义执行时就是将 a+b 这样一个表达式代替 x,c+d 这样一个表达式 代替y,所以S(a+b,c+d)进行得就是a+b*c+d得运算,而不就是将a+b得值 给x,c+d得值给y然后再做x*y,这点跟函数调用传递参数就是不一样得 ? 自定义类型名 typedef: 对已存在得类型名取一个外号。i. 基本格式 :typedef 原类型名 新类型名 ;ii. typedef int INTEGER;则 int a,b;等价于 INTEGER a,b;iii. typedef int NUM10;

28、贝U int a10;等价于 NUM a; a 即为一个有 10 个元素得数组得数组名。iv. typedef int * INTEGER;贝U int *a,*b;等价于 INTEGER a,b;十五、 结构体 , 共用体 , 枚举类型? 结构体i. 结构体类型得定义及变量得定义struct 结构体名类型 成员 1;类型 成员 2;类型 成员 n; 变量名 ; 如 struct student char name10;long num;int score4;st1;定义类型时同时定义变量struct student st2定义类型后,用类型名定义变量 还有一种struct char name

29、10;long num;int score4;st3; 不给类型名 ,直接定义变量ii. 结构体变量所占字节数:各成员各占字节数之与,如以上st1,st2,st3得字 节数皆为 10+4+2*4=22iii. 结构体数组得定义及初始化struct student a3= zhang,20030001,89,90,91,92,liu,20030002,68,69,70,71, li,20030003,57,58,59,60iv. 结构体成员得访问1. 结构体变量名、 成员名 如 st1、name22. 通过指针访问 :struct student *st; st=&st1; (*st) 、num

30、 或 stnum? 共用体i. 共用体类型得定义及变量得定义union 共用体名 类型 成员名 1;类型 成员名 n;变量得定义与结构体类似 ,也有三种方法。union dataint i;char ch;float f;d1; 定义类型时同时定义变量union data d2; 定义类型后 ,用类型名定义变量unionint i;char ch;float f;d3;不给类型名,直接定义变量ii. 共用体变量所占字节数:各成员所占字节数得最大值,如上d1,d2,d3所占 字节数皆为4、(单精度浮点型变量所占字节数最多为 4)、iii. 共用体成员得访问1. 共用体变量名、成员名 如di、f2

31、. 通过指针访问:union student *d; d=&di; (*d)、num 或 dnum? 枚举类型i. 枚举类型得定义:enum枚举名枚举元素名1,枚举元素名2,,枚举元素名n;ii. 枚举元素得值:默认值分别为0、1、n1。枚举元素得值也可在定义时重指定,对于 没有指定值得元素,按顺序加1女口 enum weekdaysun=7,mon=1,tue,wend,thur,fri,sat则 sun 值为 7,mon 值为1,tue值为2,wend值为3,thur值为4,fri值为5,sat值为6十六、 Turbo C得使用? 菜单激活:F10? 菜单切换:左右方向键在不同菜单间切换,上下方向键在同一个菜单不同选项 间切换。? 载入文件:两种方法:1、找到源文件所在位置,直接将其拉到Turbo C快捷方 式上;2、 F3? 运行程序:ctrl+F9? 瞧程序运行结果:alt+F5? 进入编辑状态:菜单Edit? 保存:F2? 插入状态切换:Insert键

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!