【C++系列文章】第一章 C++基础

C++系列文章目录

第一章 C++基础
第二章 表达式和语句
第三章 函数



一、简单的C++程序

一个简单的C++程序:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello World" << endl;
    return 0;
}

二、基本数据类型

1.变量定义

#include <iostream>

using namespace std;

int main()
{
    int a = 5;
    int b, c = a, d = 10 / 2;

    return 0;
}

补充:typedef

2.常见变量及范围

类型关键字字节长度范围
布尔bool
字符char1-128~127(-27-1 ~ 27)
整型int4-32768~32767(-215 -1 ~ 215)
浮点float4-3.4 * 1038~3.4 * 1038 (7位有效位)
双浮点double8-1.8 * 308 ~ 1.8 * 308 (15位有效位)

补充:
常用基本数据类型描述

3.常用特殊字符

在这里插入图片描述

4.枚举符——enum

枚举类型定义语法

enum COLOR{ RED,BLUE,GREEN,WHITE,BLACK};
// COLOR是枚举类型名,它不是变量名,不占内存空间。
// 枚举类型规定枚举类型名和枚举的取值范围
//RED BLUE是枚举符,枚举符是一种符号常量,在内存中表示以整型数。如果没有专门指定,第一个符号常量的枚举值是0,其他的依次+1。

枚举值指定语法

enum COLOR{RED = 100, BLUE = 200, GREEN, WHITE = 400};
//例中GREEN未被赋值,GREEN的值为201

定义枚举类型的变量

COLOR paint = GREEN;
// 枚举变量paint,用枚举符GREEN所代表的枚举值初始化
// 枚举类型的变量取值只能取枚举类型定义时规定的值,不饿能用整数值赋给枚举变量。
paint = 200; //error:cannot convert from 'const int' to 'enum paint'

5.常量

常量定义

const double pi = 3.1415926;

常量初始化细节

const int size = 100 * sizeof(int) //ok
const int number = max(15,23) //error
//sizeof()是C++的基本操作符,在编译之前可以确定,所以第一个常量定义合法
//max()是函数。函数要求在程序开始运行时才能求值,不能在编译之前确认值,所以是错的。

关于#define
在C中可以使用

# define PI 3.1415926

在C++里可以用,但是最好不用


三、I/O流控制

1.cout和cin

//way1
cout << "This is cout.";
cout << endl;
//way2
cout << "You"//行末无分号
	 << "can"
	 << "try"
	 << endl;
//way3	 
cout << "Right" << "now" << endl;

//way1
int age;
cin >> age;
//way2
int i;float f;double l;
cin >> i >> f >> l;

2.控制符(manipulators)

控制符是在头文件<iomanip>中定义的对象,可以直接将控制符插入流中。
I/O流的常用控制符

-设置值的输出宽度setw(n)

-输出八进制数和十六进制数hex\oct\dec

-设置填充字符setfill()(一般和setw(n)合用)

-左右对齐输出left\right

-强制显示小数点和符号showpoint\showpos

3.控制浮点数值显示

  • setprecision(n):可控制输出流显示浮点数的数字个数,即表示有效位数。
  • setprecision(n)和fixed()合用:可以控制小数点右边的数字个数,即setprecision(n)表示小数位数。
  • setprecision(n)和scientific合用:可以控制指数表示法的小数位数,即setprecision(n)表示小数位数。

以下为实例代码:

#include<iostream>
#include<iomanip>//要用到setprecision()

using namespace std;
//---------------------------------------
int main()
{
double amount = 22.0/7;//有.会有小数,无.会是整除
cout << amount << endl;
cout << setprecision(0) << amount << endl;
cout << setprecision(1) << amount << endl;
cout << setprecision(2) << amount << endl;
cout << setprecision(3) << amount << endl;
cout << setprecision(4) << amount << endl;

cout << fixed << setprecision(8) << amount << endl;
cout << scientific << amount << endl;
cout << setprecision(6);//用流的默认有效位数为6位
return 0;
}

//输出分别为:(此行不输出)
//3.14286
//3
//3
//3.1
//3.14
//3.143
//3.14285714
//3.14285714e + 00

流的默认有效位数为6位

4.printf和scanf

使用printf()最好加上头文件cstdio

①printf()一般格式

printf(格式控制字符串,输出项1,输出项2)

  • 格式控制字符串:有格式说明也有普通字符
    • 格式说明:由"%"和格式字符组成,如%d 、%f等。
    • 普通字符:就是原样输出的字符,如’,'。
  • 输出项:需要输出的数据或表达式。

以下为示例代码:

#include<stdio.h>

void f()
{
int a = 10, b = 20;
printf("%d, %d",a,b);
}

②格式符

  • %d:用来输出十进制整数,可以有长度修饰
    • %nd:设置输出宽度为n
    • %ld:设置输出为长整型
int a = 28, b = 38;
long c = 289868;
printf("%5d,%5d\n %ld\n",a,b,c);
printf("%3ld\n %7ld\n %d\n",c,c,c);

//输出结果为:(此行不输出)
//28, 38
//289868
//289868
//289868
//289868

  • %o和%x:八进制和十六进制输出
  • %u:以无符号十进制整数输出。

以下为实例代码:

unsighed int a = 65533;
printf("a = %d, %o, %x, %u, %7u\n",a,a,a,a,a);

//输出:
//a = 65533, 17775, fffd, 65533,  65533
  • %c:字符方式输出,如果一个整数的范围在0~255,也可以用字符方式输出。
  • %s:字符串方式输出,如果字符串长小于指定的宽度时,可以选择左对齐和右对齐。也可以选择字符串的前n个字符。
    • %-5.3s:‘-'表示左对齐,如果没有负号默认右对齐。.3表示截取字符串的3个字符。

以下为示例代码

printf("%3s,%-5.3s,%5.2s\n","hello","hello","hello")
//输出:
//hello,hel  ,   he

  • %f:用来以小数方式输出,可以指定宽度和小数位数,规定左右对齐。

    • 默认的小数位数为6
    • %-5.3f:‘-'表示左对齐,如果没有负号默认右对齐。.3表示小数取3位。
    • %08.3f, 表示最小宽度为8,保留3位小数,当宽度不足时在前面补上0
  • %e:以指数形式输出浮点数。

③scanf() 一般形式

scanf(格式控制字符串,地址1,地址2)

scanf函数


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值