第四章最简单的C程序设计――顺序程序设计._第1页
第四章最简单的C程序设计――顺序程序设计._第2页
第四章最简单的C程序设计――顺序程序设计._第3页
第四章最简单的C程序设计――顺序程序设计._第4页
第四章最简单的C程序设计――顺序程序设计._第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 最简单的C程序设计一一顺序程序设计 4.1 C语句概述一个C程序应由两部分组成,即数据描述和数据操作。int a=3 ;C程序的主体。数据描述:用来定义数据结构和预置数据初值,由声明部分实现。如: 数据操作:对已提供的数据进行加工,由语句来实现。所以,语句是 C语句可以分为5大类。if()/else for()while()do whilecon ti nuebreakswitchgoto其中:()表示个条件。表示内嵌的语句。如:if(xy) z=x;else z=y ;1 . 2函数调用语句return由函数加上一个分号构成。如:printf( hellow ”1 . 3表达式语句表

2、达式加上一个分号即可组成一个表达式语句。如:i=1 ; x=sin(y);等。1. 4空语句Lx曰一个分号就是一个空语句,表示什么都不做。1. 5复合语句用括起的一个语句序列。女口:z=x+y ;t=z/1OO ;printf(%f,t) ; a=b;。1 . 6赋值语句1、构成:赋值语句由赋值表达式加上一个分号构成。如2、说明1) C语言中的赋值号是一个运算符,这是与其它咼级语言相区别的。2) 赋值表达式作为表达式可以出现在其它任何表达式中,而作为语句则不能。女口: if (a=b) 0) t=a;,表示先将b赋给a,且如果a0则将a赋给t。 但:if (a=b;) 0) t=a;,则是错误

3、的。 4.2数据输入输出的概念及在C中的应用4. 2. 1数据输入输出的概念1、输入:相对于计算机主机而言,从外设读入数据。如:键盘、磁盘、光盘等。2、输出:相对于计算机主机而言,向外设输出数据。如:显示器、磁盘、打印机。4. 2. 2数据输入输出的实现1、C本身并不提供输入输出语句,输入输出操作是由函数来实现的。函数已编译成 OBJ文件以库的形式存放在系统中,在源程序编译后由连接程序将它和库进行连 接生成可执行文件。2、 在使用输入输出函数之前,在程序的开头应加上包含了与标准I/O库有关的变量定义和宏定义的头文件。格式为:#in elude stdio.h 或 #i nclude 但标准的输

4、入输出操作scanf和printf 由于使用频繁,可以不加#include命令。 4.3字符数据的输入输出4. 3. 1单个字符的输出1、格式putchar (字符型数据);2、功能向标准输出设备输出一个字符。3、说明1) 也可以输出整型数据,此时,该数据作为字符的ASCII码值。2)该函数使用前需用#in cludestdio.h 或 #i nclude 例1:#i ncludemain ()char c;/*定义字符变量*/c=B;/*给字符变量赋值*/putchar(c) ;/*putchar(x42);/*putchar(0x42) ;/*4. 3. 2单个字符的输入输出该字符*/输出

5、字母B*/直接用ASCII码值输出字母 B*/1、格式getchar();2、功能等待从键盘上读入字符,直到按回车结束,回车前的所有输入字符都会逐个显示 在屏幕上,但只有第一个字符作为函数的返回值。3、说明1)该函数的返回值可以赋给整型或字符型变量,也可作为表达式的一部分。 女口: putchar(getchar();2)该函数使用前需用#i nclude例2:stdio.h 或 #i nclude #in cludemai n()char c ;从键盘读入字符直到回车结束*/显示输入的第一个字符*/c=getchar() ;/*putchar(c) ;/* 4.4格式输入与输出TurboC2

6、.0标准库提供了两个控制台格式化输入、输出函数printf()和scanf(),这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。prin tf()函数用来向标准输出设备(屏幕)写数据;scanf()函数用来从标准输入设备(键盘)上读数据。下面详 细介绍这两个函数的用法。4. 4. 1格式输出函数1、格式 printf(, );其中:格式控制包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化控制字符,以%开始,后跟一个或几个规定字符,用来确 定输出内容格式。输出表列是需要输出的一系列参数,其参数必须与格式化字符串所说明的输 出参数个数一样多,各参数之间用,分开,

7、且顺序一一对应,否则将会出 现错误。2、功能以指定的格式向显示器输出“输出表列”的内容,“输出表列”可以是任意类型的数据。3、讨论1)格式化控制符Turbo C2.0提供的格式化规定符如下:作用%d,%i带符号十进制形式输出整数(正号不输出)%u无符号十进制形式输出整数%f小数形式输出单、双精度数,隐含 6位小数%s输出字符串%c输出单个字符%e,%E指数形式输出单、双精度数,隐含 6位小数%x,%X无符号十六进制形式输出整数(不输出前导符“0”)%x:小写输出a f ; %X大写输出 A F%o无符号八进制形式输出整数(不输出前导符“0)%g %G选择f、6中输出宽度较短的格式,不输出无意义

8、的“0用寸,若以指数形式输出,则指数大写表示2)特殊规定字符字符作用n换行f清屏并换页r回车tTab符ddd八进制表示的 ASCII码xhh十六进制表示的 ASCII码3)说明在%和字母之间可以插进数字表示最大场宽。例如:%3d -表示输出3位整型数,不够3位右对齐。%9.2f表示输出 9位实数,其中小数2位,整数6位,小数点1位,不够9位右对齐。%8s表示输出8个字符的字符串,不够8个字符右对齐。如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出。但对实数,若整数部分位数超过了说明的整数位宽度 ,将按实际整数位输出;若小数部分位数 超过了说明的小数位宽度,则按说明的宽度以四舍五

9、入输出。另外,若想在输出值前加一些 0,就应在场宽项前加一个0。例如:%04d表示在输出一个小于 4位的数值时,将在前面补0使其总宽度为4位。 如果用实数表示字符或整型量的输出格式,小数点后的数字代表最大宽度,小数点前的数字代表最小宽度。例如:%6.9s表示显示一个长度不小于6且不大于9的字符串。若大于 9,则第9个字符以后的内容将被删除。可以在%和字母之间加小写字母 I,表示输出的是长型数。 例如:%ld表示输出long整数%lf表示输出double实数输出默认为右对齐,但如果在和字母之间加入一个-号则输出为左对齐。例如:%-7d表示输出7位整数左对齐%-10s表示输出10个字符左对齐4、例

10、子#in clude#in clude int mai n()=Hello, Comradechar c, sint a=1234;float f=3.141592653589double x=0.12345678987654321 c=x41prin tf(a=%dn, a) prin tf(a=%6dn, a) prin tf(a=%06dn, a) prin tf(a=%2dn, a) prin tf(*i=%4dn, *i) prin tf(f=%fn, f) prin tf(f=6.4fn, prin tf(x=%lfn, x) prin tf(x=%18.16lfn, x)f);/

11、*/*/*/*a/*/*/*/*结果输出十进制整数a=1234*/结果输出6位十进制数a= 1234*/结果输出6位十进制数a=001234*/超过2位,按实际值输出a=1234*/输出4位十进制整数*i=12*/输出浮点数f=3.141593*/输出6位其中小数点后 4位的浮点数f=3.1416*/输出长浮点数x=0.123457*/*输出18位其中小数点后16位的长数x=0.1234567898765432*/prin tf(c=%c n, c) prin tf(c=%x n, c) prin tf(s=%sn, s) prin tf(s=%6.9sn, s)/*输出字符c=A*/*输出字

12、符的ASCII码值c=41*/*输出数组字符串 s=Hello, Comrade*/,Co*/;/*输出最多9个字符的字符串 s=Hello4. 4. 2格式输入函数1、格式scanf(, );其中:格式控制包括三部分内容:一部分是格式化控制字符,以%开始,与prin tf()的用法基本相同;第二部分是“空格”,其作用是在读操作时略去输入数据中的一个或多个空格字符;第三部分是非空格字符,其作用是在读 操作时剔除与该字符相同的字符。输出表列是需要输出的一系列参数,其参数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用,分开,且顺序一一对应,否则将会出 现错误。地址表是需要读入的所有变量

13、的地址,而不是变量本身。这与printf() 函数 完全不同,要特别注意。各个变量的地址之间同,分开。2、功能以指定的格式从键盘读入数据,并顺序存放到“地址表”指定的存储单元中,并剔 除掉“格式控制”中指定的字符。例: main()i nt i, j;prin tf(i, j=?n);sca nf(%d, %d, &i, &j);上例中的scanf()函数先读一个整型数,然后把接着输入的逗号剔除掉,最后读入另 一个整型数。如果,这一特定字符没有找到,scanf()函数就终止。若参数之间的分隔符为空格,则参数之间必须输入一个或多个空格。3、讨论1)对于字符串数组或字符串指针变量,由于数组名和指针

14、变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上&操作符。mia n()char *p, str20;sca nf(%s, p);/*从健盘输入字符串*/sca nf(%s, str);prin tf(%sn, p);/*向屏幕输出字符串*/prin tf(%sn, str);2) 可以在格式化控制字符中的和规定字符之间加一个整数,表示读操作中数的最大位数。如:scanf(%10s, p);,程序运行时一旦输入字符个数大于10, p就不再继续读入,而后面的一个输入函数即scanf(%s, str)就会从第11个字符开始读入。3) 在用“ C输入字符时,空格字符和转义字符都作为有效字符。4) 数据输入的结束标志是回车键,但遇到下列符号也视为输入结束,即该符号后的 数据无效,但整个输入过程仍是按下回车键结束。空格键Tab键非法输入超过指定的数据宽度 4.5顺序结构程序设计举例例1:输入三角形的条边长,求三角形的面积。#include math.h ”mai n()float a,b,c,s,aera ;scanf( %f,%f,%f ,&a,&b,&c);s=1.0/2*(a+b+c);aera=sprt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f,aera=%7.2fn,a,b,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论