《顺序程序设计课件》由会员分享,可在线阅读,更多相关《顺序程序设计课件(41页珍藏版)》请在金锄头文库上搜索。
1、第四章第四章 顺序顺序程序设计程序设计结构化程序包含三种基本结构即:顺序结构分支结构循环结构顺序顺序结构结构语句1语句2语句n在计算机系统中,按一定 的顺序执行的语句系列构成顺 序结构,在顺序结构中,语句 是从上至下顺序执行的,如果 执行的顺序发生变化,则执行 的结果也可能会发生变化 4.1 顺序执行语句C C语句语句: :以以“;”“;”作分隔符作分隔符, ,编译后产生机器指令。编译后产生机器指令。 C C语言中,程序是由若干条语句组成的,每条语语言中,程序是由若干条语句组成的,每条语 句以分号句以分号( ( ;) )结尾,从上至下顺序执行的,语结尾,从上至下顺序执行的,语 句有三种:句有三
2、种:表达式语句表达式语句函数调用语句函数调用语句复合语句复合语句4.1.1 表达式语句n构成:表达式加分号如 125;8y12; a=20;b*=12; 赋值语句数值表达式语句逻辑表达式语句赋值语句调用函数带分号作为一个单独的语句,此调用函数带分号作为一个单独的语句,此 语句被称为函数调用语句,被调用的函数可以语句被称为函数调用语句,被调用的函数可以 是是C C的标准库函数,也可以是用户自定义函数的标准库函数,也可以是用户自定义函数 。标准库函数调用语句如下:。标准库函数调用语句如下:scanfscanf( (“%f,%f,%f“, ;printfprintf( (“ The area=%fn
3、“ The area=%fn“,x*yx*y) );4.1.2 4.1.2 函数调用语句函数调用语句4.1.3复合语句用法:用用法:用 括起来的一组语句括起来的一组语句 一般形式:一般形式: 数据说明部分;数据说明部分; 执行语句部分;执行语句部分; 说明:说明:vv“”“”后不加分号后不加分号vv语法上和单一语句相同语法上和单一语句相同vv复合语句可嵌套复合语句可嵌套例例: : z=x+y;z=x+y;t=z/100;t=z/100;pritnfpritnf(“%f”,t);(“%f”,t);【例4.4】int a=10,b=20;/* 变量定义语句 */float z; /* 变量定义语句
4、 */z=x+y; /*执行语句*/printf(“z=%fn“,x,y); /*执行语句*/复合语句可以出现在程序的任何位置,它是一个整 体,相当于一条语句。在很多情况下,C语言的控制 语句针对一条语句操作(如后面第5章的if语句、第6章 的for语句、while语句等),而一条语句远远不足以描 述我们要解决的问题,此时,就需要把多条语句用 对括起来形成一个复合语句,这样,既能表达出我们 要解决的问题,又符合C语言的语句语法规定。n空语句: ;n程序控制语句(9种) :if( )else switch for( ) while( ) dowhile( ) continue break got
5、o return分支循环辅助控制其它语句其它语句4.1.3 C语言程序的一般结构及书写规则 n预处理命令部分 include n主函数部分n自定义函数部分。n预处理命令部分由若干预处理命令组成,这些 预处理命令一般以#开头,C语言程序被编译之 前,C的编译系统先用它的预处理程序对这些 特殊的命令进行处理,再将处理结果和程序一 起进行通常的编译处理以得到目标代码。 #include 头文件 main( ) 变量声明或自定义函数说明; 语句序列; 返值类型 自定义函数名(参数表)/自定义函数体C C语言程序的一般结构语言程序的一般结构由于主函数要调用自定义函数,而自定义 函数又书写在主函数之下,所
6、以,在主函 数的内的开始处必须存在对自定义函数 的说明语句。 【例4.2】#include main( )int x=10,y=20,z;void show(int ,int);/* 对将要调用的自定义函数的说明 */show(x,y);/* 用户自定义函数调用语句 */void show(int a,int b) /* 用户自定义函数 */printf(“a=%d b=%dn“,a,b);若主函数调用自定义函数,而自定义函数书写在主函数之上,则在主函数的 内不需要书写对自定义函数的说明语句而可直接调用。【例4.3】 #include void show(int a,int b) /* 用户自
7、定义函数 */printf(“a=%d b=%dn“,a,b); main( )int x=10,y=20; void show(int ,int);/*对要调用的自定义函数的说 明可缺少 */show(x,y);/* 用户自定义函数调用语句 */实际上,在C语言中,若函数A(可能是主函数,可能是用户 自定义函数)调用函数B,当函数B处在函数A之下时,则函数A 中必有对函数B的说明语句,否则系统出错;当函数B处在函数A 之上时,则函数A中不需有对函数B的说明语句。 4.24.2 数据输入与输出数据输入与输出在中的实现在中的实现 55C C语言无语言无I/OI/O语句,语句,I/OI/O操作由函
8、数实现操作由函数实现 55 # #include .h 数据输出数据输出 字符输出函数字符输出函数 putcharputchar( c )( c ) 数据输入数据输入 字符输入函数字符输入函数 g getcharetchar() () 格式:变量名=getchar( ); 或 getchar( );功能:等待用户从键盘输入一个标准字符给计算机,输 入一个字符后,程序继续向下执行。说明:在两种格式中,“变量名=getchar( );”格式用 得最多,它表示输入的字符送给变量保存,而格式 getchar( );表示输入的字符送给计算机,没有具体接受 变量,相当于程序执行到此处时,计算机系统暂停,等
9、待 用户输入一个字符后,程序继续向下执行。实际编程中有 时采用后一种方式有意让程序在某处暂停,以便用户看清 计算机输出的有关信息或作某些思考后,再按任意键往后 继续执行程序。1、getchar( )函数的使用格式:getchar( ) 功能:从键盘读一字符 返值:正常,返回读取的代码值;出错,返回EOF(-1)例 /*ch3_4.c*/ #include main() int c;printf(“Enter a character:“);c=getchar();printf(“%c-hex%xn“,c,c); 运行结果: Enter a character:A A-hex411、getchar
10、( )函数的使用2. 2. putcharputchar( )( )函数的使用函数的使用 格式:putchar(字符型参数); 参数: c为字符常量、变量或表达式 功能:将字符型参数表示的字符显示于屏幕当前光标处。 说明:注意该函数带有一个字符型的参数,而getchar( ) 函数没有参数。 返值:正常,为显示的代码值;出错,为EOF(-1)/*ch3_1.c*/ #include main() int c;char a;c=65; a=B;putchar(c); putchar(n); putchar(a); 运行结果:AB例【例4.5】字符输入输出函数应用示例。#include main(
11、 )char ch; /*定义字符变量 ch */printf(“Input a character : “); /*输出一行提示*/ch=getchar( );printf(“n The character you input is :n“);putchar(ch);Input a character Input a character : k k The character you input is The character you input is :k k4.2.2* 字符串的输入输出函数 gets( )/puts( ) gets( )用来从键盘输入一个字符串给计算机,puts( )
12、 函数向屏幕输出一个指定的字符串内容。1 1getsgets( )( )函数的使用函数的使用 格式:格式:getsgets( (字符型数组名或字符型指针名字符型数组名或字符型指针名) ); 功能:等待用户从键盘输入一个字符串给计功能:等待用户从键盘输入一个字符串给计 算机,输入的字符串内容由字符型数组名或字算机,输入的字符串内容由字符型数组名或字 符型指针名指示内存空间以存放,完毕后,程符型指针名指示内存空间以存放,完毕后,程 序继续向下执行。序继续向下执行。 说明:从键盘输入的字符串内容可以含有空说明:从键盘输入的字符串内容可以含有空 格,按回车键则结束串的输入。在常用的格式格,按回车键则结
13、束串的输入。在常用的格式 输入函数输入函数scanfscanf( )( )用法中,用法中,scanfscanf( )( )也可用来输也可用来输 入字符串,但串中不能有空格,因为按空格或入字符串,但串中不能有空格,因为按空格或 回车键时,串的输入就结束了。回车键时,串的输入就结束了。 2 2puts( )puts( )函数的使用函数的使用 格式:格式:puts(puts(字符型数组名字符型数组名); );puts(puts(字符型指针名字符型指针名); );puts(puts(字符串常量字符串常量) ); 功能:将字符型数组名或字符型指针名指示的内存功能:将字符型数组名或字符型指针名指示的内存
14、空间存放的字符串内容显示于屏幕当前光标处。空间存放的字符串内容显示于屏幕当前光标处。例例2 2: char *sp;char *sp;puts (*sp); puts (*sp);例例3 3:puts(“program”);puts(“program”);注意与注意与putcharputchar的区别的区别: :putcharputchar(g);(g);例例1 1: charchar str str25; 25; puts( puts(strstr); );【例4.6】字符串输入输出函数应用示例。CH3-6.C#include main( )char str25;char *sp;print
15、f(“Input the first string:“);gets(str);puts(str);printf(“ input the second string:“);gets(sp);puts(sp); 程序运行如下,加下划线的部分为用户输入内容。Input the first string:C program designingC program designinginput the second string:How are you?How are you? 格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据 返值:正常,返回输出字节数;出错,返回EOF(-1)n格式输出函数n输出表:要输出的数据(可以没有,多个时以“,”分隔 )n格式控制串:包含两种信息n格式说明: %修饰符格式字符 ,用于指定输出格式n普通字符或转义序列:原样输出n格式字符d,i x,X o u c s e,E f g %格式字符:十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数 e和f中较短一种百分号本身int a=56