顺序结构程序设计单元总结

                            顺序结构程序设计单元总结

本单元学习了一般的顺序结构的编程语言。涉及cin,cout语句及scanf,printf函数;数据类型,各类运算符及运算顺序等。
知识内容:
COUT语句
在 C++ 中,所有的数据输入、输出都是以“流(stream)”的形式。流是一个处于传输状态的字节序列,是字节在对象之间的“流动”。
流的操作包括输入与输出。
使用输入/输出流,必须加上以下头文件:#include。

cout 语句是 C++ 中实现输出功能的语句。
其格式为:
cout << 项目1 << 项目2 << … << 项目n;

数据类型
数据有数据类型、取值范围、运算类型三个要素。
在 C++ 程序中,使用的各种变量都应“先声明,后使用”。
变量声明又会涉及数据类型、初始值和作用域等。
在这里插入图片描述
不同数据类型有不同字节长度和取值范围,适用不同情形。

整数还有“无符号”类型,其取值只会是正数和0,范围扩大一倍。例如unsigned int类型的取值范围为0~4294967295。
还可以通过sizeof函数,输出各种数据类型的字节数,例如: cout << sizeof(int) << endl;
数据溢出:C++程序中出现这类错误时,编译和运行过程中并不报错。所以,需要特别细心,注意范围检查。
常量与变量
在程序中参与运算的量分为常量和变量。
常量是在程序运行过程中,其值保持不变的量。
C++ 中定义一个符号常量的格式如下:
类型名 const 常量名 ;

const 类型名 常量名 ;

常量名通常用大写字母表示。
变量是指在程序运行过程中,其值可以改变的量。
C++ 中定义一个变量的格式如下:
类型名 变量名1, 变量名2,…, 变量名n;
(1) 程序中的常量名、变量名、函数名等都称之为“标识符”。C++ 中的标识符命名规则如下:
1) 标识符不能和系统里的关键字同名。
2) 标识符只能包括字母、数字和下划线“_”,并且开头只能是字母或下划线。
3) 标识符必须先定义、后使用。
4) 在同一作用域内,标识符不能重复定义。
5) 标识符是区分大小写的,如 A 和 a、sum 和 Sum 都是不同的标识符。
6)标识符要尽量做到“见名知义”,增强程序的可读性。
(2) 变量的初始化
变量在定义的同时,可以给它指定一个初始值,称为变量的初始化。
(3) 变量的赋值
在 C++ 中,可以通过“赋值”语句来修改变量的值。赋值语句的格式如下:
变量名 = 值或者表达式 ;
字符和字符串

  1. 字符变量
    存放单个字符的变量,称为字符变量。字符变量的值是用一对单引号括起来的一个字符。
    存放一串有若干字符的变量,称为字符串变量。字符串变量的值是用一对双引号括起来的字符序列。
    如果双引号内什么都没有,称为空字符串,与双引号内有一个空格的字符串是不一样的。
    定义字符变量的格式如下:
    char 标识符1, 标识符2,…, 标识符n;
    字符变量在内存中占用 1 个字节。在 C++ 中,字符数据在内存中实际存储的是其 ASCII 码值。
  2. 转义字符
    C++ 中定义了一些字符前加“\”的特殊字符,称为转义字符。
    字符输入函数:getchar();
    字符输出函数:putchar(输出字符内容)。
    在这里插入图片描述
  3. 字符串变量
    在 C++ 中,可以用字符数组 char s[]存放字符串,也可以用 STL 中的 string 类型。每一个字符串的结尾都要加一个“字符串结束标志”,而且是系统自动添加上去的,C++规定以转义字符“\0”作为字符串结束标志。
    字符串输入、输出函数 gets() 和 puts()。
    算术运算符

在这里插入图片描述
将常量、变量、算术运算符、括号以及函数连接在一起的计算式,称为算术表达式。
当一个算术表达式中包含多个运算符时,遵循的计算顺序(运算优先级)为:先算“括号”里的,再算“乘法、除法、模”,最后算“加法、减法”,同一级别的按照类型从左往右依次计算。
表达式的计算结果称为表达式的值。
在这里插入图片描述
CIN语句
cin 是 C++ 中实现输入功能的语句,其格式一般为:
cin >> 项目1 >> 项目2 >> … >> 项目n;
在使用 cin 语句从键盘输入多个数据项的时候,一定要注意三个一致:数据个数一致、输入顺序一致、数据类型一致。
赋值语句
在 C++ 中,可以通过“赋值语句”来修改变量的值。赋值语句的格式如下:
变量名 = 值或者表达式 ;
其中,“=”称为“赋值号”。
需要注意的是:a=b 与 ab 是完全不同的意义,
”是关系运算符。
在 C++ 中,赋值语句非常灵活,有多种复合写法。
(1) 算术复合:a=a+x;写成a+=x;
还有-=、=、/=,%=
(2) 赋值复合:C++支持在一个表达式里出现连续的赋值号,即一次给几个变量赋同一个值。此时计算顺序是从右到左,有括号存在的,先计算括号内的表达式。
(3) 逗号表达式:在C++中,允许用逗号连接几个表达式,构成一个更大的表达式,称为“逗号表达式”。
其格式如下:表达式1,表达式2,…表达式n;
各个表达式的计算顺序是从左往右,最终整个表达式的值是“表达式n”的值。
复合运算符
在 C++ 中,复合运算符实际上是赋值语句的一种缩写形式,使得修改变量值的操作更加简洁。
1.自加运算符和自减运算符
自加运算符“++”有两种写法,即 i++ 或者 ++i。在单独使用时,其作用相同,都相当于i=i+1。自减运算符“–”也有两种写法,即 i-- 或者 --i。
2. 复合算术赋值
复合算术赋值,如 += 、-= 、
= 、/= 、%= 。复合算术赋值运算的优点是程序更精炼,编译效率高。
运算规则
在 C++ 中,整型数据和实型数据可以混合运算,字符型数据可以和整型数据通用。但是,在具体计算时,编译系统会自动将不同类型的数据转换成同一类型,再进行运算,称为数据类型的“自动转换”。
C++语言还规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。如果一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理。算术运算符的结合方向为“先左后右”,又称之为“左结合性”。有些运算符的结合方向为“自右向左”,即右结合性,例如赋值运算符。
在赋值运算中,赋值号两边数据的类型不同时,赋值号右边量或者表达式值的类型将自动转换为左边量的类型。
在 C++ 中,除了“自动转换”外,还可以“强制类型转换”。格式为:
( 类型名 )( 表达式 )
( 类型名 ) 变量
格式控制
C++语言兼容C语言中的基本语句语法。scanf和printf是C语言中的输入输出函数(语句),在C++语言环境中也可以使用。
“f”是format(格式)之意,就是要按照指定的格式输入输出值,所以,又称为格式输入输出函数。
对于大数据的输入输出,使用scanf和printf,比C++中的输入输出流语句(cin和cout)效率更高、速度更快。
scanf和printf是标准库函数,使用前需要加上cstdio头文件。
printf 函数的格式为:
printf(格式控制字符串,输出列表);

在这里插入图片描述
使用说明
1) 输出整数形式可以用 %d 或 %md,m 为指定的输出字符的宽度,输出数据右对齐。
2) 输出长整型可以用 %ld,一个 int 型数据可以用 %d 或 %ld 格式输出。
3) 输出字符串用 %s,如“printf ( “ %s ” , “ hello ” );”。
4) “%ms”,输出的字符串占 m 列,如字符串本身长度大于 m,则突破 m 的限制,将字符串全部输出;若串的长度小于 m,则左补空格。
5) “%-ms”,若串长小于 m,则在 m 列范围内,字符串向左靠,右补空格。
6) “%m.ns”,输出占 m 列,但只取字符串中左端 n 个字符。这 n 个字符输出在 m 列的右侧,左补空格。
7) “%-m.ns”,m、n 含义同上,n 个字符输出在 m 列范围的左侧,右补空格,如果 n>m,则 m自动取 n 值,即保证 n 个字符正常输出。
8) “%m.nf”,输出浮点数,占 m 列,其中有 n 位小数,如果数值长度小于 m,则左补空格。
9) “%-m.nf”,同上,只是使输出的数值向左端靠齐,右端补空格。
2. scanf 函数
scanf 函数的格式为:
scanf(格式控制字符串 , 地址表列);
scanf 的作用是输入指定形式的数据。其中,地址列表可以是变量的地址,也可以是字符串的首地址。
使用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,因为“*”表示跳过相应数据。
  1. scanf、printf 与 cin、cout 的比较
    cin 是输入流,cout 是输出流,重载了“>>”“<<” 运算符,包含在头文件 中。
    cin 代表标准输入设备,使用提取运算符“>>” 从键盘取得数据,送到输入流对象 cin 中,然后送到内存。cin 是自动判断变量类型,比如一个 char 数据只能用默认的 char 方法取数据。
    cout 先把要输出的东西存入缓冲区,遇到“endl” 或者“return 0” 再输出并刷新缓冲区,导致效率降低。
    scanf 是格式化输入,printf 是格式化输出,包含在头文件 中。因为scanf是用指针操作的,没有类型安全机制,比如对于一个char类型数据,你就可以用“%f”获得输入,而不会报错,但在运行时会出现异常。scanf()函数取数据时遇到回车、空格、TAB就会停止。
    printf输出效率比较高,但是编写代码相对而言麻烦一些。

    心得体会
    学习了本单元,可以进行简单的程序设计,解决一些处理结构较为简单的问题。cout语句用于输出;关于数据类型,需根据使用的不同进行选择,需要关注的是它们的取值范围,避免数据溢出;不同数据类型间的混合运算,比如实型与整型运算,结果为实型;另外,字符型数据可以直接参与实型与整型运算,取值为其ASCII码。使用算术运算符时需注意运算顺序。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值