靳润昭C语言教程讲义 2001年2月17日 4最简单的C程序设计一顺序程序设计 C语句概述 42赋值语句 3数据输入输出的概念及在C语言中的实现 44字符数据的输入输出 44 1 putchar函数(字符输出函数) 442 getchar函数(键盘输入函数) 4.5 格式输入与输出 45.1 printf函数(格式输出函数) 45558 452 scanf函数(格式输入函数) 46顺序结构程序设计举例 4最简单的C程序设计一顺序程序设计 从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支结构、循环 结构。这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些 程序结构。本章介绍这些基本语句及其在顺序结构中的应用,使读者对C程序有一个初步 的认识,为后面各章的学习打下基础。 4.1c语句概述 C程序的结构: C程序 源程序文件1 源程序文件2 源程序文件n 预处理命令 全局变量声明 函数1 函数n 函数首部 函数体 局部变量声明 执行语句 C程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的 第1页
靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第1页 4 最简单的 C 程序设计—顺序程序设计........................................................................ 1 4.1 C语句概述................................................................................................. 1 4.2 赋值语句..................................................................................................... 3 4.3 数据输入输出的概念及在 C 语言中的实现................................................... 4 4.4 字符数据的输入输出................................................................................... 4 4.4.1 putchar 函数(字符输出函数)............................................................ 4 4.4.2 getchar 函数(键盘输入函数) ............................................................. 5 4.5 格式输入与输出.......................................................................................... 5 4.5.1 printf 函数(格式输出函数)................................................................ 5 4.5.2 scanf 函数(格式输入函数)..................................................................... 8 4.6 顺序结构程序设计举例.............................................................................. 12 4 最简单的 C 程序设计—顺序程序设计 从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支结构、循环 结构。 这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些 程序结构。 本章介绍这些基本语句及其在顺序结构中的应用,使读者对C程序有一个初步 的认识, 为后面各章的学习打下基础。 4.1 C语句概述 C程序的结构: 源程序文件1 预处理命令 全局变量声明 函数首部 局部变量声明 执行语句 函数体 函 数1 函 数n 源程序文件2 源程序文件n C程序 C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的
靳润昭C语言教程讲义 2001年2月17日 C语句可分为以下五类: 1)表达式语句 2)函数调用语句 3)控制语句 4)复合语句 5)空语句 1.表达式语句:表达式语句由表达式加上分号“;”组成。 其一般形式为 表达式 执行表达式语句就是计算表达式的值。 例如 x=y+z;赋值语句 y+z;加法运算语句,但计算结果不能保留,无实际意义: i++;自增1语句,i值增1 2.函数调用语句:由函数名、实际参数加上分号“;”组成 其一般形式为: 函数名(实际参数表); 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行 被调函数体中的语句,求取函数值(在后面函数中再详细介绍)。 例如 printf(" C Program");调用库函数,输出字符串。 3.控制语句:控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定 的语句定义符组成。C语言有九种控制语句。可分成以下三类 1)条件判断语句:if语句、 switch语句 2)循环执行语句: do while语句、 while语句、for语句 3)转向语句: break语句、goto语句、 continue语句、 return语句 4.复合语句:把多个语句用括号仆}括起来组成的一个语句称复合语句 在程序中应把复合语句看成是单条语句,而不是多条语句。 例如: a=b+c printf( %d%d", x, a) 是一条复合语句。 复合语句内的各条语句都必须以分号“;"结尾,在括号"}〃外不能加分号。 5.空语句:只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程 序中空语句可用来作空循环体。 例如 while(getchar(!=\n') 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。 这里的循环体为空语句 第2页
靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第2页 C 语句可分为以下五类: 1) 表达式语句 2) 函数调用语句 3) 控制语句 4) 复合语句 5) 空语句 1. 表达式语句:表达式语句由表达式加上分号“;”组成。 其一般形式为: 表达式; 执行表达式语句就是计算表达式的值。 例如: x=y+z; 赋值语句; y+z; 加法运算语句,但计算结果不能保留,无实际意义; i++; 自增 1 语句,i 值增 1。 2. 函数调用语句:由函数名、实际参数加上分号“;”组成。 其一般形式为: 函数名(实际参数表); 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行 被调函数体中的语句,求取函数值 (在后面函数中再详细介绍) 。 例如: printf("C Program");调用库函数,输出字符串。 3. 控制语句:控制语句用于控制程序的流程, 以实现程序的各种结构方式。它们由特定 的语句定义符组成。C语言有九种控制语句。 可分成以下三类: 1) 条件判断语句:if 语句、switch 语句; 2) 循环执行语句:do while 语句、while 语句、for 语句; 3) 转向语句:break 语句、goto 语句、continue 语句、return 语句。 4. 复合语句:把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句。 例如: { x=y+z; a=b+c; printf(“%d%d”,x,a); } 是一条复合语句。 复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。 5. 空语句:只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程 序中空语句可用来作空循环体。 例如 while(getchar()!='\n') ; 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。 这里的循环体为空语句
靳润昭C语言教程讲义 2001年2月17日 42赋值语句 赋值语句是由赋值表达式再加上分号构成的表达式语句 其一般形式为 变量=表达式 赋值语句的功能和特点都与赋值表达式相同。它是程序中使用最多的语句之 在赋值语句的使用中需要注意以下几点 1.由于在赋值符“=“右边的表达式也可以又是一个赋值表达式 因此,下述形式 变量=(变量=表达式) 是成立的,从而形成嵌套的情形 其展开之后的一般形式为: 变量=变量=.=表达式 例如 C-d-e 按照赋值运算符的右接合性,因此实际上等效于 2.注意在变量说明中给变量赋初值和赋值语句的区别 给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之 间仍必须用逗号间隔,而赋值语句则必须用分号结尾。 例如 int a=5. b 3.在变量说明中,不允许连续给多个变量赋初值 如下述说明是错误的 int a=b=c=5 必须写为 nt a=5. b=5.c 而赋值语句允许连续赋值 4.注意赋值表达式和赋值语句的区别。 赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值 语句则不能 下述语句是合法的: if((x=y+5)>0)z=x; 语句的功能是,若表达式x=y+5大于0则z=x。 下述语句是非法的 if((x=y+5;)>0)z=x 因为x=y+5;是语句,不能出现在表达式中 第3页
靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第3页 4.2 赋值语句 赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量=表达式; 赋值语句的功能和特点都与赋值表达式相同。 它是程序中使用最多的语句之一。 在赋值语句的使用中需要注意以下几点: 1. 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式, 因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套的情形。 其展开之后的一般形式为: 变量=变量=…=表达式; 例如: a=b=c=d=e=5; 按照赋值运算符的右接合性,因此实际上等效于: e=5; d=e; c=d; b=c; a=b; 2. 注意在变量说明中给变量赋初值和赋值语句的区别。 给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之 间仍必须用逗号间隔,而赋值语句则必须用分号结尾。 例如: int a=5,b,c; 3. 在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的: int a=b=c=5 必须写为 int a=5,b=5,c=5; 而赋值语句允许连续赋值。 4. 注意赋值表达式和赋值语句的区别。 赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值 语句则不能。 下述语句是合法的: if((x=y+5)>0) z=x; 语句的功能是,若表达式 x=y+5 大于 0 则 z=x。 下述语句是非法的: if((x=y+5;)>0) z=x; 因为 x=y+5;是语句,不能出现在表达式中
靳润昭C语言教程讲义 2001年2月17日 43数据输入输出的概念及在C语言中的实现 1)所谓输入输出是以计算机为主体而言的。 2)本章介绍的是向标准输出设备显示器输出数据的语句。 3)在C语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。 4)在使用C语言库函数时,要用预编译命令 #include 将有关“头文件”包括到源文件中 使用标准输入输出库函数时要用到“ stdio.h"文件,因此源文件开头应有以下预 编译命令 #include stdio. h 或 #include stdio. h stdio是 standard input& outupt的意思。 5)考虑到 printf和 scanf函数使用频繁,系统允许在使用这两个函数时可不加 #include stdio. h #include stdio. hr 44字符数据的输入输出 44 putchar函数(字符输出函数) putchar函数是字符输出函数,其功能是在显示器上输出单个字符 其一般形式为: 例如: putchar(字符变量) putchar(A');(输出大写字母A) (输出字符变量x的值) putchar(\101);(也是输出字符A) putchar(Ⅶn’);(换行) 对控制字符则执行控制功能,不在屏幕上显示。 使用本函数前必须要用文件包含命令: #includestdio h 或 #include stdio. h 【例4.1】输出单个字符 #include<stdio. h> maino char a=B, b= putchar(a): putchar(b): putchar(b): putchar(c): putchar('\t') putchar(a): putchar(b) 第4页
靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第4页 4.3 数据输入输出的概念及在 C 语言中的实现 1) 所谓输入输出是以计算机为主体而言的。 2) 本章介绍的是向标准输出设备显示器输出数据的语句。 3) 在C语言中,所有的数据输入/输出都是由库函数完成的。 因此都是函数语句。 4) 在使用C语言库函数时,要用预编译命令 #include 将有关“头文件”包括到源文件中。 使用标准输入输出库函数时要用到 “stdio.h”文件,因此源文件开头应有以下预 编译命令: #include< stdio.h > 或 #include ”stdio.h” stdio 是 standard input &outupt 的意思。 5) 考虑到 printf 和 scanf 函数使用频繁,系统允许在使用这两个函数时可不加 #include< stdio.h > 或 #include ”stdio.h” 4.4 字符数据的输入输出 4.4.1 putchar 函数(字符输出函数) putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。 其一般形式为: putchar(字符变量) 例如: putchar('A'); (输出大写字母 A) putchar(x); (输出字符变量 x 的值) putchar(‘\101’); (也是输出字符 A) putchar('\n'); (换行) 对控制字符则执行控制功能,不在屏幕上显示。 使用本函数前必须要用文件包含命令: #include<stdio.h> 或 #include “stdio.h” 【例 4.1】输出单个字符。 #include<stdio.h> main(){ char a='B',b='o',c='k'; putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t'); putchar(a);putchar(b);
靳润昭C语言教程讲义 2001年2月17日 putchar(Ⅶn’) putchar(b): putchar(c) 442 getchar函数(键盘输入函数) getchar函数的功能是从键盘上输入一个字符。 其一般形式为: getchar o 通常把输入的字符赋予一个字符变量,构成赋值语句,如: char c c=getchar 【例4.2】输入单个字符 #include<stdio. h void mainO i printf( input a character\n") c=getchar putchar(c) 使用 getchar函数还应注意几个问题: 1) getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接 收第一个字符。 2)使用本函数前必须包含文件“ stdio.h" 3)在TC屏幕下运行含本函数程序时,将退出TC屏幕进入用户屏幕等待用户输入。输入 完毕再返回TC屏幕。 4)程序最后两行可用下面两行的任意一行代替 putchar(getchar o) f(%c", getchar o) 4.5格式输入与输出 45 printf l函数(格式输出函数 printf函数称为格式输出函数,其关键字最末一个字母f即为格式"( format)之意。 其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。在前面的例题中我们已多 次使用过这个函数 1. printf函数调用的一般形式 第5页
靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第5页 putchar('\n'); putchar(b);putchar(c); } 4.4.2 getchar 函数(键盘输入函数) getchar 函数的功能是从键盘上输入一个字符。 其一般形式为: getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,如: char c; c=getchar(); 【例 4.2】输入单个字符。 #include<stdio.h> void main(){ char c; printf("input a character\n"); c=getchar(); putchar(c); } 使用 getchar 函数还应注意几个问题: 1) getchar 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接 收第一个字符。 2) 使用本函数前必须包含文件“stdio.h”。 3) 在 TC 屏幕下运行含本函数程序时,将退出 TC 屏幕进入用户屏幕等待用户输入。输入 完毕再返回 TC 屏幕。 4) 程序最后两行可用下面两行的任意一行代替: putchar(getchar()); printf(“%c”,getchar()); 4.5 格式输入与输出 4.5.1 printf 函数(格式输出函数) printf 函数称为格式输出函数,其关键字最末一个字母 f 即为“格式”(format)之意。 其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。在前面的例题中我们已多 次使用过这个函数。 1. printf 函数调用的一般形式