C++语言顺序结构学案

【学习目标】

  1. 理解 C++ 中的标准输入输出流。
  2. 掌握 C++ 中 cin、cout 语句的使用
  3. 理解变量的定义,能熟练使用变量
  4. 熟知 C++ 中的常用数据类型,能根据具体需求使用不同的数据类型。
  5. 熟知算术运算符
    【知识着陆】
    程序==数据结构+算法
    1、程序框架
    头文件
    名字空间
    主函数
    {
    函数体;
    返回;
    }
#include<iostream>//头文件
using namespace std;//名字空间
int main()//主函数
{
    
    
	printf("Hello Wold!");//函数体。该语句输出Hello Wold!。
	return 0;//返回
}

2、变量的定义及使用
变量:变量代表一个有名字、具有特定属性的一个存储单元。它用来存放数据,也就是存放变量的值。在程序运行期间,变量的值是可以改变的。

变量必须先定义,后使用。


*C++ 中定义一个变量的格式如下:*
类型名 变量名1, 变量名2,, 变量名n;
或者
变量类型 变量名=初始值;

例1、已知梯形的上底长为15,下底长为20,高为12,编程输出该梯形的面积。
【问题分析】
    根据梯形面积的计算公式:(上底+下底)*/ 2,直接计算面积并输出。 
```cpp
#include<iostream> 
using namespace std; 
int main(){
    
     
    int a,b,h,s; //连续定义四个变量
    a = 15; b = 20; h = 12; //变量赋初始值
    s = (a + b) * h / 2; //赋值运算,注意从右向左实施该运算
    cout << s << endl; //输出变量
    return 0; 
}

3、数据表现方式
数据有数据类型、取值范围、运算类型三个要素。
在 C++ 程序中,使用的各种变量都应“先声明,后使用”。
变量声明又会涉及数据类型、初始值和作用域等。
所谓数据类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。
在这里插入图片描述
在这里插入图片描述

【实战小贴士】
可以通过sizeof函数,输出各种数据类型的字节数,例如: cout << sizeof(int) << endl;

熟记:int数据范围-32768—32767;
Long10位数
Long long 19位数 数据溢出:C++程序中出现这类错误时,编译和运行过程中并不报错。所以,需要特别细心,注意范围检查

4、算数运算符
例2、输入长方形的长和宽(整型数据),计算并输出长方形的周长和面积。例如,输入“8 3”,输出“22 24”。

#include<iostream>
using namespace std;
int main(){
    
    
     int a,b,c,s;
     cin >> a >> b; // 从键盘输入两个整数给 a 和 b
     c = 2 * (a + b);
     s = a * b;
     cout << c << ” ” << s << endl;
     return 0;
} 

例3、求任意一个三位数的三个数字之和。例如,输入897,输出24。

#include<iostream> 
using namespace std; 
int main(){
    
     
    int n,a,b,c; 
    cin >> n;   //从键盘输入一个整数给n 
    a = n % 10; //取模运算,即求余数,很重要
     b = n / 10 % 10; 
     c = n / 100; 
    cout << a + b + c << endl; 
     return 0; 
}

5、复合运算符
1)自加运算符“++”有两种写法,即 i++ 或者 ++i。在单独使用时,其作用相同,都相当于i=i+1。自减运算符“–”也有两种写法,即 i-- 或者 --i。

例如:int a,b = 5;
b++; //b的值变为6
++b; //b的值变为7
a = b++; //a的值为7,b的值变为8
a = ++b; //b的值变为9,a的值也为9

3)复合算术赋值,如 +=、-=、*=、/=、%=。复合算术赋值运算的优点是程序更精炼,编译效率高。

int a,b;
a = b = 5; //a的值为5,b的值为5
a += b; //a的值为10,相当于a=a+b
a -= b; //a的值为5,相当于a=a-b
a = b; //a的值为25,相当于a=ab
a /= b; //a的值为5,相当于a=a/b
a %= b; //a的值为0,相当于a=a%b
需要注意的是,“a *= b + 8”等价于“a = a * (b + 8)”。复合算术赋值运算的优点是程序更精炼、编译效率高。

6、格式控制
C++语言兼容C语言中的基本语句语法。scanf和printf是C语言中的输入输出函数(语句),在C++语言环境中也可以使用。

  “f”是format(格式)之意,就是要按照指定的格式输入输出值,所以,又称为格式输入输出函数。 
    对于大数据的输入输出,使用scanf和printf,比C++中的输入输出流语句(cin和cout)效率更高、速度更快。
 scanf和printf是标准库函数,使用前需要加上cstdio头文件。

printf 函数的格式为
printf(格式控制字符串,输出列表);

使用说明

  1. 1) 输出整数形式可以用 %d 或 %md,m 为指定的输出字符的宽度,输出数据右对齐。
  2. 2) 输出长整型可以用 %ld,一个 int 型数据可以用 %d 或 %ld 格式输出。
    3) 输出字符串用 %s,如“printf ( “ %s ” , “ hello ” );”
    Printf函数,小数点后保留几位小数、按格式输出、连续输出等,必须掌握

使用scanf函数时,需要注意以下几个问题:

(1)如果在格式控制字符串中有其它字符,则运行程序输入数据时,对应的位置也要输入这些相同的字符。
例如:scanf(“%d,%d”,&a,&b);
键盘输入应该是“3,4”,而不能是“3 4”。
(2)scanf函数输入时可以过滤掉不想读入的字符。
例如:scanf(“%d+%d+%d”,&a,&b,&c);
键盘输入:1+2+3
则scanf可以无视“+”,使得a,b,c的值分别为1,2,3。
再如:scanf(“%3d %3d %2d”,&m,&n);
键盘输入:113 118 69
则m,n的值分别为113,69,因为“
”表示跳过相应数据。

scanf、printf 与 cin、cout 的比较

cin 是输入流,cout 是输出流,重载了“>>”“<<”运算符,包含在头文iostream 中。

cin 代表标准输入设备,使用提取运算符“>>”从键盘取得数据,送到输入流对象 cin 中,然后送到内存。cin是自动判断变量类型,比如一个 char 数据只能用默认的 char 方法取数据。
cout先把要输出的东西存入缓冲区,遇到“endl”或者“return 0”再输出并刷新缓冲区,导致效率降低。
scanf是格式化输入,printf 是格式化输出,包含在头文件 cstdio 中。因为scanf是用指针操作的,没有类型安全机制,比如对于一个char类型数据,你就可以用“%f”获得输入,而不会报错,但在运行时会出现异常。scanf()函数取数据时遇到回车、空格、TAB就会停止。
printf输出效率比较高,但是编写代码相对而言麻烦一些。

【实操演练】
1、计算(a+b)*c的值
题目描述
给定3个整数a、b、c,计算表达式(a+b)*c的值。
输入格式
输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。 (-10,000<a,b,c<10,000)
输出格式
输出一行,即表达式的值。
样例数据
input
2 3 5
output
2 3 5
2、带余除法
题目描述
给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。
输入格式
一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。
输出格式
一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
样例数据
input
10 3
output
10 3
3、计算分数的浮点值
题目描述
两个整数a和b分别作为分子和分母,既分数a/b,求它的浮点数值(双精度浮点数,保留小数点后9位)。
输入格式
输入仅一行,包括两个整数a和b。
输出格式
输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位)。
样例数据
input
5 7
output
0.714285714
3、反向输出一个三位数
题目描述
将一个三位数反向输出,例如输入358,反向输出853。
输入格式
一个三位数n。
输出格式
反向输出n。
样例数据
input
100
output
001
4、大象喝水
题目描述
一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。
输入格式
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。
输出格式
输出一行,包含一个整数,表示大象至少要喝水的桶数。
样例数据
input
23 11
output
3
5、虫子吃苹果
题目描述
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入格式
输入仅一行,包括n,x和y(均为整数)。
输出格式
输出也仅一行,剩下的苹果个数。
样例数据
input
10 4 9
output
7
【学习思考】
1、所谓顺序结构就是计算机严格按照顺序执行语句,注意感受顺序结构的不同的语句顺序结果是不一样的;
尤其适用变量的时候一定要先定义在使用
2、视频学习Andy微信13734582485
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_32431299/article/details/110684635