#315. 笔记
笔记
No testdata at current.
八种数据基础类型
整型:
short 短整型 2Byte %hd
int 整型 4Byte %d
long 长整型 4Byte %ld
long long 超长整型 8Byte %lld
浮点数:
float 单精度浮点数 4Byte %f
double 双精度浮点数 8Byte %lf
其它:1Byte
char 字符型 %c 9 '9' 'w' "我"
bool 布尔类型 %d 非零->true->1 0<->false
复习Day01
基础数据类型 2+2+2 6
输入输出
-
定义变量
-
输入: scanf("占位符1 占位符2",&变量1,&变量2);
-
输出: printf("a + b = %lf",变量);
- 字符宽度 %8d:右对齐、%-8d:左对齐
2)小数点保留几位 默认:6位 %f %lf %.3f 保留三位 %.10lf
-
强制类型转换 (int)a
-
ASCII码 表 ASCII<-相互转换->字符 大小写转换
-
运算符与表达式
- 算术运算符 % /
- 逻辑运算符 && || ^
- 自加、自减运算
两大判断语句
if判断
语法
- if判断
if(判断条件){
//条件成立时执行
}
- if……else……
if(判断条件){
//条件成立时执行
}else{
// 条件不成立时执行
}
- if……else if……else……
if(条件1){
//条件1成立时执行
}else if(条件2){
// 条件2成立时执行
}else if(条件3){
// 条件3成立时执行
}else{
//所有条件均不成立时执行
}
switch 语句
语法
switch(变量){
case 值1: //变量等于值1时执行
case 值2: //变量等于值2时执行
case 值3: //变量等于值3时执行
……
default: //所有值都不匹配时执行
}
举例
成绩判断:输入一个分数(1-10),输出对应分数的等级 6分以下 E, 6分D, 7分C,8分B,9分或者10分A。
#include<cstdio>
#include<iostream>
using namespace std;
int main(void){
int score;
scanf("%d",&score);
switch(score/10){
case 10:
case 9:
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
default:
printf("E");
}
return 0;
}
小玉家的电费
#include<cstdio>
#include<iostream>
using namespace std;
#define L1 0.4463
#define L2 0.4663
#define L3 0.5663
int main(void){
int n;
double money;
scanf("%d",&n);
if(n<=150){
money=n*L1;
}else if(n<=400){
money=150*L1+(n-150)*L2;
}else{
money=150*L1+250*L2+(n-400)*L3;
}
printf("%.1lf",money);
return 0;
}
循环语句 (两大循环)
for循环
语法
for(;;){
}
小括号中有且仅有两个分号
for(1初始化语句;2循环条件;4自加自减语句){
//3循环条件成立时执行
}
执行顺序:1 2 3 4 2 3 4 2 3 4……
堂训 1-100 输出
#include<cstdio>
#include<iostream>
using namespace std;
int main(void){
for(int i=1;i<=100;i++){
printf("%d\n",i);
}
return 0;
}
堂训2 输入一个数字n,打印一行n个星号
#include<cstdio>
#include<iostream>
using namespace std;
int main(void){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
printf("*");
}
return 0;
}
堂训3 输入一个数字n,打印n行,每行n个星号
#include<cstdio>
#include<iostream>
using namespace std;
int main(void){
int n;
scanf("%d",&n);
for(int j=0;j<n;j++){
for(int i=0;i<n;i++){
printf("*");
}
printf("\n");
}
return 0;
}
堂训4 输入一个数字n,打印n行星号组成的三角形如下
输入:3 输出:
*
**
***
代码:
#include<cstdio>
#include<iostream>
using namespace std;
int main(void){
int n;
scanf("%d",&n);
for(int j=1;j<=n;j++){
for(int i=1;i<=j;i++){
printf("*");
}
printf("\n");
}
return 0;
}
堂训5 输入一个数字n,打印n行星号组成的三角形如下
输入:3
输出:
*
**
***
代码
#include<cstdio>
#include<iostream>
using namespace std;
int main(void){
int n;
scanf("%d",&n);
for(int j=1;j<=n;j++){
for(int i=1;i<=n-j;i++){
printf(" ");
}
for(int i=1;i<=j;i++){
printf("*");
}
printf("\n");
}
return 0;
}
堂训6 输入一个数字n,打印n行星号组成的三角形如下
输入:3
输出:
*
***
*****
代码:
#include<cstdio>
#include<iostream>
using namespace std;
int main(void){
int n;
scanf("%d",&n);
for(int j=1;j<=n;j++){
for(int i=1;i<=n-j;i++){
printf(" ");
}
for(int i=1;i<=2*j-1;i++){
printf("*");
}
printf("\n");
}
return 0;
}
while循环
语法
while(循环条件){
//循环条件成立时执行
}
do while循环
语法
do{
//一定会执行一次,之后条件成立则执行。
}while(循环条件);
//注意末尾有个分号
一维数组
定义:
- int a[105];//不带初始化
- int a[10]={1,2,3,4,5,6,7,8,9,10};//带初始化
- char a[5]={'a','b','c','d','e'};//字符数组带初始化定义
二维数组
定义:
- int a[3][2];
- int a[3][2]={{1,2},{3,4},{5,6}};
字符串
定义
string a;
string a="hello";
cin>>a;//获取按照空格分割的字符串
getline(cin,s);//获取带空格的一整行字符串