第 3 章 C 程序的基本控制结构 3.1 顺序结构

36
3 3 C C 第第第第第第第第第 第第第第第第第第第 3.1 第第第第

description

第三次课 2 学时. 第 3 章 C 程序的基本控制结构 3.1 顺序结构. 2. C 程序的顺序结构. 学习重点 1. 函数调用语句 2.Scanf 中地址列表的含义 3.Scanf 和 printf 函数中格式控制串的作用 4.Getchar 和 putchar 函数的作用. 学习目的 1. 了解 C 语句的分类 2. 掌握 C 语句的构成 3. 了解赋值语句的概念 4. 掌握 printf 函数的使用 5. 掌握 scanf 函数的使用 6. 掌握字符输入输出函数 7. 能进行简单的顺序结构程序的设计. 学习难点 - PowerPoint PPT Presentation

Transcript of 第 3 章 C 程序的基本控制结构 3.1 顺序结构

Page 1: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

第第 33 章 章 CC 程序的基本控制结程序的基本控制结构构

3.1 顺序结构

Page 2: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2222

学习目的1. 了解 C 语句的分类2. 掌握 C 语句的构成3. 了解赋值语句的概念4. 掌握 printf 函数的使

用5. 掌握 scanf 函数的使

用6. 掌握字符输入输出函数7. 能进行简单的顺序结构

程序的设计

学习重点1. 函数调用语句2.Scanf 中地址列表

的含义3.Scanf 和 printf

函数中格式控制串的作用

4.Getchar 和putchar 函数的作用学习难点

1.Scanf 和 printf

的应用2.Getchar 和

putchar 函数的应用

22

CC 程序的顺序结构程序的顺序结构

Page 3: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

33

C程序的语句C程序的语句

赋值语句赋值语句

数据输出函数数据输出函数

CC 程序的顺序结构程序的顺序结构

数据输入函数数据输入函数

标准库函数标准库函数

顺序结构程序举例

Page 4: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

44

CC 程序的顺序结构程序的顺序结构

3.1.1 3.1.1 C程序的语句C程序的语句

CC 语句可分为五类:语句可分为五类:(1) (1) 表达式语句表达式语句(2) (2) 函数调用语句函数调用语句(3) (3) 控制语句控制语句(4) (4) 复合语句复合语句(5) (5) 空语句空语句

Page 5: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

55

CC 程序的顺序结构程序的顺序结构

1.1. 表达式语句表达式语句 表达式语句由表达式加上分号“;”组成。表达式语句由表达式加上分号“;”组成。其一般形式为: 其一般形式为: 表达式; 表达式; 执行表达式语句就是计算表达式的值。执行表达式语句就是计算表达式的值。例如: 例如: x=y+z;x=y+z;

2.2. 函数调用语句函数调用语句 由函数名、实际参数加上分号“;”组成。由函数名、实际参数加上分号“;”组成。其一般形式为: 其一般形式为: 函数名函数名 (( 实际参数表实际参数表 )) ;;

Page 6: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

66

CC 程序的顺序结构程序的顺序结构

3.3. 控制语句控制语句控制语句用于控制程序的流程以实现程序的各控制语句用于控制程序的流程以实现程序的各

种结构方式,它们由特定的语句定义符组成。种结构方式,它们由特定的语句定义符组成。C语言有九种控制语句,可分成以下三类:C语言有九种控制语句,可分成以下三类:(1) (1) 条件判断语句条件判断语句ifif 语句,语句, switchswitch 语句语句(2) (2) 循环执行语句循环执行语句do whiledo while 语句,语句, whilewhile 语句,语句, forfor 语句语句(3) (3) 转向语句转向语句breakbreak 语句,语句, gotogoto 语句,语句, continuecontinue 语语

句,句, returnreturn 语句语句

Page 7: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

77

CC 程序的顺序结构程序的顺序结构

4. 4. 复合语句复合语句把多个语句用括号把多个语句用括号 {}{} 括起来组成的一个括起来组成的一个

语句称复合语句。 在程序中应把复合语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语语句看成是单条语句,而不是多条语句,例如 句,例如

{ x=y+5;{ x=y+5; a=b+6;a=b+6; printf(“%d%d”printf(“%d%d” ,, xx ,, a)a) ;;}}是一条复合语句。复合语句内的各条语是一条复合语句。复合语句内的各条语

句都必须以分号“句都必须以分号“ ;”;” 结尾,在括结尾,在括号“号“ }”}” 外不能加分号。外不能加分号。

Page 8: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

88

CC 程序的顺序结构程序的顺序结构

5.5. 空语句空语句只有分号“;”组成的语句称为空语句。只有分号“;”组成的语句称为空语句。

空语句是什么也不执行的语句。在程空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如 序中空语句可用来作空循环体。例如 while(getchar()!='\n'); while(getchar()!='\n'); 本语句的功能本语句的功能是,只要从键盘输入的字符不是回车是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。则重新输入。这里的循环体为空语句。

Page 9: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

99

CC 程序的顺序结构程序的顺序结构

一般形式为: 变量一般形式为: 变量 == 表达式表达式 ;;注意以下几点:注意以下几点:(1)(1)在赋值符“在赋值符“ =”=” 右边的表达式可以是一个赋值表达式,右边的表达式可以是一个赋值表达式,变量 = 变量 =…= 表达式 ; (2) (2) 注意在变量说明中给变量赋初值和赋值语句的区别。注意在变量说明中给变量赋初值和赋值语句的区别。

(3) (3) 在变量说明中,不允许连续给多个变量赋初值。在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的: 如下述说明是错误的: int a=b=c=8; int a=b=c=8; 必须写为: 必须写为: int a=8,b=8,c=8; int a=8,b=8,c=8; 而赋值语句允许连续赋值,下述说明是正确的: 而赋值语句允许连续赋值,下述说明是正确的:

a=b=c=8;a=b=c=8; (4) 注意赋值表达式和赋值语句的区别。

3.1.2 3.1.2 赋值语句赋值语句

Page 10: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1010

CC 程序的顺序结构程序的顺序结构

3.1.3 3.1.3 数据输出函数据输出函数 数 1.printf1.printf 函数函数 (( 格式输出函数格式输出函数 ))

功能功能 :: 按用户指定的格式,把指定的数据显示按用户指定的格式,把指定的数据显示到显示器屏幕上。到显示器屏幕上。

说明说明 :printf:printf 函数是一个标准库函数,它的函函数是一个标准库函数,它的函数原型在头文件 “数原型在头文件 “ stdio.h”stdio.h” 中。大多数中。大多数C语言编译系统不要求在使用 C语言编译系统不要求在使用 printf printf 函数函数之前必须包含之前必须包含 stdio.hstdio.h 文件。文件。

printfprintf 函数调用的一般形式为: 函数调用的一般形式为: printf(“printf(“ 格式控制字符串”,输出表列格式控制字符串”,输出表列 ))

Page 11: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1111

CC 程序的顺序结构程序的顺序结构

(1) (1) 输出表列输出表列【【例例 3-13-1 】】输出函数应用实例输出函数应用实例

一一# include <stdio.h># include <stdio.h>void main( )void main( ){ int a=88,b=89;{ int a=88,b=89; printf("%d %d\n",a,b);printf("%d %d\n",a,b); printf("%d,%d\n",a,b);printf("%d,%d\n",a,b); printf("%c,%c\n",a,b); printf("%c,%c\n",a,b);

printf("a=%d,b=%d\printf("a=%d,b=%d\n",a,b);n",a,b);

}}

程序运行输出结果:程序运行输出结果:88 8988 8988, 8988, 89X,YX,Ya=88,b=89a=88,b=89

Page 12: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1212

CC 程序的顺序结构程序的顺序结构

(2) (2) 格式字符串格式字符串功能功能 :: 用于指定输出格式。用于指定输出格式。组成组成 :: 格式字符串和非格式字符串。格式字符串和非格式字符串。格式字符串格式字符串 :: 以以 %% 开头的字符串,在开头的字符串,在 %% 后面跟有各后面跟有各

种格式字符,以说明输出数据的类型、形式、长种格式字符,以说明输出数据的类型、形式、长度、小数位数等。度、小数位数等。

非格式字符串在输出时原样输出,起提示作用。

格式字符串的一般形式为: %[ 标志 ][ 输出最小宽度 ][. 精度 ][ 长度 ] 类型

Page 13: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1313

CC 程序的顺序结构程序的顺序结构

类型类型 :: 表示输出类型的格式字符格式字符意义表示输出类型的格式字符格式字符意义dd 以十进制形式输出带符号整数以十进制形式输出带符号整数 (( 正数不输出符号正数不输出符号 ))

oo 以八进制形式输出无符号整数以八进制形式输出无符号整数 (( 不输出前缀不输出前缀 0)0)

xx 以十六进制形式输出无符号整数以十六进制形式输出无符号整数 (( 不输出前缀不输出前缀 0X)0X)

uu 以十进制形式输出无符号整数以十进制形式输出无符号整数ff 以小数形式输出单、双精度实数以小数形式输出单、双精度实数ee 以指数形式输出单、双精度实数以指数形式输出单、双精度实数gg 以以 %f%e%f%e 中较短的输出宽度输出单、双精度实数中较短的输出宽度输出单、双精度实数cc 输出单个字符输出单个字符ss 输出字符串输出字符串

Page 14: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1414

CC 程序的顺序结构程序的顺序结构

标志标志 ::- - 结果左对齐,右边填空格结果左对齐,右边填空格 + + 结果右对齐,左边填空格结果右对齐,左边填空格输出最小宽度输出最小宽度 :: 用十进制整数来表示输出的最少位数。若实际位用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格。少于定义的宽度则补以空格。精度精度 :: 以“以“ .”.” 开头,后跟十进制整数。开头,后跟十进制整数。如果输出数字,则表示小数的位数;如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。若实际位数大于所定义的精度数,则截去超过的部分。附加格式符附加格式符 ::hh 、、 ll 两种两种hh 表示按短整型量输出,表示按短整型量输出, ll 表示按长整型量输出。表示按长整型量输出。

Page 15: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1515

CC 程序的顺序结构程序的顺序结构

【【例例 3-23-2 】】输出函数应用实例二输出函数应用实例二# include <stdio.h># include <stdio.h>void main()void main(){int a=12;{int a=12;float b=123.456789;float b=123.456789;double c=12345678.1234567;double c=12345678.1234567;char d='p';char d='p';printf("a=%d,%5d,%o,%x\n",a,a,a,a);printf("a=%d,%5d,%o,%x\n",a,a,a,a);printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);printf("c=%lf,%f,%8.4lf\n",c,c,c);printf("c=%lf,%f,%8.4lf\n",c,c,c);printf("d=%c,%8c\n",d,d);printf("d=%c,%8c\n",d,d);}} 程序运行输出结果:程序运行输出结果:

a=12, 12,14,ca=12, 12,14,cb=123.456787, 123.456787,123.4568,1.234568e+002b=123.456787, 123.456787,123.4568,1.234568e+002c=c=12345678.123457, 12345678.123457, 12345678.123512345678.123457, 12345678.123457, 12345678.1235d=p, pd=p, p

Page 16: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1616

CC 程序的顺序结构程序的顺序结构

2.putchar 2.putchar 函数函数putchar putchar 函数是字符输出函数,其功能是在显示函数是字符输出函数,其功能是在显示

器上输出单个字符。器上输出单个字符。其一般形式为:其一般形式为:putchar(putchar( 字符变量字符变量 ) ) 例如:例如: putchar('A'); putchar('A'); 输出大写字母输出大写字母 AAputchar(x); putchar(x); 输出字符变量输出字符变量 xx 的值的值putchar('\n'); putchar('\n'); 换行,对控制字符则执行控制功换行,对控制字符则执行控制功

能,不在屏幕上显示。 能,不在屏幕上显示。 使用本函数前必须要用文件包含命令使用本函数前必须要用文件包含命令

Page 17: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1717

CC 程序的顺序结构程序的顺序结构

【【例例 3-33-3 】】输出函数应用实例三输出函数应用实例三#include<stdio.h>#include<stdio.h>void main( )void main( ){char a='D',b='a',c='y';{char a='D',b='a',c='y';putchar(a);putchar(b);putchar(b);putchar(c);putchar('\putchar(a);putchar(b);putchar(b);putchar(c);putchar('\

t');t');putchar(a);putchar(b);putchar(a);putchar(b);putchar('\n');putchar('\n');putchar(b);putchar(c);putchar(b);putchar(c);putchar('\n');putchar('\n');}}程序运行输出结果:程序运行输出结果:Daay DaDaay Daayay

Page 18: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1818

CC 程序的顺序结构程序的顺序结构

3.1.4 3.1.4 数据输入函数数据输入函数1. scanf1. scanf 函数 函数 scanfscanf 函数称为格式输入函数,即按用户指定的格式从函数称为格式输入函数,即按用户指定的格式从

键盘上把数据输入到指定的变量之中。键盘上把数据输入到指定的变量之中。scanfscanf 函数是一个标准库函数,它的函数原型在头文件函数是一个标准库函数,它的函数原型在头文件

““ stdio.h”stdio.h” 中,与中,与 printfprintf 函数相同,大多数C语言函数相同,大多数C语言编译系统允许在使用编译系统允许在使用 scanfscanf 函数之前不必包含函数之前不必包含stdio.hstdio.h 文件。文件。

scanfscanf 函数的一般形式为:函数的一般形式为: scanf(“scanf(“ 格式控制字符串”,地址表列格式控制字符串”,地址表列 )) ;;

Page 19: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

1919

CC 程序的顺序结构程序的顺序结构

(( 11)地址表列)地址表列地址是由地址运算符“地址是由地址运算符“ &”&” 后与变量名组成的。例后与变量名组成的。例

如,如, &a,&b&a,&b 分别表示变量分别表示变量 aa 和变量和变量 b b 的地址。这的地址。这个地址就是编译系统在内存中给个地址就是编译系统在内存中给 a,ba,b 变量分配的地变量分配的地址。址。

【【例例 3-43-4 】】输入函数应用实例一输入函数应用实例一#include<stdio.h>#include<stdio.h>void main()void main(){int a,b,c;{int a,b,c;printf("input a,b,c\n");printf("input a,b,c\n");scanf("%d%d%d",&a,&b,&c);scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);printf("a=%d,b=%d,c=%d\n",a,b,c);} }

程序运行结果:程序运行结果:屏幕显示:屏幕显示: input a,b,cinput a,b,c用户输入:用户输入: 1(1( 空格空格 )2)2(空(空格)格) 3(3( 回车回车 ))输出结果:输出结果: a=1,b=2,c=3a=1,b=2,c=3

Page 20: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2020

CC 程序的顺序结构程序的顺序结构

(( 22)格式控制字符串)格式控制字符串格式字符串的一般形式为:格式字符串的一般形式为:%[*][%[*][ 输入数据宽度输入数据宽度 ][][ 长度长度 ]] 类型类型

类型:表示输入数据的类型d 输入十进制整数o 输入八进制整数x 输入十六进制整数u 输入无符号十进制整数f 或 e 输入实型数 ( 用小数形式或指数形式 )c 输入单个字符s 输入字符串

Page 21: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2121

CC 程序的顺序结构程序的顺序结构

““*”*” 符符 :: 用以表示该输入项用以表示该输入项 ,,读入后不赋予相应的变量,读入后不赋予相应的变量,即跳过该输入值。即跳过该输入值。

如如 : scanf("%d %*d %d",&a,&b);: scanf("%d %*d %d",&a,&b);当输入为:当输入为: 1 2 31 2 3 时,把时,把 11 赋予赋予 aa ,, 22被跳过,被跳过, 33 赋赋

予予 bb 。。 宽度 :用十进制整数指定输入的宽度 ( 即字符数 ) 。 如: scanf("%4d",&a);输入: 12345678, 只把 1234 赋予变量 a ,其余部分舍

去。又如: scanf("%4d%4d",&a,&b);输入: 12345678,将把 1234 赋予 a ,而把 5678 赋予

b 。 附加格式符 : 附加格式符为 l 和 hl 表示输入长整型数据 ( 如 %ld) 和双精度浮点数

( 如 %lf) 。 h 表示输入短整型数据。

Page 22: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2222

CC 程序的顺序结构程序的顺序结构

使用使用 scanfscanf 函数还必须注意以下几点:函数还必须注意以下几点:a)scanfa)scanf 函数中没有精度控制。 函数中没有精度控制。 "%5.2f""%5.2f" 是非法的。是非法的。b)scanfb)scanf 中要求给出变量地址,变量名前用中要求给出变量地址,变量名前用 && 。。c)c) 在输入多个数值数据时,若格式控制串中没有非格在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格、回车或式字符作输入数据之间的间隔则可用空格、回车或TABTAB 键作间隔。键作间隔。d)d) 在输入字符数据时,若格式控制串中无非格式字符,在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。则认为所有输入的字符均为有效字符。如:如: scanf("%c%c%c",&a,&b,&c);scanf("%c%c%c",&a,&b,&c);输入:输入: x y zx y z 时,则把时,则把 'x''x' 赋予赋予 a, ' 'a, ' ' 赋予赋予 b,'y'b,'y' 赋予赋予cc 。。e)e) 如果格式控制串中有非格式字符则输入时也要输入如果格式控制串中有非格式字符则输入时也要输入该非格式字符。该非格式字符。 例如:例如: scanf("a=%d,b=%d,c=%d",&a,&b,&c);scanf("a=%d,b=%d,c=%d",&a,&b,&c);则输入应为:则输入应为: a=5,b=6,c=7(a=5,b=6,c=7( 回车回车 ))

Page 23: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2323

CC 程序的顺序结构程序的顺序结构

【【例例 3-53-5 】】输入函数应用实例二输入函数应用实例二#include <stdio.h>#include <stdio.h>void main()void main(){{ char a,b;char a,b; printf("input character a,b\n");printf("input character a,b\n"); scanf("%c %c",&a,&b);scanf("%c %c",&a,&b); printf("\n%c%c\n",a,b);printf("\n%c%c\n",a,b); }}

程序运行结果:程序运行结果:屏幕显示:屏幕显示: input character a,binput character a,b用户输入:用户输入: m(m( 空格空格 )n()n( 回车回车 ))输出结果:输出结果: mnmn

Page 24: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2424

CC 程序的顺序结构程序的顺序结构

2.getchar2.getchar 函数函数功能功能 :: 字符输入函数,其功字符输入函数,其功

能是从终端输入一个字符。能是从终端输入一个字符。其一般形式为其一般形式为 getchargetchar ()()函数的值就是从输入设备得函数的值就是从输入设备得

到的字符。到的字符。程序运行结果:屏幕显示:请输入一个字符或符号:用户输入: a( 回车 )输出结果: aa aa

【例 3-6 】输入函数应用实例三#include<stdio.h>void main( ){char ch;printf("请输入一个字符或符号: \n"); ch=getchar(); putchar(ch); putchar(ch); putchar('\n'); putchar(ch); putchar(ch);putchar('\n');}

Page 25: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2525

CC 程序的顺序结构程序的顺序结构

3.1.5 3.1.5 标准库函数标准库函数

库函数:是将函数放到一个文件里,供编程人员使 库函数:是将函数放到一个文件里,供编程人员使 用,一般是放到 用,一般是放到 .lib.lib 文件里的。文件里的。 两类两类 :: 一类是一类是 cc 语言标准规定的库函数,一类是编语言标准规定的库函数,一类是编译器特定的库函数。译器特定的库函数。 头文件头文件 ::扩展名为扩展名为 .h.h ,用,用 #include#include 命令将包含库命令将包含库函数的文件放在程序中函数的文件放在程序中 ..如如 stdio.h:stdio.h: 使用标准输入输出库函数时使用;使用标准输入输出库函数时使用; string.h:string.h: 对字符串进行操作的标准函数对字符串进行操作的标准函数 ;; math.h:math.h: 有关数学的标准函数。有关数学的标准函数。

Page 26: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2626

CC 程序的顺序结构程序的顺序结构

如在程序中要调用标准输入输出库函数时,文件开头如在程序中要调用标准输入输出库函数时,文件开头应该加入以下预编译命令:应该加入以下预编译命令:#include <stdio.h>#include <stdio.h>或者或者#include “stdio.h”#include “stdio.h”

二者的区别二者的区别 :: #include <stdio.h>:#include <stdio.h>: 系统到存放系统到存放 CC 库函数头文件库函数头文件的目录中寻找要包含的文件,此为标准方式;的目录中寻找要包含的文件,此为标准方式; #include “stdio.h”:#include “stdio.h”: 系统先在用户当前目录中寻找系统先在用户当前目录中寻找要包含的文件,若找不到,再按标准方式查找。要包含的文件,若找不到,再按标准方式查找。

Page 27: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2727

CC 程序的顺序结构程序的顺序结构

3.1.6 3.1.6 顺序结构程序举例 顺序结构程序举例 【【例例 3-73-7 】】输出小写英文字母输出小写英文字母 ee 和和 ff 的的 ASCIIASCII码和码和对应的大写英文字母。对应的大写英文字母。#include <stdio.h>#include <stdio.h>void main( )void main( ){{ char a,b;char a,b; a='e';b='f'; a='e';b='f'; printf("%d,%d \n%c,%c \n",a,b,a-32,b-32);printf("%d,%d \n%c,%c \n",a,b,a-32,b-32); }}

程序运行输出结果:程序运行输出结果:101,102101,102 E,FE,F

Page 28: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2828

CC 程序的顺序结构程序的顺序结构

【【例例 3-83-8 】】将输入的角度转换成弧度。将输入的角度转换成弧度。#include <stdio.h>#include <stdio.h>void main()void main(){{ int degree;int degree; float radian;float radian; printf("input degree<int>");printf("input degree<int>"); scanf("%d",&degree);scanf("%d",&degree); radian=3.14159*degree/180;radian=3.14159*degree/180; printf("%d degrees equal to %f radians. \n", printf("%d degrees equal to %f radians. \n", degree,radian);degree,radian);}}

程序运行结果:程序运行结果:屏幕显示:屏幕显示: input input degree<int>degree<int>用户输入:用户输入: 45(45( 回车回车 ))输出结果:输出结果: 45 45 degrees equal to degrees equal to 0.785398 radians.0.785398 radians.

Page 29: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

2929

CC 程序的顺序结构程序的顺序结构

【【例例 3-93-9 】】逆序输出一个三位正整数的每一位数字。逆序输出一个三位正整数的每一位数字。#include <stdio.h>#include <stdio.h>void main()void main(){ int d1,d2,d3,i;{ int d1,d2,d3,i; printf("printf("请输入一个三位正整数:请输入一个三位正整数: ");"); scanf("%d",&i);scanf("%d",&i); d1=i/100;d1=i/100; d2=i%100/10;d2=i%100/10; d3=i%10;d3=i%10; printf("\n%d->%d%d%d\n",i,d3,d2,d1);printf("\n%d->%d%d%d\n",i,d3,d2,d1);}} 程序运行结果:程序运行结果:

屏幕显示:请输入一个三位正整数:屏幕显示:请输入一个三位正整数:用户输入:用户输入: 123(123( 回车回车 ))输出结果:输出结果: 123->321123->321

Page 30: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

3030

CC 程序的顺序结构程序的顺序结构【【例例 3-103-10 】】将连续输入的将连续输入的 44 个数字字符拼成一个个数字字符拼成一个 intint型的数值。如输入型的数值。如输入 44 个字符分别个字符分别是是 '1''1' 、、 '2''2' 、、 '4''4' 、、 '8''8' ,应该得到一个整形数值,应该得到一个整形数值12481248 。。#include <stdio.h>#include <stdio.h>void main()void main(){ char d1,d2,d3,d4;{ char d1,d2,d3,d4; int i; int i; printf("printf("请输入四个数字字符:请输入四个数字字符: ");"); d1=getchar();d1=getchar(); d2=getchar();d2=getchar(); d3=getchar();d3=getchar(); d4=getchar();d4=getchar(); i=(d1-'0')*1000+(d2-'0')*100+(d3-'0')*10+i=(d1-'0')*1000+(d2-'0')*100+(d3-'0')*10+(d4-'0')*1;(d4-'0')*1; printf("printf(" 这个值是这个值是 %d \n",i); %d \n",i); }}

程序运行输出结果:程序运行输出结果:屏幕显示:请输入屏幕显示:请输入四个数字字符:四个数字字符:用户输入:用户输入: 12481248(( 回车回车 ))输出结果:这个值输出结果:这个值是是 12481248

Page 31: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

3131

CC 程序的顺序结构程序的顺序结构

本次课学习小结本次课学习小结1. C 语句的分类2.C 语句的构成3. 赋值语句4.printf 函数的使用5.scanf 函数的使用6. 字符输入输出函数7. 简单的顺序结构程序的设计

Page 32: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

3232

CC 程序的顺序结构程序的顺序结构

本次课等级考试考点本次课等级考试考点1. printf 函数中的格式字符串中各项的应用2. scanf 函数中的格式字符串和地址表列中的取地址符 & 的使用3.getchar 函数的应用4.putchar 函数的应用5 顺序程序的控制结构

Page 33: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

3333

CC 程序的顺序结构程序的顺序结构

一、选择题 : ( 2007 年 4月份考题)( 16)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); 语句为变量 a1 和 a2 赋数值 10 和 20 ,为变量 c1 和c2 赋字符 X 和 Y 。以下所示的输入形式正确的是(注:□代表空格字符) A ) 10□X□20□Y〈回车〉B ) 10□X20□Y〈回车 〉C ) 10□X〈回车 〉 D ) 10X〈回车〉 20□Y〈回车 〉 20Y〈回车 〉

D

练习练习 :: 等级考试真题等级考试真题

Page 34: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

3434

CC 程序的顺序结构程序的顺序结构

二、填空题 : ( 2007 年 4月份考题)执行以下程序后的输出结果是 main(){ int a=10; a=(3*5,a+4); printf(“a=%d\n”,a);}

a=14

练习练习 :: 等级考试真题等级考试真题

Page 35: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

3535

CC 程序的顺序结构程序的顺序结构

三、程序修改题 : ( 2007 年 4月份考题填空题) 执行以下程序时输入 1234567, 输出结果是12 34.请改错main(){ int a=1,b; /************found**********/ scanf("%2d%2d",a,b); printf("%d %d\n",a,b); } 错误: scanf(“%2d%2d”,a,b);正确: scanf(“%2d%2d”,&a,&b);

练习练习 :: 等级考试真题等级考试真题

Page 36: 第 3 章   C 程序的基本控制结构 3.1   顺序结构

3636

CC 程序的顺序结构程序的顺序结构

四、编程题 : 3.1 从键盘输入一个圆的半径,输出圆的面积。输出时要有文字说明,取小数点后 2 位。

练习练习 ::

#include <stdio.h> void main() { float r,s; scanf(“%f”,&r); s=3.14*r*r; printf(“s=%.2f”,s);}

本次课作业 :习题集 :第三章

选择题: 1 、 3 、 5 、 6

填空题: 1 、 2 、 3 、 4 、 5

改错题: 2 、 3

编程题: 1