顺序结构程序设计(顺序结构与选择结构)
顺序结构程序设计
1. C语言语句概述
1. 控制语句
控制语句用于控制程序的流程,实现对程序流程的选择、循环、转向和返回等,由特定的语句定义符组成
(1). 选择语句。if···else和switch(包括case和default)
(2). 循环语句。for、while和do···while
(3). 转向语句。continue、break和goto
(4). 返回语句。return
2. 表达式语句
表达式语句是在表达式的末尾加上分号构成的语句
3. 函数调用语句
函数调用语句是由一个函数调用加上一个分号构成的语句
函数调用语句也属于表达式语句,因为函数调用也属于表达式的一种
4. 空语句
C语言中的空语句是单独一个";"构成的语句,语句执行时不产生任何动作。程序设计时,有时需要加一个空语句来表示存在一条语句,以产生延迟。空语句有时用来作为流程的转向点(流程从程序其他地方转到此语句处),也可作为循环语句中的循环体(循环体是空语句,表示循环什么也不做)
注: 空语句出现的位置是有限制的。在预处理命令、函数头和或括号"}"之后都不允许出现空语句
5. 复合语句
复合语句是指用一对花括号括起来的语句序列,执行时按花括号中语句的先后顺序依次执行。复合语句在C语言中的语法地位相当于一条语句,作为一个整体对待,也称"语句块"。常用于if语句、循环语句等
2. 顺序结构程序设计
顺序结构是程序中最简单的一种结构,程序按语句出现的先后次序逐条执行。顺序结构程序中的的语句是任何简单或复杂程序主体的基本结构,在C语言中这类结构主要使用的是赋值语句以及由输入输出函数构成的语句
注: 如果程序中包含数学函数,必须在程序开头处添加"#include <stdio.h>"的预处理命令,将包含数学函数的头文件添加到程序中,才可以正常使用
1. 格式输入函数(scanf函数)
功能:用来从输入设备输入若干个任意类型的数据
1. 格式控制串
格式控制串用来指定每个输入项的输入格式。格式控制串通常由若干个格式说明构成,格式说明由"%"开头,后跟格式字符
scanf函数格式字符
格式字符 | 说明 |
---|---|
d | 输入十进制整数 |
c | 输入单个字符 |
o | 以八进制形式输入整型数(可以带前导0,也可以不带前导0) |
x或X | 以十六进制形式输入整型数(大小写作用相同,可以带前导0,也可以不带前导0) |
i | 事故如整型数,整数可以带前导0,也可以不带前导0 |
u | 输入无符号的十进制整数,输入字符串 |
f | 输入实数,可以用小数形式或指数形式输入 |
e,g | 与f作用相同,e与f,g可以相互替换(大小写作用相同) |
2. 地址表列
地址表列需要读入的是所有变量的地址或字符串的首地址,而不是变量本身。地址表列之间以逗号分隔
3. scanf函数的使用说明
- 对unsigned型变量进行赋值时,可以用%u、%d(或%o)、%x格式输入
- 除了格式说明字符和附加格式字符外,如果还有其他字符,则在输入数据是要求按一一对应的位置原样输入这些字符
- 可以指定输入数据所占的列数,系统自动按指定的数据截取所需的数据
- 地址表应是变量的地址,因此,应在变量名前加上取地址运算符"&",而不能只写变量名
2. 格式输出函数(printf函数)
功能:向终端(屏幕或系统隐含指定的输出设备)输出若干个任意类型的数据
1. 格式控制串
格式控制串用来指定每个输出项的输出格式。组成格式控制串的字符通常由格式说明、转义字符和原样输出的字符三部分组成
- 格式说明由"%"开头,后跟格式字符,用来指定数据的输出格式。输出格式中的格式说明的个数和输出表列中的数据格式一一对应,因此数目必须一样
- 转义字符是以""开始的字符,用来实现换行、跨越制表位或输出单引号、双引号等特殊字符
- 除了以上两类特殊字符以外,在格式串中的其他字符将按原样输出,用来在输出结果中增加其他信息
2. 输出表列
输出表列是要输出的各项数据,这些数据可以是常量、变量函数或表达式,其具体类型由格式控制串中的格式字符决定
printf函数格式字符
格式字符 | 说明 |
---|---|
d,i | 以带符号十进制形式输出整数(正数不输出符号) |
o | 以无符号八进制形式输出整数(不输出前导符0) |
x,X | 以无符号十六进制形式输出整数(不输出前导符0) |
u | 以无符号十进制形式输出整数 |
c | 以字符形式输出,只输出一个字符 |
s | 输出字符串,直到遇到字符串结束符’\0’ |
f | 以小数形式输出单双精度数,隐含输出六位小数 |
e,E | 以指数形式输出实数,用e时指数以"e"表示,用E时指数以"E"表示 |
g,G | 自动选用%f或%e格式输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数用大写表示 |
- d或i格式符。此格式符指定以带符号的十进制形式输出整数,结果按整型数据实际长度输出
- o格式符。此格式符指定以无符号八进制形式输出整数。由于将内存中各位上的二进制按八进制形式输出,因此输出的数值不带符号,即将符号位也作为八进制数据的一部分
- x或X格式符。此格式符指定以无符号十六进制形式输出整数
3. 附加格式说明字符
附加格式字符 | 说明 |
---|---|
字母l | 用来指定输出长整型数据,可以加在格式符d、o、x、u的前面 |
m(正整数) | 用来指定输出的列宽,当指定的宽度多于数据实际宽度,则输出的数据右对齐,左端用空格补足;而当指定的宽度不足时,则按实际数据位数输出,这是指定的宽度不起作用 |
n(正整数) | 如果是实数,便是输出n位小数;如果时字符串,表示截取的字符个数。输出的实数或字符在域内左对齐 |
+ | 输出的数字前带有正负号 |
0 | 输出的数据在域内右对齐时,在左边补0 |
# | 用在格式字符o、x、X前,使输出八进制和十六进制数时输出前导的0或0x |
3. 字符输入函数(getchar函数)
功能:从标准输入设备(键盘)上输入一个字符,直到输入回车才结束,回车前的所有输入字符都会诸葛显示在屏幕上
说明:此函数将输入的第一个字符作为函数的返回值。通常在使用这个函数时,函数的返回值赋给一个字符型变量或整型变量
4. 字符输出函数(putchar函数)
功能:向标准输出设备(屏幕)输出字符
说明:
- 输出的字符可以是字符常量(包括转义字符)、变量或表达式,还可以是整型数据。如果输出是整型数据,代表的是与一个字符相对应的ASCII码值
- putchar(ch)函数的作用等同于printf("%c",ch)
选择结构程序设计
1. if语句
执行if语句时先判断所给定的条件是否满足,根据判断的结果(真或假)决定执行给出的两种操作之一。简单的if语句有三种基本形式:ij单分支选择语句、if双分支选择语句和if多分支选择语句
1. if单分支选择语句
功能:先计算表达式的值,当表达式的值位真时,执行分支中的语句,否则执行if语句的后续语句
注:if语句中的分支语句可以是单独一条语句或一条复合语句
2. if双分支选择语句
功能:先计算表达式,当表达式的值位真时,则执行其中的分支语句1,否则执行另一条分支语句2
3. if多分支选择语句
多分支选择结构时完成在若干个可能的条件中选取满足条件的一个条件,执行相应的语句块的语句结构
功能:先计算表达式1,当表达式1的值为真时,则执行其中的分支语句1;否则计算表达式2······当表达式1,表达式2,直到表达式n-1的值都为假时,则执行else分支的语句n
4. if语句的嵌套
当if语句或else子句中又包含一个多个if语句时,就形成了if语句的嵌套形式。内层的if语句既可以嵌套在if子句中,也可以嵌套在else子句中
说明:
- 在使用if语句多层嵌套时,为分清结构层次、提高程序的可读性,一般在编辑源程序时,采用缩进格式,即每个内层分支语句向右边缩进若干个字符的位置,同一层内的语句行对齐
- if与else的配对关系从最内层开始,else总是与离它最近的未曾配对的if配对
- if和else的个数最好相同,从内层到外层一一对应,避免出错
- 如果if与else的个数不相同,可以用花括号来确定配对关系
2. switch语句
1. switch语句的一般形式
switch(表达式)
{case 常量表达式1:语句组1;case 常量表达式2:语句组2;···case 常量表达式n:语句组n;default:语句组n+1;
}
功能:计算表达式的值,当表达式的值与某个case后的"常量表达式i"的值相同时,就从该case进入,执行后面的所有语句组,直到switch语句体内的所有语句组都执行完成或遇到break语句。若表达式的值与所有case的"常量表达式i"的值都不相等时,则从default进入,执行其后语句组n+1
2. switch语句使用说明
- 表达式的计算结果必须为整型或字符型,case中的常量表达式1~常量表达式n必须时字符型常量表达式或整型常量表达式
- 常量表达式是指表达式中不含有变量
- 当表达式的值与常量表达式i的值相等时,执行语句组i(语句组可以为空或由若干条语句)。若表达式的值与常量表达式1~常量表达式n都不相等,进入default,执行语句组n+1
- default部分可以省略。default部分省略时,如果没有常量表达式i的值与表达式的值相等,则switch语句不起任何作用
- break语句在switch语句中的作用:若在switch语句中,执行了break语句,则跳转出switch语句,执行switch语句的后续语句
组i(语句组可以为空或由若干条语句)。若表达式的值与常量表达式1~常量表达式n都不相等,进入default,执行语句组n+1
4. default部分可以省略。default部分省略时,如果没有常量表达式i的值与表达式的值相等,则switch语句不起任何作用
5. break语句在switch语句中的作用:若在switch语句中,执行了break语句,则跳转出switch语句,执行switch语句的后续语句
顺序结构程序设计(顺序结构与选择结构)相关推荐
- c语言选择结构程序设计笔记,C语言选择结构程序设计.ppt
<C语言选择结构程序设计.ppt>由会员分享,可在线阅读,更多相关<C语言选择结构程序设计.ppt(32页珍藏版)>请在人人文库网上搜索. 1.选择结构程序设计,关系运算符和关 ...
- 四个人三人真一人假c语言,C语言程序设计第4章选择结构.pptx-资源下载在线文库www.lddoc.cn...
C语言程序设计第4章 选择结构.pptx 第 6章 数组第 7章 函数第 8章 结构体.共用体和枚举类型第 9章 指针第 10章 文件目录页 Contents page第 1章 初识 C语言第 2章 ...
- c语言选择结构程序设计报告,《C语言程序设计》实验报告选择结构程序设计.doc...
<C语言程序设计>实验报告选择结构程序设计.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会 ...
- java选择结构二星期几_java4选择结构 二
public class jh_01_为什么使用switch选择结构 { /* * 韩嫣参加计算机编程大赛 * 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 * 如果获得第二名,将奖励惠普笔记 ...
- c语言分支结构程序设计课件,C语言 分支结构程序设计.ppt
C语言 分支结构程序设计 第2章 分支结构程序设计 本章要点 C语言中有哪些关系运算和逻辑运算? 关系运算和逻辑运算的优先级如何? 如何用IF语句构成分支结构? 如何用SWITCH语句构成多分支结构? ...
- python的选择结构教学设计_《选择结构》教学设计和反思
第 1 页(共 3 页) 会判断的程序 VB 选择结构 ■教材分析: 本节课的教学内容是初中信息技术选修教材第一篇 <程序设计> 中第 3 单元第二节的内 容. 选择结构是程序设计中的重要 ...
- c语言 选择结构,C语言学习:选择结构
综述 (1)if语句的一般形式 (2)switch语句的介绍 (3)关系运算符和关系表达式 (4)逻辑运算符和逻辑表达式 (5)条件运算符和条件表达式 (1)if语句的一般形式 在C中选择结构用到最多 ...
- python中的选择结构语句是语句_选择结构-if语句和if...else语句
作为控制结构的核心,选择结构在我们生活中无处不在.通过几个例子来了解一下选择结构: 1) 使用手机的时候,如果手机没电,就无法使用,有电可以正常使用. 2) 在登录QQ输入账户密码之后,如果密码正确则 ...
- linux 中的case结构,linux命令:case选择结构语句
case命令简介: 此命令用于条件判断,选择结构. 1.命令格式: case SWITCH in -----SWITCH 变量值 value1) statement -----sta ...
- c语言选择结构选最小值,c语言选择结构试题带答案
<c语言选择结构试题带答案>由会员分享,可在线阅读,更多相关<c语言选择结构试题带答案(15页珍藏版)>请在人人文库网上搜索. 1.一. 选择题1. 以下非法的赋值语句是A: ...
最新文章
- 2022-2028年中国氧化铟锡薄膜行业市场深度分析及前瞻研究报告
- Apache Hadoop 2.7如何支持读写OSS
- Python操纵Mysql数据库的三种方法,实现增删改查
- 笔记-高项案例题-2015年上-计算题
- idea怎么将本地文件和远程git对比_IntelliJ IDEA将文件和文件夹与本地版本进行比较...
- 让Visual Studio 2013为你自动生成XML反序列化的类
- Node.js学习之(第二章:exports和module.exports)
- 分布式解决方案之分布式日志采集elk+kafka 环境的构建
- ARM(AM5728)板移植VSFTPD
- ASP.NET Callback 回调实用讲解
- python callback failed_Python请求钩子返回导致异常的值
- Python打印到文件
- scala学习笔记三----scala函数式编程风格学习
- Perl语言入门笔记(一)
- 真核有参转录组测序标准分析-2
- 联想全球裁员 MOTO移动业务被砍掉超过一半
- 设计模式解密(17)- 备忘录模式
- python经纬度批量定位 绘制高清地图
- SQL Server Always Encrypted
- 人工智能突破!谷歌AI可以相互交流并加密