基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)

第一章编程基础

源文件(.cpp)经过编译成为目标文件,再经过连接成为执行文件(.exe 或 .com)

  memory 存储   communciation device 用于通信和信息交换的设备   storage device存储数据的设备。

第二章程序设计基础

标识符命名规则

1 标识符不能是关键词  

2 标识符只能由字母,数字,下划线组成

3 第一个字母必须为字母或下划线

4 标识符中区分大小写

Int abc=10;(correct)    Int _abc=10;(correct)    Int _123abc=10;(correct)   Int 123abc=10(wrong)

Int aaa=100;   Cout<

数值数据类型

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第1张图片

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第2张图片

注:浮点数的相等性

​
double x=1-0.1-0.1-0.1-0.1-0.1;
if(x=0.5)
cout<<"x is 0.5"<

数值运算符

+(加)   -(减)   *(乘)  /(除)  %(模)

i+=8  <=>  i=i+8   -= ,/=,*=,%=等运算符同理

自增、自减运算符

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第3张图片

注:整数溢出问题,C++中的整数除法问题 ,&&,||的短路问题

第三章分支语句

bool 数据类型

声明一个变量使用true ,false。       例:bool ligthson=true;

if ,if else 语句

嵌套if 语句的使用

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第4张图片

注意if行不用加分号,if语句括号中出现等号一般是以==的形式出现。

else if语句的使用

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第5张图片

注:else 的配对原则:在同一框内,在它前面与离它最近没配对的配对。

生成随机数

#include 
#include 

int main() {
    // 初始化随机数种子
    srand(time(0));


    // 若要生成指定范围内的随机数(例如1到100)
    int randomInRange = rand() % 100 + 1;
    cout << "Random integer between 1 and 100: " << randomInRange <

逻辑运算符

! not      && and    || or

switch语句

int select;
cin>>select;
 switch(select)
{
    case 1:
    Cout<<”你选择的是普通难度”<

(注意题目是否加了break)

注意switch表达式必须产生一个整型值,而且必须放在括号内。

条件表达式

if (x>0)
y=1;
else
y=-1;
上面代码等效于
y=(x>0?1:-1);

补充:

三目运算符

作用:通过三目运算符实现简单的判断

语法:表达式1?表达式2:表达式3

解释

如果表达式1为真,执行表达式2,并返回表达式2的结果

如果表达式1为假,执行表达式3,并返回表达式3的结果

运算符优先级

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第6张图片

第四章数学函数,字符和字符串

数学函数

数学运算符

使用数学运算符的时候需要使用cmath的头文件

  1. 指数函数

    • double exp(double x); 计算 e(自然对数的底数,约等于 2.71828)的 x 次方。
  2. 三角函数

    • double sin(double x); 计算正弦值。
    • double cos(double x); 计算余弦值。
    • double tan(double x); 计算正切值。
    • 对应的反三角函数:
      • double asin(double x); 反正弦值(返回弧度值)。
      • double acos(double x); 反余弦值(返回弧度值)。
      • double atan(double x); 反正切值(返回弧度值)。
      • double atan2(double y, double x); 返回点 (x, y) 的反正切值,结果在 -π 到 π 范围内。
  3. 对数函数

    • double log(double x); 自然对数(以 e 为底)。
    • double log10(double x); 常规对数(以 10 为底)。
    • double log2(double x); 以 2 为底的对数(C++11及以后版本支持)。
  4. 幂运算和平方根

    • double pow(double base, double exponent); 计算 base 的 exponent 次幂。
    • double sqrt(double x); 计算平方根。
  5. 绝对值

    • double fabs(double x); 计算浮点数的绝对值。
  6. 舍入函数

    • double ceil(double x); 向上取整到最接近的整数(不小于 x)。
    • double floor(double x); 向下取整到最接近的整数(不大于 x)。
    • double round(double x); 四舍五入到最近的整数。
    • double trunc(double x); 截断小数部分,只保留整数部分。

      7.min,max和abs函数

             1. min,max函数返回两个数的最大值和最小值可以是(int ,long,double,float类型)

              2. abs函数返回一个数的绝对值可以是(int ,long,double,float类型)

              3.例:max(2,3)返回3;max(2.1,3.2)返回3.2;

注:

  • 整数的abs:使用#include 头文件 并使用 
  • 浮点数的绝对值:使用#include  头文件
  • min 和 max 函数:使用#include  头文件

字符数据类型和操作符

字符串文字必须被双引号括起来(“ ”)。一个字符文字是一个单独的字符被单引号括起来('  ')

因此"A"是一个字符串,'A'是一个字符。

数值类型和字符类型之间的相互转化

1、整数类型转化为字符类型

char c=0XFF41;
cout<

在C++中,char 类型的大小通常是8位(具体取决于编译器和平台),它可以存储ASCII字符或者其他字符集的一个字符。当你使用 char c = 0XFF41; 初始化一个字符变量时,你实际上是将一个数值赋给了它。

0XFF41 是十六进制数,转换成十进制是 65537。然而,由于 char 只有8位,高位通常会被截断,只保留低8位。在这个例子中,低8位是 0x41,对应的十进制值是 65,这正是大写字母 'A' 在ASCII码表中的值。

因此,尽管你给 c 赋予了一个大于 char 类型通常能表示的范围的值,但输出时只会考虑低8位,所以结果是输出字符 'A'。

2、浮点数类型转化为字符类型

char c=65.25;
    cout<

当浮点数类型转化为字符类型时,先转化为int类型,再转化为char类型

3、字符类型转化为数值类型

int i='A';
cout<

注:char char_value = static_cast(int_value); // 将整数转换为字符

        char int_value = static_cast(char_value); // 将字符转换为整数

比较和测试运算符

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第7张图片

'a'>'b'字符可以比大小 字符串不可以

生成随机字符

先生成0~127的随机数,在通过char char_value = static_cast(int_value);来生成随机字符。

字符串类型

string 是在多种编程语言中用来表示和操作字符串的类  故 string s;中s是string 的对象。

比如,如果要测S的大小就要用 s.size()

string message ="weclome to C++"

message.at(0)=w    message.length=14    message.at(13)= +

字符串的连接

sring s1="asd",s2="456";

string s3=s1+s2;  (  s3=asd456)//ok

char t1[20]="exe",t2[20]="ttt";

char t3[20]=t1+t2;   //wrong 因为t1和t2代表的是地址

如果要连接两个数组,可以用strcat(t1,t2);

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第8张图片

字符串比大小

string str1 = "Hello"; string str2 = "World";

str1 < str2;

这里是通过字典序”比较即从左到右逐个字符对比它们的 ASCII值

格式化输出

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第9张图片

setprecision的用法

给一个浮点数显示总的显示位数

例:

double number = 12345.6789; //

cout << setprecision(6) << number << endl;//输出12345.6

fixed的用法

cout<<232123434.357;//输出2.32123e+08
cout<

注:默认情况下,能修复小数点后六位,但与setprecision连用时可以控制修复多少位

基于C++程序设计(原书第3版)进行大一期末C++快速复习(第一部分)_第10张图片

showpoint的用法

可以使用showpoint和setprecision操作来强制浮点数来显示小数点和指定小数点后位数

cout<

setw(width)的用法

 cout << setw(10) << "Hello"; // 输出:     Hello
 cout << setw(5)  << 12345;   // 输出:12345
 cout << setw(15) << "World";  // 输出:          World

double pi = 3.14159265;
    cout << setw(10) << pi;       // 输出:3.14159

在上述代码中,cout << setw(10) << pi; 的输出结果为 3.14159 而不是预期的10个字符宽度,是因为这里只设置了宽度但没有设置精度(6位)。对于浮点数而言,setw 设置的是输出字段的总宽度,但它不会自动增加小数部分的位数。

left和rigth的用法

注:setw操作默认使用右对齐,可以使用left操作使输出为左对齐,当然也可以使用rigth操作使输出为右对齐

 cout<

到这里已经就复习完了C++的基础,之后还会更新大一新生C++期末复习之后的内容

若有侵权,请联系作者

你可能感兴趣的:(算法,c++)