【个人C++学习日记】

这篇博客记录了作者学习C++的过程,从基础的变量、常量、流程控制到深入的指针、数组、函数、二维数组、结构体及其应用。内容涵盖if语句、循环结构、数组逆置、冒泡排序、函数定义与调用、指针的基本概念、空指针和野指针、const修饰指针、结构体定义与使用,以及结构体在函数参数中的应用。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

C++基础知识


DAY1

  1. 变量

    作用:方便我们管理内存空间
    格式:*数据类型 变量名=变量初始值*
    
  2. 常量

    作用:记录程序中不可更改的数据
          #define 常量名  常量值
          const 数据类型 常量名 = 常量值
    
  3. 关键字

    C++中预先保留的单词不能用作常量或变量
     eg:int bool double
    
  4. 命名规则

    a.由字母、数字、下划线组成
    b.第一个字符不能为数字 
    
  5. 数据类型

    short——2字节   int——4字节
    
  6. sizeof

    作用:统计数据类型所占内存大小
         sizeof(数据类型/变量)
    
  7. 字符型

//字符创建方式
	char ch = 'A'; 无中括号 单引号
	cout << ch << endl;
	cout << "字节长度:"<<sizeof(ch) << endl;
	cout << "ASCII编码:" << int(ch) << endl;
	cout <<"Hell\taaa" << endl;
	cout << "Hello\taaa" << endl;
 int(ch)求ASCII码
   a.用单引
   b.单个字符
  a——97   A——65
  仅占一个字节,将对应ASCII编码放入存储单元
  1. 字符串型
a.换行符  \n     与endl交换
b.反斜杠  \\      第一个\是命令,第二个\是符号
c.水平制表 \t      8个字节
  1. 字符串型
C:char 变量名[ ]="字符串值"
C++:string 变量名=“字符串值”
C++ 格式使用前加上头文件#include<string>
  //C风格字符串-中括号 双引号
	char str1[] = "hello world";
	cout << str1 << endl;
	//2.C++风格字符串
	string str2 = "hello world";
	cout << str2 << endl;
  1. bool——占一字节:true or false
//创建bool数据类型
	bool flag = true;//true代表真
	cout << flag << endl;
	cout << "bool的内存空间:" << sizeof(bool)<<endl;
  1. 输入cin>>变量
    float f = 3.14f;//不加f为double型
	cout << "请给f赋值:" << endl;
	cin >> f;
	cout << "f=" << f<<endl;
	string str = "Hello";
	cout << "请给str赋值:" << endl;
	cin >> str;
	cout << "str=" << str<<endl;
	bool flag =false;
	cout << "请给flag赋值:" << endl;
	cin >> flag;
	cout << "flag=" << flag <<endl;  //bool类型非0都为真
  cin后不能加endl
  1. i++:先运算再加一
    ++i:先加一再运算
//前置和后置
	int a1= 10;
	int a2= 10;
	int b1 = ++a1* 10;
	int b2 = a2++* 10;
	cout << "b1="<<b1 << endl;
	cout << "b2="<<b2<< endl;

b1=110,b2=100
15. 流程结构

   a.顺序——按顺序
   b.选择——按条件
   c.循环——按条件循环

16.比较运算符

//比较运算符
	int a = 10;
	int b = 20;
	cout << (a ==b) << endl;//加括号表优先级
	cout << (a < b) << endl;
	cout << (a > b) << endl;
  1. if条件语句
int score = 0;
	cout << "输入分数:";
	cin>>score ;
	cout << "输入分数为:"<<score<<endl;
	if (score >= 600) {
   
		cout << "恭喜你" << endl;
	}

DAY2

1.多条件if语句

//多条件if语句
	int score = 0;
	cout << "输入高考分数:";
	cin >> score;
	if (score > 600) {
   
		cout << "恭喜你考上一本大学" << endl;
		if (score>700) {
   
			cout << "清华大学" << endl;
		}
		else if(score>690) {
   
			cout << "北京大学" << endl;
		}
		else
			cout << "普通一本" << endl;
	}
	else if (500 < score ) {
   
		cout << "恭喜你考上二本大学" << endl;
	}
	else 
		cout << "你没考上大学" << endl;
----if条件要注意不同条件之间的包含关系,范围小的在前
----若要表示5<a<10,需分为两个式子,a>5&&a<10

2.三只小猪称体重示例

代码思想:比较A和B

             若A重,比较A和C
             若B重,比较B和C
//多条件if语句
	int A = 0,B = 0, C = 0;
	cout << "小猪A体重:";
	cin >> A;
	cout << "小猪B体重:";
	cin >> B ;
	cout << "小猪C体重:";
	cin >> C ;
	if (A > B) {
   
		if (A > C) {
   
			cout << "小猪A最重" << endl;
		}
		else {
   
			cout << "小猪C最重" << endl;
		}
	}
	else {
   
		if (B> C) {
   
			cout << "小猪B最重" << endl;
		}
		else {
   
			cout << "小猪C最重" << endl;
		}
	}

3.三目运算符

          表达式1?表达式2:表达式3
//创建三个变量a b c
//比较a和b,将变量大的值赋给c
	int a = 1;
	int b = 4;
	int c = 0;
	c = a > b ? a : b;
	cout << "c=" << c << endl;
	//C++中三目运算符返回变量,可以继续赋值
	(a > b ? a : b)=100;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	return 0;

3.switch语句

作用:执行多条件分支语句

 switch(表达式){
 case 结果1:执行语句;break;
 case 结果1:执行语句;break;
 ...
 default:执行语句;break;
 }
 解读:表达式是结果几就执行几的语句,如果都不符合,则执行default语句,然后退出。
 注意:a.switch语句中表达式类型只能是整型或字符型
      b.采用字符型时,字符要加单引号,否则会被系统判定为变量
//switch语句
	char level='A';
	cout << "输入考试等级";
	cin >> level;
	switch (level) {
   
	case 'A':
		cout << "优秀" << endl;
		break;
	case 'B':
		cout << "良好" << endl;
		break;
	case 'C':
		cout << "一般" << endl;
		break;
	case 'D':
		cout << "不合格" << endl;
		break;
	default:
		cout << "输入格式错误" << endl;
		break;
	}

DAY3

1.while循环语句

 while(循环条件){
        循环语句
  }
//while循环
	int num = 0;
	while (num < 10) {
   
		num++;
		cout << num << endl;
	}

2.猜数字游戏(while案例)

设置随机函数rand的种子,以保证rand的数每次都不相同
void srand(unsigned int seed)
其中seed多选用时间函数time(null);
在调用rand函数前,srand要先被调用
     //1.系统生成随机数
	srand(unsigned int
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值