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

下载本文档

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

文档简介

C程序设计:第四章 最简单的C程序设计顺序程序设计第四章 最简单的C程序设计顺序程序设计4.1 C语句概述 一个C程序应由两部分组成,即数据描述和数据操作。数据描述:用来定义数据结构和预置数据初值,由声明部分实现。如:int a=3;数据操作:对已提供的数据进行加工,由语句来实现。所以,语句是C程序的主体。C语句可以分为5大类。411 程序控制语句 if() else for() while() do while() continuebreakswitchgotoreturn其中:()表示一个条件。 表示内嵌的语句。如:if(xy) z=x;else z=y;412 函数调用语句由函数加上一个分号构成。如:printf(“hellow”);413 表达式语句表达式加上一个分号即可组成一个表达式语句。如:i=1;x=sin(y);等。414 空语句一个分号就是一个空语句,表示什么都不做。415 复合语句用括起的一个语句序列。 如: z=x+y;t=z/100; printf(“%f”,t);416 赋值语句1、 构成:赋值语句由赋值表达式加上一个分号构成。如a=b;。2、 说明1) C语言中的赋值号是一个运算符,这是与其它高级语言相区别的。2) 赋值表达式作为表达式可以出现在其它任何表达式中,而作为语句则不能。 如:if(a=b)0)t=a;,表示先将b赋给a,且如果a0则将a赋给t。 但:if(a=b;)0)t=a;,则是错误的。4.2 数据输入输出的概念及在C中的应用421 数据输入输出的概念1、 输入:相对于计算机主机而言,从外设读入数据。如:键盘、磁盘、光盘等。2、 输出:相对于计算机主机而言,向外设输出数据。如:显示器、磁盘、打印机。422 数据输入输出的实现1、 C本身并不提供输入输出语句,输入输出操作是由函数来实现的。函数已编译成OBJ文件以库的形式存放在系统中,在源程序编译后由连接程序将它和库进行连接生成可执行文件。2、 在使用输入输出函数之前,在程序的开头应加上包含了与标准I/O库有关的变量定义和宏定义的头文件。格式为:#include “stdio.h”或#include 但标准的输入输出操作scanf和printf由于使用频繁,可以不加#include命令。4.3 字符数据的输入输出431 单个字符的输出1、 格式putchar(字符型数据);2、 功能 向标准输出设备输出一个字符。3、 说明1) 也可以输出整型数据,此时,该数据作为字符的ASCII码值。2) 该函数使用前需用#include “stdio.h”或#include 。 例1: #include main() char c; /*定义字符变量*/ c=B; /*给字符变量赋值*/ putchar(c); /*输出该字符*/ putchar(x42); /*输出字母B*/ putchar(0x42); /*直接用ASCII码值输出字母B*/ 432 单个字符的输入1、 格式getchar();2、 功能 等待从键盘上读入字符, 直到按回车结束, 回车前的所有输入字符都会逐个显示在屏幕上,但只有第一个字符作为函数的返回值。3、 说明1) 该函数的返回值可以赋给整型或字符型变量,也可作为表达式的一部分。如:putchar(getchar();2) 该函数使用前需用#include “stdio.h”或#include 。 例2: #include main() char c; c=getchar(); /*从键盘读入字符直到回车结束*/ putchar(c); /*显示输入的第一个字符*/ 4.4 格式输入与输出 Turbo C2.0标准库提供了两个控制台格式化输入、输出函数printf()和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。printf()函数用来向标准输出设备(屏幕)写数据;scanf()函数用来从标准输入设备(键盘)上读数据。下面详细介绍这两个函数的用法。 441 格式输出函数1、 格式 printf(, ); 其中:格式控制包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是格式化控制字符, 以%开始, 后跟一个或几个规定字符,用来确定输出内容格式。输出表列是需要输出的一系列参数, 其参数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用,分开, 且顺序一一对应, 否则将会出现错误。2、 功能以指定的格式向显示器输出“输出表列”的内容,“输出表列”可以是任意类型的数据。3、 讨论1) 格式化控制符 Turbo C2.0提供的格式化规定符如下: 符号 作用 %d,%i 带符号十进制形式输出整数(正号不输出) %u 无符号十进制形式输出整数 %f 小数形式输出单、双精度数,隐含6位小数 %s 输出字符串 %c 输出单个字符 %e,%E 指数形式输出单、双精度数,隐含6位小数%x, %X 无符号十六进制形式输出整数(不输出前导符“0”) %x:小写输出af;%X:大写输出AF %o 无符号八进制形式输出整数(不输出前导符“0”)%g,%G 选择%f、%e中输出宽度较短的格式,不输出无意义的“0” 用%G时,若以指数形式输出,则指数大写表示2) 特殊规定字符 字符 作用 n 换行 f 清屏并换页 r 回车 t Tab符 ddd 八进制表示的ASCII码 xhh 十六进制表示的ASCII码 3) 说明 在%和字母之间可以插进数字表示最大场宽。 例如: %3d表示输出3位整型数, 不够3位右对齐。 %9.2f表示输出9位实数, 其中小数2位,整数6位,小数点1 位, 不够9位右对齐。 %8s表示输出8个字符的字符串, 不够8个字符右对齐。 如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。但对实数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。 另外, 若想在输出值前加一些0, 就应在场宽项前加一个0。 例如: %04d表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。 如果用实数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度, 小数点前的数字代表最小宽度。 例如: %6.9s表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。 可以在%和字母之间加小写字母l, 表示输出的是长型数。 例如: %ld表示输出long整数 %lf表示输出double实数 输出默认为右对齐,但如果在%和字母之间加入一个- 号则输出为左对齐。 例如: %-7d表示输出7位整数左对齐 %-10s表示输出10个字符左对齐4、 例子 #include #include int main() char c, sHello, Comrade; int a=1234; float f=3.141592653589; double x=0.12345678987654321; c=x41; printf(a=%dn, a); /*结果输出十进制整数a=1234*/ printf(a=%6dn, a); /*结果输出6位十进制数a= 1234*/ printf(a=%06dn, a); /*结果输出6位十进制数a=001234*/ printf(a=%2dn, a); /*a超过2位, 按实际值输出a=1234*/ printf(*i=%4dn, *i); /*输出4位十进制整数*i=12*/ printf(f=%fn, f); /*输出浮点数f=3.141593*/ printf(f=6.4fn, f); /*输出6位其中小数点后4位的浮点数f=3.1416*/ printf(x=%lfn, x); /*输出长浮点数x=0.123457*/ printf(x=%18.16lfn, x);/*输出18位其中小数点后16位的长数 x=0.1234567898765432*/ printf(c=%cn, c); /*输出字符c=A*/ printf(c=%xn, c); /*输出字符的ASCII码值c=41*/ printf(s=%sn, s); /*输出数组字符串s=Hello, Comrade*/ printf(s=%6.9sn, s); /*输出最多9个字符的字符串s=Hello,Co*/ 442 格式输入函数1、 格式 scanf(, ); 其中:格式控制包括三部分内容: 一部分是格式化控制字符, 以%开始, 与printf()的用法基本相同;第二部分是“空格”,其作用是在读操作时略去输入数据中的一个或多个空格字符;第三部分是非空格字符,其作用是在读操作时剔除与该字符相同的字符。输出表列是需要输出的一系列参数, 其参数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用,分开, 且顺序一一对应, 否则将会出现错误。地址表是需要读入的所有变量的地址, 而不是变量本身。这与printf()函数完全不同, 要特别注意。各个变量的地址之间同,分开。2、 功能以指定的格式从键盘读入数据,并顺序存放到“地址表”指定的存储单元中,并剔除掉“格式控制”中指定的字符。 例:main() int i, j; printf(i, j=?n); scanf(%d, %d, &i, &j); 上例中的scanf()函数先读一个整型数, 然后把接着输入的逗号剔除掉, 最后读入另一个整型数。如果,这一特定字符没有找到, scanf()函数就终止。若参数之间的分隔符为空格, 则参数之间必须输入一个或多个空格。3、 讨论1) 对于字符串数组或字符串指针变量, 由于数组名和指针变量名本身就是地址, 因此使用scanf()函数时, 不需要在它们前面加上&操作符。 mian() char *p, str20; scanf(%s, p); /*从健盘输入字符串*/ scanf(%s, str); printf(%sn, p); /*向屏幕输出字符串*/ printf(%sn, str); 2) 可以在格式化控制字符中的%和规定字符之间加一个整数, 表示读操作中数的最大位数。如:scanf(%10s, p);,程序运行时一旦输入字符个数大于10, p就不再继续读入, 而后面的一个输入函数即scanf(%s, str)就会从第11个字符开始读入。3) 在用“%c”输入字符时,空格字符和转义字符都作为有效字符。4) 数据输入的结束标志是回车键,但遇到下列符号也视为输入结束,即该符号后的数据无效,但整个输入过程仍是按下回车键结束。 空格键 Tab键 非法输入 超过指定的数据宽度4.5 顺序结构程序设计举例例1:输入三角形的条边长,求三角形的面积。 #include “math.h” main()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,

温馨提示

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

评论

0/150

提交评论