C语言中输入输出和循环语句详解

  • 格式:ppt
  • 大小:364.00 KB
  • 文档页数:28

下载文档原格式

  / 28
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例 double a,b,c; 例scanf(“%lf,%lf,%lf”,&a,&b,&c); scanf(“%4d%2d%2d”,&yy,&mm,&dd); 例 scanf(“%3d%*4d%f”,&k,&f); 例 scanf(“%3c%2c”,&c1,&c2); 输入 19991015 ↵ 输入 12345678765.43↵ 输入 abcde ↵ 则123⇒k, 8765.43⇒f 则1999⇒yy, 10 ⇒mm, 15 ⇒dd
§main() §{long int x=31456; §printf("%d,%-8d,%2d",x,x,x); §} §31456, 31456,31456
3.5格式输入函数
格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束
main() {int a,b; a=3;b=4; printf(“%d,b=%d”,a,b);
§}
附加格式说明符(修饰符)
修饰符 功 能 m 输出数据域宽,数据长度<m,左补空格;否则按实际输出 .n l 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数 输出数据在域内左对齐(缺省右对齐) 在d,o,x,u前,指定输出精度为long型
输入分隔符的指定 指定字符做分隔符:格式串中两个格式符间字符
输入数据时,如无特殊分隔符,遇以下情况认为该数据结 遇空格、TAB、或回车 遇宽度结束scanf(“%d:%d:%d”,&h,&m,&s); 例
例 scanf(“%d,%d”,&a,&b) 输入 12:30:45↵ 遇 输入 3,4 ↵ 则12 ⇒h, 30 ⇒b 45 ⇒s 非 则3⇒a, 4 ⇒m, 法 例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输 例 scanf(“%d%o%x”,&a,&b,&c); 输入 19991015 ↵ 入 如 scanf(“%d%c%f”,&a,&b,&c); 输入 123 123 ⇒mm, 15 ⇒dd 则1999⇒yy, 10 123↵
若输入1234a123o.26 ↵ 则 1234 ⇒a, ‘a’ ⇒b, 123 ⇒c
说明: 用“%c”格式符时,空格和转义字符作为有 效字符输入 如 scanf(“%c%c%c”,&c1,&c2,&c3); 若输入abc↵
则a⇒c1, ⇒c2, b ⇒c3
3.6 程序的三种基本结构
三种基本结构
格式: putchar( c ) 参数: c为字符变量、整型变量或字符常量。 功能:把字符c输出到显示器上

Ch3_1 .c
/*ch3_1.c*/ #include <stdio.h> main() { int c; char a; c=65; a='B'; putchar(c); putchar('\n'); putchar(a); } 运行结果:A B
printf("%d",b); } 说明: {}后面不能有;。
C 语 言 程 序 设 计
3.2赋值语句 是由赋值表达式加上一个分号构成。 如:a=2; a=2; a=2
第 二 章 数 据 描 述
<
>
3.3 单个字符的输入与输出
C语言无I/O语句,I/O操作由函数实现 预编译命令 #include <stdio.h> 字符输出函数
首部
按照语句功能或构成的不同,可将C语言语句分 为如下五类。 1.控制语句 控制语句完成一定的控制功能。C语言 只有9条控制语句,又可细分为三种: (1) 选择结构控制语句: if()… else…,switch()… (2) 循环结构控制语句: do…while(),for()…,while()…,break, continue (3) 其他控制语句: goto,return
百度文库
3.4格式输出函数
格式:printf(“格式控制”,输出表列) 功能:按指定格式向显示器输出数据
输出表列:要输出的数据,可以没有,可以是变量或表 达式,(多个数据时以“,”分隔) 格式控制:包含两种信息
普通字符或转义字符:普通字符原样输出,转义字符控制光标 或输出字符。 格式说明:
%[修饰符]格式字符 ,用于指定输出格式
2.函数调用语句 函数调用语句由一次函数调用加一个分 号(语句结束标志)构成。例如: printf("This is a C Program."); 3.表达式语句 表达式语句由表达式后加一个分号构成。 如:3+2;
4.空语句 空语句仅由一个分号构成。显然,空语句什么操作 也不执行。 5.复合语句 复合语句由大括号括起来的一组(也可以是一条)语 句构成。例如: main() {int a,b; if(a>b) {max=a; min=b;} 复合语句 }
地址表:变量的地址,常用地址运算符& 格式字符:d,i,o,x,u,c,s,f,e,g scanf(“%c%c”,&c1,&c2);
例 scanf(“a=%d,b=%d”,&a,&b); 输入 a=12,b=24 ↵ 例 scanf(“%d,%d”,&a,&b); 输入 12,24 ↵
附加格式说明符(修饰符) 修饰符 功 能 h 用于d,o,x前,指定输入为short型整数 l m * 用于d,o,x,u前,指定输入为long型整数 用于e,f前,指定输入为double型实数 指定输入数据宽度,(为正整数) 例 short a,b,c; 抑制符,指定输入项读入 不赋给变量 读入后不赋给 读入 不赋给 scanf(“%hd,%hd,%hd”,&a,&b,&c);
格式字符
d,i 十进制整数 o u c s f
八进制无符号整数
int a=567;printf ( “%d”,a);
567 ff 101 65535 A ABC 5.677890e+002 567.789000 567.789 %
x,X 十六进制无符号整数 int a=255;printf(“%x”,a);
e,E 指数形式浮点小数
小数形式浮点小数 e和f中较短一种, g,G 不输出无意义的0 %% 百分号本身
说明 格式字符要用小写(E、X、G除外) 格式字符与输出项个数应相同,按先后顺序一一对应 输出转换:格式字符与输出项类型不一致,自动按指定格式输出
§main() §{long int x=-1; §double y=9.3; §float z=3.1415927; §printf(“%.2f,%5.1f,%3.2f”,z,z,z) §printf(“%f,%lf,%le,%lg”,y,y,y,y); §printf(“%ld,%lu,%lo”,x,x,x); §}
Ch3_14 .c
2 1.输入量:a,b,c. 输出量:x1,x2; 中间变量:disc= b-4ac /*ch3_14.c*/ 2 p=-2a/b,q= √ b-4ac /2a #include <stdio.h> 2.类型:都是float #include <math.h> 3.主要算法:x1=p+q,x2=p-q。 main() 4.编程: { float a,b,c,disc,x1,x2,p,q; (1)确定输入量的编程scanf("%f,%f,%f",&a,&b,&c); (2)确定中间量disc=b*b-4*a*c; scanf("a=%f,b=%f,c=%f",&a,&b,&c); 输入:a=1,b=3,c=2 ↵ p=-b/(2*a); disc=b*b-4*a*c; q=sqrt(disc)/(2*a); 输出: (3)确定算法的编程x1=p+q; x2=p-q; p=-b/(2*a); q=sqrt(disc)/(2*a); (4)确定输出量的编程 x1=p+q; x2=p-q; x1=-1.00 printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
int a=65;printf(“%o”,a); 不带符号十进制整数 int a=-1;printf(“%u”,a); 单一字符 字符串 char a=65;printf(“%c”,a); printf(“%s”,“ABC”); float a=567.789printf(“%e”,a); float a=567.789;printf(“%f”,a); float a=567.789;printf(“%g”,a); printf(“%%”);
顺序结构
A B
流程图
选择结构

P

A
B
循环结构 当型循环结构
P 真 A

直到型循环结构

A P 真
、中间量。
程序中涉及的
§3.7 程序举例
例 输入三角形边长,求面积 /*ch3_12.c*/ Ch3_12 #include <math.h> .c 1.输入量:a,b,c. 输出量:area; 中间变量:s 文件包含预处理命令 #include <stdio.h> 2.类型:都是float main() 3.主要算法:上面两个公式。 { 4.编程: float a,b,c,s,area; 变量定义 scanf("%f,%f,%f",&a,&b,&c); 输入数据 (1)确定输入量的编程scanf("%f,%f,%f",&a,&b,&c); s=1.0/2*(a+b+c); (2)确定中间量s=1.0/2*(a+b+c); 输出数据 area=sqrt(s*(s-a)*(s-b)*(s-c)); (3)确定算法的编程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); (4)确定输出量的编程printf("area=%7.2f\n",area); printf("area=%7.2f\n",area); printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s); } 输入:3,4,6 ↵ 输出:a= 3.00,b= area= 5.33 4.00,c= 6.00,s= 6.50
例 从键盘输入大写字母,用小写字母输出
ASCII(小写字母 小写字母)-ASCII(大写字母 大写字母)=32 小写字母 大写字母 ASCII(小写字母 小写字母)=32 + ASCII(大写字母 大写字母) 小写字母 大写字母
/*ch3_13.c*/ c2=c1+32 P #include "stdio.h" Ch3_13 1.输入量:c1(大写字母). 输出量:c2(小写字母); .c main() 输入:A ↵ 2.类型:都是char { char c1,c2; 输出:A,65 3.主要算法:c2=c1+32。 c1=getchar(); 4.编程: a,97 printf("%c,%d\n",c1,c1); (1)确定输入量的编程scanf(“%c”,&c1);或c1=getchar(); (2)确定算法的编程c2=c1+32; c2=c1+32; (3)确定输出量的编程printf("%c,%d\n",c2,c2); printf("%c,%d\n",c2,c2); printf("%c,%d\n",c1,c1); }
C语言的输入输和循环分支语句详 解
§本章主要向大家介绍下C语言的输入和输 出功能以及循环分支语句的使用
第4章 顺序结构程序设计
§3.1 C语言语句 语言语句 §3.2 赋值语句 §3.3 单个字符的输入 输出 单个字符的输入/输出 函数 §3.4格式化输出函数 格式化输出函数printf() 格式化输出函数 §3.5 格式化输入函数 格式化输入函数scanf() §3.6 程序的三种基本结构 §3.7 顺序程序设计举例
字符输入函数
格式:getchar( ) 功能:从键盘读一字符
例 /*ch3_4.c*/
Ch3_4 .c
#include <stdio.h> main() { char c; c=getchar(); putchar(c); }
/*ch3_4.c*/ #include <stdio.h> 运行结果: main() a↵ { a putchar(getchar()); }