c++入门笔记自己整理+代码分析附目录(上)

c++入门笔记自己整理+代码分析附目录(上),第1张

Giraffe Academy

c++入门笔记(上)
  • codeblocks安装
  • Hello World!
  • 变量1 字符串 整数
  • 变量2 字符 浮点 双浮点 布尔值
  • 字符串 string
  • 函数- 字符长度 寻找 子串
  • 数字- 次方 平方根 取整 比大小
  • 获得输入 cin geline
  • 做一个计算器
  • 疯狂词库 mad libs
  • 数组
  • 函数 void
  • 返回值
  • if语句 if else if else
  • 计算器,不过是2.0版本

codeblocks安装

https://www.codeblocks.org/
进入codeblocks官网
点击下载
选择下载二进制版本
找到windows版本codeblocks-20.03mingw-setup.exe
选择对应的Sourceforge.net即可

Hello World!

使用codeblocks创建一个项目默认会包含一个main.cpp文件,并有以下代码
#include

using namespace std;

int main()
{
cout << “Hello world!” << endl;
return 0;
}
其中
#include
using namespace std;
可以暂时理解为是默认的两行代码

main函数与return 0组成该文件的主函数
cout << “Hello world!” << endl;则输出Hello world!
其中最后的endl(注意这里是字母l不是数字1)表示结束这一行

变量1 字符串 整数

变量可以存储程序中的不同信息或不同数据值,从而使我们能够更容易使用和管理这些数据。
字符串类型,类似John Mike Milly,需要用"字符"
整数类型,类似35 70

变量代码:
string charactername = “John”;
int characterage;
characterage = 35;

作为对比,贴上python变量代码
character_name = “john”
character_age = “35”
可以看出python比c++要简易很多

变量输出:
cout<<“there once was a man named”< cout<<“He was”<

作为对比,贴上python输出代码
print(“there once was a man named " + characters_name +”,")
print(“He was”+characterage+“years old”)
这里可以看出c++的<<相当于“连接”,连接前后

变量2 字符 浮点 双浮点 布尔值

char是字符变量,可以保存一个字符,而与之对应的是string字符串变量,可以保存一堆不同的字符,在这里需要注意的是char字符变量需要通过’单引号’保存,例如:
char grade = ‘A’;
string phrase = “Giraffe Academy”(这种方式更常用,且string可以包含char)
double gpa = 2.3;
bool isMale = true;

字符串 string

instring H = “Hello”;
instring I = “i’m Exp”;
cout<< H < cout<< I < 此时会输出
Hello
i’m Exp

但当我们去掉第一行最后的< Helloi’m Exp

此时可以在第一行的字符串中增加换行符\n来达到同样的效果
instring H = “Hello\n”;
cout<< H;
cout<< I < 此时会输出
Hello
i’m Exp

小结:字符串类型在输出时换行符\n不能直接放在后面,而应该放在字符串的后面,即将instring H = “Hello”;修改为instring H = “Hello\n”;

函数- 字符长度 寻找 子串

cout<< H.length();
可以输出H字符串中的字符个数,注意,如果H字符串中包含换行符\n,换行符也会被算作是一个字符。

作为对比,贴上python代码:
print(len(H))
相比较来说python更简短一点,但我更喜欢c++的代码风格,看起来更清晰一些

也可以访问字符串中的单个字符
cout< 也可以修改字符串中的某个字符
H[0] = ‘A’;
也可以查找字符串中的某一串字符
cout< 也可以在字符串中抓取子串
cout< substr可以将抓取的子串保存为一个单独的字符串
string Hsub;
Hsub = H.substr(2,3);

数字- 次方 平方根 取整 比大小

c++数字分两种,整型浮点型,分别有int float double
取余 10 % 3 这里表示x对y取余数,即得1,这里与python方法一样
这里还会用到数学库,回收一下开头
include 这里就是调用了本文件之外的另一个文件
如果想要用c++数学库,这里就需要在开头增加一行
include

作为对比,python调用数学库用的是
from math import *

cmath常见函数
pow(2,3) 即求取2的3次方
sqrt(36) 即求36的平方根
round(4.6) 四舍五入取整 即得5
ceil(4.1) 向上取整 即得5
floor(4.8) 向下取整 即得4
fmax(3,10) 选择输出x和y中较大的 即10
fmin 两者取最小

获得输入 cin geline

int age; //cin可以获得整数 浮点数
cout << “Enter your age:”;
cin >> age;
cout << "you are " << age << “years old”

string name;//getline可以获得一整行文本
getline(cin,name)
cout << “Hello” << name;

作为对比,python获得输入的方式是:
name = input(“Enter your name:”)

做一个计算器

int num1,num2;
cout << “Enter first number:”;
cin >> num1;

cout << “Enter second number:”;
cin >> num2;

cout << num1+num2;

疯狂词库 mad libs

string color;
string name;
cout << “enter a color”;
getline(cin,color);
cout << “enter a name”;
getline(cin,name);
cout << "the flower is " << color;
cour << "i love " << name;

数组

int luckyNums[] = {4,8,15,16,23,42};
luckyNums[0] = 19;
cout << luckyNums[0];

作为对比,python中没有数组,但是有列表
friends = [“Kevin”,23,False]
可以通过表来存储任意类型的值

函数 void

void sayHi(string name,int age) //这种函数表示不会返回任何值
{
cout << "Hello " << name << "you are " << age;
}
int main()
{
sayHi(“Mike”,60);

return 0;
}

这里函数可以像
int num;
num = 4;
一样,先定义函数,然后再填充函数内容

上述代码可以改写成:
void sayHi(string name,int age);
int main()
{
sayHi(“Mike”,60);

return 0;
}
void sayHi(string name,int age)
{
cout << "Hello " << name << “you are” << age;
}

返回值

创建一个有返回值的函数
之前是void num(int num1,int num2)
现在是返回一个数
double cube(double num)
{
double result = num * num * num;
return result;
// return num * num * num;
// cout << “Hello”; 此时Hello不会被打印出,return之后的语句都不会执行
}

int main()
{
double answer = cube(5.0)
cout << answer;
// cout << cube(5.0);
}

if语句 if else if else

int main()
{
bool isMale = true;
// bool isMale = false;
bool isTall = true;
if(isMale && isTall) {
cout << “you are a tall Male”;
}else if(isMale && !isTall){
cout << “you are a short Male”;
}else if(!isMale && isTall){
cout << “you are tall but not Male”;
}else{
cout << “you are not tall and not Male”
}

return 0;
}

int getmax(int num1,int num2){
cout << “Please enter the first num:”;
cin >> num1;
cout << “Please enter the second num:”;
cin >> num2;
if(num1 > num2){
cout << “num1 is bigger than num2”;
}else{
cout << “num2 is bigger than num1”;
}
}

int main()
{
getmax(2,3); //这里为了调用比大小函数必须给定两个数,但我总觉得有点…

return 0
}

三个数比大小
int getMax(int num1,int num2,int num3){
if (num1 >= num2 && num1 >= num3){
return num1;
}else if(num2 >= num1 && num2 >= num3){
return num2;
}else{
return num3;
}
}

int main()
{

cout << getMax(2,5,7);
return 0;

}

计算器,不过是2.0版本

int num1,num2;
char op;
cout << “Enter your first number:”;
cin >> num1;
cout << “Enter operater”;
cin >> op;
cout << “Enter second number:”;
int result;
if(op = ‘+’){
result = num1 + num2;
}else if(op = ‘-’){
result = num1 - num2;
}else if(op = ‘/’){
result = num1 / num2;
}else if(op = ‘*’){
result = num1 * num2;
}else{
cout << “invalid operater”;
}
cout << result;

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/736363.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-28
下一篇2022-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存