资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
顺序程序设计4.1 C语句概述4.2 赋值语句4.3 数据输入输出的概念及在C语言中的实现4.4 字符数据的输入输出4.5 格式输入与输出putchar函数getchar函数printf函数scanf函数4.6 顺序结构程序设计举例顺序程序设计4.1 C语句概述C程序源程序文件1源程序文件2源程序文件n预处理命令全局变量声明函数1函数n函数首部函数体局部变量声明执行语句顺序程序设计4.1 C语句概述C语句的分类-5类(1)控制语句if( )else for ( ) while( ) do while() continue break switch goto return 函数调用语句。由一次函数调用加一个分号构成一个语句,例如:printf(“This is a c statement.”); 表达式语句。由一个表达式加一个分号构成一个语句。a=3; i=i+1; i+; x+y; 空语句。; 可以用把一些语句括起来称为复合语句,又称分程序。 z = x + y; t = z / 100; printf(“%f”,t); 注意:复合语句中最后一个语句中最后的分号不能忽略不写。表达式能构成一个语句是 C语言的一个特色,c又可 称为表达式语言!顺序程序设计4.2 赋值语句l赋值语句是由赋值表达式加上一个分号构成的。lC语言的赋值语句具有其他高级语言的赋值语句的一切功能和特点。但也应当注意到他们的不同:(1)C语言中的赋值号是一个运算符,其他大多是语言不是运算符。(2)其他多数高级语言没有“赋值表达式”这一概念。作为赋值表达式可以出现在其它表达式之中,例如if (a=b)0) t=a;if (a=b;)0) t=a;if 后面的()内是一个条件,条件中不能包含赋值语句。顺序程序设计4.3 数据输入输出的概念及在C语言中的实现 什么是输入输出? C语言本身不提供输入输出语句,输入输出操作是由函数实现的。目的:使编译系统简单,避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,对各种型号的计算机都适用。 在使用C语言提供的库函数时,要用到预编译命令“#include” ,它 的作用是将有关的“头文件”包括到用户源文件中。在头文件中包含了与用到的函数有关的信息。预编译命令“#include” 都是放在程序的开头。#include #include “stdio.h”计算机数据外部输出设备输入 设备数据计算机stdio.h 是 standard input a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);putchar(n) ;运行结果:BOY顺序程序设计4.4 字符数据的输入输出getchar()和putchar()函数例4-1-2:输出单个字符#includevoid main()char a,b,c;a=B;b=O;c=Y;putchar(); putchar(); putchar(); putchar();putchar(); putchar();输出结果:BOY顺序程序设计例4-1-3:输出单个字符#includevoid main()putchar(101); /*输出字符A*/putchar(); /*输出单撇号*/putchar(015); /*输出回车不换行,使输出的当前位置移到本行的开头*/输出结果:A光标4.4 字符数据的输入输出getchar()和putchar()函数顺序程序设计4.4.2 单个字符的输入getchar()函数此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。getchar函数没有参数,其一般形式为getchar( )函数的值就是从输入设备得到的字符。例4.2 输入单个字符#includevoid main()char c;c=getchar();putchar(c);4.4 字符数据的输入输出getchar()和putchar()函数运行程序:从键盘输入字符a 按Enter键 屏幕上将显示输出的字符aa a顺序程序设计注意:getchar()只能接收一个字符。getchar函数得到的字符可以 赋给一个字符变量或整型变量,也可以不赋给任何变量,作为表达 式的一部分。例如:putchar(getchar();c=getchar();printf(“%c”,getchar();4.4 单个字符输入输出getchar()和putchar()函数注意:要在程序中使用getchar()和putchar()函数,必须在该函 数的前面加上“包含命令”。 #include顺序程序设计4.5 格式输入与输出4.5.1 printf()函数(格式输出函数)printf()函数的作用:向终端(或者系统隐含指定的输出设备输出若干个任意的数据)。printf()函数和putchar() 函数的区别:putchar( ) 函数只能输出字符,且只能输出一个字符。printf()函数可以输出多个数据,且为任意类型。1、printf()函数的格式printf(格式控制,输出表列)例如: printf(“%d,%cn”,i,c);顺序程序设计printf(格式控制,输出表列)括弧内包含两部分:(1)“格式控制”是用“双撇号”括起的字符串,也称“转换控制字符串”包含下列信息:格式说明:由“%”和格式字符组成,如“%d”和“%f”等,作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。普通字符:需要原样输出的字符。例如:printf(“a=%d,c=%fn”,a,c);4.5 格式输入与输出顺序程序设计printf(格式控制,输出表列)(2)“输出表列”是需要输出的一些数据,可以是表达式。例如:printf(“%d%d”,a,b);printf(“a=%d,b=%d”,a,b);格式说明输出表列格式说明输出表列4.5 格式输入与输出顺序程序设计4.5 格式输入与输出由于printf( )是函数,因此“格式控制”和“输出表列”都是函数的参数 。printf( )函数的一般形式:printf(参数1,参数2,参数3参数n)printf( )函数的功能:将参数2-参数n 按参数1的格式输出。顺序程序设计2、格式字符对不同类型的数据用不同的格式字符.常用的有以下几种格式字符:4.5 格式输入与输出(1)d 格式符。用来输出十进制整数。%d, 按整型数据的实际长度输出。%md, m(m0)为指定的输出字段的宽度。如果数据的位数小于m, 则左端补以空格,若大于m,则按实际位数输出。 如:printf(“%4d,%4d”,a,b); 如果:a=123,d=12345,则输出结果为:123,12345 %ld, 输出长整型数据,如long a=135790; /*不在-32768至32767范围内*/printf(“%ld”,a);%mld ;一个int 型数据可以用 %d 或 %ld 格式输出。顺序程序设计4.5 格式输入与输出(2)o 格式符。以无符号八进制形式输出整数。例如:int a=-1;printf(“%d,%o”,a,a); -1在内存单元中的存放形式(补码形式)如下:1111111111111111输出为: -1,177777 对于长整数(long型)可以用“%lo”格式输出。也可以指定字 段宽度,如printf(“%8o”,a);输出为 177777。顺序程序设计4.5 格式输入与输出(3)x 格式符。以无符号十六进制形式输出整数。例如:int a=-1;printf(“%x,%o,%d”,a,a,a);输出结果:ffff,177777,-1同样可以用“%lx”输出长整型数,也可以指定输出字段的宽度“%mx”。 (4)u 格式符。用来输出unsigned型数据,即无符号数,以十进 制整数形式输出。一个signed int型数据可以以%u格式输出,一个unsigned型数据也可以以%d格式输出。unsigned型数据也可以用%o或%x格式输出。顺序程序设计4.5 格式输入与输出例4.3 无符号数据的输出#include void main( )unsigned int a=65535;int b=-2;printf(“a=%d,%o,%x,%un“,a,a,a,a);printf(“b=%d,%o,%x,%un“,b,b,b,b);运行结果:a=-1,177777,ffff,65535b=-2,177776,fffe,65534顺序程序设计4.5 格式输入与输出(5)c 格式符。用来输出一个字符。例如:char c=a;printf(“%c”,c);注意:“%c”中的c是格式符,逗号右边的c是变量名。一个整数,只要它的值在0255范围内,也可以用字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;一个字符数据也可以用整数形式输出。顺序程序设计例4.4 字符数据的输出#include void main ( ) char c=a;int i=97;printf(“%c,%dn“,c,c);printf(“%c,%dn“,i,i);运行结果:a,97a,97例:字符数据指定列宽的输出main ( )char c=a;int i=97;printf(“%3c,%dn“,c,c);printf(“%3c,%dn“,i,i);运行结果:a,97a,97顺序程序设计4.5 格式输入与输出(6)s 格式符。用来输出一个字符串。%s, 例如:printf(“%s”,”CHINA”);%ms, 输出的字符串占m列,如果字符串本身长度大于m,则突破m 的限制,将字符串全部输出。若串小于m,则左端补空格。%-ms,若串小于m,则右端补空格。%m.ns,输出占m列,但是只取字符串中左端n个字符。这n个字符 输出在m列的右侧,左端补上空格。%-m.ns,输出占m列,但是只取字符串中左端n个字符。这n个字 符输出在m列的左侧,右端补上空格。如果:nm,则m自动取n值,即保证n个字符正常输出。顺序程序设计4.5 格式输入与输出例4.5 字符串的输出#include void main()printf(“%3s,%7.2s,%.4s,%-5.3sn“,“CHINA“,“CHINA“,“CHINA“,“CHINA“);输出结果:CHINA, CH,CHIN,CHI %.4s-只指定n,没有指定m,自动使m=n=4,故占4列。顺序程序设计4.5 格式输入与输出(7)f 格式符。用来以小数形式输出实数(含单精度和双精度)。%f, 不指定字段的宽度,由系统自动指定,是整数部分如数输出 ,并输出6位小数。注意:并非全部数字是有效数字。单精度实数的有效位数一般为7位 。例4.6:输出实数时的有效位数。 #include void main()float x,y;x=111111.111;y=222222.222;printf(“%f“,x+y);运行结果:333333.328125 6位只有前7位是有效数字。双精度也 可以用%f格式输出,它的有效位数 一般为16位,给出小数6位。顺序程序设计4.5 格式输入与输出例4.7 输出双精度数时的有效位数。 #include void main()double x,y;x=111111111111
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号