当前位置:首页 > 全部子站 > IT > 等级考试

2019软考程序设计和程序设计语言知识点辅导(7)

来源:长理培训发布时间:2019-07-31 20:55:29

  顺序结构

  顺序结构用来描述一个计算或操作序列,表示从序列的第一个计算开始,顺序执行序列中的每个计算,直至序列的最后一个计算。通常,一个复杂的计算过程不能用一个简单的计算来表达,而需把复杂的计算描述成简单计算的序列。

  1.复合语句

  在C语言中,将顺序执行的语句序列,用花括号括起来,构成C语言的复合语句。在逻辑上视复合语句为单个语句,它也能用作其它结构语句的成分语句。在很多场合,复合语句内还会包含其它结构语句。

  2.表达式语句

  在顺序结构中,最频繁使用的是表达式之后接上一个分号。例如,在赋值表达式之后接上分号,完成用表达式的值更新某变量,习惯称这种表达式语句为赋值语句;在函数调用之后接上分号,完成指定的计算功能,习惯称这种表达式语句为函数调用语句。

  常用输入输出库函数

  最基本的输入输出库函数有字符输入函数、字符输出函数、格式输入函数和格式输出函数。

  1.字符输入函数

  字符输入函数getchar()的功能是从标准输入设备上(通常是键盘终端)读取一个字符。该函数没有参数,对它的每次调用,就返回下一个输入字符的ASCII代码值。例如,执行语句

  ch=getchar();

  使变量ch得到输入字符的ASCII代码值。一般情况下,这里的变量ch为char型或int型。当程序在输入字符后,用ch判定输入文件是否结束时,变量ch必须是int型的。这是因为文件结束标记值是-1,是int型的。程序中常用EOF表示当前读人字符是文件结束标记,常量名EOF在文件Stdio.h中被定义为-1.

  2.字符输出函数

  字符输出函数ptuchar()有一个字符的ASCII代码值参数,函数调用putchar (ch)的功能是将以出值为其ASCII代码的字符输出到标准输出设备(通常是终端显示屏)上。这里ch可以是char型或int型数据。

  3.格式输入函数

  格式输入函数scanf()的作用是从标准设备读人字符序列,按格式控制字符率所包含的格式解释输入字符序列,并将解释结果存储到对应的变量中。调用格式输入函数scanf()的一般形式为scanf(格式控制字符串,变量地址,变量地址,……)

  格式控制字符串是字符串表达式,通常是由一对双引号括起来的字符串常量,直接用于解释输入字符序列。格式控制字符率可以包含:

  空白类字符(空格符或制表符),它们使输入跳过空白类字符,直到遇到下一个非空白类字符。

  普通字符(不包括%),它们要求输入字符流中下一个字符与它相同。

  格式转换说明,以字符‘%’开头至输入格式符结束的字符序列组成。格式转换说明引导对下一输入字符段进行转换。

  格式转换说明的一般形式为%[*][w][h/l/L]输入格式符

  输入格式符共有14个,有12种不同输入格式,其中大纲要求掌握的7种输入格式符的意义见表3.1.用方括号括住的内容是输入格式修饰说明,可以缺省,它们的意义是:

  (1)*——星号(赋值抑制符),对应的输入数据项按格式要求被输入,但结果不存储。带星号的格式转换说明不对应变量地址。用它来跳过一个输入数据项。

  (2)——整型常数(域宽说明),表示输入数据项的字符段的有效字符数。若实际输入字符段的字符数小于W,以实际有效字符为准。

  对于数值数据输入格式来说,输入域定义为从下一个非空白类字符起(因此可能跳过若干个空格符、制表符、换行符),到一个与数值数据相矛盾的字符,或直到输入了指定个数的字符数;对于字符率输入格式来说,输入域定义为从下一个非空白类字符起,输入非空白类字符,直至遇到空白类字符,或直到输入了指定个数的非空白字符。

  (3) h/l/L长度修饰符,指明输入数据项的存储类型。

  h 修饰格式符d,o,X时,表示输入的整数按短整型存储。

  l 修饰格式符d,O,X时,表示输入的整数按长整型存储。

  l 修饰格式符e,f时,表示输入的实数按double型存储。

  缺省时,对于格式符d,o,x,表示输入的整数按int整型存储;对于格式符e,f,表示输入的实数是按float型存储。 表3.l常用输入格式符表

格式符 意 义

d 输入十进制形式的整型数据

O 以人进制形式输入整型数据

X 以十六进制形式输入整型数据

C 输入字符数据

S 输入字符串

e,f 输入实型数据

说明:

(1)格式控制字符率之后给出的是变量地址,而不是变量名(除非是指针)。如要为整型变量n输入数据,写成

scanf(“%d", n)是不正确的,应写成 scanf(”% d“,&n)

(2)如果在格式控制字符串中除格式转换说明和空白符之外,还有其它字符,则在输入数据时应输入与这些字符相同的字符。例如,

scanf(“%d, %d‘’,&i, &j)

则在为i,j输入数据时,紧接在第一个整型数据之后,需要有一个逗号字符,如输入1,2

是正确的;而输入1 2等其它形式都是不正确的。

(3)在用“%c ”格式转换说明输入字符时,空白类字符和用转义字符表示的字符都能作为有效字符输入。要输入一串空白类字符之后的第一个非空白类字符,可采用格式“% C”。格式字符率中的空格符使输入跳过空白类字符到第一个非空白类字符,然后被C格式输入。

(4)为整型变量输入整数时,若变量类型为短整型,则必须在格式符之前加长度修饰说明h;若变量类型为长整型,则必须在格式符之前加长度修饰说明1.

(5)输入数值数据时,输入字符流中的前导空白类字符会被自动跳过,从空白类字符后的数值数据字符开始输入。构成数值数据的字符被输入转换成计算机的内部表示,并存储结果。

若第一个非空白类字符不能构成数值字符,则立即结束输入。

(6)S格式用来输入字符串,对应的变量地址为字符列表(数组)的首地址,该数组必须大到足以容纳可能输入的最长字符串。在输入字符流中,跳过前导的空白类字符,以非空白类字符开始,以后随的第一个空白类字符结束的非空白类字符的字符序列作为一个字符串。scanf()函数在输入的字符序列之后自动添加字符率结束标记符''(因此,存储输入字符序列的字符数组的长度必须比实际最长字符串的字符数多1)。

(7)e,f格式用未输入实数,对应的数据存储地址为实型数据存储地址。如格式转换说明中含有长度修饰说明1,则为double型变量地址;若无长度修饰说明,则为float型变量地址。输入数据的字符序列是由正负号(可有可无)、十进制数字串、带小数点的小数部分(可有可无)。以e或E开头的指数部分(可有可无)组成。

(8)在跳过前导空白符后,正在输入数值数据和字符串时,遇以下情况,就认为该数据结束:

遇空白类字符:空白符、制表符、换行符。

已读人由有效字符数所指定的字符数。如“%4d多至4个数字符。

对于输入数值数据,下一个字符不能构成正确的数据格式。如scanf(“%d%C%f,&i,&c,&x)

假定变量i,c,x分别为int型、char型和float型。若输入字符列为:123a123x. 26

则变量i为123,变量c为字符a,变量x为123.0.

(9)输入数据时,将字符流转换成内部表示后,存储到对应变量中。例如,

scanf(“%3d%*4d%d”,&i, &j)

如输入字符行为123456 78

将使变量i=123,j=78.其中数据456因赋值抑制符*的作用被跳过。一般从键盘读入数据,不指定输入数据项的有效字符数,数据项与数据项之间用空白符,或制表符,或回车符分隔。

责编:黄晓庆

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部