乡村网站建设珠海做小程序的公司
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:11
当前位置: 首页 > news >正文
乡村网站建设,珠海做小程序的公司,it网站设计培训,wordpress排序优化写在前面(祝各位新春大吉#xff01;兔年如意#xff01;) 【本文持续更新中】面向初学者撰写专栏#xff0c;个人原创的学习C/C笔记#xff08;干货#xff09;所作源代码输出内容为中文#xff0c;便于理解如有错误之处请各位读者指正请读者评论回复、参与投票#xf… 写在前面(祝各位新春大吉兔年如意) 【本文持续更新中】面向初学者撰写专栏个人原创的学习C/C笔记干货所作源代码输出内容为中文便于理解如有错误之处请各位读者指正请读者评论回复、参与投票反馈给作者我会获得持续更新笔记干货的动力。致粉丝可以在阅读完我的文章后自己尝试写一点原创心得哪怕一行字也好。 希望众尽管840个粉丝多多支持、浏览、自我创作_ 知识点概览 写在前面(祝各位新春大吉兔年如意) 知识点概览 C Primer Plus编程练习4.13笔记 一.姓名成绩年龄打印 1.预处理指令#define 2.char类型 3.getline(); C库函数重点 二.string类 1.头文件 string 2.string声明变量 3.getline()函数在string类操作 三.使用strcpy和strcat复制字符串 1.Visual Stdio2022 编译器解除警报错误 2.strcpy 复制字符串的函数 3.strcat 附加字符串的函数 四.使用string对象和string类的粘贴与拼接 1.string类的粘贴方法 2.string类的输入见前文 3.string类的拼接方法 五.C结构OOP的基石 六.C结构数组 结语 C Primer Plus编程练习4.13笔记 一.姓名成绩年龄打印 编写一个C程序输出姓名、成绩与年龄。注意英文输入姓名包含多个单词中间有空格。另外上调成绩字母若输入A则上调为B。 //4.13_1.cpp //整行输入函数cin.getline(); #includeiostream #define NameMax 100 using namespace std; int main() {char firstName[NameMax];//英文习惯名前姓后char lastName[NameMax];//lastname为姓firstname为名char grade;int age;cout 请输入你的名\n;cin.getline(firstName,NameMax);//库函数接受字符串对象名与字符串长度信息做参数cout 请输入你的姓\n;cin.getline(lastName, NameMax);//整行输入检测到Enter自动截断输入cout 请输入你的成绩字母等级\n;cin grade;grade 1;cout 请输入你的年龄\n;cin age;cout 姓名lastName, firstName endl;cout 成绩 gradeendl;//等级1ASCII码1cout 年龄 age endl;return 0; } 1.预处理指令#define #define NameMax 100 定义全局常量NameMax为100 就像 #includeiostream 一样在C预处理器中编译器提前了解到要使用头文件 iostream 这条预处理指令的宏 NameMax 定义为 100 全局可用自动将出现 NameMax的地方置换为值100。 2.char类型 char firstName[NameMax];char lastName[NameMax];char grade; char类型可以声明字符或字符串(数组)。 char 变量名 声明一个字符可以容纳数字、字母等。 单一字符可以执行算术运算本例中读取输入的字母并给其ASCII码1再有cout来将类型自动还原从ASCII码值转换为字符。 char 变量名[字符串长度]; 声明一个字符串可以容纳多个数字、字母句子、词组等信息。 此程序将字符串长度设置为名叫NameMax值为100的常量。 注意字符串数组实际存储比数值长度短1的 3.getline(); C库函数重点 面向行的输入getline()函数通常有两个参数后续介绍第三个参数在头文件istream中是C中cin输入的类成员函数可以不受空格影响而是在读取到 Enter 键或达到输入上限时截断输入。 示例cin.getline(firstName,NameMax); cin通过句点“.”操作符访问它的成员函数getline(); 示例中让getline函数读取长度为NameMax-1的名叫firstName的数组字符串并将读取值返回给该数组。 注因为函数读取最后会加上空字符标志字符串数组结束同时不会储存换行符而get();函数会读取并储存换行符。 常用格式 cin.getline(数组名,数组长度) 源代码运行示例: 二.string类 用string类改写程序清单4.4此处不展示原程序清单4.4原程序使用cin.getline()函数定义2个长为20的字符串存储姓名与甜点再打印出来。 //4.13_2.cpp //C中的string类打印姓名、甜点 #includeiostream #includestring//包含string类的头文件 using namespace std; int main() {string name, dessert;//声明2个string类变量cout Enter your name:\n;getline(cin,name); //获取整行输入参数1的cin说明从哪里获取输入//参数2的name是string类变量自动调整变量长度//注char[];声明数组字符串类型string声明普通变量。cout Enter your favourite dessert:\n;getline(cin, dessert);cout I have some delicious dessert for you, name.\n;return 0; } 1.头文件 string 旧版C实现中使用C库中头文件string.h新标准中直接使用string头文件 2.string声明变量 string类与char类型不同 char[]; 声明数组字符串类型 string 声明普通变量 像其他声明一样只需要在 string 后加上变量名即可。 3.getline()函数在string类操作 常用格式getline(cin,string类变量名) 这里的getline函数不是cin的类成员函数。因为最初设计getline时没有string类所以在cin中也没有直接的对于string类的输入操作。后加入了上述格式的整行输入操作然而这里的getline()函数不附属于cin类之下存在于头文件中。 上面的getline函数 getline(cin,string类变量名) 中cin为getline函数指明获取输入的位置而长度是由string类的变量自己调整的所以省去具体长度数值。 输出时string类变量按照欧通变量处理。 源代码运行示例: 三.使用strcpy和strcat复制字符串 编写一个程序要求用户先输入其名再输入其姓然后程序使用一个逗号和空格将姓和名组合起来并存储和显示组合结果。请使用char数组和头文件cstring中的函数。 //4.13_3.cpp //使用strcpy和strcat复制字符串 #pragma warning(disable : 4996)//解除编译器strcpy和strcat警告 #includeiostream #includestring #includecstring using namespace std; int main() {char firstName[40];//英文习惯名前姓后char lastName[40];//lastname为姓firstname为名char total[84];cout 请输入你的名\n;cin firstName;cout 请输入你的姓\n;cin lastName;strcpy(total, lastName);strcat(total, , );strcat(total, firstName);cout 姓名 total endl;return 0; } 1.Visual Stdio2022 编译器解除警报错误 #pragma warning(disable : 4996) 解除编译器警告。在出现一些对于编译器给出的完全不会出问题的错误警告时可以使用上述代码可以将上面的 4996 用实际警告标号来代替 2.strcpy 复制字符串的函数 strcpy可以将char数组或普通字符串从参数二复制到参数一 示例 strcpy(total, lastName); 本例中将存储在 char数组 lastName 中的内容复制到 char 数组 total 中。 若编译器提示可能出现未知错误参数一字符串的长度太小时可能“装不下”参数二字符串里的信息可以用strcpy_s代替或者使用strncpy的第三个参数指出要复制的字符串长度 3.strcat 附加字符串的函数 strcat可以将char数组或普通字符串从参数二附加再次将内容复制添加到已经有内容的char数组中到参数一 示例 strcat(total, , ); strcat(total, firstName); 在本例中①将普通字符串, 注半角双引号中包括半角逗号与空格附加到 char 数组 total 中。 ②将存储在 char数组 firstName 中的内容附加到 char 数组 total 中。 若编译器提示可能出现未知错误参数一字符串的长度太小时可能“附加不完”参数二字符串里的信息出现字符覆盖可以用strcat_s代替或者使用strncat的第三个参数指出要附加的字符串长度 注strcpy函数和strcat函数都在头文件 csrting 中。 string类变量执行复制附加时可以直接像普通变量一样。 举例 #includestring//包含string类变量声明//#includecstring//包含strcpy、strcat等操作函数,此程序中可以不用string str1,str2.str3str4; str1abcd; str2efg; str3str1;//将str1直接赋复制给str3 str4str1str2;//将str1和str2拼在一起再赋给str4 str3str2;//将str2附加给str3(注意此时str3中已有信息) //上行较为复杂的代码等同于 str3str3str2; 源代码运行示例: 四.使用string对象和string类的粘贴与拼接 如编程练习三使用string对象和头文件string中的函数改写编程练习三中的程序。 //4.13_4.cpp //使用string对象和string类的粘贴与拼接 #includeiostream #includestring using namespace std; int main() {string firstName, lastName, total;//lastname为姓firstname为名cout 请输入你的名\n;getline(cin,firstName);cout 请输入你的姓\n;getline(cin, lastName);total firstName , lastName;cout 姓名 total endl;return 0; } 1.string类的粘贴方法 如同普通int类型的常数string类是字面值的操作可以使用如下操作 #includestring #includeiostream int main() {int a,b,c;a1;b2;ca;//把a的值粘贴给cstring str1,str2,str3;//声明string类对象str1hello;str2world;str3str1;//把str1的字面值粘贴给str3return 0; } 直接使用string类对象1string类对象2; 来把 string类对象2的字面值粘贴给 string类对象1 。 2.string类的输入见前文 常用格式getline(cin,string类变量名) 这里的getline函数不是cin的类成员函数。因为最初设计getline时没有string类所以在cin中也没有直接的对于string类的输入操作。后加入了上述格式的整行输入操作然而这里的getline()函数不附属于cin类之下存在于头文件中。 上面的getline函数 getline(cin,string类变量名) 中cin为getline函数指明获取输入的位置而长度是由string类的变量自己调整的所以省去具体长度数值。 输出时string类变量按照欧通变量处理。 3.string类的拼接方法 如同普通int类型的常数string类是字面值的操作可以使用如下操作 #includestring #includeiostream int main() {int a,b,c;a1;b2;ca;//把a的值粘贴给cstring str1,str2,str3;//声明string类对象str1hello;str2world;str3str1;//把str1的字面值粘贴给str3return 0; } 直接使用两string类对象拼接后赋给空的string类对象string类对象1string类对象2string类对象3; 或者一个string类对象和原有字面值的string类对象拼接并覆盖重新赋给这个原有字面值的string类对象string类对象1string类对象2string类对象1; 前后顺序对 string类对象1 的字面值有影响 源代码运行示例: 五.C结构OOP的基石 结构CandyBar包含3个成员。第一个成员存储了糖块的品牌第二个成员存储糖块的质量可以有小数第三个成员存储了糖块的卡路里含量整数。请编写一个程序声明这个结构创建1个名为snack的 CandyBar 变量并将其成员分别初始化为“Mocha Munch”、2.3和350。初始化应在声明snack时进行。最后程序显示snack 变量的内容。 //4.13_5.cpp //C结构 #includeiostream using namespace std; struct CandyBar//结构类型的变量CandyBar描述包含的数据类型 {char name[20];//char数组字符串品牌double weight;//double数重量int calorie;//int整型卡路里 }; int main() {//设置结构类型CandyBar名下的变量给结构类型CandyBar名下的变量赋值这时可以省略structCandyBar snack {Mocha Munch,//结构中描述的name类char数组2.3, //结构中描述的weight类double浮点数350 //结构中描述的calorie类int整数};//snack是一个CandyBar类的struct结构CandyBar snack2 { Baby Bear, 1.2, 280};//此处仅作展示实际程序中不需要//snack2是一个CandyBar类的struct结构cout 糖果品牌: snack.nameendl;//访问结构类型CandyBar名下变量snack中的name类的值。未使用指针转型。cout 糖果重量kg: snack.weight endl;cout 糖果卡路里含量: snack.calorie endl;return 0; } 在此连接文章C结构OOP的基石 源代码运行示例: 六.C结构数组 结构CandyBar包含3个成员。第一个成员存储了糖块的品牌第二个成员存储糖块的质量可以有小数第三个成员存储了糖块的卡路里含量整数。请编写一个程序声明这个结构创建1个名为snack的 CandyBar 变量并将其成员分别初始化为“Mocha Munch”、2.3和350。初始化应在声明snack时进行。最后程序显示snack 变量的内容。 //4.13_6.cpp //使用C结构数组 #includeiostream using namespace std; struct CandyBar//结构类型的变量CandyBar描述包含的数据类型 {char name[20];//char数组字符串品牌double weight;//double数重量int calorie;//int整型卡路里 }; int main() {//设置结构类型CandyBar名下的变量给结构类型CandyBar名下的变量赋值这时可以省略structCandyBar snack[3];//CandyBar类型数组snack包含3个元素。snack[0]{Mocha Munch,//结构中描述的name类char数组2.3, //结构中描述的weight类double浮点数350 //结构中描述的calorie类int整数};//snack是一个CandyBar类的struct结构数组,snack[0]是该数组的第一个元素snack[1] { Alps ,4.5,450};snack[2] {Little Bear,2.1,210};cout 糖果品牌: snack[0].name;//访问结构类型CandyBar名下数组snack第一个元素中的name类的值。未使用指针转型。cout \t糖果重量kg: snack[0].weight;cout \t糖果卡路里含量: snack[0].calorieendl;cout 糖果品牌: snack[1].name;cout \t糖果重量kg: snack[1].weight;cout \t糖果卡路里含量: snack[1].calorie endl;cout 糖果品牌: snack[2].name;cout \t糖果重量kg: snack[2].weight;cout \t糖果卡路里含量: snack[2].calorie endl;return 0; } 结语 今天我们共同学习了 C 等重要知识。学习编程是一条漫长的路贵在坚持。每天学习来提升自己的的编程能力成为耀眼的IT之星。各位读者跟随我的脚步我们共同努力共同进步吧 返回作者主页 专栏文档C学习/温习新型源码学编程一优质好文 C学习/温习笔记源码学编程二 专栏下一篇文档【待更新】 其它文章 C语言求幂运算尽大支持——中文式奇特命名 简洁易懂地介绍C参数 学习C基本数值类型 C/C基础运算符 如有探讨问题联系邮箱yhlz0613163.com 对于文章中的错误请各位批评指正我一定及时更正 请在投票后评论回复意见如有关于写博文的指导也请您回复提出 !–感谢浏览 诸君慢行且留言 过客匆匆常回访–
- 上一篇: 献县做网站的做网站行业如何跟客户交流
- 下一篇: 乡镇门户网站建设互动的网站建设
