C++ 学习笔记---初识C++(后续会更新)

张开发
2026/4/20 10:51:09 15 分钟阅读

分享文章

C++ 学习笔记---初识C++(后续会更新)
C模板#include bits/stdc.h //导入万能头文件 using namespace std; //使用标准的命名空间 int main(){ //主程序 return 0; //成功运行并结束程序 }数据类型数据类型表示举例所占字节范围字符类型char‘a’ 0 1布尔类型bool0/flase 1/true10~1 即不成立~成立 非0即1整数类型int1 12 123 21344-2147483648到2147483647双精度浮点类型double1.0 145.0 135.2168815到16位有效数字字符串string123 zm ~~ 1z!数据类型的转换1. 当两个相同的数据类型之间互相运算得到的结果就是这个数据类型。比如int 与 int 之间互相运算得到的结果为intdouble 与 double 之间互相运算得到的结果为 double2. 当两个不同的数据类型之间互相运算得到的结果就需要根据实际情况来决定了。类型转换分为两种(1) 隐性转换两个不同数据类型的值互相运算得到的结果为字节大的那个类型例如int 与 double 运算结果为double类型cout11.1; 输出为2.1char 与 int 运算结果为int类型couta1; 输出98(2) 强制转换两个不同数据类型的值互相运算得到的结果应该是字节大的那个类型但我希望得到的类型为其他的类型因此需要强制转换。例如int 与 double 运算结果强制转换为int类型cout(int)(11.1); 输出为2char 与 int 运算结果结果强制转换为char类型cout(char)(a1); 输出bASCLL码ASCIIAmerican Standard Code for Information Interchange即美国信息交换标准代码是一种用于表示字符的标准编码方式主要用于英语字母和其他常见符号的数字化表达只写常用的且需要背过的三个其他的可以自行搜索“ASCLL码表”0对应48 A对应65 a对应97以此进行类推比如1对应49 2对应50 B对应66 b对应98 等大小写字母之间相差32 也就是 a - A 32变量变量名的基本命名规则变量只能由数字、字母、下划线组成 且 数字不可以作为变量名开头不可以用C的关键字作为变量名关键字在命名时建议使用通俗易懂的名字命名变量名由多个单词组成的时候建议采用“驼峰命名法”每个单词的首字母大写变量名的定义四大要素数据类型 变量名 赋值运算符 值一般来说分为两种情况一种是一开始就知道这个变量的值//例如学生有8个人。 //分析变量名为学生studentNumber存储的是学生数量8值为整数类型int int studentNumber 8; //例如有个学生叫ZM //分析变量名为学生名字studentName存储的是学生姓名zm值为字符串类型string string studentName zm;一种是需要在键盘上输入值存到变量//例如需要从键盘上输入学生的年龄 //分析需要一个变量studentAge来存储学生的姓名 // 年龄是整数int类型然后通过cin输入进去。 int studentAge; cinname; //例如需要从键盘上输入学生的姓名 //分析需要一个变量studentName来存储学生的姓名 // 姓名是字符串string类型然后通过cin输入进去。 string studentName; cinstudentName;当然变量名studentNumber也好studentName也好可以自己命名要符合命名规则在编程过程中如果缺少变量可以创造变量输出cout当输出的值是文本类型的时候需要加双引号当输出的值是数字类型的时候可以加双引号也可以不加引号当输出的值是变 量的时候不需要加双引号保留n位小数后输出coutfixedsetprecision(n)shu;换行endl输入cin运算符赋值运算符赋值age10 namezm将等号右边的结果赋值到等号左边的变量算数运算符加法12 a2 ab两个数相加减法-1-2 a-2 a-b两个数相减乘法*1*2 a*2 a*b两个数相乘除法/1*2 a*2 a*b两个数相除除数不可以是0求余%2%1 a%2 a%b两个数求余数两个数必须是整数关系运算符大于21 a2 ab两个数比较成立则为1不成立为0大于等于21 a2 ab小于21 a2 ab小于等于21 a2 ab比较等于21 a2 ab比较不等于!2!1 a!2 a!b逻辑运算符与/并且条件A 条件B有一个条件不满足整个条件都不满足或/或者| |条件A | | 条件B有一个条件满足整个条件都满足非/不是!! 条件A取到相反的结果符合算数运算符加等ab相当于aab减等-a-b相当于aa-b乘等*a*b相当于aa*b除等/a/b相当于aa/b模等%a%b相当于aa%b实战环节---输入、输出与变量题目一打印三角形在屏幕上输出一个这样的三角形* *** *****#include bits/stdc.h using namespace std; int main(){ cout *endl; cout ***endl; cout*****endl; return 0; }题目二姓名与年龄在键盘上输入学生的姓名和年龄并输出“姓名为年龄为”输入案例小A 13 输出案例姓名为小A年龄为13输入案例小B 31 输出案例姓名为小B年龄为31#include bits/stdc.h using namespace std; int main(){ string name; int age; cinnameage; cout姓名为name,年龄为age; return 0; }易错解析在输入的时候这种写法是不被允许的cinname小Aage13;cinname,age;题目三数学计算输入两个整数将他们进行五个计算并输出结果输入13 3 输出 13316 13-310 13*339 13/34 13%31#include bits/stdc.h using namespace std; int main(){ int a,b; cinab; coutababendl; couta-ba-bendl; couta*ba*bendl; couta/ba/bendl; couta%ba%bendl; return 0; }分支语句---if单分支语句 if如果条件满足{ if(条件){执行任务 任务;} }任务如果满足天晴那么出去玩 if(天晴){ 出去玩; } 任务如果a大于10那么输出a if(a10){ couta; }双分支语句 if...else...如果条件满足{ if(条件){执行任务A 任务A;}否则{ }else{执行任务B 任务B;} }任务如果满足天晴那么出去玩否则待在家 if(天晴){ 出去玩; }else{ 待在家; } 任务如果a大于10那么输出a否则输出no if(a10){ couta; }else{ coutno; }多分支语句 if...else if...else...如果条件1满足{ if(条件1){执行任务A 任务A;}否则 如果条件2满足{ }else if(条件2){执行任务B 任务B;} 否则{ }else{执行任务C 任务C;} }任务如果满足天晴那么出去玩否则如果下雨那么室内玩否则睡觉 if(天晴){ 出去玩; }else if(下雨){ 室内玩; }else{ 睡觉; } 任务如果a大于10那么输出大否则如果a小于0那么输出小否则输出中 if(a10){ cout大; }else if(a0){ cout小; }else{ cout中; }实战环节---分支语句---if题目一判断闰年闰年条件四年一闰百年不闰四百年再闰。也就是年份除以4能被整除 且 年份不能被100整除 或者 年份可以被400整除C表示year%40 year%100!0 || year%4000输入2000 输出是闰年 输入2001 输出#include bits/stdc.h using namespace std; int main(){ int year; cinyear; if(year%40 year%100!0 || year%4000){ cout是闰年; } return 0; }题目二判读奇偶数偶数条件一个数除以2的余数为0那么这个数为偶数否则为奇数输入13 输出奇数 输入14 输出偶数#include bits/stdc.h using namespace std; int main(){ int num; cinnum; if(num%20){ cout偶数; }else{ cout奇数; } return 0; }题目三判断成绩如果成绩0~59那么不及格如果成绩在60~89那么及格如果成绩在90~100那么优秀否则成绩有误。输入:13 输出:不及格 输入:68 输出:及格 输入:99 输出:优秀 输入:102 输出:成绩有误#include bits/stdc.h using namespace std; int main(){ int score; cinscore; if(score0score59){ cout不及格; }else if(score60score89){ cout及格; }else if(score90score100){ cout优秀; }else{ cout成绩有误; } return 0; }分支语句---switchswitch(变量/公式){case 值1 :任务A;case 值2 :任务B;break;default:任务C;}注意case和default 后面的符号为冒号而不是分号 ;*** switch语法具有穿透性 ***满足一个条件后一直向下执行一直遇到break终止.#include bits/stdc.h using namespace std; int main(){ int num; cinnum; switch(num){ case 1: coutA; break; case 2: coutB; case 3: coutC; break; case 4: case 5: case 6: coutD; break; case 7: coutE; default: coutF; } return 0; }输入1时输出A输入2时输出BC 穿透输入3时输出C输入4时输出D 穿透输入5时输出D 穿透输入6时输出D输入7时输出EF 穿透输入其他数时。输出F格式化输出printf(格式化字符串参量表格式化字符串1. 字符串类型需要加双引号2. 占位符 %%d%ld%lldint类型long类型long long 类型%nd表示准备n个空间将数字右对齐%0nd表示准备n个空间将数字右对齐左边补充0%f%lffloat类型double类型%.nlf表示保留n位小数3. 转义字符\t制表位相当于键盘上的Tab键\n换行相当于键盘上的Enter键或者cout里的endlint a 33; //输出a并换行 printf(%d\n,a); //空5个格输出a并右对齐 换行 printf(%5d\n,a); //空5个格输出a并右对齐左边空格补0 换行 printf(%05d\n,a); double b 1.11177; //输出b并换行 printf(%lf\n,b); //保留3位小数后输出(默认四舍五入) printf(%.3lf\n,b);

更多文章