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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c复习资料.docx

1、c复习资料复习资料Ch2 数据类型、运算符与表达式1. C程序的结构:C程序是由一个或多个源文件组成,源文件是C程序的编译单位;源文件由函数组成的;一个程序有且仅有一个名字为main( )的函数;函数的定义不可嵌套,即,在一个函数内部不可定义另外一个函数;程序总是从main函数第一条可执行语句开始执行,在main函数结束;2.标识符合法的标识符的组成;如x1、a、max_int、_num等合法的,2x、x#等不合法,不能用关键字,如for、int等,最好不用函数名如 printf等。关键字:查看附录B;如printf、define不是关键字;C语言区分大小写,故For、If等不是关键字3.常量

2、的表示形式整型常量:十进制、八进制、十六进制。如 028、0x2ah不合法;若整数是2个字节,则整数范围-32768-32767之间,32768(错) -037 0xaf均正确实型常量:3.0 2.3e3 2e-4正确,2e3.0错 字符常量:注意转义字符,如n、72、x23等均表示一个字符,如“t”nameaddressn”长度为15;38错误字符串常量:变量定义及赋值:变量赋值时的类型应相同或兼容,如int a=3.5、float b=4、char c=97正确,但char ch=”abc”错误4.运算符及表达式运算符的功能、特点:如%要求两侧操作数均为整数;若 / 两侧操作数都是整数表示

3、整除;运算符的优先级:复合运算符:如int a=3; 执行a+=a-=a*a; 后,a的值是-12;如:n=10,i=4,则赋值运算n%=i+1,n的值是逻辑运算符:掌握& 和 | 的运算特点;如 i=2,j=3,k=4, if(i+) | (j+) & k+) printf(“%d,%d,%d”,i,j,k);结果是?设a=3, b=4, c=5,表达式(1)a & b、 (2)a=b 、a | b+c & b-c、(3)!(ab) & !c | 1)、(4)abba结果?如:c=0; 考虑,表达式c=b=a、(a=c)|(b=c)、(a=c)&(b=c)、a=c=b能正确将c的值赋给变量a

4、,b吗?为什么?关系运算符:注意= =与=的区别,如a=1,b=2 则if(a=3) b=0; 则b的值变化了吗?为什么?条件运算符:运算的特点如:i=1,j=2;执行语句n=ij?i+:j+; 则i和j的值是5自增自减:掌握前置与后置的运算特点;如:x=3,则表达式x+的结果是3,x的值变成4;而+x的结果是4,x的值也是4;-x+结果是-3,x的值变成4如:x=7,则(x+%3)结果是?6表达式类型的转换: 若char a; int b; float c; double d;则表达式 a*b+d-c 的值类型?7逗号运算符:逗号表达式的值是最后一个表达式的值。如:(a2*3,a+2,a*6

5、)的值是?Ch3 简单的C程序设计掌握格式化输入输出如:scanf(“%d,%d”,a,b);错! float f=3.14,printf(“%d”,f);错!float f; scanf(“%5.2f”,&f);错!如:scanf(a=%d,b=%d,&a,&b);对应的输入应该是? 如:要求实数的输出结果保留2位小数位数,怎样写printf( )?Ch4 程序的控制结构1.条件表达式:C语言中,在进行逻辑判断时,以非0表示逻辑真;逻辑真用1表示,逻辑假用0表示;if(a)等价于if(a!=0);2循环结构(重点):循环的条件、循环的次数等如:a7=11,13,14,15,16,17,18,

6、i=0,k=0; while(i7&pi%2) k=k+pi;i+; printf(%dn,k); 输出结果是? 如:int x = -1;do x = x * x;while(!x); 是死循环吗?不是的话执行多少次循环?如:for(i=5;i=0;) printf(%dn,i-);执行几次循环?Ch5 函数1.函数的调用:掌握单向值传递的思想;简单变量作为实参时,它和对应形参之间数据的传递方式为单向值传递 ;若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的首地址如:void swap(int x, int y) int t; if(xy) t=x; x=y; y=t; main

7、() int a=1,b=2; swap(a,b); printf(%d,%d,%dn,a,b,c); 结果是?3.变量的作用范围作用域:变量的类型(按作用范围分全局变量、局部变量;按生存期分:动态变量、静态变量);auto、static声明的变量的类型;全局变量的作用域不一定比局部变量的作用域范围大(考虑为什么?);静态变量(static声明)的生存期贯穿于整个程序的运行期间;函数的形参都属于局部变量;未在定义语句中赋初值的auto变量初值是随机值而全局变量和static声明的变量未初始化时系统自动将其初始化为0;不同的函数中可以使用相同的变量名;形式参数是局部变量;在语句块内定义的变量称为

8、局部变量;4.预处理:在有宏替换的地方,一定要注意原样替换!如:# define N 2# define M N+1# define NUM (M+1)*M/2则for ( i=0;i)的用法如:struct student char name10; int age; char sex;stu3,*p=stu;则以下语句正确的是?错误的是(为什么错?)A. scanf(%d,&(*p).age); B. scanf(%s,&std.name);C. scanf(%c,&std0.sex) D. scanf(%c,&(p-sex);如:struct student int num; int ag

9、e;stu3=001,20,002,19, 003,21,*p=stu;表达式(p+)-num p+ (*p).num p=&stu.age是否合法,如果合法,表达式值是什么?如果不合法为什么?2.typedef的用法:注意typedef不是定义一种新的类型,仅是给某个类型起个“外号、别名”Ch10 文件操作1.文件打开及关闭:已知 FILE *fp,以只读方式打开 d:vc60data.txt 的语句 是fp=fopen(d:vc60data.txt ,r);要求以只写方式打开呢?1.文件位置指针的定位:掌握rewind、fseek、ftell的用法;如:考虑怎样才能将文件位置指针定位到文件

10、开头?rewind(fp)或fseek(fp,0,0)阅读程序以下程序的输出结果是?1. void main() int a =1,2,3,4,5,6,7, *p=a ; p+=2 ; printf(%dn, p3);2. void main() char ch7=123ab45;int i,s =0;for(i=0;chi=0&chi=9;i+=2)s=10*s+chi-0;printf(%dn,s);3. int func(int a,int b) static int m=0;static int i=2; i+=m+1; m=i+a+b; return(m); void main()

11、int k=1,m=2,p; p=func(k,m); printf(%d,p); p=func(k,m); printf(%dn,p);4. void main() int a34=1,2,3,4,5,6,7,8,9,10,11,12; int (*p)4=a,i,j,k=0; for(i=0;i3;i+) for(j=0;j2;j+) k=k+*(*(p+i)+j); printf(%dn,k);5. main() char *s=12134211;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk) default: v4+;case 1:

12、 v1+;case 3: v3+;case 2: v2+;printf(%d,%d,%d,%dn,v1,v2,v3,v4); 程序题1从键盘输入圆的半径r,计算并输出圆的面积s。(要求:半径r定义为float型;圆周率定义为符号常量;面积s保留2位小数)2.从键盘输入三角形的三边长a,b,c,计算并输出三角形的面积area,其公式为(要求:面积area定义为float型,输出结果保留2位小数)。3编程序求10!4.编程计算1!+2!+10!的值5.计算两个正整数的最大公约数,求最大公约数的过程用子函数实现。6利用泰勒级数,计算e的近似值。要求最后一项的绝对值小于10-5为止。7以选择法(再编写

13、以冒泡法)排序写一个排序函数,函数名为sort,实现对含有n个整数的数组按由大到小的顺序排序。原始数据在主函数中通过键盘输入,排序结果在主函数中输出。请写出sort函数。8.在一个已经排好序(由小到大)的数组中查找待插入数据x应插入的位置,使其插入后,数组元素仍然保持由小到大的顺序。9.有一个字符数组str,数组中存放一个字符串,编程将字符数组中ASCII值为偶数的字符从数组中删除掉,删除后形成的新字符串仍然存放在原来的字符数组str中。课本:课后习题:习题2、习题3、习题4(后面编程重点4.6 4.12 4.15.4.18)、习题5(后面编程重点5.4 5.7)、习题6(后面编程重点6.5 6.12)、习题7(后面编程重点7.6 7.8)、习题8(后面编程不作重点)说明:本资料仅作为期末考试复习重点,不是考试内容!有不明白的问题同学之间相互讨论。

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

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