《二级C语言程序设计》第3章顺序结构程序设计.ppt
第3章 顺序结构程序设计,3.1 赋值语句,赋值语句是由赋值表达式再加上分号构成的表达式语句。 赋值语句的一般形式为: 变量=表达式; 赋值语句的功能和特点都与赋值表达式相同。,第3章 顺序结构程序设计,3.2 输入输出函数,语言要求在使用输入/输出库函数之前必须包含stdio.h文件。 包含形式如下: #include 或 #include “stdio.h“,第3章 顺序结构程序设计,3.2 输入输出函数,3.2.1 字符数据输入输出函数,1字符数据输入函数,格式:getchar() 功能:从键盘上接收输入的一个字符。 例3.1 从键盘输入一个字符,并将其存入字符型变量c 中。 #include “stdio.h“ main() char c; c= getchar(); 其中c是字符型(char)或整型(int)变量。,第3章 顺序结构程序设计,3.2 输入输出函数,3.2.1 字符数据输入输出函数,1字符数据输入函数,2字符数据输出函数,格式:putchar(c) 功能:向终端输出一个字符。 说明:(1)c可以是字符型,也可以是整型。 (2)c可以是变量,可以是常量,也可以是表达式。,第3章 顺序结构程序设计,3.2 输入输出函数,3.2.1 字符数据输入输出函数,1字符数据输入函数,2字符数据输出函数,例3.2 从键盘输入一个字符,在屏幕上显示出来。 #include “stdio.h“ main() char c; c=getchar(); /*从键盘输入一个字符*/ putchar(c); /*在屏幕上显示一个字符*/ ,第3章 顺序结构程序设计,3.2 输入输出函数,3.2.2 格式化输入输出函数,1格式化输出函数,格式: printf(格式控制,输出项表); 功能:将“输出项表”中给出的输出项按“格式控制”中规定的输出格式输出到标准输出设备。 说明: (1)输出项表中以逗号分隔列出需要输出的项(变量、常量、或表达式)。 (2)格式控制是用双引号括起来的字符串,包括普通字符和格式说明。 普通字符:是需要原样输出的字符(包括转义字符)。 格式说明:由“%“和格式符组成,如%c和%f等,作用是将要输出的数据转换为指定格式后输出。,printf函数中使用的格式字符如表所示。,例3.3 #include main() int a=123; long b=135790; printf(“a=%dn“,a); printf(“a=%4dn“,a); printf(“a=%2dn“,a); printf(“b=%ld“,b); 屏幕显示结果: a=123 a= 123 a=123 b=135790,例3.4 #include main() int a=-1; char c='a' printf(“%d,%o,%x,%un“,a,a,a,a); printf(“%d,%cn“,c,c); 屏幕显示结果: -1,177777,ffff,65535 97,a,例3.5 #include “stdio.h“ main() printf(“%s,%7.2sn“, “CHINA“, “CHINA“ ); printf(“ %.4s,%-5.3sn“, “CHINA“, “CHINA“); 屏幕显示结果: CHINA,- - - - -CH CHIN,CHI- - (注:-表示空格。),例3.6 #include main() float a=1.23; printf(“%f,%7.2f,%2.1fn“, a,a,a ); 屏幕显示结果: 1.230000,- - -1.23,1.2,第3章 顺序结构程序设计,3.2 输入输出函数,3.2.2 格式化输入输出函数,1格式化输出函数,2格式化输入函数,格式:scanf(格式控制,地址表); 功能:用来输入任何类型数据,可同时输入多个不同类型的数据。 说明: (1)地址表中每项以逗号分隔,列出需要输入的项(变量)的地址,而不是变量名。,(2)同printf函数一样,格式控制是用双引号括起来的字符串。包括普通字符和格式说明。 普通字符:是需要原样输入的字符,一般不提倡使用。 格式说明:由%和格式符组成,如%c和%f等,作用是规定按指定的格式输入数据。,scanf函数中使用的格式字符如表所示。,(3)scanf 中“格式控制”中的格式字符必须与“格式控制”后的变量的类型匹配。 例如: int a,b; char d; float w; scanf(“%d%o“, ,(4)使用%c时,空格和转义字符均作为有效字符输入。 例如: char a,b; scanf(“%c%c“, 输入:x y 结果:a='x' b=' ',(5)如果格式说明符之间没有任何字符,则在输入非字符型数据时,两个数据之间要使用空格、Tab或回车键做间隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符做间隔。 例如: scanf(“%d,%f,%c“, 在输入数据时,应采用如下形式: 20,7.8,a,(6)可以在格式说明符的前面指定输入数据所占的宽度,系统将自动按此宽度来截取所需的数据。 例如: int a,b; char d,w; scanf(“%d%d“, 输入:1234 23 123456 123a1 结果: a=1234 b=23 a=123 b=456 a=123 d=a w=1,第3章 顺序结构程序设计,3.3 注释,注释行的作用是增强程序的可读性。 注释行的一般形式: /*注释内容*/ 其中,注释内容是对程序段或程序行的注释说明。 注释行可以作为单独的一行出现在程序中,也可以出现在某个语句后,在编译时忽略。,第3章 顺序结构程序设计,3.3 注释,例3.7 计算a、b两数据之和的C程序。 #include main() /*主函数*/ int a,b,s; /*定义a,b,s三个整型变量*/ printf(“a,b=?“); scanf(“%d,%d“, /*输出和s的值*/ ,第3章 顺序结构程序设计,3.4 应用举例,例3.8 求一个同学三门功课的平均成绩。,分析: 已知:一个同学三门功课的成绩(用三个变量a,b,c来存放) 求:该同学的平均成绩(用一个变量v来存放) 处理:用赋值表达式 v=(a+b+c)/3.0来计算v的值。 算法用如图所示的流程图表示:,第3章 顺序结构程序设计,3.4 应用举例,例3.8 求一个同学三门功课的平均成绩。,程序: #include main() int a,b,c; float v; printf(“a,b,c=?“); scanf(“%d,%d,%d“, ,第3章 顺序结构程序设计,3.4 应用举例,例3.9 将键盘上输入的大写字母转换成小写字母输出。,分析: 已知:键盘上输入的大写字母(用一个变量c来存放) 求:对应的小写字母(仍用变量c来存放) 处理:用赋值表达式 c=c+32来求小写字母。 算法用如图所示的流程图表示:,第3章 顺序结构程序设计,3.4 应用举例,例3.9 将键盘上输入的大写字母转换成小写字母输出。,程序: #include main() char c; printf(“c=?“); scanf(“%c“,*/ ,第3章 顺序结构程序设计,3.4 应用举例,例3.10 从键盘上输入两变量的值,再交换两变量的值输出。,分析: 已知:从键盘上输入的两变量的原始值(用两个变量a和b来存放) 求:交换两变量的值(仍用变量a和b来存放) 处理:(1)要借助一个中间变量来实现(设为t)。 (2)用逗号表达式t=a,a=b,b=t来交换a,b两变量的值。 算法用如图所示的流程图表示:,第3章 顺序结构程序设计,3.4 应用举例,例3.10 从键盘上输入两变量的值,再交换两变量的值输出。,程序: #include main() int a,b,t; printf(“a=?“); scanf(“%d“, ,第3章 顺序结构程序设计,3.5 本章考点,scanf函数的输入格式。 printf函数的输出格式。 注释的书写格式。,第3章 顺序结构程序设计,3.6 典型试题详解,1有定义语句:int x,y;,若要通过scanf(“%d,%d“,语句中格式控制“%d,%d”的两格式说明符之间使用了普通字符“,”,需要原样输入。,第3章 顺序结构程序设计,3.6 典型试题详解,2有以下程序段: int m=0,n=0;char c='a' scanf(“%d%c%d“, 若从键盘上输入:10A10 ,则输出结果是_。 A)10,A,10 B)16,a,10 C)10,a,0 D)10,A,0 正确答案:A(知识点:scanf函数的输入格式) 试题分析:当%c处在%d 之后时,输入数据间不能用分隔符,所以m、c、n经scanf(“%d%c%d“,&m,&c,&n)重新输入值后,分别为10、A、10。,第3章 顺序结构程序设计,3.6 典型试题详解,3以下程序的运行结果是_。 A)17,021,0x11 B)17,17,17 C)17,0x11,021 D)17,21,11 main() int k=17; printf(“%d,%o,%xn“,k,k,k); 正确答案:D(知识点:printf函数的输出格式) 试题分析:将k的值17分别转换成八进制、转换十六进制输出。17对应的八进制数、十六进制数21、11,而表示八进制数、十六进制数为21、11的021、0x11是在C程序中的表示方法,输出在屏幕上的数据是没有进制标志的。,第3章 顺序结构程序设计,3.6 典型试题详解,4以下程序段的输出结果是_。 int a=1234; printf(“%2dn“,a); A)12 B)34 C)1234 D)提示出错,无结果 正确答案:C(知识点:printf函数的输出格式) 试题分析:以%2d方式输出时,当指定宽度不够宽时,整型数据原样输出。,第3章 顺序结构程序设计,3.6 典型试题详解,5以下叙述中正确的是_。 A)C程序中注释部分可以出现在程序中任何合适的地方 B)花括号“”和“”只能作为函数体的定界符 C)构成C程序的基本单位是函数,所有函数名都可以由用户命名 D)分号是C语句之间的分隔符,不是语句的一部分 正确答案:A(知识点:C语言程序的构成及格式,注释语句) 试题分析:注释部分包含在“/*”和“*/”之间,可以出现在程序的任何地方,在编译时忽略。,