欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C程序设计期末复习知识点.docx

    • 资源ID:9388549       资源大小:19.82KB        全文页数:15页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C程序设计期末复习知识点.docx

    1、C程序设计期末复习知识点C程序设计期末复习:知识点总结1. 算法及流程图表示(1)程序流程图 : 可以表示结构化算法和非结构化算法,用箭头表示执行顺序(2)N-S图 : 只能表示结构化算法,用上下关系表示执行顺序(3)基本算法 交换两个变量的值 最大公约数的欧几里德算法 判断是否是素数 从多个数中找最大最小值 冒泡排序法(数组) 直接选择排序法(数组) 折半查找(数组)2. 程序代码之预处理部分(1)预处理的作用 : 编译之前根据预处理命令对源代码进行修改(2)文件包含 : 为代码中的函数提供声明 #include scanf( ) : 格式化输入 printf( ) : 格式化输出 gets

    2、( ) : 输入一行字符串 puts( ) : 输出一行字符串 #inlcude sin( ) : 求正弦值 cos( ) : 求余弦值 #include malloc( ) : 分配指定字节的内存空间,返回该空间的起始地址 free( ) : 释放所分配的内存空间 #include strlen( ) : 求字符串的长度(实现机制) strcpy( ) : 字符串拷贝(实现机制) strcat( ) : 字符串连接(实现机制)(3)宏定义 : 掌握如何定义符号常量 #define PI 3.143. 程序代码之注释部分(1)注释的作用 : 只供人阅读,编译器跳过这些字符不予处理(2) /*

    3、*/ : 块注释,可跨多行(3) / : 行注释,从/开始至本行结束的字符为注释内容4. 程序代码之常量的表示(1)整数表示 : 8进制整数的表示 : 以0开头表示8进制整数 16进制整数的表示 : 以0x开头表示16进制整数 8进制数的常见错误 : 01238, 048 (只能用07共8个数码)(2)浮点数表示 : 小数表示形式 : 必须有小数点,如3.14 指数表示形式 : E,如10E10(3)字符 : 以限定的一个字符 a : 小写字母a,其值为97 A : 大写字母A,其值为65 0 : 数字0,其值为48 n : 转义字符换行,其值为10 0 : 字符串结束符,其值为0(4)字符串

    4、 : 以限定的一个字符序列,含有字符串结束符05. 程序代码之标识符(1)标识符的功能 : 用来为变量、数组、函数命名(2)标识符的命名规则 : 以_或字母开头,由_、字母和数字组成,不能用关键字(3)C语言大小写字母敏感 : IF、if、If、iF不相同6. 程序代码之变量及其数据类型(1)字符型变量的关键字 signed(有符号) unsiged(无符号) char(1字节)(2)整型变量的关键字 signed(有符号) unsiged(无符号) short(2字节) int(4字节) long(4字节) char ch=0xFF; short s=0xFFFF; int i=0xFFFF

    5、FFFF; long l=0xFFFFFFFF;(3)实型变量的关键字 float(4字节) double(8字节)(4)字符变量的输入和输出 char ch; scanf(%c,&ch); printf(%c,ch);/以字符形式输出 printf(%d,ch);/以整数形式输出 (5)整型变量的输入和输出 int i; scanf(%d,&i); printf(%d,i); (6)实型变量的输入和输出 float a; double b; scanf(%f%lf,&a,&b); printf(%f%f,a,b);7. 程序代码之运算符和表达式(1)运算符及优先级 (15) () 、 (14

    6、) (位运算) 、! 、+ 、- 、 & 、 * 、 sizeof (右) (13) * 、/ 、% (12) + 、- (11) (位运算) (10) = b?a:b : 条件运算,条件表达式成立,其值为a,否则为b a与!a :按位非运算和逻辑非运算8. 程序代码之语句(1)语句规则 : 将多条语句书写于一行及将一条语句书写于多行无需特殊处理(2)if语句: if (expression1) statement1 ; else if (expression2) statement2 ; else if (expression3) statement3 ; else if (expressi

    7、onm) statementm ; else statementn ; (3)switch语句:switch(expr)case const_expr1: statements1;breakcase const_expr2: statements2;breakcase const_exprn: statementsn;breakdefault : statmentsn+1 ; (4)else 悬挂 : else将和距离最近的、尚未匹配的if语句匹配if (y != 0) if (x != 0) result = x / y;else printf(Error: y is equal to 0n

    8、);(5)switch瀑布 : switch(n) case 1: printf(Monday); case 2: printf(Tuesday); case 3: printf(Wednesday); case 4: printf(Thursday);break; case 5: printf(Friday); case 6: printf(Saturday); case 7: printf(Sunday); default:printf(Invalid number!);上述代码中,若n的值为1,将输出:Monday Tuesday Wednesday Thursday(6)while语句

    9、 : 当型循环,循环体的执行次数可能为0 while(control_expr) loop_statements; (7)do语句 : 直到型循环,循环体的执行次数至少为1 do loop_statements; while(control_expr);(8)for语句 : 当型循环,循环体的执行次数可能为0 for(expr1;expr2;expr3 ) loop_statements; (9)break语句 : break将跳出包含该语句的整个循环结构(10)continue语句 : continue将结束本轮循环,进入下一轮循环9. 程序代码之函数(1)函数的定义 : 返回值类型函数名(

    10、形式参数列表) 函数体 (2)return语句 : 当函数的返回值类型为void时,可以省略return语句(3)函数的调用及参数传递 : 函数按被调用的先后顺序执行,参数只能按值传递#include void f2();void f3();void f1() printf(1); f2(); printf(2);void f2() printf(3); f3(); printf(4);void f3() printf(5);void main() f1(); f2(); printf(n);输出结果:13542354(4)变量的作用域和存储周期 : 文件和块作用域,静态和自动存储周期#inc

    11、lude int X=10,Y=100;void f1() X=X*2; /f1中的X是外部变量,调用后外部变量X的值为20void f2() int Y=10;Y=Y*3; /f2的Y是内部变量,其值改变不会影响外部变量Y void main()f1();f2();printf(%d,%dn,X,Y);输出结果:20,100(5)外部变量和内部变量 : 函数外定义(全局变量)和函数内定义(局部变量)(6)静态变量 : static用于外部变量时指链接方式,用于内部变量时指存储周期10. 程序代码之数组和指针(1)数组的声明和初始化 :int a33=0,1,2,3,4;(2)数组元素的引用

    12、:int a10=0,1,2,3,4,5,6,7,8,9 有元素a10吗?(3)数组中的基本算法 : 冒泡排序法(数组) 直接选择排序法(数组) 折半查找(数组)(4)指针的声明和初始化 :int a=123,*p=&a;(5)指针的基本运算 : & : 取对象的地址 * :取得所指对象的值 指针变量+整数:指向其后的第几个(整数值决定)对象 指针变量-整数:指向其前的第几个(整数值决定)对象(6)用指针变量作形参 :#include void foo(int x,int * y) x=20; *y=200;void main() int a=10,b=100; foo(a,&b); prin

    13、tf(%d,%dn,a,b); 输出结果:10,200为什么?只有使用指针类型的形参,函数调用后才能改变对应的实参值,这是C语言中指针之所以存在的最大的意义。(8)数组名和指针的关系 : 数组名是指向数组首元素的指针常量,不能对数组名赋值。(9)字符数组和字符串 :char str1=1,2,3,str2=”123”;字符数组str1含有3个元素,str含有4个元素(包括结束符)char s20=”forFUN”; printf(“%c,%c,%c,%s,%s”, *s , *(s+2) , *s+2 , s , s+2) ;输出:f,r,h,forFUN, rFUN(10)指针的应用 : 用

    14、指针实现字符串的拷贝、连接、求长度、大小写转换等字符串复制函数strcpy的实现代码:char* strcpy(char *s1, char *s2) char *ret = s1; /记住字符串s1的地址while(*s1+ = *s2+) != 0); /逐个复制字符(包括结束符)return ret; /返回字符串s1的地址字符串连接函数strcat的实现代码:char* strcat(char *s1, char *s2) char *ret = s1; /记住字符串s1的地址while(*s1 != 0) s1+; /指向字符串s1的结束符while(*s1+ = *s2+) !=

    15、0); /逐个复制字符(包括结束符)return ret; /返回字符串s1的地址字符串长度函数strlen的实现代码:int strlen( char *s)int length = 0; /初始化字符串长度while(*s+ != 0) length+; /统计字符个数(不含结束符)return length; /返回字符串长度字符串大写转小写函数strlwr的实现代码:char* strlwr(char *s)char *ret = s; /记住字符串s的地址while (*s != 0) /若当前字符不是结束符if(*s=A & *s=Z) *s=*s+32; 大写字符转小写s+; /

    16、指向下一个字符return ret; /返回字符串s的地址附录:算法及其实现 交换两个变量的值 int a,b,t;t = a;a = b;b = t; 最大公约数的欧几里德算法int gcd(int m,int n) int r; do r = m % n; m = n; n = r; while (r!=0); return m; 判断是否是素数int prime(int n) int i; for (i=2;i=n-1;i+) if (n%i = 0) return 0; return 1; 从多个数中找最大最小值#include void main() int a10=2,23,4,1

    17、7,56,27,38,19,15,1;int max,min,i;max=a0; min=a0; for(i=1;imax) max=ai; if(aimin) min=ai; printf(Max= %dn,max); printf(Min= %dn,min); 冒泡排序法(数组)#include #define SIZE 10void main() int t,pass,i; int a=3,7,9,2,0,4,8,1,5,6; printf(Original order:n); for (i=0; i=SIZE-1; i+) printf(%3d,ai); for (pass=1; pa

    18、ss=SIZE-1; pass+) for (i=1; iai) t=ai-1; ai-1=ai; ai=t; printf(nAscending order:n); for (i=0; i=SIZE-1; i+) printf(%3d,ai); printf(n); 直接选择排序法(数组)#include #define SIZE 10void main() int t,pass,i; int a=3,7,9,2,0,4,8,1,5,6; printf(Original order:n); for (i=0; i=SIZE-1; i+) printf(%3d,ai); for (pass=1

    19、; pass=SIZE-1; pass+) for (i=pass; iai) t=apass-1; apass-1=ai; ai=t; printf(nAscending order:n); for (i=0; i=SIZE-1; i+) printf(%3d,ai); printf(n); 折半查找(数组)#include void main() int a10=12,23,34,45,56,67,78,89,90,91; int key,m,l,h; scanf(%d,&key); l=0; h=9; while(l=h) m=(l+h)/2; if(keyam)l=m+1; if(key=am)break; if(key=am)printf(at %dn,m); else printf(Not found!n);


    注意事项

    本文(C程序设计期末复习知识点.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开