ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:59.69KB ,
资源ID:4597838      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4597838.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序复习.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序复习.docx

1、C程序复习第1章 程序设计和C语言1、C语言是一种结构化语言。2、C语言程序结构的特点:(1)一个程序由一个或多个源程序文件组成。(预处理指令、全局声明、函数定义)(2)函数是C程序的主要组成部分。1函数是C程序的基本单位。2一个C语言程序是由一个或多个函数组成的,其中必须包含一个main函数(且只能有一个main函数)。(3)一个函数包括两个部分:函数首部、函数体(声明部分、执行部分)。(4)程序总是从main函数开始执行的,到main函数结束。而不论main函数在整个程序中的位置如何(main函数的位置是任意的)。(5)程序中对计算机的操作是由函数中的C语句完成的。(6)在每个数据声明和语

2、句的最后必须有一个分号。(7)C语言本身不提供输入和输出语句。(8)程序应当包含注释。3、运行C程序的步骤:编辑(源程序f.c)、编译(f.obj)、连接(f.exe)、执行(f.exe)。 ( 注意P13 图1.2)4、C语言是面向对象的语言。第二章 算法1、沃斯公式:算法+数据结构=程序2、算法的定义:算法为解决一个问题而采取的方法和步骤。3、有效算法的特点:(1)有穷性 (2)确定性 (3)有零个或者多个输入 (4)有一个或者多个输出 (5)有效性4、三种基本结构:(1)顺序结构 (2)选择结构 (3)循环结构(当型循环结构、直到型循环结构)5、结构化程序设计方法的基本思路:把一个复杂问

3、的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 第三章 最简单的C程序设计顺序程序设计1、符号常量:用#define指令,指定用一个符号名称代表一个常量。(#define PI 3.1416,这样用一个符号代表一个常量的,称为符号常量)2、标识符:C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。3、数据类型 基本整形(int) 短整型(short int) 长整型(long int) 整形类型 *双长整型(long long int) 字符型(char) *布尔型 基本类型 单精度浮点型(float) 浮点类型 双精度浮点型(

4、double) 复数浮点型(float-complex.)数据类型 枚举类型(enum) 空类型(void) 指针类型(*) 数组类型() 派生类型 结构体类型(struct) 共用体类型(union) 函数类型4、字符与字符代码:目前大多数系统采用ASCII字符集。各种字符集(包括ASCII字符集)的基本集都包括了127个字符。其中包括: 字母:大学英文字母AZ,小写英文字母az。 数字:19. 专门符号:29个:! ” # & ( ) * + , / : ? _ 空格符:空格、水平制表符(tab)、垂直制表符、换行、换页(form feed)。 不能显示的字符:空(null)字符(以0表示

5、)、警告(以a表示)、退格(以b表示)、回车(以r表示)等。5、最常用的算术运算符运算符含义举例结果+正号运算符(单项运算符)+aa的值-负号运算符(单项运算符)-aa的算数负值*乘法运算符a*ba和b的乘积/除法运算符a/ba除b的商%求余运算符a%ba除b的余数+加法运算符a+ba和b的和-减法运算符a-ba和b的差6、自增、自减运算符 作用是使变量的值加1或减1(+i、-i、i+、i-)例如:a的初始值为3,(a+)+(a+)+(a+)=9 (+a)+(+a)+(+a)=187、运算符的优先级(详见第四章)与结合性 自左向右(又称“左结合性”,即运算对象先与左面的运算符结合):算数运算符

6、结合性 自右向左(即右结合性):赋值运算符8、不同类型数据间的混合运算: 编译时,从左至右扫描。(规律:同一个字母,用小写表示的字符的ASCII代码比大写的大32,a的ASCII码为97,A的ASCII码为65)9、C运算符 除了算数运算符外,C还提供其他运算符,共有以下几类: (1)算术运算符 (+ - * / + -) (2)关系运算符 (!) (3)逻辑运算符 (! & |) (4)位运算符(针对二进制的运算) ( | & ) 例如:&和& 2&0=0 2&3=1(非零即为1) 2&3=2(2:010 3:011 010&011=010)(5)赋值运算符 (=及其扩展赋值运算符)(6)条

7、件运算符 (?:)(7)逗号运算符 (优先级最低) (,)(8)指针运算符 (*和&)(9)求字节数运算符 (sizeof)(10)强制类型转换运算符 (类型)(11)成员运算符 (. - )(12)下标运算符 ( )(13)其他10、用printf函数输出数据 Printf函数的一般格式为:printf(格式控制、输出列表) Printf函数的一般形式可以表示为:printf(参数1,参数2,.,参数n)11、用scanf函数输出数据 Scanf函数的一般形式:scanf(格式控制,地址列表)12、用putchar函数输出一个字符,puts输出一个字符串Putchar函数的一般形式为:put

8、char(c)用getchar函数输入一个字符,gets输入一个字符串Getchar函数的一般形式为:getchar()第4章 选择结构程序设计1、if语句的一般形式:if(表达式) 语句1 else 语句2 方括号内的部分(即else子句)为可选的,即可有可无。 嵌套(就近原则,向上就近且为配套的)2、关系运算符及其优先次序 C语言提供6种关系运算符:(1) (小于) 算术运算符 (高)(2) (大于) 关系运算符(4)= (大于或等于)(5)= (等于) 优先级相同 (低) 赋值运算符 (低)(6)!= (不等于) 3、逻辑运算符及其优先次序运算符含义举例说明&逻辑与a&a如果a和b都为真

9、,则结果为真,否则为假|逻辑或a|a如果a和b有一个以上为真,则结果为真,二者都为假时,结果为假!逻辑非!a如果a为假,则!a为真,如果a为真,则!a为假 !(非) (高)算术运算符关系运算符&和|赋值运算符 (低)4、条件表达式的一般形式:表达式1?表达式2:表达式3 真(非0) 假(0) 5、例题:输入一个字符,判别它是否为大写字母,如果是,将它转化为小写字母;如果不是,不转换。然后输出最后得到的字符。(p99 例4.4)(重点掌握大小写的转换) 解题思路:用条件表达式来处理,当字母是大写时,转换成小写字母,否则不转换。 编写程序:#include int main() char ch;

10、scanf(%c,&ch); ch=(ch=A&ch=z)?(ch+32):ch; /或ch=(ch=65&ch=90)? (ch+32):ch; printf(%cn,ch); return 0;运行结果:A a输入大写字母A,输出小写字母a。6、有三个整数a,b,c,由键盘输入,输出其中最大的数。(P112 T4)程序如下:#includeint main( ) int a,b,c; printf(请输入三个数:); scanf(%d,%d,%d,&a,&b,&c); 运行结果:if(ab) 请输入三个整数:12,34,9 if(bc) max=34printf(max=%dn,c); e

11、lseprintf(max=%dn,b);else if(ac) printf(max=%dn,c);else printf(max=%dn,a);return 0; 方法二:使用条件表达式:#includeint main( ) int a,b,c,temp,max; printf(请输入三个数:); scanf(%d,%d,%d,&a,&b,&c); temp=(ab)?a:b; /将a和b中的大者放入temp中max=(tempc)?temp:c; /将a和b中的大者和c比较,取最大者printf(三个整数中最大数是%dn,max);return 0;7、给一个不多余5位的正整数,要求:

12、1求出它是几位数;2分别输出每一位数字;3按逆序输出各位数字,如原数为234,应输出321。(P113 T9)解:程序如下:#include#includeint main() int num,indiv,ten,hundred,thousand,ten_thousand,place; printf(请输入一个整数(0-99999):); scanf(%d,&num); if(num9999) place=5; else if(num999) place=4; else if(num99) place=3; else if(num9) place=2; else place=1; printf

13、(位数:%dn,place); printf(每位数字为:); ten_thousand=num/10000; thousand=(int)(num-ten_thousand*10000)/1000; hundred=(int)(num-ten_thousand*10000-thousand*1000)/100; ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10; indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10); switch(p

14、lace) case 5:printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(n反序数字为:); printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,ten_thousand); break; case 4:printf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(n反序数字为:); printf(%d%d%d%dn,indiv,ten,hundred,thousand); break; case 3:printf

15、(%d,%d,%d,hundred,ten,indiv); printf(n反序数字为:); printf(%d%d%dn,indiv,ten,hundred); break; case 2:printf(%d,%d,ten,indiv); printf(n反序数字为:); printf(%d%dn,indiv,ten); break; 运行结果: case 1:printf(%d,indiv); 请输入一个整数(099999):98423 printf(n反序数字为:); 位数:5 printf(%dn,indiv); 每位数组为:9,8,4,2,3 break; 反序数字为:32489 r

16、eturn 0; 8、输入四个整数,要求按由大到小的顺序输出。(P113 T11)程序如下:#includeint main( ) int t,a,b,c,d; printf(请输入四个数:); scanf(%d,%d,%d,%d,&a,&b,&c,&d); printf( a=%d,b=%d,c=%d,d=%d n,a,b,c,d); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(ad) t=a;a=d;d=t; if(bc) t=b;b=c;c=t; if(bd) t=b;b=d;d=t; if(cd) 运行结果:请输入四个数字:6,8,1,4 t=

17、c;c=d;d=t; a=6,b=8,c=1,d=4 printf(排序结果如下: n); 排序结果如下:printf( %d %d %d %d n ,a,b,c,d); 1 4 6 8return 0; 第5章 循环结构程序设计1、循环结构:while ; do while ;for。2、while语句:只要当循环表达式为真(即给定的条件成立),就执行循环体语句 循环特点:先判断条件表达式,后执行循环体语句。 一般形式:while(表达式)语句3、do while语句特点:无条件地执行循环体,然后判断循环条件是否成立。 一般形式:do 语句while(表达式)4、for语句一般形式:for(

18、表达式1;表达式2;表达式3) 语句 3个表达式的主要作用: 表达式1:设置初始条件,只执行一次。 表达式2:是循环条件表达式,用来判断是否继续循环。在每次执行循环体前先执 行此表达式,决定是否继续执行循环体。 表达式3:作为循环的调整。 即:for(循环变量赋初值;循环条件;循环变量增值) 语句 说明:for(表达式1;表达式2;表达式3)语句 可以该写为while循环的形式: while 表达式2 语句 表达式3 5、集中循环的比较:1) 3种循环都可以用来处理同一问题,一般情况下可以相互代替。2) 在while循环和do.while循环中,只在while后面的括号内制定循环条件,因此为了

19、使循环能正常结束,应在循环体中包含是循环趋于结束的语句。for循环可以在表达式3中包含使循环区域结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此,for语句的功能能强,凡能用while循环能完成的,用for循环都能实现。3) 用while和do while循环时,循环变量初始化的操作应在while和do.while语句完成之前完成。而for语句可以在表达式1中实现循环变量的初始化。4) While循环、do.while循环和for循环,都可以用break语句跳出循环,用continue语句结束本次循环。6.break语句和continue语句的区别: Continue语句只结束本次

20、循环而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。7、P128 例题5.6 程序语句:if(n%5=0)printf(n) 控制在输出5个数据后换行。8、输入两个正数m和n,求其最大公约数和最小公倍数。(P140 T3)#includeint main() int p,r,n,m,temp; printf(请输入两个正整数n,m:); scanf(%d,%d,&n,&m); if(nm) temp=n; n=m; m=temp; p=n*m;while(m!=0) r=n%m; n=m; m=r; 运行结果:printf(它们的最大公约数为:%

21、dn,n); 请输入两个正整数n,m:35,49printf(它们的最小公倍数为:%dn,p/n); 他们的最大公约数是:7return 0; 他们的最小公倍数是:245 9、输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数. (P140 T4!重点) 程序如下:#includeint main()char c;int letters=0,space=0,digit=0,other=0;printf(请输入一行字符:n);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9) 空格数:3 digit+; 数字数:0Else 其他字符:1 other+;

22、printf(字母数:%dn空格数:%dn数字数:%dn其他字符数数:%dn,letter,apace,digit,other);return 0;10、求,即1+2!+3!+4!+20!. (P140 T6,重点掌握求一个数的阶乘)程序如下:#includemain() double s=0,t=1;int n; for(n=1;n=20;n+) t=t*n; s=s+t; 运行结果:printf(1!+2!+20!=%22.15en,s); 1!+2!+20!=2.561327494111820e+018return 0; 11、一个数恰好等于它的因子之和,这个数就称为完数。例如,6的因子

23、为1,2,3,而6=1+2+3,因此6是完数。编程找出1000以内的所有完数,并按下面的格式输出其因子:(P141 T9) 6 its factors are 1,2,3程序如下:#define M 1000 /定义寻找范围#includeint main() int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s; for(a=2;a=M;a+) /a是21000之间的整数,检查它是否完数n=0; /n用来积累a的因子个数 s=a; /s用来存放尚未求出的因子之和,并开始等于a for(i=1;i1) printf(%d,%d,k1,k2); /n1表

24、示a至少有2个因子if(n2) printf(,%d,k3); /n2表示至少有3个因子,故再输出一个因子if(n3) printf(,%d,k4); /n3表示至少有4个因子,故再输出一个因子if(n4) printf(,%d,k5); /以下类推if(n5) printf(,%d,k6); if(n6) printf(,%d,k7); if(n7) printf(,%d,k8); if(n8) printf(,%d,k9); if(n9) printf(,%d,k10); printf(n); 运行结果: 6,its factors are 1,2,3 return 0; 28,its f

25、actors are 1,2,4,7,14 496,its factors are1,2,4,8,16,31,62,124,248方法二: #include int main() int m,s,i; for (m=2;m1000;m+) s=0; for (i=1;im;i+) if (m%i)=0) s=s+i; if(s=m) printf(%d,its factors are ,m); for (i=1;im;i+) if (m%i=0) printf(%d ,i); printf(n); return 0; 第6章 利用数组处理批量数据1、定义一维数组的一般形式为:类型符 数组名常量表达式 注意:下标从0开始,常量表达式中可以包括常量和符号常量,不能包含变量。2、应用数组元素的表示形式为:数组名下标 注意:只能引用数组元素而不能一次整体调用整个数组的全部元素的值。3、对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。(P144 例题6.1) 程序如下:#includeint main()int i ,a10;for(i=0;i=0,i-) 运行结果:pri

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1