三章 简单程序设计Word格式文档下载.docx
- 文档编号:15355567
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:12
- 大小:32.23KB
三章 简单程序设计Word格式文档下载.docx
《三章 简单程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《三章 简单程序设计Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
习惯上把赋值表达式语句如:
称为赋值语句。
函数调用也是表达式,因此:
printf(“hellow”)是表达式;
printf(“hellow”);
是语句,习惯上称为输出语句。
scanf(“%d%d”,&
x,&
y);
函数调用表达式语句(输入语句)
3.C的语句概述
C的一个“说明”也必须以分号结束,也称为语句,因此C的语句分说明语句和执行语句两类。
说明语句可以出现在程序中任何块(函数或复合语句)的外面——称为外部说明或块内——称为局部说明(在执行语句的前面)。
外部说明必须放在一个源程序文件中所有函数定义的外面;
局部说明包括类型定义、变量和函数说明,其作用是描述程序中被处理数据(变量或函数)的名称和类型供解释程序使用。
执行语句只能出现在函数体内且处于局部说明的后面,执行语句完成对数据的处理和对程序流程的控制。
常用的程序结构为:
常量说明
类型说明
变量说明/*外部说明*/
返回类型函数名(参数表)
{变量说明/*局部说明*/
执行语句
}
C的执行语句共有六种:
●表达式语句
●复合语句
●标号语句
●选择语句(if和switch)
●循环语句(while,for,do-while)
●转移语句(break,continue,goto,return)
3.2标准的文件输入与输出函数
一个C的源程序要能够从外部设备(文件)输入数据并将执行(或处理)的结果输出到外部设备上。
C语言的输入和输出操作是通过调用C标准函数库中的函数来实现的,标准函数库是由C编译程序提供的。
以编译后的目标代码形式存储的函数的集合。
用户程序可根据需要按规定的格式调用其中的函数来完成相应的功能。
C语言中从标准输入和输出文件(设备)中进行读(写)的四个标准函数是:
格式输出函数printf、格式输入函数scanf、字符输入函数getchar和字符输出函数putchar。
其他函数以后讲。
3.2.1字符输入和输出函数
1.字符输入函数getchar
函数原型为:
intgetchar(void)
其中int说明函数的返回值的类型,void说明函数没有参数,该函数的调用格式为:
getchar()
系统将输出设备和输入设备都看成文件,标准输入设备(键盘)和标准输出设备(显示器)是由字符的序列(字符流)组成的文本文件,称为输入流和输出流。
getchar每调用一次则从终端(键盘)读取一个字符。
这个字符的字符码就是getchar的返回值(即函数值),其类型为由unsignedchar转换的int。
c=getchar();
执行时键入字符a赋值后变量c的值为97即字符‘a’的值。
输入文件的结束标志称为文件尾。
DOS系统中键入ctrl+z时产生文件结束标志。
getchar遇到文件结束标志时返回值EOF,EOF是在头文件〈stdio.h〉中定义的符号常量,其值通常为-1。
程序中如果要测试getchar()的值是否文件尾应使用EOF而不用-1,这样做可使程序不依赖于某个特定环境。
2.字符输出函数putchar
函数原型为:
intputchar(charch)
putchar函数将所要输出的字符码转换为unsignedchar送到标准输出设备中去,返回值是被输出的字符,如果出错则返回EOF,调用形式为:
putchar(ch)
其中ch为实际参数,可以是char、short或int类型的表达式,其值是要被输出字符的字符码。
每调用一次则将字符ch输出到标准输出设备上。
inti=7;
charch;
说明:
(1)下面四个语句是等价的,同为输出一个响铃字符:
putchar(i);
putchar(7);
putchar(‘\07’);
putchar(‘\a’);
(2)下面三个语句分别输出字符a,3和换行
putchar(‘a’);
putchar(‘3’);
putchar(‘\n’);
注:
putchar(3)输出是♥而不是整数3。
(3)putchar(((c=getchar())>
=’a’&
&
c<
=’z’)?
c-‘a’+’A’:
c);
该语句先输入一个字符存入变量c,如果c是小写字母则将其转换成大写字母后输出,否则直接输出原字符。
注意:
凡是程序中调用了输入、输出库函数,必须在函数第一次调用之前写上#include<
stdio.h>
或#include“stdio.h”,预处理控制(对于DOS上的scanf和printf可省略)。
3.2.2格式输出函数(printf)
getchar和putchar函数用于输入和输出单个字符,输入和输出过程中不进行格式上的任何转换。
printf和scanf函数在数据的输入和输出过程中能够将计算机内部形式的数据和输入输出任务上的数据相互转换,称为格式输出和格式输入。
1.printf函数的原型
intprintf(charformat,args)
参数的数目可变,中间用“,”分隔,是要被转换并写到输出设备的数据。
函数的返回值是实际输出字符的数目。
2.调用形式
printf(格式字符串,输出参数1,输出参数2,……);
调用printf函数时至少要给出第一个参数,即格式字符串。
格式字符串式是用“”括起来的字符串;
输出参数1,…输出参数n是n个表达式,可以为任何基本类型,也可以是指针或枚举类型(较少使用)。
输出数据项的数目任意,末尾加“;
”表示printf函数通常作为语句使用。
printf函数将参数的值按格式字符串规定的格式从内部形式转换成外部字符形式并输出设备,返回值是实际输出字符的数目。
printf("
%d%8.3f"
i,x);
参数中的格式为"
%d%8.3f"
,i和x是要输出的数据,%d表示i要用十进制整数形式输出,宽度为数据实际宽度。
%8.3f表示x要用小数形式浮点数格式输出,输出总宽度为8个字符,其中小数部分保留3位,若i=15,X=-8.2该语句输出为
15-8.200
3.格式字符串
格式字符串包含两种字符:
普通字符和用于转换说明的字符,普通字符照原样输出,转换说明用于说明数据输出格式。
其形式为:
%[域宽]转换字符
一个转换说明以%开头。
域宽部分是可选的,用于指定输出数据的宽度。
每个转换说明对应于一个输出参数,该参数被转换成由转换说明规定的数据格式后输出。
普通字符通常用作输出提示信息,它可以与转换说明交替出现,例如
printf("
i=%d,x=%8.3f\n"
,i,x);
输出为:
i=15,x=-8.200
ANSIC的转换字符及其规定的输出格式见教材p44。
如果%后面是一个%字符,则标准C无此定义,将它作为普通字符输出。
在%和转换字符之间可以加域宽说明,用于指定输出时的对齐方向、输出数据的域宽度、小数部分的位数等要求。
用于域宽说明的字符列于下表中,域宽说明可以是其中之一或多个字符的组合。
表3.1printf域宽说明字符
域宽说明符号
意义
-(减号)
+
空格
0(零)
#
m(正整数)
.(小数点)
n(正整数)
h
l
L
在指定的区域内以左对齐方式输出(默认右对齐)
输出正值时前面冠以符号+
输出的第一个字符不是符号时,要输出一个空格作参照
在域宽范围内用前导0填补空位
对于o格式输出前导0,对于x或X格式要输出0x或0X前缀,对于g或G格式不删除尾部零。
指出输出数据的最小宽度。
如果实际宽度>
m,则按实际宽度;
如果实际宽度<
m,则左边(左对齐时为右边)补上空格或零(当有0域宽说明字符时)。
分隔域宽与精度。
小数点前面可以没有域宽说明。
指出输出数据的精度。
对于e、E、f格式为小数部分的位数,对于g或G格式为有效字的个数,对于整数为至少应输出的数字的个数(添加前导0来满足所需宽度)。
指出输出参数是短整型
指出输出参数是长整型
指出输出参数是高精度浮点型
在域宽说明中还可以使用字符*,*代表一个整型值,这个整型值是由包含*的转换说明对应的参数决定的。
%.*s"
,max,s);
该语句执行时从串s中打印至多max个字符。
域宽说明示例见教材p45
注意
(1):
printf函数根据格式串中的转换说明来决定输出数据的数目和类型,如果转换说明项数多于参数个数,或参数类型不正确,则会输出错误的数据(不报语法错);
如果输出参数的数目多于转换说明项数则多余的参数不被输出。
例.Printf(“%%d,%d”,3,4);
结果为:
%d,3
例:
inti=-6;
doublex=5.7,y=123.4567;
%-4d,%g"
,i,y,x);
输出形式为:
-6,123.457
(2)printf中参数右结合,如设inti=1;
则printf("
%d,%d,%d"
,++i,++i,++i);
输出结果为4,3,2
,i++,i++,i++);
输出结果为3,2,1
3.2.2格式输入函数(scanf)
1.scanf函数的原型
intscanf(char*format,args)
scanf函数是具有int类型返回值(返回读入参数的个数)的函数。
第一个参数format是格式字符串,它指出输入数据的数目、类型和格式,args为指向存放输入数据的变量的指针,输入参数的数目可变。
2.scanf函数的调用格式
scanf(格式字符串,输入参数1,…输入参数n);
scanf函数是printf函数的逆过程,它从标准输入设备(键盘)读入字符流,并按照格式字符串中转换字符规定的格式转换成相应类型的值后赋予由输入参数所指的变量。
format串可以包含如下字符:
(1)空格或制表符,它们被忽略
(2)非%普通字符,它需要输入流中有同样的非空白字符与之匹配
(3)以%为开头以转换字符为结尾的转换说明符,常见的转换字符与printf类似
(4)在%与转换字符之间可以有下列选项
·
赋值抑制符*
说明最大域宽的整数
指出参数所指变量类型的字母h,l或L
具体形式为:
格式字符与printf中使用方式相同,把输入数据分为整型(int*用d、o、x指定)、字符型(char*,用c指定)、实型(float*,用f,e指定)。
在整型和实型中可再加长度修正说明符:
加h(短整型)、加l(长整型)、加L(高精度型)、m(注意没有n)用以指定输入数据的宽度。
输入参数1至输入参数n可以为简单变量的地址或字符串变量的地址,简单变量的地址用变量前面加取地址运算符&
表示,字符串变量的地址用字符数组名(或指向字符串变量的指针)表示。
scanf函数被正确执行时返回被转换并赋值的数据项的数目,遇到文件尾或出错时返回EOF。
inti;
floatx;
charname[1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三章 简单程序设计 简单 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)