670 likes | 849 Views
第 3 章 顺序结构程序设计. 3.1 C 语言的语句和输入 / 输出的概念. 3.1.1 C 语言的语句. 表达式语句. C 语言语句用来向计算机发出 操作指令 。一个 C 语言源程序一般包含若干条语句, C 语言的语句都要以 分号 结束。. 3.1 C 语言的语句和输入 / 输出的概念. 3.1.1 C 语言的语句. 表达式语句. 函数调用语句. 控制语句. 复合语句. 空语句. 3.1 C 语言的语句和输入 / 输出的概念. 3.1.1 C 语言的语句. 3.1.1.1 表达式语句.
E N D
3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 表达式语句 C语言语句用来向计算机发出操作指令。一个C语言源程序一般包含若干条语句,C语言的语句都要以分号结束。
3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 表达式语句 函数调用语句 控制语句 复合语句 空语句
3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.1 表达式语句 表达式语句是在表达式后加分号“;”构成。其语法格式如下: 表达式; 例如: x=2; sum=a+b; i++; 执行表达式语句就是计算表达式的值。
3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.2 函数调用语句 函数调用语句由函数名、实际参数表加上分号构成。其语法格式如下: 函数名(实际参数表); 例如: printf("china\n"); /*调用库函数,输出字符串*/ scanf("%d,%d",&a,&b); /*调用库函数,输入两个整型值给变量a和b*/ 执行函数语句就是调用函数体,并把实际参数赋予给函数定义中的形式参数,然后执行被调用的函数,求取函数值。
3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.3 控制语句 C语言共有9种控制语句,可分为以下3类。 (1) 条件判断语句 (2) 循环执行语句 (3) 转向语句
3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.4 复合语句 复合语句是由一对花括号{}括起来的语句组。在C语言中,复合语句也可称为“语句块”,它将多个相关语句组成一个整体,如包含多个语句的循环体,要用复合语句。 复合语句形式如下: {语句1; 语句2; …; 语句n; }
3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.5 空语句 空语句是只有一个分号的语句,它什么也不做,一般用于一些特殊情况的处理,如空循环。 例如: for(i=0;i<1000;i++) { ; }
3.1 C语言的语句和输入/输出的概念 3.1.2 输入/输出的概念 输入/输出是以计算机主机为主体而言的。 从计算机向外部输出设备(如显示器、打印机、磁盘等)输出数据称为“输出” 从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为“输入”
3.1 C语言的语句和输入/输出的概念 3.1.2 输入/输出的概念 注意: (1)C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的。 (2)在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户的源文件中。 例如: #include <stdio.h> 或 #include “stdio.h”
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.1 函数功能 printf函数的功能是按指定格式向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 printf函数的一般格式: printf("格式控制字符串" [,输出列表]); “格式控制字符串”用于控制输出转换和格式化的方式,“输出列表”给出将要输出的数据项。 例如: int a=3,b=5; printf(“a=%d,b=%d“,a,b);
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 一、格式控制字符串 “格式控制字符串”包括两种信息: (1) 格式说明符: 以“%”和格式说明符组成。如%d。 作用:将输出的数据转换为指定的格式输出。 (2) 普通字符: 即为原样输出的字符,它主要起提示作用。 printf(“a=%d,b=%d“,a,b);
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 二、输出列表的形式 是一组由逗号“,”分开的参数序列,每个参数可以是常量、变量或表达式。 输出列表可以为空,此时格式控制字符串后,不能再加逗号“,”。 printf(“a=%d,b=%d“,a,b);
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 printf(“a=%d,b=%d“a,b); printf(“a=%d,b=%d“,); printf(“a=%db=%d“,a,b); printf(“a=%d,b=%d“,ab); printf(“a=%d,b=%d,“,a,b);
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 三、输出列表中参数的个数和类型 输出列表中的常量、变量和表达式,与控制字符串中的格式说明符个数应相等且类型一致,否则输出结果可能不是预期值。 int a=3,b=5,c=10; printf(“a=%d,b=%d\n,“a,b,c); printf(“a=%d,b=%d,c=%d\n“,a,b); printf(“a=%db=%d,\n“,b,a);
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-1 printf函数的常用格式说明符及其意义
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-1 printf函数的常用格式说明符及其意义
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-2 printf函数的常用附加格式说明符及其意义
3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-2 printf函数的常用附加格式说明符及其意义
3.2 数据的输出 【例3-1】写出以下程序的运行结果。 main() { char ch=‘C’; int a=99; unsigned b=74; long c=74000; double y=74.58; float x=85.47; printf(“line 1:%d,%c\t%d,%c\n“,ch,ch,a,a); printf(“line 2:%u\n“,b); printf(“line 3:%ld\n“,c); printf(“line 4:%f,%f\n“,x,y); printf(“line 5:%3.1f,%4.1f\n“,x,y); printf(“line 6:%8s%-4.2s\n“,”china”,”china”); printf(“line 7:%10.2f\n“, y); }
3.2 数据的输出 【例3-1】写出以下程序的运行结果。 main() { int n1=123; long n2=123456; printf("n1=%d,n1=%5d,n1=%-5d, n1=%2d\n", n1,n1,n1,n1); printf("n2=%ld,n2=%8ld,n2=%5ld\n ",n2,n2,n2); printf("n1=%ld\n",n1); }
3.2 数据的输出 【例3-2】“格式控制字符串”中转义字符和普通字符的使用。 #include <stdio.h> main() { int a=3; printf(“%%d:a=%d\n\101“, a); }
3.2 数据的输出 在TC中,printf函数输出列表中的求值顺序为从右到左。 【例3-3】求值顺序的演示示例。 #include <stdio.h> main() { int i=8; printf(“%d,%d,%d,%d,%d\n”,++i,--i,i--,i++,-i--); }
3.2 数据的输出 【例3-4】分析运行结果,比较与例3-3的区别。 #include <stdio.h> main() { int i=8; printf(“%d,”,++i); printf(“%d,”,--i); printf(“%d,”,i--); printf(“%d,”,i++); printf(“%d”,-i--); }
3.2 数据的输出 3.2.2 单个字符输出函数putchar 3.2.2.1 函数功能 putchar函数将一个字符输出到标准输出设备,通常是指输出到显示器。
3.2 数据的输出 3.2.2 单个字符输出函数putchar 3.2.2.2 函数语法格式 putchar函数的一般格式: putchar(c); 其中,参数c表示输出对象,它可以是字符型变量或整型变量,也可以是一个整数、控制字符或其他转义字符。 使用putchar函数时,必须在程序开头出现包含头文件“stdio.h”的行:#include <stdio.h>。而且不能省略。
3.2 数据的输出 3.2.2 单个字符输出函数putchar 3.2.2.2 函数语法格式 #include <stdio.h> main() { char c=‘A’; int a=97; putchar(c); putchar(a); putchar(97); putchar(‘\n’); putchar(‘\’’); }
3.2 数据的输出 【例3-5】在屏幕上显示单词。 #include <stdio.h> main() { char c1,c2,c3; int c4; c1=‘G’; c2=‘O’; c3=‘\117’; c4=68; putchar(c1); putchar(c2); putchar(c3); putchar(c4); putchar(‘\n’); putchar(‘\!’); }
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.1 函数功能 scanf函数用于输入若干个任意类型的数据。
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 scanf函数的语法格式: scanf("格式控制字符串",地址列表); scanf(“%d,%d”,&a,&b); 说明: (1)scanf函数的格式控制字符串,包含格式说明符和 普通字符。 (2)地址列表由若干个地址组成,各地址间用逗号隔开。 变量首地址的表示方法: &变量名 (其中“&”是地址运算符)
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符 与printf函数中的格式说明符相似,以%开始,以一个格式字符结束,中间可以插入附加的字符。如%d、%o、%x、%c、%s、%f、%e等格式说明符,它们与在printf函数中的意义一样。 例如: scanf(“%d,%d”,&a,&b);
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符 #include <stdio.h> main() { int a; scanf(“%3d”,&a); printf(“%d\n”,a); }
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符 #include <stdio.h> main() { int a,b; scanf(“%3d%d”,&a,&b); printf(“a=%d,b=%d\n”,a,b); }
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 二、普通字符 在格式控制字符串中,除格式说明符外的其他字符。 作用:在输入数据时在对应位置输入相同的字符。 例如: scanf(“a=%d,b=%d”,&a,&b);
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 如果相邻2个格式指示符之间,不指定数据分隔符(如逗号、冒号等),则相应的2个输入数据之间,至少用一个空格分开,或者用Tab键分开,或者输入1个数据后,按回车,然后再输入下1个数据。 “格式字符串”中出现的普通字符(包括转义字符形式的字符),务必原样输入。
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 scanf(“%d%d”,&a,&b); 假设给a输入12,给b输入36,则正确的输入操作为: 12□36↙ 或者: 12↙ 36↙ 注意:使用“↙”符号表示按回车键操作,在输入数据操作中的作用是,通知系统输入操作结束。
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 scanf(“a=%d,b=%d”,&a,&b); 假设给a输入12,给b输入36,则正确的输入操作为: a=12,b=36↙ 原样输入
3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 提高人机交互性建议:为改善人机交互性,同时简化输入操作,在设计输入操作时,一般先用printf( )函数输出一个提示信息,再用scanf( )函数进行数据输入。 printf(“a=“); scanf(“%d”,&a); printf(“b=“); scanf(“%d”,&b);
3.3 数据的输入 【例3-7】根据格式字符的含义从输入值中取得数据。 #include <stdio.h> main() { int a; char b; float c; printf("input a,b,c:"); scanf("%d%c%f",&a,&b,&c); printf("a=%d,b=%c,c=%f\n",a,b,c); } 输入:1234r5678.9123 结果: a=1234,b=r,c=5678.912109
3.3 数据的输入 【例3-8】根据域宽从输入数据中取值。 #include <stdio.h> main() { int a,b,c; printf("input a,b,c:"); scanf("%2d%3d%3d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); } 输入:123456789 结果: a=12,b=345,c=678
3.3 数据的输入 【例3-9】“跳过”取值。 #include <stdio.h> main() { int a,b; printf("input a,b:"); scanf("%2d%*3d%4d",&a,&b); printf("a=%d,b=%d\n",a,b); } 输入:123456789 结果: a=12,b=6789
3.3 数据的输入 3.3.2 单个字符输入函数getchar 3.3.2.1 函数功能 getchar函数从标准输入设备读取一个字符,通常是指从键盘上接收一个字符。通常用法是把输入的字符赋给一个字符变量,构成赋值语句。
3.3 数据的输入 3.3.2 单个字符输入函数getchar 3.3.2.2 函数的语法格式 getchar函数的语法格式: 变量=getchar(); (1)变量可以是字符型变量或整型变量。如果是字符型变量,存入的就是字符本身;如果是整型变量,存入的就是该字符的ASCII码值。 (2)getchar函数没有参数; a=getchar();
3.3 数据的输入 3.3.2 单个字符输入函数getchar 3.3.2.2 函数的语法格式 (3)getchar函数的函数值就是从输入设备得到字符。如果其读入的字符不赋给任何变量,则该函数可以作为表达式的一部分使用。 (4)使用getch函数时,必须在程序开头出现包含头文件“stdio.h”的行:#include<stdio.h>。 例如: putchar(getchar()); printf("%c",getchar());
3.3 数据的输入 3.3.2 单个字符输入函数getchar 【例3-10】从键盘输入一个字符,然后显示出来。 #include <stdio.h> main() { char ch; ch=getchar(); putchar(ch); }
3.3 数据的输入 3.3.3 字符输入函数getch 3.3.3.1 函数功能 getch函数从键盘上接收一个字符,这个字符不会显示在屏幕上。