首页 > 编程语言 >day01 初学c++第一章

day01 初学c++第一章

时间:2024-07-06 18:31:05浏览次数:3  
标签:char cout 符号 day01 c++ 运算符 初学 字符串

目录

一、前置代码以及cout打印

两条预处理代码:

count打印语句:

二、符号常量

 三、标识符的命名规范

四、数据类型

 c++中整数类型的表现形式:

在c++中,数字存在有符号和无符号之分的

c++中实型的表现形式:

代码所用函数:

c++中字符型的表现形式:

基础运算总结:

转义字符

c++中字符串的表现形式 :

字符串的拼接

 c++中布尔型的表现形式(bool)

补充:在c++中,对于常量的类型确定遵循最小原则:

五、cin数据输入

六、运算符

算术运算符

赋值运算符 

​编辑 比较运算符

 逻辑运算符

 三元运算符


一、前置代码以及cout打印

两条预处理代码:

//两条预处理的代码
#include "iostream"
using namespace std;

count打印语句:

    /* count 打印语句:cout<< ... << ... << ... <<endl;
     * <<endl用于换行
     * */
    cout << "hello" << 10 << endl;

二、符号常量

符号常量:#define 名称(标识符) 常量值,符号常量定义在代码的头部,不需要分号结尾

 作用:可以基于标识符(名称)重复使用常量值,无需再次书写

#include <iostream>
using namespace std;

#define FAT_BMI 28 

int main()
{
    //使用符号常量
    cout << FAT_BMI << endl;
    return 0;
}

 三、标识符的命名规范

1、下划线命名法:纯小写,一般用于变量命名。student_name、teacher_age等等

2、小驼峰法:第一个单词首字母得小写,后边单词首字母大写,一般用于变量、函数(方法)命名。studentName、teacherAge等等

3、大驼峰法:所有单词首字母都得大写,一般用于命名。StudentName、TeacherAge等等

四、数据类型

 c++中整数类型的表现形式:

在c++中,数字存在有符号和无符号之分的

无符号:仅仅允许正数存在

有符号:可以允许负数存在,简化为u_int、u_long表示无符号(导入#include <_bsd_types.h>)

 []表示可选,可写可不写。如:signed int 和 int相同

取值范围规则(n表示位数):无符号最大值差不多是有符号最大值的两倍

有符号:-2^(n-1) ~ 2^(n-1)-1

无符号:0 ~ 2^n-1

c++中实型的表现形式:

 注意:实型数据没有signed和unsigned,默认全部有符号

    float num1 = 1234567890;//   1234567936.000000,只提供了前7位的准确输出,4字节
    float num2 = 1.234567890;//            1.234568,只提供了前7位的准确输出
    cout<< num1 << "," << num2 << endl;//1.23457e+09,1.23457

    cout<< fixed;//设置为小数显示
    cout.width(20);//设置显示的最大宽度(最大位数)

    double num3 = 1234567890.1234567890;//   1234567890.123457,只提供了前16位的准确输出,8字节

    long double num4 = 1234567890.1234567890; 
    cout<< num4 << "," << sizeof(num4) << endl;//   1234567890.123457,只提供了前16位的准确输出,16字节

代码所用函数:

1、控制cout输出小数格式

cout<<fixed;设置为小数显示

cout.width(20);设置显示的最大宽度(最大位数)

2、获取数据占用的字节数

sizeof(数据)

c++中字符型的表现形式:

char类型用来表示字符,同时支持有符号和无符号。

 演示代码:

    char ch = 65;
    cout << ch << endl;//A

    char ch2 = 'a';
    cout << ch2 << endl;//a

    cout << ch + 1 << endl;//66
    cout << ch2 + 1 << endl;//98

    char ch3 = 'a' + 2;
    cout << ch3 <<endl;//c

基础运算总结:

1、字符类型数据与数字进行运算时,字符类型数据会变成数字参与运算,结果自然也就是数字

2、输出:直接将"数字"输出时,结果会是ASCII表对应的数据;直接将字母输出时,结果仍然是字母;间接将"数字"输出时,结果就是数字。

转义字符

含义:将普通字符使用\作为开头,将其含义进行转换,对照得到ASCII表的控制字符的功能

 代码演示:

    //\n : 换行 \t:制表符 \\:表示一个反斜杠本身 \':表示单引号 \":表示双引号

    cout << "你好啊 \n 世界" << endl;
    cout << "----------" << endl;

    //\t制表符演示,效果等同于键盘的tab键,一个\t可以补充到8个字符位
    cout << "hello \t worle" << endl;
    cout << "a \t car" << endl;
    cout << "----------" << endl;

    //如果要打印双引号和单引号,需要\\    \'来转义,是反向转义,将双引号和单引号的特殊效果消除
    cout << "\\    \'" << endl;
    cout << "----------" << endl;
/*
你好啊 
 世界
----------
hello    worle
a        car
----------
\    '
---------- */

c++中字符串的表现形式 :

两种风格的字符串使用形式:

c语言风格字符串(了解):

char a[] = "helloWorld";//字符数组形式

char *b = "seeYou";//指针形式

c++风格字符串:

string c = "c++";

    //c语言风格的字符串
    char s1[] = "helloWorld";
    char *s2 = "seeYou";

    //c++风格字符串
    string s3 = "hello,c++";

    cout<<s1<< endl;//helloWorld
    cout<<s2<< endl;//seeYou
    cout<<s3<< endl;//hello,c++

    s2 = "666";
    s3 = "777";
    cout<<s2<< endl;//666
    cout<<s3<< endl;//777

注意:字符数组的形式s1不能通过重新赋值来改变值,s2,s3可以

字符串的拼接

如果是字符串与字符串进行连接,则直接用+号即可;否则可以使用c++内置的to_string(内容)函数将内容转换为字符串类型(不用该函数的话,会直接报错)

    string name = "小黑";
    string major = "物理";


    int age = 21;
    double high = 178.50;

    string res = "我叫做:" + name + "\n我的专业是:" + major + "\n我的年龄是:" + to_string(age) + "\n我的身高是:" + to_string(high);

    cout << res << endl;
/*
我叫做:小黑
我的专业是:物理
我的年龄是:21
我的身高是:178.500000*/

 c++中布尔型的表现形式(bool)

true 表示真(本质上是数字1)

false 表示假(本质上是数字0)

    bool flag = true;
    bool flag2 = false;

    cout << flag << endl;//1
    cout << flag2 << endl;//0

补充:在c++中,对于常量的类型确定遵循最小原则:

按照所书写的字面量的值,来确定类型,默认int,从小到大进行适配

当然,也可以指定后缀确定 (常量是可以有后缀的);

例如:

10L;//指定为long类型

123UL;//指定为unsigned long类型 

五、cin数据输入

语法:数据类型 变量;cin >> 变量

注意:1、cin会自动识别接收数据的变量类型,完成类型适配

2、使用符号位 >> 和 cout是相反的

    int a;
    cin >> a;//4
    cout<< a << endl;//4

六、运算符

含义:运算符是一种符号,用于告诉编译器执行特定的数学或逻辑操作

算术运算符

算术运算符就是通过指定的符号,对程序内的数据,进行数学运算

 

赋值运算符 

含义:是一种双目运算符,用于将右侧表达式的值赋予左侧变量

 比较运算符

 含义:是一种双目运算符,用于对两个数据进行比较(大、小、相等),得到bool型结果。

 

可以用于比较:整型、实型、字符型,即数字的大小

针对字符串的比较需要特定操作 

#include <iostream>
#include "cstring";//c 语言字符串库
using namespace std;

int main()
{

    //字符串的比较
    //c语言风格:char s[]   char *s
    //c语言风格字符串,直接应用比较运算符,比较的是内存地址,而不是内容
    char s1[] = "hello";
    char *s2 = "hello";
    cout << "s1 == s2 : " << (s1 == s2) << endl;//s1 == s2 : 0,结果显示为假

    //strcmp进行比较,0:相等,-1:s1 < s2,1:s1 > s2
    cout << "s1 == s2 ? " << strcmp(s1,s2) << endl;//s1 == s2 ? 0
    char s3[] = "a";
    char *s4 = "b";
    cout << "s3 == s4 ? " << strcmp(s3,s4) << endl;//s3 == s4 ? -1



    //c++风格字符串,string类型的都是c++风格字符串
    //在比较中只要有1个c++风格字符串,就可以用 比较运算符了
    string s5 = "a";//c++风格
    char s6[] = "a";//c风格

    cout << "s5 == s6 ?" << (s5 == s6) << endl;//s5 == s6 ?1.结果显示为真

    return 0;
}

 c语言风格需要导入"cstring"库,结果0:相等,-1:s1<s2,1:s1>s2;

在比较中只要1个c++风格字符串,就可以用比较运算符了

 逻辑运算符

含义:是一种单/双目运算符,用于对单个或多个表达式进行逻辑判断

 

 三元运算符

含义:是一种三目运算符,用于对逻辑进行判断,根据判断结果提供不同值 

语法:产出bool结果的表达式?值1:值2;

其含义为:

如果?之前的表达式结果为true,那么提供值为1的结果

如果结果为false,那么提供值为2的结果 

    int num1,num2;
    cin >> num1;//3
    cin >> num2;//5

    string res = num1 > num2 ? "num1 > num2" : "num1 < num2" ;

    cout << res << endl;//num1 < num2

标签:char,cout,符号,day01,c++,运算符,初学,字符串
From: https://blog.csdn.net/2301_76909842/article/details/140134880

相关文章

  • Day01
    快捷键ctrl+shift切换输入法ctrl+X剪切Ctrl+S保存alt+F4关闭窗口shift+delete永久删除Ctrl+shift+ESC打开任务管理器Windows+E我的电脑Windows+R打开cmd,命令提示符磁盘前+cmd打开cmdCtrl+D:复制当前到下一行DOS命令盘符切换:D:/E:/F:查看当前目录的所有......
  • C++开发调试工具:GDB调试,windebug调试,adb调试
    我们在C++开发过程中时常避免不了要调试追踪,一下介绍最主流的三种调试工具:一.GDB调试1.coredump文件:coredump文件是程序异常时系统产生的错误日志文件,即核心转储文件;编译一个debug程序,必须是debug版本,否则无法产生coredump文件;编译命令:g++test.cpp-omytest-g,必须要......
  • C++中的设计模式
    要搞清楚设计模式,首先得要了解UML中的类的一些关系模型。一.UML图中与类的层次关系UML关系:继承关系(泛化关系);组合关系;聚合关系;关联关系;依赖关系;以上关系强度依次减弱。1.继承关系继承关系是最直接的父子关系,如麻雀和老鹰都继承自鸟类,属于子类继承自父类,所以UML中子类实......
  • 详解C++完美转发
    我们先来看折叠规则引用折叠规则在C++中,引用折叠规则的主要目的是为了保证在模板推导过程中,对于参数T&&能够正确地推导出其最终的引用类型,以便进行参数传递时的正确行为。下面是引用折叠规则的总结:左值引用折叠:T&&折叠为T&T&&&折叠为T&这意味着如果一个左值引用......
  • C++语言常见错误分析汇总
    在一个工程里出现两个main函数时3.obj:errorLNK2005:_mainalreadydefinedinfile1.objDebug/HELLO.exe:fatalerrorLNK1169:oneormoremultiplydefinedsymbolsfound这个就是说,你的main函数重定义了。你看看是不是你的工程里面,包含了很多个有main函数的文件?......
  • c++基础知识——常量和变量
    常量1.常量的性质在程序运行的过程中,其值不改变的量称为常量。常量分为两种:一类直接写出它的值,称为字面值常量,如123,'abc',true等;一类是使用const修饰的对象。2.整形字面值常量整形字面值常量采用我们平常使用的十进制整数表示。如138,0,-512等,都是整形常量,二18.1,32.6等不是整......
  • 【C/C++ new/delete和malloc/free的异同及原理】
    new/delete和malloc/free都是用于在C++(以及C语言在malloc/free的情况下)中动态申请和释放内存的机制,但它们之间存在一些显著的异同点。以下是对这两组函数/运算符的异同点的详细分析:相同点目的相同:两者都用于在堆(heap)上动态地分配和释放内存。手动管理:无论是new/delete还是......
  • 快速排序c++&&java代码实现
    快速排序的思想(基于分治法): 每次选一个基准元素x,通过一次遍历将排序表划分为独立的两部分a[l,k-1],a[k+1,r];其中左边的元素<=x,右边的1元素>x,然后递归下去,直到每个块的大小为1;c++#include<bits/stdc++.h>usingnamespacestd;voidquickSort(vector<int>&q,int......
  • java学习——基础语法篇(适合已经学过c++的人群)
    本篇适合之前学过c和c++语言,现在要学java的人进行学习。由于之前学习过c++同为面向对象的程序语言,基础语法在相对比之下学习,对比c++与java的差异,会快速掌握基本语法。学编程语言,语法不是重点,用时即查,编程思路才是重点。1.注释、标识符、关键字、数据类型,变量定义,运算符与c++基本......
  • 初始C++
    1.visualstudio2022创建项目以及创建C++文件完成上述步骤之后我们就可以敲代码了!!2.关于编译和链接1.ctrl+F7对当前C++文件进行编译并会在编译成功后生成.obj文件。2.F5运行整个项目就会将一个项目下的所有C++文件进行编译再将编译后生成的.obj文件链接起来生......