计算机二级课程.docx

上传人:文*** 文档编号:68344240 上传时间:2022-12-27 格式:DOCX 页数:95 大小:129.43KB
返回 下载 相关 举报
计算机二级课程.docx_第1页
第1页 / 共95页
计算机二级课程.docx_第2页
第2页 / 共95页
点击查看更多>>
资源描述

《计算机二级课程.docx》由会员分享,可在线阅读,更多相关《计算机二级课程.docx(95页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机二级课程第1章程序设计基本概念1.1 程序和程序设计1.1.1 C程序计算机语言:二进制用户:自然语言自然语言-英文助记符、数学表达式(C语言)二进制指令(目标文件*.obj )今可执行程序(*.exe )C源程序(*.c )不能直接执行,只能进行编辑源程序转换为目标文件的过程,叫做“结译compile”目标文件(*.obj)也不能直接执行目标文件转换为可执行程序的过程,叫做“连接link”*.c -compile-*.obj -link*.exe1.1.2 程序设计1.2 算法算法:为解决某个问题而采用的确定且有限的步骡。算法的特性:1)有穷性:算法应该在有限的步骤内结束。2)确定性:

2、算法不能有二义性,对于相同的输入能得到相同的输出。3)可行性:算法的步骤可以实现。4)拥有足够的情报:算法有0个或多个输入;1个或多个输出。1.3 结构化程序设计和模块化结构1.3.1 结构化程序C语言程序有3种基本结构:顺序结构选择结构(分支结构)循环结构(重复结构)1.3.2 模块化结构自顶向下、逐步求精、模块化C语言使用“函数”实现模块化。C语言是函数的语言。C程序的基本组成单位是函数。第2章C程序设计的初步知识2.1 简单C语言程序的构成和格式#include main()double a,b,area;a=1.2;/*将矩形的两条边分别赋给a和b */b=3.6;/*计算矩形的面积7

3、area=a*b;printf(,a=%f,b=%f,area=%fn,1,a,b,area);)说明:1、main是主函数名。C语言程序必须使用main作为主函数名,其后需接一对圆括号()表示其函数身份。main函数是C程序唯一的入口,也是程序唯一的出口,C程序从main函数的第一条语句开始执行。故,C程序有且仅有一个main函数。2、C程序的语句以分号结尾。一般一条语句作为一行,但可以在一行上写多条语句,也可以将一条语句写成多行。语句需写在表示的函数体内。3、在程序中可以使用/*/符号表示注释,被注释的部分将不会在程序执行过程中起作用,仅仅作为程序的说明。int a=3,b=5;a=10;

4、I*赋值*1b=20;a+b的值是_30_int a=3,b=5;a=10;*/a+b的值是15/* 赋值 b=20;2.2 标识符、常量和变量2.2.1 标识符标识符包括:变量名、数组名、函数名。1)由字母、数字、下划线组成;2)数字不能开头;3)不能和关键字重名。int(整型) float (单精度实型) double (双精度实型) char (字符型)sizeof (求字节数)short (短整型)long (长整型)area PI a_array x100_100x (正确)a$b a+ x.y 100x (错误)变量名可以叫做main、printf标识符对大小写敏感。int (错误

5、)Int (正确)2.2.2常量常量:在程序执行过程中,值不发生改变的量。12-10(整型常量)3.14-2.70.0(实型常量)Ab(字符型常量)NCREWuhan(字符串常量)2.2.3符号常习惯上,常量使用大写字母表示,变量使用小写字母表示,但不是必须的。#define N 10main()(N=N*2;/*不能对符号常量赋值*1printf(%dn,N);)int n=10;n=n*2; r可以对变量赋值*/ printfC%dn,n);)#define PI 3.14 main()(double r,s;r=5.0;s=r*r*PI;printf(s=%fn,s);变量名可以叫做de

6、fine、include2.2.4变量变量:在程序执行过程中,值可以发生改变的量。变量必须“先定义,后使用”定义时,需指明变量的数据类型和变量名。2.3 整型数据2.3.1 整型常十进制:32767-327680八进制:由“0”引导的整数。01001102340386(错误)十六进制:由“Ox”或“0X”引导的整数。0x123 Oxaa Oxlff0-9a-10 b-11. f-15长整型常量:40000L40000I无符号型常量:100U100u-12U (错误)2.3.2 整型变int a;int a,b,c;2.3.3 整型数据的分类long (int)4字节int4字节short (i

7、nt)-32768327672字节signed有正有负unsigned 正整数unsigned short 0655352.3.4 整型数据在内存中的存储形式位(bit):二进制位100110最小单位字节(byte ):1 byte=8 bit 最基本单位2.4 实型数据2.4.1 实型常小数形式:0.123.1233.03.在实数的整数部分或小数部分为0时,可将为0的部分省略,但小数点不可省。0.00.0.(错误)指数形式:3E2-3*102-3003.15e33.15e-1E(e)的前面必须有数字,后面必须为整数。E22e 3e1.0(错误)2.4.2 实型变float (单精度实型)4字

8、节 double (双精度实型)8字节2.5 算术表达式2.5.1 基本的算术运算符整数和整数运算,结果为整数参与运算的数字中,有一个实数,结果结果就为实数+-*/注意:在什么情况下运算结果才有小数部分。%求余数。求余数运算两边必须为整数。绝对值相除得余数,符号取决于被除数。main()printf(,%dn,4%3);1printfC%dnw,4%-3);1printf(,%dn,-4%3);-1printf(M%dnM,-4%-3);-1)2.5.2 运算符的优先级、结合性和算术表达式*/%+-2.5.3 强制类型转换表达式(目标类型)需转换变量(int)bint(b)(错误)2.6 鼠值

9、表达式2.6.1 赋值运算符和赋值表达式注意:1)赋值运算的优先级很低,往往需要在所有运算完成后,再进行赋值。2)赋值运算理解上,从右向左进行。3)赋值后,右侧变量值不变,左侧变量值更新。4)赋值号左侧只能是变量,不能是常量或表达式。5)赋值表达式整体的值,等于被赋值变量的值。main()(int a,b;printf(%dn,(a=3)+(b=5);2.6.2 复合赋值表达式a+=1a=a+1a*=2-a=a*2main()int a=5;a+=a-=a+a;printf(M%dnM,a);)2.6.3 鼠值运算中的类型转换以被赋值变量的类型为准。int a;a=3.5;3float a;a

10、=3;3.02.7自加、自减运算符和逗号运算符2.7.1 自加运算符”+”和自减运算符“一”独立构成语句时,i+和+i是等价的。j=i+; j=i;”先取值,后自增i=i+1;j=+i;9i=i+1;”先自增,后取值j=i;main()int i=5;printf(%dn,i+);5printf(M%dn,+i);7)2.7.2 逗号运算符和逗号表达式逗号运算符的优先级最低;从左至右运行每个表达式;整个逗号表达式的值,等于最后一个表达式的值。main()(int i,j,x;x=(i=3,j=4);printf(%dn,x);4)main()(int i,j,x;x=i=3,j=4;print

11、f(%dn,x);)第3章顺序结构3.1 赋值语句在赋值表达式后加上“:号,构成赋值语句a=10赋值表达式a=10;赋值语句3.2 数据输出3.2.1 printf函数的一般调用形式printf(ua=%dn,a);1 )非格式说明符部分原样输出。如:a=2 )转义符进行转义。n 换行t下一制表位b 退格r回到开头3)格式说明符输出变量值。1.1.2 printf函数中常用的格式说明%d%ld %u%o%x%f%lf%e%g1.1.3 使用printf函数时的注意事项3.3 数据输入3.3.1 scanf函数的一般调用形式scanf中格式说明符的相关规则,和printf相同。scanf中变量前

12、需要加&号(取地址卜scanf(%d,&a);3.3.2 scanf函数中常用的格式说明3.3.3 通过scanf函数从键盘输入数据scanf中非格式说明符部分,在输入时应原样输入。scanf(%d,%d,&a,&b);10,20scanf(a=%d,%d,&a,&b);a=10,20连续格式说明符,应使用空格、制表符、回车分隔数据。scanf(%d%d,&a,&b);1020按指定宽度输入数据。scanf(%2d%3d%d,&a,&b,&c);123456789printf(%d,%d,%dn,a,b,c);12,3,456跳过某个输入数据。格式说明符中*号,表示跳过此位置的输入。a=b=c

13、=5;scanf(%d%*d%d,&a,&b);123printf(%d,%d,%dn,a,b,c);1,3,53.4 复合语句和空语句3.4.1 复合语句在C语言中,可以使用号将多条语句括起来,形成复合语句。复合语句在逻辑上当做一条语句处理。3.4.2 空语句;号是构成C语言语句的重要符号,若只有一个;号也能构成语句,它是一个空语句。空语句本身不做任何操作,故一般不会影响程序结果,而不是完全不会影响程序结果。第4章选择结构4.1 关系运算和逻辑运算4.1.1 C语言的逻辑值C语句中没有逻辑类型。在程序中使用0值表示假,使用非0值表示真。main()(if(O) printf(yesn);el

14、se printf(non);)nomain()(if(-1) printf(yesn);else printf(non);)yes在程序计算结果时,用0值表示假,用1表示真。main()printf(,%dn,2=32);0)=1);14.1.3 逻辑运算符和逻辑表达式&逻辑与“且”两边同时为真,结果为真。|逻辑或“或”两边有一边为真,结果为真。!逻辑非原来真,变为假。原来假,变为真。main()printf(%dn,43&3=2);0printf(%dn,43|3=2);1printf(%dn,!(43);0逻辑运算的中断:&运算前段为假,后段不运行。main()(int x=3,y=5;

15、(x=0)&(y=8);printf(%d,%dn,x,y);0,5)|运算的前段为真,后段不运行。main()int x=O,y=O;x+|y+;printf(%d,%dn,x,y);运算符的优先级:逗号单目算术运算符关系运算符逻辑运算符赋值运算符运算符!*/%+-=3&2+5|7*314.2 if语句和用if语句构成的选择结构4.2.1 if 语句计算if的括号内表达式的值是否为真,若为真则运行if的子句)main()(int x;scanf(%d,&x);if(x%2=0)printf(偶数n);)注意:1 ) if只能控制最近的一条语句。int x;scanf(M%dM,&x);if(

16、x%2=0)x+;x+;printf(dn”,x);2 )若有多条语句作为if的子句,需用0构成复合语句。 main()(int a=3,b=6,t=0;if(a=b) t=a; a=b; b=t;printf(%d,%dn,a,b);6,0)3 )在if的括号后不用加“;”号,否则会影响程序的逻辑。main()int x=8;if(x=6);x+;printf(M%dn,x);9)4 ) if的条件通常是一个关系表达式,但要注意其他情况,特别是赋值表达式冒充关系表达式的情况。main()|int x=8;if(x=6)x+;printf(dn”,x);7if-else计算if的括号内表达式的

17、值是否为真,若为真则运行if的子句,否则运行else的子句。int x;scanf(M%dM,&x);if(x0) printf(H%dnn,x);else printf(%dn,-x);)注意:1) else和最近的if配对4.2.2嵌套的if语句main()(int a=3,b=4,c=5;if(a3)if(b=4) C+;else c-;printfC%dn,c);5int a=3,b=4,c=5;if(a3)(if(b=4) C+;else c-;printf(%dn,c);4)4.3 条件表达式构成的选择结构条件表达式是C语言中唯一的三目运算。exp1? exp2: exp3先计算e

18、xp1是否为真,若为真取exp2,为假取exp3。main()printf(,%dn,53?47?1:10:100);4.4 switch语句以及用switch语句和break语句构成的选择结构4.4.1 switch 语句switch(a)(case 1: n+;case 2: n+;case 3: n+;case 4: n+;case 5: n+;)语法规定:1) switch后有一对小括号。2)小括号中必须时整型或字符型表达式。3 )小括号后不能有“;”号。4 ) case和数值间的空格不能省略。5 ) case后需使用号。6 .4.2 switch语句的执行过程1 )计算switch的

19、括号内表达式的值。2 )判断表达式的值和哪一个case相等,若找到了,则运行对应case后的语句。3 )若没有找到,则运行default后的语句。4 )当某一个部分的语句运行后,会无条件的运行其后所有的语句,直到遇到break为止。4.4.3在switch语句体中使用break语句在结构中遇到break语句,立即终止结构。main()|int a=O,n=O;switch(a)(default: n+;case 1: n+;case 2: n+;case 3: n+;break;case 4: n+;case 5: n+;printf(M%dnH,n);4.5语句标号和goto语句4.5.1

20、语句标号4.5.2 goto 语句第5章循环结构5.1 while语句和用while语句构成的循环结构5.1.1 while循环的一般形式循环变量初始化while (循环条件)(循环体)5.1.2 while循环的执行过程1 )循环变量初始化2)判断循环条件,若条件为真,则运行循环体。若条件为假,循环终止。3)循环体运行完,返回到第2步,判断条件。1+2+3+100while(i=100) sum=sum+i; i+; printf(H%dn,sum);)1+2+3+50main()(int sum=0,i=1; while(i=50) sum=sum+i; i+; printf(dn”,su

21、m);)30+31+32+50main()int sum=0,i=30;while(i=50) sum=sum+i;i+;printf(,%dn,sum);30+32+34+.+50main()(int sum=0,i=30;while(i=50) sum=sum+i;i+=2;)printf(dn”,sum);1至IJ100内,3和5的公倍数的和main()int sum=0,i=1;while(i=100)if(i%3=0&i%5=0)sum=sum+i;i+;printf(H%dn,sum);)V+22+32+102main()(int sum=0,i=1;while(i=10)(sum

22、=sum+i*i;i+;printf(%dn,sum);5.2 do-while语句和用do-while语句构成的循环结构5.2.1 dowhile语句构成的循环结构循环变量初始化do(循环体while (循环条件);main()(int sum=0,i=1;dosum=sum+i;i+;while(i=100);printf(%dn,sum);)5.2.2 do-while循环的执行过程1)循环变量初始化2)运行循环体3)判断循环条件,若条件为真,则返回第2步继续循环;若条件为假,则循环终止。while循环和do-while循环的比较1 )语法区别:while的条件在循环体前,do-whil

23、e的条件在循环体后,前面是do ; while的条件没有“:号,do-while有。2 )逻辑区别:while先判断条件,后执行循环体;do-while先执行循环体,后判断条件。当初始条件不满足时,while 一次也不运行循环体;而do-while至少运行一次。5.3 for语句和for语句构成的循环结构5.3.1 for语句构成的循环结构for(循环变量初始化;循环条件;循环变量增量)(循环体)5.3.2 for循环的执行过程1 )循环变量初始化2)判断循环条件,若条件为真,则运行循环体;若条件为假,循环终止。3)运行循环体4)运行循环变量增量后,返回到第2步,判断条件1+3+5+99mai

24、n()(int sum=O,i;f0r(i=1;i=99;i+=2)sum+=i;printf(dn”,sum);1-2+3-4+5-6+7+99-100main()(int sum=0,i,s=1;for(i=1;i=100;i+)(sum+=s*i;s=-s;printf(%dn,sum);1+1/2+1/3+1/50main()(double sum=0;int i;for(i=1;i=50;i+)(sum+=1.0/i;printf(%fn,sum);5.3.3有关for语句的说明1) for语句中的三个表达式都是可以省略的。i=1;for(;i=100;i+)(sum+=i;i=1;

25、for(;i=100;)sum+=i;i+;死循环-无法退出的循环i=1;for(;)(if(!(i=100)break;sum+=i;i+;)5.4 循环结构的嵌套外层循环每循环一次,内层循环循环一轮;内层循环循环结束,外层循环才循环一次。 main()int i,j,cnt=O;for(i=1;i=4;i+)for(j=1;j=3;j+)cnt+;printf(,%dn,cnt);5.5 break和continue语句在循环体中的作用5.5.1 break 语句立刻终止循环结构main()(int i,sum=0;for(i=1;i=10;i+)(if(i=5)break;sum+=i;

26、printf(%dn,sum);10)5.5.2 continue 语句结束(跳过)本次循环后面的语句,继续一下次循环。main()int i,sum=O;for(i=1;i*b) return a;else return b;main()(int a=10,b=20;int *c;c=fun(&a,&b);printf(,%dn,*c);20)第9章数组9.1 一维数组的定义和一维数组元素的引用9.1.1 一维数组的定义int a10;说明:1)这里定义的是一个由10个int型元素组成的一维数组a。2)定义时方括号中的整型常量表达式表示数组中元素的个数。定义数组时须指明长度,且长度表达式不能

27、由实型或变量组成。3)数组元素的下标从0开始,故长度为5的数组,下标最大只能到4Oint矶10;正确int a5+5;正确int n=10,an;错误int n5.0错误#define N 10int aN;正确int a;错误1.1.2 一维数蛆元素的引用求和:int i,sum=0;for(i=0;i=9;i+)sum+=ai;求平均值:int i,sum=0; double ave;for(i=0;i=9;i+)sum+=ai;ave=sum/10.0;求最值:int i.max;max=aO;for(i=0;i=9;i+)if(maxai)max=ai;转置:intfor(i=0,j=

28、9;ij;i+,j-)(t=ai; ai=aj; aj=t;排序:排序使用3个变量完成,外层循环i从第1个开始到倒数第2个为止,内层循环j从i的下一个开始到最后为止,循环体内比较aiaj的关系(重复后一个字,从小到大),堀aiajintfor(i=0;i=8;i+)forQ=i+1;j=9;j+)if(aiaU)1.1.3 一维数组的初始化int b5=10,20,30,40,50;标准方式:初始化个数和数组长度相同int b5=10,20,30,40,50,60;错误intb5=10,20,30;定义数组时若只给部分元素赋初值,则未被赋初值的元素将自动赋。值。int b=10,20,30);

29、定义数组时若同时对数组进行初始化,则可以省略数组的长度,此时,数组长度等于初始化的个数。1.1.4 通过鼠初值定义数组的大小9.2 一维数组和指针数组名代表数组的首地址常量。首地址(首个元素的地址卜int 矶5,*p;p=a;p=&a0;程序中所有出现a的地址都能被p替换。printf(%dn,*p+);printf(%dn,*+p);printf(%dn,+*p);printf(%dn,(*p)+);printf(%dn,*p);数组元素的多种表示方法:ai pi*(p+i)*(a+i)p+;对a+;错指针指向数组中段,下标从0开始重新计数。inta5=10,20,30,40,50;int *p;P=&a2;printf(%dn,p-1);209.3 函数之间对一维数组和数组元素的引用9.3.1 数组元素作实参和普遍变量一样9.3.2 数组名作实参数组名作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁