C++ 第一章变量、输入输出、表达式和顺序语句
第一节 基础知识部分
文章目录
一、C++中的“Hello World”
代码如下(1):
#include <iostream>
using namespace;
int main()
{
cout << "Hello World" << endl;
return 0;
}
每一行算一个语句,每一个语句必须要用分号结束。
然后进行保存、编译运行。这里的重点在于初步认识代码编写的结构。
二、程序分为哪几个部分
1.头文件区
常用的两个头文件:
(1)
#include <cstdio>
这里面有两个函数,
输出函数 printf
输入函数 scanf
(2)
#include <iostream>
读入函数 cin
输出函数 cout
以及endl也是
(3)万能头文件
#include <bits/stdc++.h>
2.using namespace std(使用了std这个命名空间)
一个很大的C++项目可能会出现命名的冲突,命名空间是为了解决这个问题。只要在这个命名空间里面没有命名的冲突,就可以。
平时使用的绝大部分的库函数,绝大部分都是在命名空间里的。因此要加上使用这个命名空间。
必须加上命名空间
using namespace std;
3.程序的执行入口:int main()
函数的入口
int main()
{
return 0;
}
主义区分大括号和小括号,不要混用!
以及最后一定是 return 0;
三、常用的变量类型及范围
变量是用来保存一些信息的
变量必须先定义才可以使用,不能重名。
变量定义的方式
1.布尔型
关键词:bool
存储两种值:真(true)、假(false)
大小:一个布尔变量是1Byte = 8bit
bool g = true , h = false;
布尔的true等于0;false等于1
2.字符型
关键词:char
字符要用单引号引起来,一定要注意!
大小:1Byte
读字符串只能用string,用 cin来读入
char j = 'a' , k = 'c'
特殊字符:
char ' ' , '\n'
' '代表空格;'\n'代表回车
3.整型
整数能表示的范围是:-231 ~ +231-1
关键词:int
字符要用单引号引起来,一定要注意!
大小:4Byte,可以表示2 32个数
int a , b = 2 , c = b;
4.浮点型
精度比较低,也被称为单精度浮点数。有效位数是6 ~ 7位有效数字
关键词:float
大小:4Byte
整数也是特殊的浮点数,整数可以读到浮点数里面,浮点数不能读到整数里面。
也可以支持科学计数法,示例如下:
1.235e2表示1.235乘以10^2
float d = 1.235e2 , e = 1;
5.双浮点型
表示的数值类型是完全一样的,但是精度比浮点型要高。
15 ~ 16位有效数字
关键词:double
大小:8Byte
浮点数里没有整除
double 与 float一样
题中如果要求使用浮点型,直接用double会比较好。因为float精度很低。
6.扩展类型
long long 类型
是long long int的一个简称,表示的是更长的整数型
表示范围:-263 ~ +263-1
大小:8Byte
要强制加LL,不然计算机会理解为负数
long long l = 1000000000LL;
long double 类型
有效数字是18 ~ 19 位
表示的数值类型是完全一样的,但是精度比浮点型要高。
有效位数是 15 ~ 16位有效数字
关键词:double
double
四、定义变量
变量类型 表达式1, 表达式2 , ... , 表达式;
或
变量类型 表达式1;
变量类型 表达式2;
先声明变量的类型是什么;
每个表达式之间用逗号隔开;
表达式可以是一个变量,也可以是一个赋值表达式;
五、变量的输入输出
注意箭头的方向
也可以分开输入或输出
头文件
iostream头文件对应 cin、cout
cstdio头文件对应 scanf、printf
1.输入
(1) cin
cin >> a >> b;
或
cin >> a;
cin >> b;
(2)scanf
scanf("%d%d" , &a , &b);
scanf会自动过滤掉所有的空格和回车。
2.输出
(1) cout
cout << "xxx" << a+b <<endl;
输出多个变量
输出时,cout是按照顺序挨个输出
cout << a + b << ' ' << a * b << endl;
或
cout << a + b;
cout << ' ';
cout << a * b ;
cout << endl;
(2)printf
printf("a + b = %d\na * b = %d\n" , a + b , a * b)
浮点数:%f ,假如想保留x位小数,则%.xf
整数:%d(不会读入空格)
字符:%c(会读入空格)
double:%lf
long long:%lld
布尔当成整数来处理
cin、cout在输入输出的时候不需要判断数据的类型,但是scanf、printf需要判断类型
所有能用cin、cout的地方,都能用scanf、printf来表示。但反之,不可以。
cin、cout效率低于scanf、printf。
cin会过滤空格,scanf不会
六、表达式
整数的加减乘除四则运算
1.运算符
(1)+ :把两个操作数相加
(2)- :从第一个操作数中减去第二个操作数
(3)* :把两个操作数相乘
(4)/ :分子除分母
如果是整数相除的话,是整除。例如:5/2=2
如果是两个浮点数相除,得到的是浮点数。例如:5.0/2.0=2.5
(5)% :取模运算符,整除后的余数
取模运算:前面的数除以后面的数的余数,5 % 2 = 1
模出的结果的正负,取决于前面那个数的正负,与后面的数的正负无关
浮点数没有取模,对整数才有取模
5 % 2 = 1
-5 % 2 = -1
2.整数的自加和自减运算
a++、++a都是把a加一,但要注意赋值时的区别
(1)
int a = 6;
int c = a++;
则输出的是a加1之前的值,即c = 6
先赋值,再加一
(2)
int a = 6;
int c = ++a;
则输出的是a加1之后的值,即c = 7
先加一,再赋值
a–、–a是同样的
3.简写运算
(1)
b += a
等价于
b = b + a
(2)
b -= a
等价于
b =b - a
(3)
b *= a
等价于
b = b * a
(4)
b /= b - a
等价于
b = b / a
(5)
b %= b - a
等价于
b = b % a
取模和取余a不可为0
七、变量的强制转化
不同的变量类型是可以相互赋值的
int float char double
1.整数与浮点数
整数可以直接转换为浮点数
int a = 5;
float b = (float)a;
浮点数变成整数是下取整
float a = 5;
int b = (int)a;
注意:C++中两个整数相除会得到整数,是一个整除。所以,需要把其中一个数变成浮点数。
2.整数与字符型
通过ASCII码表来对应
‘a’ 97
‘A’ 65
整数与字符型的转换
int t = 97;
char c = (char)t;
字符型与整数的转换
char c = 'a';
int t = (int)c;
char类型与整数做运算,会变成一个整数
3.隐性的强制类型转换
整数类型与float / double类型做运算,结果会变成float / double
char与int做运算,结果会变成一个int类型
long long 与 int 做运算,结果会变成一个 long long 类型
float 与 double 做运算,结果会变成double
八、语句的执行
顺序语句
判断语句
循环语句
总结
C++程序的通用结构:
#include <iostream>
using namespace std;
int main()
{
写逻辑区;
return 0;
}
C++中,所有的变量一定要先定义,才可以使用。
C++能够编译所有C的代码,但头文件不一定完全一样。
所有和数学相关的函数基本都在camth中
输出记得换行
以上就是今天要讲的内容,本文仅仅简单介绍了C++代码的通用结构。欢迎各位批评指正!