武汉大学C课件第04讲(05级).ppt_第1页
武汉大学C课件第04讲(05级).ppt_第2页
武汉大学C课件第04讲(05级).ppt_第3页
武汉大学C课件第04讲(05级).ppt_第4页
武汉大学C课件第04讲(05级).ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序的基本语句 数据的输入输出,第四讲,Begin:,第三章 基本语句与顺序结构程序设计,31 C语言程序的基本语句,3.1 C语言程序的基本语句 C语言语句分为五类:表达式语句、函数调用语句、控制语句、复合语句、空语句。,1表达式语句 由一个表达式组成一个语句。 如: +p; /*自增运算表达式加分号构成语句*/ N+=10; /*复合赋值表达式加分号构成语句*/ a+b; /* a+b表达式加分号构成语句*/ 2函数调用语句 由一次函数调用加上分号“;”组成 。 形式:函数名(实参列表) ; 如: printf(“Very Good!n”); /*输出Very Good!*/ max(x,y,z); /*调用自定义函数max,求x,y,z中的最大数*/,4.复合语句: 用 括起来组成的一个语句 如:if (ab) x=0;b=b+1;x=a;,5.空语句:仅由一个分号构成的语句,3.控制语句:控制程序的流程 如:ifelse语句,while语句,return语句等。,如:while (getchar( ) != n ) ; /*空语句*/,3.1 C语言程序的基本语句,功能:通过标准输出设备(如显示器)输出 一组数据。 输出形式由“格式控制”字符串规定。,3.3.1 格式输出:printf( )函数和scanf( )函数,一般形式: printf(“格式控制字符串”,输出表列);,3.3 数据输入输出,printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。,1. printf( )函数,格式控制:由双引号括起来的字符串,用于指定要输出的数据的格式。,2)格式说明:用来指定需输出数据的输出格式的,其形式为: % 格式字符,格式字符用以说明输出数据的类型,形式,长度,小数位数等。,它包括: 1)普通字符:按原样输出的字符;,输出表列:需要输出的数据列表,彼此间用逗号分隔。它可是任意合法的表达式。,3.3.1 格式输出:printf( )函数和scanf( )函数,用于输出的修饰符,3.3.1 格式输出:printf( )函数和scanf( )函数,用于输出的格式字符,3.3.1 格式输出:printf( )函数和scanf( )函数,例:格式输出:printf()函数,printf(“ a+b = %5.2 f “ , c );,3.3.1 格式输出:printf( )函数和scanf( )函数,(1) d格式字符,d:按整型数据的实际长度输出,md:m为指定的输出长度。如果数据位小于m,则左端补以空格;大于m,则按实际位输出。,例:printf(“%4d,%4d”,a,b); 若a=12, b=12345,则输出,ld:输出长整型数据。,d的输出范围为3276832767,输出超过该范围的整型数就会出错,此时用%ld输出。 其输出格式和功能与%d相同,如:8ld,3.3.1 格式输出:printf( )函数和scanf( )函数,(2) o格式字符,以八进制数形式输出整数,且不带符号。,对于长整数可用“lo”输出。功能同十进制输出。,(3) x格式字符,以十六进制数形式输出整数,且不带符号。,对于长整数可用“lx”输出。功能同十进制输出。,(4) u格式字符,用来输出unsigned型数据,即无符号数,输出十进制数。,用o,%x输出负数时会发生错误。,3.3.1 格式输出:printf( )函数和scanf( )函数,(5) c格式字符,一个整数,如果在0255之间,也可用字符形式输出,系统会将该整数转换成相对应的ASCII码字符;同时,一字符也可以用整数形式输出。,例:char c=a; printf(“%c”,c);,用来输出一个字符。,如:printf(“%3c”,c),则输出,c格式字符也可以指定输出字数宽度,3.3.1 格式输出:printf( )函数和scanf( )函数,(6) s格式字符,s:用来输出一个字符串,例:printf(“%s”,“Hello!”); 输出Hello!,不包括“ ”,ms:输出的字符串占m列。如果字符串长度小于m,则左端补以空格;长度大于m,则输出整个字符串。,-ms:如果串长小于m,则字符串向左靠,右补空格,其余同上。,m.ns:输出的字符串占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右侧,左端补空格。,-m.ns:其他意义同m.ns,右补空格。,3.3.1 格式输出:printf( )函数和scanf( )函数,例:printf(“%3s”,“Hello!”); 输出Hello! printf(“%7s”,“Hello!”); 输出 Hello!,(7) f格式字符,f:不指定字段宽度,整数部分全部输出,小数部分输出6位。,m.nf:指定输出数据占m列,其中有n位小数。若数值长度小于m,则左端补以空格。,-m.nf:功能同上,右端补以空格。,(8) e格式字符,e:不指定字段宽度,系统自动给出6位小数,指数部分占4位。其中“e”占1位,指数符号占1位,指数占2位。,3.3.1 格式输出:printf( )函数和scanf( )函数,例:printf(“%e”,123.456); 输出:1.234560e+02,m.ne, -m.ne, me :中m,-的意义和前相同,n是指数据的小数部分输出的位数。,(9) g格式字符,用来输出实数,根据数值大小,自动选f或e格式,且不输出无意义的零。,3.3.1 格式输出:printf( )函数和scanf( )函数,#include void main() int a=1234; float f1=12.34567,f2=678.9; printf(“1)%d,%6d,%-6d,%2d;n“,a,a,a,a); printf(“2)%f,%10.4f,%3.2f;n“,f1,f1,f1); printf(“3)%e,%e;n“,f1,f2); printf(“4)%8e,%14e;n“,f1,f1); printf(“5)%10.7e,%10.3e;n“,f1,f1); ,实例:,程序运行结果: 1)1234, 1234,1234 ,1234; 2)12.345670, 12.3457,12.35; 3)1.23457e+01,6.78900e+02; 4)1.23457e+01, 1.23457e+01; 5)1.234567e+01, 1.23e+01;,2、格式输入:scanf( )函数,功能:从终端输入任何类型的多个数据,格式:scanf(“格式控制“,地址表列);,格式控制:由双引号括起来的字符串,用于指定要输入的数据的格式。,1)普通字符:按原样输入的字符;,2)格式说明:用来指定需输入数据的输入格式的,其形式为: % 格式字符,3.3.1 格式输出:printf( )函数和scanf( )函数,地址表列:由若干个变量地址组成的表列。 地址是由”运算得到的。 “”是取址运算符,单目运算符,右结合性。,例:&a, &chr, &i,分别表示变量a, chr, i的地址,该地址是在编译连接时系统分配给变量a, chr, i的地址。,3.3.1 格式输出:printf( )函数和scanf( )函数,用于输入的修饰符,用于输入的格式字符,3.3.1 格式输出:printf( )函数和scanf( )函数,格式输入的使用与注意:,输入数据时采用的分隔符应与格式控制中的分隔符一致。 例1: scanf(“%d%f%d“, 必须采用格式: a=12, b=345,3.3.1 格式输出:printf( )函数和scanf( )函数,3.3.1 格式输出:printf( )函数和scanf( )函数,3.3.1 格式输出:printf( )函数和scanf( )函数,在下列情况下可认为数据输入结束: 遇空格、回车、跳格键(Tab)时; 遇宽度结束; 非法输入。,3.3.1 格式输出:printf( )函数和scanf( )函数,在格式控制字符串中可包含转义字符。 例: 1) printf(“1) %sn”,“ Very Good!”); 2) printf(“2) “%s”n”,“Very Good!”);,输出结果: Very Good! “Very Good!”,例:自增、自减运算符程序实例5,main ( ) int i ; i=1; printf(“1)i=%d; 2)i=%d; 3)i=%d; 4)i=%d; 5)i=%d; 6)i=%d; 7)i=%d;n“, i, i+, i , i-,+i, i, -i); ,程序运行结果: 1)i=1; 2)i=0; 3)i=0; 4)i=1; 5)i=1; 6)i=0; 7)i=0;,不同的编译系统对输出表列中的求值顺序不一定相同。可以从左到右,也可从右到左。 TC和BC是按从右到左进行的。,main( ) int a; float b ; char c ; printf(“按格式%d%f%c送数:“); scanf(“%d%f%c“, ,程序运行结果: 按格式%d%f%c送数:234.5p a=23, b=4.500000, c=p, 按格式%d,%f,%c送数:23,4.5,p a=23, b=4.500000, c=p, 按格式%6d%6f%6c送数: 234.5p a=23, b=4.500000, c=p,程序实例1:,main( ) char a, b, c, d, e ; scanf(“%c%c%c“, ,程序实例2:,程序运行结果: 12345 1, 2, 3 4, 5,程序运行结果(错误): 123 45 1, 2, 3 ,1、字符输出:putchar( )函数,格式: putchar ( ); 功能:向终端输出一个字符。,C为形式参数,它可以是字符型变量、整型变量,字符型常量或转义字符。,3.3.2字符输入输出函数:putchar函数和getchar函数,void main( ) char a ; int b ; a=b; b = 111; putchar( a ); putchar( b ); putchar(y); putchar(n); ,例:运用putchar( )函数,程序运行结果: boy,“o”的ASCII码为111,3.3.2字符输入输出函数:putchar函数和getchar函数,1、字符输入:getchar( )函数,格式: getchar ( ); 功能:从终端输入一个字符。,getchar()只能接收一个字符,该字符可赋给字符变量、整型变量或作为表达式的一部分。,例: main( ) char c ; c=gethar( ); putchar( c ); ,输入一个字符,再将该字符输出,3.3.2字符输入输出函数:putchar函数和getchar函数,例:将十进制数 407 转换

温馨提示

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

评论

0/150

提交评论