C语言与C语言的区别.ppt_第1页
C语言与C语言的区别.ppt_第2页
C语言与C语言的区别.ppt_第3页
C语言与C语言的区别.ppt_第4页
C语言与C语言的区别.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言与C+语言的区别,C语言与C+语言的最主要区别,C是面向过程的语言,C+是面向对象的语言。 因此,C中没有类的概念,全部代码都包含在函数中。 C提供了大量的库函数: 输入输出函数:printf(), scanf(), 动态内存分配函数:malloc(), free(), 内存管理:memset(), memcpy(), .,C+程序与C程序对比,#include using namespace std; int main() for (int i=0; i10; i+) coutHello!endl; return 0; ,#include int main() int i; for (

2、i=0; i10; i+) printf (Hello!n); return 0; ,C+,C,C语言与C+语言的区别,变量定义位置 结构体变量 数据类型 输入输出 动态内存分配 其他区别,1. 变量定义位置,C89要求所有变量都必须定义在块的最前部 C+没有这个要求,可以在程序任意位置定义新的变量,2. 结构体变量,在C+中,struct结构体支持成员函数的定义,C中不行。 如果在C的struct中定义函数,编译时会显示一个“field function name declared as function”错误,2. 结构体变量(续),/*ch3_10.c*/ struct A int a;

3、 int b(); ; int main() struct A c; c.a=2; return 0; 编译错误:“ch3_10.c:5: error: field b declared as a function” C+标准可以通过编译,2. 结构体变量(续),在C语言中,声明一个结构体类型A之后,使用下面的语句来定义结构体变量a: struct A a; 而C+语言中可以省略struct,3. 数据类型,C+中有bool (或boolean类型); C中没有这样的bool类型,均为数值类型! C编译器不能通过编译,C+编译器可以,bool a; a = 1;,4. 输入输出,C中使用pri

4、ntf、scanf输入输出 使用时必须包含stdio.h头文件,int a; scanf( %d, ,A. scanf()函数,功能: 从键盘读入指定格式的数据 格式: scanf( 控制字符串, 输入项列表 ); 注意: scanf中各变量一定是表示地址的标识符(加,控制字符串,控制字符串有两部分组成: 格式说明 形式: % 普通字符 空格 可打印字符,格式说明,各格式字符及其意义:(详见C教程) c:按字符型输出 o:按八进制输出 d:按十进制输出 x:按十六进制输出 u:按无符号整数输出 f:按浮点型小数输出 g:按e和f格式中较短的一种输出 e:按科学计数法输出,普通字符,普通字符:

5、可打印字符 主要是说明字符,按原样输出,支持汉字输出 转义字符(例) 不能直接打印,控制产生特殊的输出效果,普通字符(续),转义字符示例,i = 789,n = 123, a = 92.34567,且i为整型,n为长整型。 printf( %4dt%7.4fnt%lun, i, a, n ); 输出为: 78992.3457 123,C语言输入输出总结,输入输出可能是C和C+的最明显的区别 C中用scanf(), printf()来完成输入输出操作 C+中全局对象cin、cout来输入输出,比C更方便,而且类型检查机制更加完善,C+中的使用方式 new申请 delete释放 C中的使用方式 m

6、alloc()申请 free()释放,5. 动态内存分配,函数原型: void *malloc( long size ); 作用: 在对内存中分配size各字节,并返回了指向这块内存首地址的指针 如果分配失败,返回NULL 返回指针为void*型的,要强制转换,A. malloc()函数,函数原型: void free( void *FirstByte ); 作用: 将之前用malloc申请的空间归还操作系统 否则就导致内存泄漏 编译器不会发现内存泄漏这样的错误,B. free()函数,C. 函数的用法,/*例 3-11*/ #include #include int main() int* p; if(p = (int*)malloc(sizeof(int) = NULL ) printf(动态内存分配失败n); exit(1); ,C. 函数的用法(续),*p = 100; printf(%dn, *p); free(p); p = NULL; return 0; ,头文件: malloc和free被头文件stdlib.h包含 C+中new和delete为关键字,故无需头文件包含 使用: int *p=(int*)malloc(sizeof(int); int *p = new

温馨提示

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

评论

0/150

提交评论