C++程序设计中的字符型数据(char)解析

需积分: 14 6 下载量 140 浏览量 更新于2024-07-13 收藏 8.66MB PPT 举报
"字符型数据char在C++程序设计中的应用" 在C++程序设计中,字符型数据(char)扮演着重要的角色。字符型数据实际上是以整型数据的形式存储在内存中的,这是因为计算机处理字符时依赖于字符编码,最常见的是ASCII码。ASCII码是一种7位的二进制编码,能够表示128个不同的字符,尽管如此,C++通常会使用一个字节(8位)来存储一个字符,以确保有足够的空间。 例如,字符'A'在ASCII码中的值是0x41或者十进制的65。在C++中定义一个字符型变量`grade`如下: ```cpp char grade; // 定义一个字符型变量,占用1个字节的空间 grade = 'A'; // 使用单引号包含字符,这样可以将字符'A'的ASCII码赋值给grade ``` 在这个例子中,'A'被包含在单引号中,表示它是一个字符常量,而非标识符。字符在内存中的表示方式是一个字节,对于'A',其对应的二进制形式是0000 0100 0001,即0x41。 C++语言的发展历程与C语言密切相关。C++是在C语言的基础上发展和完善起来的,由Bjarne Stroustrup于1983年开始设计,目的是为了提供面向对象编程的能力以及更多的语言特性。C++不仅保留了C语言的高效和灵活性,还引入了类、模板、异常处理等面向对象的概念,使其成为一个更为强大的编程工具。 C++的特点包括: 1. 结构化编程:C++支持结构化编程,允许程序员以模块化的方式组织代码,提高了代码的可读性和可维护性。 2. 面向对象:C++是面向对象的,允许创建类和对象,支持封装、继承和多态,使代码更易于重用和扩展。 3. 汇编语言特性:C++拥有丰富的运算符,包括二进制位运算,这使得可以直接操作低级别的硬件特性,提高了程序的效率。 4. 可移植性:C++编写的程序可以在不同平台之间移植,只需做少量或无需修改,这得益于其标准库和抽象化机制。 5. 灵活度:C++允许程序员自由地设计程序结构,但这也意味着对编程者的技能要求较高,特别是在调试和优化方面。 C++程序设计的书籍如《C++程序设计》(谭浩强编著)是学习这一语言的经典资料,这些书籍通常会涵盖C++的基础知识、语法结构以及如何进行有效的程序设计。在学习过程中,理解字符型数据(char)的存储和使用,以及掌握C++的关键特性,对于成为一名熟练的C++程序员至关重要。

优化以下代码:#include <iostream> #include<string.h> using namespace std; class Book { private:     char bookname[30];     char authers[30];     char publishing_house[40];     int pages;     float price; public:     char getbookname();     char getauthers();     char getpublishing_house();     int getpages();     float getprice();          void setbookname(char *a);     void setauthers(char *a);     void setpublishing_house(char *a);     void setpages(int a);     void setprice(float a);     Book(char*a,char*b,cahr*c,int d,float e)     {         strcpy(bookname,a);         strcpy(authers,b);         strcpy(publishing_house,c);         pages=d;         price=e;     } }; char getbookname() {     char*a=bookname;     return a; } char getauthers() {     char*a=authers;     return a; } char getpublishing_house() {     char*a=publishing_house;     return a; } int getpages() {     int a=pages;     return a; } float getprice() {     float a=price;     return a; } void setbookname(char *a) {     strcpy(bookname,a); } void setauthers(char *a) {     strcpy(authers,a); } void setpublishing_house(char *a) {     strcpy(publishing_house,a); } void setpages(int a) {     pages=a; } void setprice(float a) {     price=a; } int main() {      Book a(char a="《C++程序设计》",char b="谭浩强编制",char c="清华大学出版社",d=484,e=36.00);      Book b(char a="《吹牛大王历险记》",char b="拉斯伯等编著",char c="天津人民出版社",d=149,e=12.80);     cout<<a.getbookname()<<"  "<<a.getauthers()<<"  "<<a.getpublishing_house()<<"  "<<"页数:"<<a.getpages()<<"价钱:"<<a.getprice()<<endl;     cout<<b.getbookname()<<"  "<<b.getauthers()<<"  "<<b.getpublishing_house()<<"  "<<"页数:"<<b.getpages()<<"价钱:"<<b.getprice()<<endl;     return 0; }

2023-05-22 上传