C++笔记

本文涵盖C++编程的基础知识和实用技巧,包括标准命名空间的使用、类型转换、取整操作、条件语句规范、立方根计算、数据类型精度、字符与字符串处理、常量定义、模运算规则、输出格式控制、字符转换与数学运算、循环结构、函数重载匹配及强制类型转换解决方案。

菜鸡笔记,不喜勿喷

1、using namespace std; ------后面的分号不能丢
使用cout时必须使用该语句
cin不能输入空格,要用getchar,调用头文件#include<stdio.h>

2、强制类型转换如(int)a,而不是int(a)

3、取整数部分用(int)3.14

4、if (a>b)后边不加冒号,条件要用括号括起来,

当if语句块不只一条时要用{}括起来。!!!!!!!!!

5、C++不必考虑缩进

6、C++表示立方根
pow(double x,double y)
例如,要求9的立方根,只需pow(9,1.0/3)或者pow(9, (double)3)

7、float类型6位有效数字,double类型有15位

8、字符常量用单引号,如'a',代表ASCII码97,可以直接加减运算;

字符串常量用双引号,如"a",占用2个字节,因为计算机在末尾要补'\0'字符串结束符,其ASCII码值为0,表示空操作;

'\101'表示字符'A'

9、符号常量定义在主函数前,不再接受任何形式的赋值,如
#define PI 3.14 #不能丢

定义变量时加上关键字const变为常变量,不可被赋值,如
const int a

10、模运算%两侧必须是整型数据

11、cout<<stew(10)<<a相当于把a放在了第10位,前面用空格补齐

12、保留指定位数的小数:

  1. cout<<setiosflags(ios::fixed)<<setprecision(n)<<a<<endl;n为小数位数,遵循四舍五入,想要再改变条件需要cout<<resetiosflags(ios::fixed);需要使用头文件#include<iomanip.h>
  2. 使用scanfprintf

13、输入一个字符,如果是大写字母则转换为对应的小写字母,如果是小写字母则转换为对应的大写字母,如果是数字字符则转换为对应的数值,并计算其平方值,如果都不是则不转换,将转换后的结果输出。

#include<iostream>
using namespace std;
int main()
{
	char a;
	cin>>a;
	if(a>='a' && a<='z')
{
		a = a-32;
		cout<<a;
}

	else if(a>='A' && a<='Z')
{
			a= a+32;
			cout<<a;
}

	else if(a>='0' && a<='9')
{
			a = a-'0';			//数字字符转数值
			a = a*a;
			cout<<(int)a;		//a是字符类型,要输出数值必须转换
}

	else
		{cout<<a;}
}

14、for循环:循环n次的标准模板–应注意,分割用分号而不是逗号,i++而不是i=i++

for (i=1; i<=n; i++)
{
内容;
}

15、有多个重载函数“pow”实例与参数列表匹配问题:
pow函数的重载如下:

C++提供以下几种pow函数的重载形式:

  • double pow(double X,int Y);

    float pow(float X,float Y);

    float pow(float X,int Y);

    long double pow(long double X,long double Y);

    long double pow(long double X,int Y);

使用的时候应合理设置参数类型,避免有多个“pow”实例与参数列表相匹配的情况。

其中较容易发生重载的是使用形如:

int X,Y;

num=pow(X,Y);

这是一个比较常用的函数,但是编译器会提醒有多个“pow”实例与参数列表相匹配。

可以使用强制类型转换解决这个问题:num=pow((float)X,Y);

16、a=b+c要想输出ASCII码值,a必须为int,b、c可以都为字符或字符与数字的混合。

C++学习笔记涵盖基础部分、核心编程和提高编程等内容。 ### 基础部分 包括初识C++、数据类型、运算符、程序流程结构、数组、函数、指针、结构体等内容[^1]。 ### C++核心编程 包含引用、函数提高、类和对象、文件操作等内容。在结构体方面,C++的结构体成员除了可以是变量,也可以是函数。例如: ```cpp #include <iostream> using namespace std; struct Student { char name[32]; int age; float score; void fun() { cout << "姓名:" << name << endl; cout << "年龄:" << age << endl; cout << "成绩:" << score << endl; } void fun1() { cout << "上课了" << endl; } }; int main() { Student stu; cin >> stu.name; cin >> stu.age; cin >> stu.score; stu.fun(); stu.fun1(); return 0; } ``` 此代码定义了一个`Student`结构体,其中包含变量和函数成员,并在`main`函数中使用该结构体创建对象并调用其成员函数[^2]。 ### C++关键字 包含asm、do、if、return、typedef等众多关键字,这些关键字在C++编程中有特定的用途和语法规则[^3]。 ### C++常量 用于记录程序中不可更改的数据,使用语法有两种: 1. `#define`宏常量:`#define 常量名 常量值` 2. `const`数据类型 常量名 = 常量值; 示例代码如下: ```cpp #include <iostream> using namespace std; // 1. #define 宏常量 #define Day 7 int main() { // int Day = 14; // 如果修改常量的值,会报错,宏常量不可修改 cout << "一周有" << Day << "天" << endl; // 2. const修饰的常量 const int month = 12; // int month = 17; // 常量定义后不可修改值,程序报错 cout << "一年有" << month << "个月" << endl; system("pause"); return 0; } ``` 上述代码通过两种方式定义了常量,并展示了常量不可修改的特性[^4]。 ### C++提高编程 包含模板、STL等内容[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值