C++教程1:输入与输出

1.1:C++第一个程序

       欢迎大家阅读我的文章,接下来我将持续更新C++的教程,内容或许不完整,请大家原谅。

       那好,我们现在开始学习。

       C++是一款编程语言,学起来很难,但学会了就能干很多事情。因为它高效、简洁、快速。话不多说,我们先来观察一串程序:

程序清单1.1.1

//程序清单  1.1.1.cpp
#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<"Hello, world!"<<endl;
    return 0;
}

程序清单1.1.1解析与探讨

       上面这个程序是一串简单的代码,我先介绍一下C++文件的后缀。C++文件的后缀是.cpp,创建文件的时候,要把.cpp后缀加上。“//”是注释的意思,凡是在“//”后面的字、句,编译器都不会管。意思就是说,你可以在“//”后面想写啥就写啥。但我建议写上注释,在C++文件的开头写上它的名字。

       我们现在正式看一下这串代码。

#include <bits/stdc++.h>

       上面这一串代码是声明头文件的意思。什么是头文件呢?顾名思义,就是打开在开头的文件。头文件有很多种,比如上面的“bits/stdc++.h”,和“iostream”,等等。头文件前面的“#include <>”是打开头文件的意思。

       再看一下下面的代码:

using namespace std;

       这串代码的意思是命名std空间。可能有些人不懂,但只要将每个C++程序都加上它就行了,当然,你也可以不加,这个我不做解释。

       然后是下面的函数:

int main(){
    cout<<"Hello, world!"<<endl;
    return 0;
}

        这其中的“int main(){}”是定义main()函数的意思。第一行的“int main(){}”是函数头,花括号中间的叫函数体。每个C++程序都至少有一个main()主函数。程序会执行main()主函数中的命令,执行完了,程序也就结束了。这里的“cout<<"Hello, world!"<<endl;”是在电脑屏幕上打印Hello, world!的意思。专业术语叫输出。最后,“return 0;”是结束程序的意思。

       这里要注意一下,每个C++语句后面都有一个分号。C++中所有符号都是英文的,所以这个分号也是英文的。分号是结束一串语句的意思,C++语句后方必须有一个分号。

       以上就是这串代码的解析。

1.2:多元素输出

       我们来看一道题:

例1:多元素输出引例

题目描述:

在电脑屏幕上分两行输出“I like C++!”和“I like the world!”。

输入:

输出:

分两行,第一行输出“I like C++!”,第二行输出“I like the world!”。

样例输入:

样例输出:

I like C++!

I like the world!

       这道题是一道简单的输出例题,换不多说你们看一下答案:

程序清单1.2.1

//程序清单 1.2.1.cpp
#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<"I like C++!"<<endl<<"I like the world!"<<endl;    //多元素输出流
    return 0;
}

       或者下面的代码: 

程序清单1.2.2

//程序清单 1.2.2.cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
	printf("I like C++!\nI like the world!\n");    //C风格输出函数 
    return 0;
}

例题解析:

       这道题是一道基础的输出题,两串代码都是输出的意思,程序清单1.2.1.cpp中,“endl”这个命令是换行的意思。如果有些C语言基础的都知道,“printf()”函数也是用来输出的意思,建议初学者不要使用。

例2:画图

题目描述:
在电脑屏幕上用“*”打出一个三层五列的三角形。

输入:

输出:
如题,输出三角形。

样例输入:

样例输出:

  *
 ***
*****

       下面是参考答案:
程序清单1.2.3

//程序清单1.2.3.cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
	cout<<"  *"<<endl;
	cout<<" ***"<<endl;
	cout<<"*****"<<endl;
	return 0;
}

程序清单1.2.4

//程序清单1.2.4.cpp
#include <bits/stdc++.h>
using namespace std;
int main(){
    printf("  *\n");
    printf(" ***\n");
    printf("*****\n");
    return 0;
}

例题解析:

        这道题是一道输出题,程序清单1.2.3和1.2.4都是上面例题的答案。如果初学者看不懂,就不要学习程序清单1.2.4的风格。

1.3:输入

        输入指的是:从键盘上读入数据,将数据储存到一个变量里。变量的意思是,一个值可以改变的量。首先,我们要先学习变量的定义。

        请看下面的代码:

//程序清单1.3.1.cpp 
#include <bits/stdc++.h>
using namespace std;
int main(){
    int x=101;    //定义变量x,其值可以被修改 
    cout<<x<<endl;
    return 0;
}

程序清单1.3.1解析与探讨:

        这个程序中,用到了“int x=101;”这个语句。这个语句是什么意思呢?“int”是一个整数变量的定义前缀,空格,然后定义变量名。等号在这里指的是赋值的意思,后面是一个变量的初始值。当然,你也可以不定义初始值。

        请看下面的程序:

//程序清单1.3.2.cpp 
#include <bits/stdc++.h>
using namespace std;
int main(){
    int x;
	cin>>x;    //从键盘上读入变量x 
    cout<<x<<endl;
    return 0;
}

程序清单1.3.2解析与探讨:

        这个“cin>>x;”语句又是什么语句呢?这个语句的意思是,直接从键盘上读入一个整数数据(其值不能太大,也不能太小),然后从屏幕上输出。这就是输入。

重点知识1:

        下面是定义变量前缀的代码表格:

定义变量前缀表(常用)
short短整型,储存的数据较小
unsigned short无符号短整型,只储存正整数
char字符类型,只储存单个字符
int整型,储存数据一般
unsigned int无符号整型,只储存正整数
float浮点数(小数),精度较低
double浮点数(小数),精度一般
long double浮点数(小数),精度较高
long int长整型,储存数据较大
unsigned long int无符号长整型,只储存正整数
long long超长整型,储存数据最大
unsigned long long无符号超长整型,只储存正整数
sting字符串,可储存多个字符,字符数据大小不定
bool布尔值,只有1和0两个值,1代表有,0代表无

        上面是简单的一些定义前缀,都是常用的,加红部分是经常用的。一共五个,只要记住了,后面的顺序结构也就非常简单了。

1.4:练习题

满分:100分    建议完成时间:30分钟    难度:入门

一、单选题(共5题,每题5分,共25分)

1.下面说法正确的一项是:()。

A.C++中可以调用C语言的代码    B.C++中可以没有主函数    C.C++中的“using namespace std;”语句不能删去

2.下面说法正确的一项是:()。

A.C++中不能多元素输出    B.C++中“return 0;”时结束程序的意思    C.C++中只有14种定义变量的前缀

3.下面代码正确的是:()。

A:

//选项A 
#include <bits/stdc++.h>
using namespace std;
int main(){
	cin>>n;
    cout<<n<<" is a int."<<endl;
    return 0;
}

B:

//选项B 
#include <bits/stdc++.h>
using namespace std;
int main(){
	int x,c;
	cin>>x>>c;
	printf("%d %d\n",x,c);
    return 0;
}

 C:

//选项C
#include <bits/stdc++.h>
using namespace std;
int main(){
	int x,c;
	cin>>x>>c;
	printf("%d %d\n",x,c);
}

4.C++中()是必要语句。 

A.using namespace std;    B.return 0;    C.#incldue <bits/stdc++.h>

5.C++中()是不必要语句。

A.int main(){}    B.return 0;    C.cout<<endl;

二、判断题(共5题,每题3分,共15分)

1.在C++中必须定义变量。()

2.在C++中不可以用Python语句。()

3.C++只能有一个函数。()

4.下面的代码是正确的。()

#include <bits/stdc++.h>
using namespace std;
int main(){
	int a,b,c,d,e,f,g;
	cin>>a>>b>>c>>d>>e>>f>>g;
	cout<<g<<" "<<f<<" "<<e<<" "<<d<<" "<<c<<" "<<b<<" "<<a<<endl;
	return 0;
}

5.下面的代码是错误的。()

 

#include <bits/stdc++.h>
using namespace std;
int main(){
	int a,b,c,d,e,f,g;
	cin>>a>>b>>c;
	printf("%d %d %d\n",a,b,c);
	return 0;
}

三、应用题(共3题,每题20分,共60分)

1.正向输出

题目描述: 

输入三个数,然后正向输出它们。

输入:

输入三个数,中间用空格隔开。

输出:

正向输出三个数:

样例输入:

123 456 789

样例输出:

123 456 789

2.逆向输出

题目描述:
输入五个数,然后倒着输出它们。

输入:

五个数,中间用空格隔开。

输出:

到这输出这五个数。

样例输入:

5 4 3 2 1

样例输出:

1 2 3 4 5

3.多元素输入输出

题目描述:

分别输入一个字符、整型和浮点类型的变量,倒着输出它们。

输入:

输入三行,第一行一个字符,第二行一个整数,第三行一个浮点数。

输出:

倒着输出以上元素。

样例输入:

#
123
3.14

样例输出:

3.14
123
#

1.5:练习题答案

一、1.(A)    2.(B)    3.(B)    4.(B)    5.(C)

二、1.(F)    2.(T)     3.(F)    4.(T)     5.(F)

三、

1:正向输出

参考代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n1,n2,n3;
	cin>>n1>>n2>>n3;
	cout<<n1<<" "<<n2<<" "<<n3<<endl;
	return 0;
}

2:逆向输出

参考代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n1,n2,n3,n4,n5;
	cin>>n1>>n2>>n3>>n4>>n5;
	cout<<n5<<" "<<n4<<" "<<n3<<" "<<n2<<" "<<n1<<endl;
	return 0;
}

3:多元素输入输出

参考代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
	char c;
	int n;
	double b;
	cin>>c>>n>>b;
	cout<<b<<endl<<n<<endl<<c<<endl;
	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值