C语言基本输入输出_第1页
C语言基本输入输出_第2页
C语言基本输入输出_第3页
C语言基本输入输出_第4页
C语言基本输入输出_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第四章基本输入输出4.1C语句概述语句:语句用来向计算机系统发出操作命令,编译后产生若干机器指令。C语句都是用来完成一定操作任务的,声明部分的内容不应称为语句,如floata;return4.1C语句概述C语句的分类:(1)控制语句(2)函数调用语句(3)表达式语句(4)空语句(5)复合语句(1)控制语句1.选择分支控制语句

if()…else…

switch(){…} 2.循环控制语句for()…

while()…do…while()3.其他控制语句break、continue、gotoreturn表达式后面加一个分号,构成表达式语句x=3i++x=3;y=y+5;x=a-b&&c||d;printf("x=%d,y=%d\n",x,y);c=max(a,b);(2)表达式语句、函数调用语句赋值语句函数调用语句表达式注意区分表达式与语句:if((a=b)>0)t=a;if((a=b;)>0)t=a;

注意:

①分号是语句必不可少的一部分②单独的一个分号“;”构成一个空语句例如:;(可以表示循环语句的循环体)(2)表达式语句、函数调用语句(3)复合语句用一对花括号“{}”括起来的若干条语句

花括号中可以是说明语句、表达式语句、控制语句,也可以是复合语句例如:⑴if(a>b){max=a;min=b;}

⑵for(n=1;n<10;n++)

{p=n+p;if(p>=100)

{

printf(“%d\n”,p);break;

}

}

4.2数据I/O的概念及在C语言中的实现1.I/O的概念2.C本身无输入输出语句,I/O由函数完成printf,scanf不是C语言的关键字,而只是函数名3.使用库函数时,要用预编译指令#include将有关的“头文件”包括到用户源文件中如,使用标准I/O函数时,要用到“stdio.h”文件

#include<stdio.h>或#include“stdio.h”格式:putchar(c)参数:c为字符或整型常量、变量或表达式功能:把字符c输出到显示器上4.3字符数据的输入和输出putchar函数(字符输出函数)#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}运行结果:AB例1#include<stdio.h>main(){putchar('\101');putchar('\'');putchar('\015');}例2//输出字符‘A’//输出单撇号字符‘//输出回车不换行格式:getchar()功能:接收从键盘输入的一个字符,

函数值为输入的字符值getchar函数(字符输入函数)#include<stdio.h>main(){intc;printf(“Enteracharacter:\n");c=getchar();putchar(c);}运行结果:Enteracharacter:aa注意:(1)getchar()只能接收一个字符,接受到的字符可以赋给字符型或整型变量,也可以作为表达式(2)调用getchar()时,需要在main()函数前加

上“预处理命令”:#include<stdio.h>#include"stdio.h"main(){charch;printf("Pleaseinputtwocharacter:");ch=getchar(); putchar(ch);putchar('\n');putchar(getchar());putchar('\n');}运行结果:abab运行结果:abcdeab#include<stdio.h>main(){inti;charj;clrscr();i=getchar();j=getchar();putchar(getchar());printf("%c",getchar());}运行结果:abcdcd运行结果:abcdefgcd格式:printf(“格式控制”,输出表列)功能:按指定格式向显示器输出数据4.5格式输出函数格式控制:包含两种信息格式说明:

%[修饰符]格式字符

,用于指定输出格式普通字符或转义序列输出表列:要输出的数据(可以没有,多个时以“,”分隔)printf函数(格式输出函数)例例inta=3,b=4;printf(“%d%d\n”,a,b);

printf(“a=%4d,b=%d\n”,a,b);

格式说明输出列表格式说明输出列表

输出结果:34输出结果:a=3,b=4格式字符:十六进制无符号整数不带符号十进制整数十进制整数单一字符八进制无符号整数inta=567;printf(“%d”,a);inta=-1;printf(“%x”,a);inta=-1;printf(“%o”,a);inta=-1;printf(“%u”,a);chara=65;printf(“%c”,a);567fffdx,Xouc说明:以%o,%x形式输出的数值是无符号数格式字符:se,Efg,G%指数形式输出实数字符串小数形式输出实数e和f中较短一种百分号本身printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);ABC5.67789e+02567.789000567.789%说明

除X、E、G外,格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换:格式字符与输出项类型不一致,自动按指定格式输出例

main(){unsignedintu=65535;printf(“u=%d\n”,u);}

输出结果:u=-1例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);“例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);输出结果:34a=3,b=4111111111111111165535附加格式说明符(修饰符)功能.n对实数,指定小数点后位数(四舍五入)对字符串,截取的字符个数修饰符m输出数据域宽,数据长度<m,左补空格;否则按实际输出输出数据在域内左对齐(缺省右对齐)-在d,o,x,u前,指定输出精度为long型l例inta=1234;floatf=123.456;charch=‘a’;printf(“%8d,%2d\n”,a,a);

printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);printf(“%3c\n”,ch);运行1234,1234结果:123.456000,123.456000,123.5,123.46,1.23e+02

a例m.ninta=1234;floatf=123.456;staticcharc[]=“Hello,world!”;printf(“%8d,%-8d\n”,a,a);printf(“%10.2f,%-10.1f\n”,f,f);printf(“%10.5s,%-10.3s\n”,c,c);1234,1234

123.46,123.5

Hello,Hel例-longa=65536;printf(“%d,%8ld\n”,a,a);

00000000000000010000000000000000运行结果:0,65536scanf函数(格式输入函数)格式:scanf(“格式控制串”,地址表)功能:按指定格式从键盘读入数据,存入地址

表指定的存储单元中,并按回车键结束地址表:变量的地址,常用取地址运算符&格式字符:d,i,o,x,u,c,s,f,e,g例scanf(“%d”,&a);

输入:10

则a=10例scanf(“%x”,&a);

输入:10

则a=16附加格式说明符(修饰符)l修饰符功能hm*用于d,o,x前,指定输入为short型整数用于d,o,x,u前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,应为正整数表示本输入项在读入后不赋给相应的变量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);

输入19991015

则1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);

输入12345678765.43则123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);

输入1234567则12a,67b例scanf(“%3c%2c”,&c1,&c2);

输入abcde

则‘a’c1,‘d’c2输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);

输入123123123输出a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);

输入12:30:45则12h,30m,45s例scanf(“%d,%d”,&a,&b)

输入3,4

则3a,4b例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);

输入a=12,b=24,c=36说明:用“%c”格式符时,空格和转义字符作为有效字符输入如scanf(“%c%c%c”,&c1,&c2,&c3);

若输入abc

则ac1,

c2,bc3输入数据时,只能规定宽度,不能规定精度

scanf(“%7.2f”,&a);(×)4.6程序举例#include<math.h>#include<stdio.h>main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);printf("area=%7.2f\n",area);}例输入三角形边长,求面积输入:3,4,6输出:a=3.00,b=4.00,c=6.00s=6.50area=5.33文件包含预处理命令变量定义输入数据输出数据例从键盘输入大写字母,用小写字母输出/*ch3_10.c*/#include"stdio.h"main(){charc1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+32;printf("%c,%d\n",c2,c2);}输入:A

输出:A,65a,97顺序结构程序设计总结在顺序结构程序中,一般包括以下几个部分:1.程序开头的编译预处理命令在程序中要使用标准函数(又称库函数)除printf()和scanf()外,其它的都必须使用编

译预处理命令,将相应的头文件包含进来。return顺序结构程序设计总结2.顺序结构程序的函数体(1)变量类型的

温馨提示

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

评论

0/150

提交评论