第四章顺序程序设计 4.1c语句概述 4.4字符数据的输入输出 4.5格式输入输出 4.6顺序结构程序设计举例
第四章 顺序程序设计 ◼ 4.1 c语句概述 ◼ 4.4 字符数据的输入输出 ◼ 4.5 格式输入输出 ◼ 4.6 顺序结构程序设计举例
4.1C语句概述 1.控制语句(9种):完成一定的控制功能 if()~else~条件语句(双分支选择语句) switch~case~多分支选择语句 for( while 循环语句 do-while o continue 结束本次循环语句 break 中止语句 goto 转向语句 return 从函数返回语句
4.1 C语句概述 1. 控制语句( 9种) : 完成一定的控制功能 if ( ) ~ else ~ 条件语句( 双分支选择语句) switch ~ case ~ 多分支选择语句 for ( ) ~ while ( ) ~ 循环语句 do ~ while ( ) continue 结束本次循环语句 break 中止语句 goto 转向语句 return 从函数返回语句
2.函数调用语句:由一个函数调用加一个分号构成 如:prin(“ very good!”); 3表达式语句:由表达式加分号构成 如:x=12加;→x=12;(赋值表达式语句) 4.空语句:由一个分号构成,它什么也不做 5.复合语句:用{}括起来的语句序列 如{ int temp;注意: temp=x;1.复合语句是一个整体,相当于一个语句 2.一个复合语句中可以包含其他的复合语句 y=temp,3.在复合语句的花括号后不要再加分号 4.复合语句中可定义变量,但此变量只在 该复合语句内有效
2. 函数调用语句: 由一个函数调用加一个分号构成 如: printf(“very good!”); 3. 表达式语句: 由表达式加分号构成 如: x=12 加 ; → x=12 ; ( 赋值表达式语句) 4. 空语句 : 由一个分号构成, 它什么也不做 5. 复合语句 : 用 { } 括起来的语句序列 如 { int temp ; temp = x ; x = y ; y = temp ; } 注意 : 1. 复合语句是一个整体, 相当于一个语句 2. 一个复合语句中可以包含其他的复合语句 3. 在复合语句的花括号后不要再加分号 4. 复合语句中可定义变量 , 但此变量只在 该复合语句内有效
44字符数据的输入和输出 字符输出函数( putchar函数) 例:# include 格式: putchar(参数) oid main( 功能:将参数对应的字符输出到显示器上 { char a=B’,b,c; 参数可以是字符型或整型的常量和变量b=O putchar(a) 输出:BOY putchar(b) 注意:1、一定包含头文件 stdio. h; putchar(Y) 2、 putcher函数只有一个参数
4.4 字符数据的输入和输出 一、 字符输出函数( putchar函数) 格式 : putchar(参数) 功能: 将参数对应的字符输出到显示器上, 参数可以是字符型或整型的常量和变量 例: #include void main( ) { char a=‘B’, b, c; b=‘O’; putchar(a); putchar(b); putchar(‘Y’); } 输出: BOY 注意: 1、一定包含头文件stdio.h ; 2、putchar函数只有一个参数
二、字符输入函数( getchar函数) 格式: getchar()(注意它是无参函数) 功能:从键盘输入一个字符 假设输入:ABCD∠则A给第一个 例:# include getchar(),B给第二个,C给第三个,D谁 都不给 void main( 输出:注意:一般连续输入可显示字符, i char ch A 若中间有空格、回车等字符, ch=getchar( getchar( 在输出时是不可见的 putchar(ch); 若输入:ABC∠若输入:AB∠ putchar('\n); 输出 输出 putchar(getchar(); A A B
二、 字符输入函数(getchar函数) 格式 : getchar( ) ( 注意它是无参函数) 功能 : 从键盘输入一个字符 例:#include void main( ) { char ch; ch=getchar( ); getchar( ); putchar(ch); putchar(‘\n’); putchar(getchar( )) ; } 假设输入: ABCD↙ 则A给第一个 getchar( ),B给第二个,C给第三个,D谁 都不给。 输出: A C 注意:一般连续输入可显示字符, 若中间有空格、回车等字符, 在输出时是不可见的 若输入: A BC↙ 若输入: AB↙ 输出: A B 输出: A
4.5格式输入输出 格式输出函数 printf( 格式: printf(格式控制,输出表列); 如: printf(“a=%dn”,a); 1.格式控制:用“”括起来的字符串,包括如下两个部分 (1)普通字符(包括转义字符):需要原样输出的字符 (2)格式说明:由%和格式字符组成 其作用是将输出数据按指定的格式输出
4.5 格式输入输出 一、 格式输出函数printf() 格式: printf ( 格式控制, 输出表列 ) ; 如: printf(“a=%d\n” , a) ; 1. 格式控制: 用“ ” 括起来的字符串, 包括如下两个部分 (1) 普通字符( 包括转义字符) : 需要原样输出的字符 (2) 格式说明: 由%和格式字符组成 其作用是将输出数据按指定的格式输出
格式控制:%-0m.nl格式字符 ①格式字符:指定输出项的数据类型和输出格式 ②长度修正符:对长整型和 double型 ⑧域宽及精度描述符mn(m控制域宽,n控制小数位数) ④数0用以在指定数字前的空位是否用0填补(对整型,实型可用) ⑤负号用以指定输出项是否为左对齐方式 2.输出表列:输出项可以是常量,变量,表达式以及函数 例:intx=8,y=-2; printf(%odn”,25) printf("x=%dn”,x); 运行结果:25 printf(x*y=%d\n,x*y); X=8 printf("y=%dn", fabs(y)); x*y=-16 ly|=2
格式控制:% - 0 m.n l 格式字符 ① 格式字符 : 指定输出项的数据类型和输出格式 ② 长度修正符: l 对长整型和double型 ③ 域宽及精度描述符 m.n ( m控制域宽, n 控制小数位数) ④ 数0用以在指定数字前的空位是否用0填补(对整型,实型可用) ⑤ 负号用以指定输出项是否为左对齐方式 2. 输出表列 : 输出项可以是常量, 变量, 表达式以及函数 例: int x=8, y=-2; printf(“%d\n”, 25); printf(“x=%d\n”, x); printf(“x*y=%d\n”, x*y); printf(“|y|=%d\n”, fabs(y) ); 运行结果:25 x=8 x*y=-16 |y|=2
(1)d格式符:用来输出十进制整数。 ·%d:按整型数据的实际长度输出。 %md:m为指定的输出字段的宽度。如果数据位数 小于m,则左端补以空格;否则按实际位数输出。 例如: printf((“%4d%4d”a,b);若 a=123b=12345则输出结果为:123,12345 %ld:输出长整型数据。 例如: long a=135790 printf(“%ld%8ld”raa); 则输出结果为:135790,135790
(1)d格式符:用来输出十进制整数。 • %d:按整型数据的实际长度输出。 • %md:m为指定的输出字段的宽度。如果数据位数 小于m,则左端补以空格;否则按实际位数输出。 例如:printf(“%4d,%4d”,a,b); 若 a=123,b=12345,则输出结果为: 123,12345 • %ld:输出长整型数据。 例如:long a=135790; printf(“%ld,%8ld”,a,a); 则输出结果为:135790, 135790
(2)o格式符:以八进制数形式输出整数。 例如:inta=-1 整数-1在内存中占两个字 节(16位),其补码形式 printf((“%d%0”naa);为: 1111111111111111 1的补码形式如下求得 先求-1绝对值的补码形式,即1的补码形式: o000000000000001 将1的补码按位求反,得1111111111111110 ●最后末位加一,得1111111111111111 输出结果为:-1,177777
(2) o格式符:以八进制数形式输出整数。 例如:int a=-1; printf(“%d,%o”,a,a); 整数-1在内存中占两个字 节(16位),其补码形式 为: 1111111111111111 -1的补码形式如下求得: •先求-1绝对值的补码形式,即1的补码形式: 0000000000000001 •将1的补码按位求反,得1111111111111110 •最后末位加一,得1111111111111111 输出结果为:-1,177777
(3)x格式符:以十六进制数形式输出整数。 例如:inta=-1 printf( "%/ox,%/00%/od", a); 整数-1在内存中占两个字节(16位),其补码形式为: 1111111111111111 输出结果为:fff177777;1
(3) x格式符:以十六进制数形式输出整数。 例如:int a=-1; printf(“%x,%o,%d”,a,a,a); 整数-1在内存中占两个字节(16位),其补码形式为: 1111111111111111 输出结果为:ffff,177777,-1