




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 研学课程开发师笔试试题及答案
- 儿童康复训练师考试试卷及答案
- 《特种设备使用单位作业人员管理规范》编制说明20250422
- 2025年高精度数字测温仪表合作协议书
- 国开学习网《园林树木学》形考任务1234答案
- 青岛西海岸新区教育和体育系统专项招聘公费师范生笔试真题2024
- 2025年纸品用胶项目合作计划书
- 消防知识竞赛题库2
- 2025年暑假.实践调查报告范文
- 2025年收费的生产服务及修理合作协议书
- 轴线翻身护理技术课件
- 护理质量管理评价标准考核试题(附答案)
- 【课件】跨学科实践:为家庭电路做设计+2025-2026学年人教版物理九年级上学期
- 2025届中考数学全真模拟卷 【河北专用】及答案
- 广告法法律培训课件
- 2025至2030中国高阻隔膜市场供需状况与重点企业经营分析报告
- 钢铁超低排放改造评估报告
- 剪刀升降车安全教育培训
- 彩绘脸部儿童课件
- GB/T 2820.5-2025往复式内燃机驱动的交流发电机组第5部分:发电机组
- 员工带小孩管理制度
评论
0/150
提交评论