c语言与c语言的区别

c语言与c语言的区别

ID:39963250

大小:348.31 KB

页数:29页

时间:2019-07-16

上传者:U-145848
c语言与c语言的区别_第1页
c语言与c语言的区别_第2页
c语言与c语言的区别_第3页
c语言与c语言的区别_第4页
c语言与c语言的区别_第5页
资源描述:

《c语言与c语言的区别》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

C语言与C++语言的区别 C语言与C++语言的最主要区别C是面向过程的语言,C++是面向对象的语言。因此,C中没有类的概念,全部代码都包含在函数中。C提供了大量的库函数:输入输出函数:printf(),scanf(),…动态内存分配函数:malloc(),free(),…内存管理:memset(),memcpy(),…... C++程序与C程序对比#includeusingnamespacestd;intmain(){for(inti=0;i<10;i++){cout<<"Hello!"<intmain(){inti;for(i=0;i<10;i++){printf("Hello! ");}return0;}C++C C语言与C++语言的区别变量定义位置结构体变量数据类型输入输出动态内存分配其他区别 1.变量定义位置C89要求所有变量都必须定义在块的最前部C++没有这个要求,可以在程序任意位置定义新的变量 2.结构体变量在C++中,struct结构体支持成员函数的定义,C中不行。如果在C的struct中定义函数,编译时会显示一个“field‘functionname’declaredasfunction”错误 2.结构体变量(续)/*ch3_10.c*/structA{inta;intb();};intmain(){structAc;c.a=2;return0;}编译错误:“ch3_10.c:5:error:field'b'declaredasafunction”C++标准可以通过编译 2.结构体变量(续)在C语言中,声明一个结构体类型A之后,使用下面的语句来定义结构体变量a:structAa;而C++语言中可以省略struct 3.数据类型C++中有bool(或boolean类型);C中没有这样的bool类型,均为数值类型!C编译器不能通过编译,C++编译器可以boola;a=1; 4.输入输出C中使用printf、scanf输入输出使用时必须包含stdio.h头文件inta;scanf("%d",&a);printf("您输入的数值是%d ",a); A.scanf()函数功能:从键盘读入指定格式的数据格式:scanf("控制字符串",输入项列表);注意:scanf中各变量一定是表示地址的标识符(加&) 控制字符串控制字符串有两部分组成:格式说明形式:%[<修饰符>]<格式字>普通字符空格可打印字符 格式说明各格式字符及其意义:(详见C教程)d:输入一个十进制整数o:输入一个八进制整数x:输入一个十六进制整数f:输入一个小数形式的浮点数e:输入一个指数形式的浮点数c:输入一个字符s:输入一个字符串 空格在多个输入时,一般用空格或回车作为分隔符若以空格作为分隔符,当输入中包含字符类型时,可能产生非预期的结果scanf("%d%c",&a,&ch);输入:45q输出:45空格 空格(续)如下语句会有正确输出此处%d后的空格,就可以跳过字符'q'前的所有空格scanf("%d%c",&a,&ch);输入:45q输出:45q 可打印字符看一个例子输入为:1,2,q可以得到a=1,b=2,ch=q输入为:12q除a的值为1外,对b与ch的赋值失败scanf("%d,%d,%c",&a,&b,&ch); B.printf()函数功能:从缺省输出设备(一般为显示器)输出规定格式的字符串格式:printf("控制字符串",输入项列表); 控制字符串控制字符串有两部分组成:格式说明形式:%[<修饰符>]<格式字>普通字符空格可打印字符 格式说明各格式字符及其意义:(详见C教程)c:按字符型输出o:按八进制输出d:按十进制输出x:按十六进制输出u:按无符号整数输出f:按浮点型小数输出g:按e和f格式中较短的一种输出e:按科学计数法输出 普通字符普通字符:可打印字符主要是说明字符,按原样输出,支持汉字输出转义字符(例)不能直接打印,控制产生特殊的输出效果 普通字符(续)转义字符示例i=789,n=123,a=92.34567,且i为整型,n为长整型。printf("%4dt%7.4f t%lu ",i,a,n);输出为:78992.3457123 C语言输入输出总结输入输出可能是C和C++的最明显的区别C中用scanf(),printf()来完成输入输出操作C++中全局对象cin、cout来输入输出,比C更方便,而且类型检查机制更加完善 C++中的使用方式new申请delete释放C中的使用方式malloc()申请free()释放5.动态内存分配 函数原型:void*malloc(longsize);作用:在对内存中分配size各字节,并返回了指向这块内存首地址的指针如果分配失败,返回NULL返回指针为void*型的,要强制转换A.malloc()函数 函数原型:voidfree(void*FirstByte);作用:将之前用malloc申请的空间归还操作系统否则就导致内存泄漏编译器不会发现内存泄漏这样的错误B.free()函数 C.函数的用法/*例3-11*/#include#includeintmain(){int*p;if((p=(int*)malloc(sizeof(int)))==NULL){printf("动态内存分配失败 ");exit(1);} C.函数的用法(续)*p=100;printf("%d ",*p);free(p);p=NULL;return0;} 头文件:malloc和free被头文件stdlib.h包含C++中new和delete为关键字,故无需头文件包含使用:int*p=(int*)malloc(sizeof(int));int*p=newint;与C++的几点区别 6.其他区别常量表示方法不同C语言不支持引用的概念,而C++支持注释不同,C89不支持单行注释(++i)++在C中不合法(a=3)=4在C中不合法不能在for循环头部定义变量

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭