C语言顺序结构程序设计_第1页
C语言顺序结构程序设计_第2页
C语言顺序结构程序设计_第3页
C语言顺序结构程序设计_第4页
C语言顺序结构程序设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1C语句概述

3.3输入与输出语句3.4顺序程序设计举例第三章C语言简单 程序设计第三章目录3.2程序的三种基本结构3.1C语句概述C语言的语句概述:C程序对数据的处理是通过“语句”的执行来实现的。一条语句完成一项操作(或功能)。一个为实现特定目的的程序应包含若干条语句。第三章3.1C语句概述表达式语句(表达式;)简单语句函数调用语句(函数名(参数表);空语句(;)

C语言数据操作复合语句({一条或多条语句})语句条件语句(if语句,switch语句)结构化语句while语句循环语句do_while语句

for语句流程控制语句break语句限定转向语句continue语句非结构化语句return语句非限定转向语句(goto语句)C语言的语句分类:第三章3.1C语句概述3.1.1简单语句1.表达式语句由表达式组成的语句称为表达式语句语句格式:表达式;分号(;)是语句结束的标志功能:计算表达式或改变变量的值。分类:运算符表达式语句赋值语句第三章3.1C语句概述运算符表达式语句运算符表达式后跟一个分号组成例:5;i++;语句的功能是,变量i的值增1。a=3,b=a+2,c=a+1;/*由三个赋值语句组成的逗号表达式语句。*/

(1)a+b; /*算术表达式语句,计算a与b之和。*/第三章3.1C语句概述赋值语句赋值表达式后跟一个分号组成(2)例:x=y+z;/*计算y+z的和并赋值给变量x.。*/

x=2;y=3;第三章3.1C语句概述2.函数调用语句由函数调用表达式后跟一个分号组成格式:函数名(参数列表);分类:标准库函数用户定义函数标准库函数调用原则:(1)要在程序中包含相应的头文件(2)调用的一般形式:函数名(参数列表);第三章3.1C语句概述标准函数调用的目的(1)如数学函数,为了得到函数的返回值。这类函数的调用一般出现在表达式中,作为表达式语句的一部分。一般不作为函数调用语句。(2)为了完成某项任务,而不是为了得到返回值。在表达式中调用函数,实际上是转去执行一段预先设计好的程序,求出结果后返回调用点。所以函数的值又叫函数的返回值。调用这类函数时,就直接用函数调用语句。例:scanf("%f",&x);printf("%f",x);第三章3.1C语句概述3.1.2复合语句一对大括号{}包围若干条语句组成。格式:{[数据说明部分;]执行语句部分;}注意:(1)在复合语句中的“内部数据描述语句”中定义的变量,是局部变量,仅在复合语句中有效。(2)复合语句结束的“}”之后,不需要分号。(3)复合语句可以出现在任何数据操作语句可以出现的地方。第三章3.1C语句概述例3-1:#include"stdio.h"voidmain(){inta=11,b=21,c=31;

printf("a=%d\tb=%d\tc=%d\n",a,b,c);{intb=22;floatc=3.3;

printf("a=%d\tb=%d\tc=%f\n",a,b,c);a=b;}

printf("a=%d\tb=%d\tc=%d\n",a,b,c);}程序运行结果a=11b=21c=31a=11b=22c=3.300000a=22b=21c=31第三章3.1C语句概述3.1.3空语句空语句就是一个分号。格式:;功能:执行该语句不做任何操作第三章3.1C语句概述C语言提供三种结构化语句来控制程序的执行流程:顺序结构:选择结构:循环结构:一种按书写顺序执行的结构。根据运行时的情况自动选择要执行的语句。根据情况自动重复执行有关语句。3.2程序的三种基本结构第三章3.2程序的三种基本结构顺序结构即按照语句书写顺序执行的程序结构。AB顺序结构第三章3.2程序的三种基本结构3.2.1顺序结构3.2.2选择结构选择结构又称为分支结构,是指有条件地选择要执行的程序段。选择结构示意图第三章3.2程序的三种基本结构…k=k2k≠k1…kkk=kkk=k1kA1A2BAk图3-4多分支选择结构真(非0)假(0)AB条件图3-3双分支选择结构3.2.3循环结构当条件成立(为“真”或非0)时,反复执行程序段A,否则不执行程序段A。第三章3.2程序的三种基本结构1.当型循环结构假(0)真(非0)A条件先执行程序段A,再判断条件是否为“真”(非0);若为“真”(非0),再执行A,如此反复,直到条件为“假”(0)为止。第三章3.2程序的三种基本结构2.直到型循环结构真(0)假(0)A条件3.3输入与输出语句C语言本身不提供输入/输出语句。C语言的输入/输出功能由C语言的标准I/O库函数提供。C语言的输入/输出库函数名称不是保留字(或称关键字)。如printf,scanf。第三章3.3输入与输出语句1、字符输入函数(1)函数原型int

getchar(void);函数返回值类型函数的名称无参数(2)函数功能从标准输入设备(一般为键盘)读入一个字符,返回该字符的ASCII码值,并且将敲入的字符“回显”到屏幕上。第三章3.3输入与输出语句3.3.1字符输入与输出函数例3-3:#include<stdio.h>/*说明函数getchar的原型包含在哪个文件中*/voidmain(){inta;charb;a=getchar();b=getchar();

printf("a=%c\ta=%d\tb=%c\tb=%d\n",a,a,b,b);}从键盘输入字符,该字符的ASCII编码值赋给a第三章3.3输入与输出语句程序运行情况如下:13↙a=1 a=49 b=3 b=51

第三章3.3输入与输出语句注意:调用函数getchar时,程序执行被中断,等待用户从键盘输入数据。当用户键入字符并敲回车键以后,程序继续运行。若用户输入字符后未按回车键,则键入的内容一直保留在键盘缓冲区中,只有用户键入回车键后,字符输入函数getchar才进行处理。函数getchar将回车键作为一个字符读入。如果程序中有两个以上函数getchar时,应该一次性输入所需字符,最后再按回车键,如上例所示。无论输入的是英文字母或标点符号还是数字,都是作为字符输入。第三章3.3输入与输出语句(1)函数原型int

putchar(int);函数返回值类型函数的名称函数的参数(2)函数功能向标准输出设备(一般为显示器)输出一个字符,并返回输出字符的ASCII码值。第三章3.3输入与输出语句2、字符输出函数例3-4:#include<stdio.h>程序运行结果为:ABBCmain(){inta=65;charb='B';

putchar(a);putchar(65+1);

putchar(b);putchar('B'+1);}包含函数putchar的头文件第三章3.3输入与输出语句3.3.2格式输出函数1.函数原型int

printf(char*format[,argument,...]);2.函数功能函数printf将一组参数,由format给定的格式规定输出格式,把数据格式化并且输出到标准输出设备。若出错,则返回负数。可以有多个参数第三章3.3输入与输出语句函数调用的一般形式:printf("格式控制字符串",输出项列表);◆必须用英文的双引号括起来。◆作用是控制输出项的格式和输出一些提示信息。◆要输出的表达式。◆常量、变量、运算符表达式、函数返回值等,每个输出项之间用逗号(,)分隔。第三章3.3输入与输出语句3.格式控制字符:(1)组成:普通字符、转义字符、格式说明。普通字符:按原样输出,主要用于输出提示信息。转义字符:指明特定的操作。格式说明:由"%"和"格式字符串"组成:%格式字符串。它表示按规定的格式输出数据。第三章3.3输入与输出语句例3-5#include"stdio.h"voidmain(){inta=97,b=98;printf("1:%d%d\n",a,b);/*普通字符,原样输出*/printf("2:%d,%d\n",a,b);/*a,b以十进制整数形式输出*/printf("3:%c,%c\n",a,b);/*a,b以字符形式输出*/printf("4:a=%d,b=%d",a,b);}第三章3.3输入与输出语句程序运行结果为:1:97982:97,983:a,b4:a=97,b=98(2)格式说明的形式:%[flags][width][.prec][F|N|h|L][type]方括号表示该项可有可无可选的标志字符◆-:左对齐输出,缺省为右对齐输出◆+:正数输出加号(+),负数输出减号(-)◆空格:正数输出空格代替加号(+),负数输 出减号(-)如:%+d,%-d,%d。十进制整数,指定输出宽度。▼指定宽度>实际宽度,补空格。▼指定宽度≤实际宽度,按实际输出。▼不指定宽度,按实际输出。如:%+10d输出精度指示符。◆对整数,表示至少要输出的数字个数,不足补数字0,多出则原样输出。◆对实数,表示小数点后至多输出的数字个数,不足补数字0,多出则舍入处理。◆对字符串,表示最多输出的字符个数,不足补空格,多出则丢弃。输出长度修饰符:F:输出远指针存放的地址。N:输出近指针存放的地址。H或h:输出短整型数据的值。L或l:输出长整型或双精度值。格式字符,用来进行格式转换。(重点掌握)第三章3.3输入与输出语句(3)格式字符(type)一鉴表:字符说明d(或i)以带符号的十进制形式输出整数,不输出(+)号o以八进制无符号形式输出整数(不输出前导符数字O)x(或X)以十六进制无符号形式输出整数(不输出前导符Ox)u以无符号十进制形式输出整数c输出一个字符 s输出字符串 f以小数形式输出单、双精度数,隐含输出6位小数e(或E)以指数形式输出单、双精度数,小数位数为6位g(或G)由给定的值和精度自动选用%f或%e或%E格式 % 输出百分号(%)第三章3.3输入与输出语句例如:printf("%d\n",100);100printf("%5d\n",100);100100printf("%8d\n%8d″,100,100*100);10010010010000第三章3.3输入与输出语句10010010010000例如:printf("%o\n",-1);177777printf("%x,%X\n",-1);177777ffff,FFFFprintf("%u,%d",-1);177777ffff,FFFF65535,-1第三章3.3输入与输出语句printf("%4c,%c\n",'A','A');printf("%-8s,%8.2s","Name","Name");

A,A例如:

A,AName----,------Na第三章3.3输入与输出语句printf("%f\n%10.3f\n",100.7654321,100.7654321);printf("%e\n%10.9e",100.7654321,100.7654321);例如:100.765432

100.765100.765432100.7651.00765e+21.00765432e+2第三章3.3输入与输出语句#include"stdio.h"voidmain(){inti=8;printf("%d\t%d\t%d\n",++i,--i,i--);}例3-6:第三章3.3输入与输出语句计算方向输出结果为:

878

注意:使用函数printf时要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左。TurboC是按从右到左进行的。

第三章3.3输入与输出语句#include"stdio.h"voidmain(){inta=3,b=4;printf("%d\n",(a=b,b,a+3));/*输出序列是一个逗号表达式*/printf("%d\n",a=b,b,a+3);/*输出第一个参数变量a的值*/}例3-7:第三章3.3输入与输出语句输出结果为:743.3.3格式输入函数1.函数原型int

scanf(char*format[,argument,...]);2.函数功能按规定格式从键盘输入若干任何类型的数据给argument所指的单元;返回读入并赋给argument的数据个数;遇文件结束返回EOF;出错返回0。可以有多个参数第三章3.3输入与输出语句3.函数调用的一般形式:scanf("格式控制字符串",地址列表);◆必须用英文的双引号括起来。◆由普通字符和格式说明字符组成。◆由若干个地址组成的列表。◆变量的地址、字符串的首地址、指针变量等,以逗号(,)间隔。第三章3.3输入与输出语句4.格式控制字符:(1)组成:普通字符、格式说明。普通字符:格式说明:键盘输入时,要按原样输入,一般起分隔或提示作用。但分隔或提示作用若由用户输入,就失去了本来的意义,一般采用printf来实现。%[*][width][F|N][h|l]type第三章3.3输入与输出语句(2)格式说明的形式:%[*][width][F|N][h|l]type输入赋值抑制字符:表示该格式说明要求输入数据,但不赋值,即在地址列表中没有对应有地址项。宽度指示符:表示该输入项最多可输入的字符个数。如遇空格或不可转换的字符,读入的字符将减少。地址大小修饰符:F:表示地址列表项中对应的地址为远指针;N:表示地址列表项中对应的地址为近指针。数据输入类型:h:短整型l:长整型或双精度类型必需的格式字符,表示输入数据转换后的数据类型。第三章3.3输入与输出语句(3)格式字符(type)一鉴表:字符说明d(D)用来输入十进制整数o(O)用来输入八进制整数x(X)用来输入以十六进制整数i(I)用来输入十、八(0开头)、十六(0x开头)进制整数u(U)用来输入无符号十进制整数c用来输入单个字符 s用来输入字符串,将字符串送到一个字符数组中f(e)用来输入实娄,用小数形式或指数形式输入g(G)与f作用相同,e、f和g可以互换n不输入数据,只将该语句已成功读入的字符数(到%n为止)送到对应的地址中% 输入百分号(%)第三章3.3输入与输出语句scanf(“i=%d",&i);printf(“i=%d",i);scanf("%d%d%d",&a,&b,&c);i=30↙输入i=30输出&:取地址运算符。表示将所输入后的数据放入对应地址的存储单元中。i=30↙输入i=30输出123↙或1↙2↙3↙1,2,3↙错第三章3.3输入与输出语句scanf("%d,%d,%d",&a,&b,&c);1,2,3↙123↙错scanf("%d,%*d,%d",&a,&b);1,2,3↙123↙错1,2,3↙a=1b=3第三章3.3输入与输出语句例3-8:#include"stdio.h"voidmain(){int

a,b;printf("input

a,b:");scanf("%d%d",&a,&b);printf("a=%d,b=%d",a,b);}

inputa,b:7⊔8↙a=7,b=8第三章3.3输入与输出语句(4)注意事项:scanf()的格式控制字符串中没有转义字符。如scanf(“%d\n”,&a);是错误的。scanf()的格式控制字符串中的普通字符不是用来显示的,而是输入时要求照普通字符输入的。scanf()中参数的第二部分一定是地址列表,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论