1 / 30
文档名称:

C语言与C语言的区别.ppt

格式:ppt   大小:409KB   页数:30页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言与C语言的区别.ppt

上传人:小落意 2022/9/10 文件大小:409 KB

下载得到文件列表

C语言与C语言的区别.ppt

文档介绍

文档介绍:C语言与C语言的区别
C语言与C++语言的最主要区别
C是面向过程的语言,C++是面向对象的语言。
因此,C中没有类的概念,全部代码都包含在函数中。
C提供了大量的库函数:
输入输出函数:printf(),scanf(),…
动态内存分
C语言与C语言的区别
C语言与C++语言的最主要区别
C是面向过程的语言,C++是面向对象的语言。
因此,C中没有类的概念,全部代码都包含在函数中。
C提供了大量的库函数:
输入输出函数:printf(),scanf(),…
动态内存分配函数:malloc(),free(),…
内存管理:memset(),memcpy(),…
...
C++程序与C程序对比
#include<iostream>
usingnamespacestd;
intmain()
{
for(inti=0;i<10;i++)
{
cout<<"Hello!"<<endl;
}
return0;
}
#include<>
intmain()
{
inti;
for(i=0;i<10;i++)
{
printf("Hello!\n");
}
return0;
}
C++
C
C语言与C++语言的区别
变量定义位置
结构体变量
数据类型
输入输出
动态内存分配
其他区别

C89要求所有变量都必须定义在块的最前部
C++没有这个要求,可以在程序任意位置定义新的变量

在C++中,struct结构体支持成员函数的定义,C中不行。
如果在C的struct中定义函数,编译时会显示一个“field‘functionname’declaredasfunction”错误
(续)
/* */
structA
{
inta;
intb();
};
intmain()
{
structAc;
=2;
return0;
}
编译错误:“:5:error:field'b'declaredasafunction”
C++标准可以通过编译
(续)
在C语言中,声明一个结构体类型A之后,使用下面的语句来定义结构体变量a:
structAa;
而C++语言中可以省略struct

C++中有bool(或boolean类型);
C中没有这样的bool类型,均为数值类型!
C编译器不能通过编译,C++编译器可以
boola;
a=1;
空格(续)
如下语句会有正确输出
此处%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);
()函数
功能:
从缺省输出设备(一般为显示器)输出规定格式的字符串
格式:
printf("控制字符串",输入项列表);
控制字符串
控制字符串有两部分组成:
格式说明
形式:
%[<修饰符>]<格式字>
普通字符
空格
可打印字符
格式说明
各格式字符及其意义:(详见C教程)
c:按字符型输出
o:按八进制输出
d:按十进制输出
x:按十六进制输出
u:按无符号整数输出
f:按浮点型小数输出
g:按e和f格式中较短的一种输出
e:按科学计数法输出
普通字符
普通字符:
可打印字符
主要是说明字符,按原样输出,支持汉字输出
转义字符(例)
不能直接打印,控制产生特殊的输出效果
普通字符(续)
转义字符示例
i=789,n=123,a=,且i为整型,n为长整型。
printf("%4d\t%\n\t%lu\n",i,a,n);
输出为:
789
123
C语言输入输出总结
输入输出可能是C和C++的最明显的区别
C中用scanf(),printf()来完成输入输出操作
C++中全局对象cin、cout来输入输出,比C更方便,而且类型检查机制更加完善
C++中的使用方式
new 申请
delete 释放
C中的使用方式
malloc() 申请
free() 释放

函数原型:
void*malloc(longsize);
作用:
在对内存中分配size各字节,并返回了指向这块内存首地址的指针
如果分配失败,返回NULL
返回指针为void*型的,要强制转换
()函数
函数原型:
voidfree(void*FirstByte);
作用:
将之