C和C++程序对比一例
下面C 和C++程序完成相同的功能,输出一样。本文涉及到结构体(struct)数据类型。
C和C++的字符串
C字符串定义时可以利用“=”号进行初始化,但是不能利用“=”对C字符串进行赋值。对C字符串的操作需要通过“string.h”头文件中定义的字符串处理函数。如:
//字符串的初始化
char a[11] = "huanying";
//字符串的赋值
strcpy(a,"nihao")
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作。
C和C++的输入输出
对标准设备(键盘和显示器)的输入输出,C语言用函数scanf和printf进行输入输出,C++语言采用流——输入用cin输出用cout。(注意,C++为了与C兼容,保留了用printf和scanf进行输出和输入的方法)
https://www.cnblogs.com/yangykaifa/p/6837294.html
C 文件名一般以 ".c" 作为扩展名,C++ 文件名一般以 ".cpp" 作为扩展名。
C程序
#include <stdio.h>
#include <string.h>
struct Books
{
char title[50];
int id;
};
int main( )
{
struct Books Book1; // 声明 Book1,类型为 Books
struct Books Book2; // 声明 Book2,类型为 Books
strcpy(Book1.title, "C Programming");
Book1.id = 10001;
Book2 = Book1;
printf("Book 1 title:%s, Book 1 id:%d\n", Book1.title, Book1.id);
printf("Book 2 title:%s, Book 2 id:%d\n", Book2.title, Book2.id);
Book1.id = 20002;
printf("Book 1 title:%s, Book 1 id:%d\n", Book1.title, Book1.id);
printf("Book 2 title:%s, Book 2 id:%d\n", Book2.title, Book2.id);
return 0;
}
C++程序
#include <iostream>
using namespace std;
struct Books
{
string title;
int id;
};
int main( )
{
struct Books Book1; // 声明 Book1,类型为 Books
struct Books Book2; // 声明 Book2,类型为 Books
Book1.title = "C Programming";
Book1.id = 10001;
Book2 = Book1;
cout<< "Book 1 title:" << Book1.title << " id:" << Book1.id <<endl;
cout<< "Book 2 title:" << Book2.title << " id:" << Book1.id <<endl;
Book1.id = 20002;
cout<< "Book 1 title:" << Book1.title << " id:" << Book1.id <<endl;
cout<< "Book 2 title:" << Book2.title << " id:" << Book1.id <<endl;
return 0;
}
输出如下:
Book 1 title:C Programming id:10001
Book 2 title:C Programming id:10001
Book 1 title:C Programming id:20002
Book 2 title:C Programming id:20002