C++学习第一周第2次
第二章、数据类型和表达式
目录
一、头文件解释
1、#include <stdio.h>
头文件,标准输入输出函数库。头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。
2、#include <stdlib.h>
头文件,即standard library标准库头文件,stdlib 头文件里包含了C、C++语言的最常用的系统函数,该文件包含了的C语言标准库函数的定义
3、#include<iotream>
iostream是input output stream的缩写,意思是输入输出流。 这个是在最新标准的c++中通用的头文件,一般后面还要接上using namespace std;
4、using namespace std ;
表示了所有的标准库函数都在标准命名空间std中进行了定义。其中std表示标准命名空间的名字。
二、常量、变量、常变量、标识符
1、常量——具有具体值意义的数据,如125, “张三”, “0001”, true(1),false(0) , ‘a’——常量是能被改变的量
(1)整型常量:如125
(2)实型常量:一般小数形式: 125.0 , 1.25 指数法形式/科学计数形式: 1.25E3 表示1250 , -2.56E-2表示-0.00256
(3)字符型常量:
<1>普通字符: ‘a’ ‘A’ ‘?’ 注意只能一个字符且以单引号括起来. 一个字符常量在内存占用一个字节的存储空间.字符串除有效字符外,最右边会自动加上一个结束标记 \0
<2>转义字符:常用 \ 开头
\’ 表示单引号
\” 表示引号
\? 表示问号
\\ 输出一个\ 前一个\表示专义,后一个\表示真实内容
\n 输出时换行
\r 回车 (把输出点定位到本行的首部,如果继续输出数据,
\o \oo \ooo 把数值型数据以8进制指定位输出
\h 把数值以16进制指定位输出
%d 表示占位,输出一个整数
%c 表示占位,输出一个字符char, ASCII为102对应是f
(4) 字符串常量
string s1,s2,s3;
s1=”ab”; s2=”cd”;
s3=s1+s2; //s3的结果为 “abcd”
(5) 符号常量
使用一个符号代表一个常量,常在预编译时完成定义: #define 大写符号 值
#define PI 3.1415926; //在程序编译时就自动地把程序中所有X代替成了100
2、 变量
就是人为定义标识符,对应小学x,y这些未知数,它仅是一个符号,它的内容是常量,才有意义的。 定义一个变量,在内存里开辟一个空间,此空间用于存放一个常量
注意:变量取名时,只能使用数字,字符,下划线_, 且不能以数字开头. 如: xy, x3, x_3 , 姓名 (正确)
int,printf, double,\x 错的 (int 是类型数据,已经被系统占用了,不能用于自定义变量名。\是转义符也不能用)
3x , x+y, x-y 错的(不能以数字开头,运算符不能用)
3、 常变量
如:const int x=5; 不属于预编译,可写在函数外面,也可以在函数内部定义。
这种变量在它的存在周期内值不改变,如在编程时常用于定义一些事先固定大小的值的存放(如软件总容量人数等),常变量完全可以代替符号常量,优点更多
4、标识符
标识符,就是用于对变量,符号常量,函数名字,类型名字命名的字符串. x, PI, printf( ), int
注意:标识符是有大小之分的,不能乱用
三、数据类型
1 整数类型 :
(1)基本整型 int : 一般整数:老版本C一个整型变量空间是占用2字节(16个二进制位,2Byte=16bit)
(2)短整型 short int :占用空间是int的一半字节数,老版本中占1个字节, 新版占2个字节。
(3)长整型 long int :老版本占4B(32bit)常用于存放大整数,范围在亿级以上
(4)双长整型 long long int: 老版本占4B(32bit)常用于存放大整数,范围在亿级以上
(5)有符号数 和无符号数(unsigned ):n位二进制的无符号数表示范围绝对值比有符号数大一倍。
2 字符型
(1) 字符与字符代码
(2) 字符变量:Char 变量名 可定义一个存放一个字符的变量,默认是在内存中分配一个字节,主要用于存放一个英文字符。
字符在内存中并不存放的字符本身,存放的是它的二进制的ASCII码(65 01000001) 基本ASCII范围0-127 ,超过这个范围输出时可能是其它不识别的字符
(3) 字符数组
3 浮点型
(1) float 型:
计算机中一个任意小数(或大整数)可以表达成规则浮点数格式:老版中float变量占4个字节
如: 0.00065 表示成: 0.65E-3 其中0.65是一个定点小数/尾数, -3是一个整数/阶数, 可见:浮点数=尾数+阶数 尾数表示数的精度,越长则精度越大;阶数表示大小 又如: 125.67 表示为:0.12567E+3
(2) double 型: 双精度型,也是存放小数的,占8字节
(3) long double 型:长双精度型,16个字节
四、运算符和表达式
1、基算术运算符
+ : +5 表示正数, a+5 是双目
- : -5 , 4-5
* : a*b 乘法
/ : a/b 除法
% : 求余数, a%b 一般表示a整除b的余数(求模)
2、自增、自减运算符
自增:++ 自减:--
3、算术表达式和运算符优先级与结合性
4、不同类型数据间的混合运算
<1 字符可当整数对待
<2 一个数学表达式中,出现多个量,计算时要把所有量以高精度的量看齐 。 3+4+1+1.25 结果是浮点数值 Int +float +double 结果为double
五、作业
1 输入一个整数a, 一个大写字母c,输出a对应的字符char,输出c对应的小写字母。
2 输入一个圆的半径如2.5,输出它的周长和面积。
3 假设银行存款利息是每年3.5%,现输入一个存款数m,一个存款年限n,求出总共该取出多少钱s?
4 从银行贷款d元,每月还款为P元,每月利息是r,需要多少个m月才能还完?
提示:还款的月数公式:m=log10(p/(p-d*r) / log10(1+r))
Log10是对数函数,如log10(n)表示求以10为底的n的对数。要加头文件math.h.
测试时,输入d=30000, P=600, r=0.01