c++课前笔记

#include
using namespace std;

加上using namespace std; 可以直接用cin cout
否则std::cin std::cout

#include<iostream>
using namespace std;
cin >> a;
cout << a <<endl;//endl是换行符

c++三大特征:
1.封装性
2.继承与派生
3.多态性

对象——现实世界存在的事和物
类——描述一组具有公共特性的对象
属性——对象的特征,也称为特性
函数(方法)——对象执行的活动(动作)

C++示范例子

#include<iostream>//预处理命令
using namespace std;
calss Student//声明一个Student类
{  private://以下为类中的私有部分
   int num;//私有变量num
   int score;//私有变量score
   public://以下为类中的公有部分
   void inputData()//定义公用函数
   {
   cin >> num;//输入num的值
   cin >> score;//输入score的值
   }
   void display()//定义公用函数
   {
   cout << "学号:" << num;//输出num和score
   cout << ",成绩:" << score << endl;
   }
};//类的声明结束
int main()//主函数首部
{
Student std1, std2;//定义std1和std2为
//Student类的变量,称为对象
std1.inputData();//调用std1的inputData()
std2.inputData();//调用std2的inputData()
std1.display();//调用std1的display()
std2.display();//调用std2的diaplay()
}

int a = 5;
char c = ‘A’;
float x = 16.62;
cout << a << " " << c << " " << x << ecdl;
cout << “Output is conplete!” << endl;
输出时字符之间是无间隔的,如果想让字符间有间隔,必须输出间隔符
双引号中的字符串常量照原样输出

在用 cin 输入时,系统也会根据变量的类型从输入流中提
取相应长度的字节。如有
char c1,c2; int a; float b;
cin >> c1 >> c2 >> a >> b;
如果输入 1234 56.78↙
注意: 34 后面应该有空格以便和 56.78 分隔开。
也可以按下面格式输入: 1 2 34 56.78↙

  由于空格作为数据间隔符,所以不能用 cin 输入空格

在组织输入流数据时,要仔细分析 cin 语句中变量的类型,按照相应的格式输入,否则容易出错。
cin 自动跳过输入的空白字符(包括空格,制表,backspace和回车等)
如果想要在cin输入空格符

#include <iostream>
#include <string> // Header file needed to use string objects
using namespace std;
 
int main()
{
    string name;
    string city;
    cout << "Please enter your name: ";
    //cin >> name;//这里输入aa bb只会识别aa空格为结束
	getline(cin,name);//可以识别到空格
    cout << "Enter the city you live in: ";
    cin >> city;
    cout << "Hello, " << name << endl;
    cout << "You live in " << city << endl;
    return 0;
}

或者用cin.get() eg:
char c1, c2, c3;
cin.get(c1);
cin.get(c2);
cin.get(c3);
cin.get()把从键盘上输入的所有字符都作为有效输入字符赋给字符变量

注意:如果使用了控制符,那么在开头要加 iomanip 头文件
double a=123.456789012345; // 对 a 赋初值
(1) cout << a;
输出: 123.456
(2) cout << setprecision(9) << a;
输出: 123.456789
(3) cout << setprecision(6);
恢复默认格式(精度为6)
(4) cout << setiosflags(ios∷scientific) << a;
输出: 1.234568e+02 //科学计数法

int b=123456; // 对 b 赋初值
(1) cout << b;
输出: 123456
(2) cout << oct << b << hex << b;
输出: 361100 1e240
(3) cout << setw(10) << dec << b <<′,′<< b;
输出: 123456,123456
(4) cout << setfill(′*′) << setw(10) << b;
输出: ****123456

oct——八进制
dec——十进制
hex——十六进制

setw(int n) 只是对直接跟在<<后的输出数据起作用,而在之后的<<需要在之前再一次使用setw;n是在输出时分配了n个字符的输出宽度,然后默认的是在n个字符宽度中右对齐输出,可以使用setiosflags(ios::left)设置为左对齐输出,可以使用 setfill(‘char x’) 使用x来填充空下的空格;

double a=123.456,b=3.14159,c=-3214.67;
cout << setiosflags(ios∷right); //以固定的小数位数
cout << setiosflags(ios∷fixed) << setprecision(2);
cout << setw(10) << a << endl;
cout << setw(10) << b << endl;
cout << setw(10) << c << endl;
输出如下:

    123.46//字段宽度为10,右对齐,取两位小数
      3.14
  -3214.67

只有存在 setiosflags(ios::fixed) 后面的setprecision(2)才是小数点的精度,否则就是有效数字。
先统一设置取两位小数、右对齐。这些设置对其后的输出均有效(除非重新设置),而 setw 只对其后一个输出项有效,因此必须在输出 a,b,c 之前都要写 setw(10)。

引用其实是变量或对象的别名
引用定义和声明:类型 &引用名 = 变量名
eg:int i = 5;
int &ri = i;
那么ri就是被声明为变量i的引用
不能这样定义 int &ri;

int main()                 // reference.cpp
{  int i = 5,  &ri = i;
    cout << “i=<< i << “ ri=<< ri <<endl;
    i *= 3;
    cout << “i=<< i << “ ri=<< ri <<endl;
    ri += 5;
    cout << “i=<< i << “ ri=<< ri <<endl;  
    cout << “i Addr=<< &I << “   ri Addr=<< &ri << endl;
} 
       i = 5 ri = 5//结果
       i = 15 ri = 15
       i = 20 ri = 20
       i Addr = 0x8f8bfff4  ri Addr = 0x8f8bfff4         

(1)对引用的操作就是对变量的操作,反之也一样
(2)引用和被引用的实体具有相同的地址
(3)程序中有一个求地址符号的 & 和引用声明中的 & 不一样
(4)指针和引用的区别:指针是变量,引用不是变量;引用必须初始化;指针可以做数组元素,而引用不可以
(5)引用做参数,这是引用很重要的使用功能

void main()                 // reference.cpp
  {   int x = 3, y = 5;
      void swap(int &, int &);
      swap(x, y);
      cout <<“x=<< x <<, y=<< y <<endl;
   }
   void swap(int &n1, int &n2)
   {  int temp = n1;
      n1 = n2;
      n2 = temp;
    }
    结果:x = 5, y = 3

缺省参数指在定义函数时为形参指定缺省值(默认值)也就是函数在调用时没有给出实参则按照缺省值(默认值)进行调用
定义方式:类型 函数名(参数1, 参数2, …… 参数3 = 缺省值, 参数4 = 缺省值)
缺省参数可以有多个但都得放到参数表的右边,这是因为在函数调用时,参数自左向右匹配
换句话说,默认值的定义一定要从右到左。

void delay(int loops =5 )
{   cout << “延时”<< loops << “个时间单位“ << endl;
    for (; loops>0; loops--); // 默认延时5个时间单位
}

int main()
{   delay(3);
    cout <<-----------------------<<endl;
    delay();	            // 等同于delay(5)
}

当程序执行函数调用时,系统要建立栈空间,保护现场,传递参数以及控制程序执行的转移等等,这些工作需要系统时间和空间的开销。有些情况下,函数本身功能简单,代码很短,但使用频率却很高,程序频繁调用该函数所花费的时间却很多,从而使得程序执行效率降低。
C++ 提供一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去。这种嵌入到主调函数中的函数称为内置函数(inline function),又称内嵌函数。在有些书中把它译成内联函数。

使用内联函数应注意的事项:
A. 内联函数体内不允许有循环语句和开关语句,如果含有这些语句系统自动按普通函数处理
B. 内联函数的函数体内语句不能过多,一般以1到10行
C. 在类内部定义的成员函数,一般是以内联函数进行处理,所以不需要加inline说明,但在类外面一类的成员函数时,如果想说明为内联函数,则需要加上inline

inline int isNumber(char ch) 
{  return(ch>=0&&ch<=9?1:0);
}
int main()
{  char ch;
   while(cin.get(ch), ch!= ′\n′)  
   {   if (isNumber(ch)) 
            cout<<″是数字字符 ″<<endl;
       else cout<<″不是数字字符 ″<<endl;
    }
}
// 因使用频度很高,说明为内联函数。
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

伊观琴秀

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值