2.格式化输入输出&&分支结构

hs2012 / 2023-07-21 / 原文

2.格式化输入输出&&分支结构

一.格式化输入输出

1.输出

注意:使用printf( )时最好加头文件#include.

格式

printf("%类型",值);

#include<iostream>
#include<cstdio> 
using namespace std;
int main()
{
	printf("%d",66);
    printf("哈哈哈");
	return 0;
}
int.float.double.char等类型的形式

(1)int:%d

(2)float:%f,默认保留6位小数

(3)double:%lf,默认保留6位小数

(4)char:%c,回车也是一个字符,用"\n"表示

int a=3;
float b=3.12345678;
double c=3.12345678;
char d='y';

printf("%d\n",a);
printf("%f\n",b);
printf("%lf\n",c);
printf("%c\n",d)

所有输出的变量均可包含在一个字符串中

int a=3;
float b=3.12345678;
double c=3.12345678;
char d='y';

printf("int a = %d, float b = %f\n double c = %lf, char d = %c\n",a,b,c,d);

输入一个整数,表示时间,单位是秒。输出一个字符串,用“时:分:秒”的形式表示这个时间。

int t;
cin>>t;
int hours = t / 3600;
int minutes = t % 3600 / 60;
int seconds = t % 60;
printf("%d:%d:%d\n",hours,minutes,seconds);

float,double等输出保留若干位小数时用:%.4f,%.3lf

float b=3.12345678;
double c=3.12345678;

printf("%.4f\n",b);
printf("%.3lf\n",c);

最小数字宽度

%8.3f,表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补空格

int a = 3;
float b = 3.12345678;
double c = 3.12345678;

printf("%5d\n",a);
printf("%8.4f\n",b);
printf("%7.3lf\n",c);

%-8.3f,表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补空格

int a = 3;
float b = 3.12345678; 
double c = 3.12345678;

printf("%-5d!=\n",a);
printf("%-8.4f\n",b);
printf("%-7.3lf\n",c);

%08.3f,表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补0

int a = 3;
float b = 3.12345678; 
double c = 3.12345678;

printf("%05d\n",a);
printf("%08.4f\n",b);
printf("%07.3lf\n",c);

2.输入

&取地址符

格式

scanf("%d",&值)

int a;
scanf("%d",&a);
printf("%d",a);
int a;
char b;
scanf("%d",&a);  //输入:12 a 会将空格存入变量b中
scanf("%c",&b);
printf("%d",a);
printf("%c",b);	

二 分支结构

1.if 语句

if(条件)
{
	条件成立执行的语句;
}
if(6>3)
{
    cout<<"条件成立";
}

2.if-else语句

if(条件)
{
    条件成立执行的语句;
}
else
{
    条件不成立执行的语句;
}
float a;
scanf("%f",&a);
if(a>=60)
{
    cout<<"及格"; 
}
else
{
    cout<<"不及格";
}

3.if-else if-else

else 可以省略,根据题目要求来

if(条件1)
{
    条件1成立执行的语句;
}
else if(条件2)
{
    条件2成立执行的语句;
}
else if(条件3)
{
    条件3成立执行的语句;
}
else
{
    以上条件都不成立执行的语句;
float a;
scanf("%f",&a);
if(a>=60 && a<70)
{
    cout<<"及格"; 
}
else if(a>=70 && a<80)
{
    cout<<"良好";
}
else if(a>=80 && a<90)
{
    cout<<"优秀";
}
else if(a>=90 && a<=100)
{
    cout<<"特别优秀"; 
}
else
{
    cout<<"不及格,或输入错误";
}

4.不同书写格式

如果if语句括号内只有一行代码,可以将括号省略

if(a>=60) 
    cout<<"及格";
else 
    cout<<"不及格";
if(a>=60) cout<<"及格";
else cout<<"不及格";

三 常用比较运算符和逻辑三兄弟

比运算符

<,>,>=,==等于,!=不等于

值得注意的是,>=自带一个||或,读作大于或等于

2.逻辑三兄弟

&&与:两边成立,整体成立

||或:一边成立,整体成立

! 非:取反

四 switch语句

switch(值)
{
        case 值1:
            值和值1相同时,执行的语句;
            break; 结束 switch
        case 值2:
             值和值2相同时,执行的语句;
            break; 结束 switch
        default:
            以上条件都不满足执行的语句;
}
int a;
scanf("%d",&a);
switch(a)
{
    case 1:
        cout<<"周一";
        break;
    case 2:
        cout<<"周二";
        break;
    case 3:
        cout<<"周三";
        break;
    default:
        cout<<"以上条件都不满足";
}