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

下载本文档

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

文档简介

1、第3章 顺序结构程序设计第3章 顺序结构程序设计3.1 C语言基本语句3.1 C语言基本语句3.1.1 简单语句1.表达式语句表达式加上分号就是一个表达式语句表达式;(1)运算符表达式语句i+;-j;(2)赋值语句x=1;x=x*3*cos(x);3.1.1 简单语句1.表达式语句2.函数调用语句由函数调用表达式后跟一个分号组成函数名(参数列表);例:scanf(“%f”,&x);printf(“%f”,x);常用的数学函数sin(x),cos(x),exp(x),fabs(x),log(x)调用标准库函数要注意以下几点:(1)要在程序中包含相应的头文件例:#include#include2.

2、函数调用语句(2)库函数的调用规则库函数调用的一般形式:函数名(参数表);y1=sin(1.7);y2=3*sin(3.14159*x/180);y3=2*sin(+x*3.14159/180)+10;例如,要将下面表达式写成C语句:|3sinx+4cosx|+exfabs(3*sin(x)+4*cos(x)+exp(x);(2)库函数的调用规则有时调用某些函数并不是为了得到返回值,而只是为了完成某项任务。调用这类函数时,可直接用函数调用语句,例如:scanf(“%f”,&a); /*输入变量a的值*/printf(“%6.4f”,b);/*输出变量b的值*/3.空语句空语句用一个分号表示;有

3、时调用某些函数并不是为了得到返回值,而只是为了完成某项任务3.1.2 复合语句复合语句是由花括号将多条语句组合在一起而构成的,在语法上相当于一条语句。一般形式为:内部数据描述语句数据操作语句1;数据操作语句n;注意:(1)复合语句中定义的变量是局部变量,仅在复合语句中有效;(2)复合语句结束的“”之后,不需要再加分号;3.1.2 复合语句注意:例3.1 复合语句main() int x=1,y=2; int x=2; int x=3; printf(x=%d,y=%dn,x,y); printf(x=%d,y=%dn,x,y); printf(x=%d,y=%dn,x,y);x=3,y=2x=

4、2,y=2x=1,y=2例3.1 复合语句x=3,y=2x=2,y=2x=1,y=3.2 数据输入与输出3.2.1 字符输入输出函数 1.字符输出函数函数原型:int putchar(int);main() int i=97; char ch=a; putchar(i); putchar(n); putchar(ch);3.2 数据输入与输出3.2.1 字符输入输出函数 2.字符输入函数函数原型:int getchar(void);main() int ch; ch=getchar(); putchar(ch);2.字符输入函数3.2.2 格式输出函数printf1.格式输出函数的一般形式:p

5、rintf(“格式控制字符串”,输出项表列) 格式控制由两部分组成:(a)格式说明由和格式字符组成,如d,f,它的作用是将输出的数据转换为指定的格式输出(b)普通字符,即需要原样输出的字符。输出表列是需要输出的一些数据。 例: int i=97; printf(“i=%d,%cn”,i,i);3.2.2 格式输出函数printf2.格式控制由3部分组成:(1)普通字符。按原样输出,主要用于输出提示信息(2)转义字符。指明特定的操作,如n(3)格式说明部分由”%”和”格式字符串”组成%flagswidth.precF|N|h|ltype(a)”为可选项,如printf(“%d”,100);(b)

6、flags为可选择的标志字符:-:左对齐输出,默认为右对齐输出+:正数加+,负数加-空格:正数输出空格代替加号(+),负数输出减号(-)2.格式控制(c)width为可选择的宽度指示符printf(“%8dn”,100); printf(“%6dn”,100);printf(“%-8dn”,100); printf(“%+8dn”,100);输出结果为:100100100100(c)width为可选择的宽度指示符(d).prec为可选的精度指示符printf(“%8.2fn”,3.14159);printf(“%8.5fn”,3.14159);输出结果为:3.143.14159(d).prec

7、为可选的精度指示符(e)F|N|h|l为可选的输出长度修饰符输出远指针存放的地址;输出近指针存放的地址;输出短整型数据的值;输出长整型或双精度数据的值。long n=40000;printf(“%8ldn”,n);(f)type为可选的格式字符见课本35页表3.1字符说明d(或i)以带符号的十进制形式输出整数o以八进制无符号形式输出整数x(或X)以十六进制无符号形式输出整数u以无符号十进制形式输出整数c输出一个字符s输出字符串f以小数形式输出单、双精度数e(或E)以指数形式输出单、双精度数g(或G)由给定的值和精度自动选用%f或%e或%E格式%输出百分号(%)(e)F|N|h|l为可选的输出长

8、度修饰符字符说明d(或3.输出项列表(1)d %ld %md %-md %mld %-mld例:printf(“%d”,100);结果:100printf(“%5d”,100);100n=100printf(“%8dn%8d”,n,n*100);10010000long l=65432;printf(”8ld”,l); 654323.输出项列表(2)%oint n=-1;printf(“%o”,n);结果为:177771111111111111111(2)%o1111111111111111(3)%xint n=-1;printf(“%x”,n);printf(“%X”,n);结果为:ffff

9、,FFFF1111111111111111(3)%x1111111111111111 (4)%uint n=-1;printf(“%d,%u”,n,n);结果为:-1,655351111111111111111 (5)%c %mc例:printf(“%4c”,A);结果为:Aprintf(“%c”,A);A (6)%s ms %-ms %m.ns %-m.ns例:printf(“%s”,”Name:”);结果为:Name:例:printf(“%-10s”,“Name:”);结果为:Name:printf(“%8.2s”,”Name:”);结果为:Na (7)%f %m.nf %-m.nfpri

10、ntf(“%f”,1000.7654321);结果为:1000.765432printf(“%10.3f”,1000.7654321);结果为:1000.765printf(“%10.3f”,1111000.7654321);结果为:1111000.765 (8)e以指数形式输出,标准共占13位,尾数的整数部分非零数字占1位,小数点1位,小数占6位,e占1位,指数符号占1位,指数占3位。例:printf(“%e”,1000.7654321);结果为:1.000765e+003“%m.ne”printf(“%10.9e”,1000.7654321);结果为:1.000765432e+003(8)

11、e(2009.3)15.程序段:int x=12; double y=3.141593;printf(%d%8.6f,x,y);的输出结果是A)123.141593B)12 3.141593C)12,3.141593D)123.1415930A(2009.3)A(2009.3)7.若变量x,y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【 】,x/y); 补充完整,使其输出的计算结果形式为: x/y=11。x/y=%d (2009.3)x/y=%d (2008.9)7.若整形变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:a=7b=9请完成输出语句:pr

12、intf(【7】,a,b);a=%dnb=%dn (2008.9)a=%dnb=%dn 3.2.3 格式输入函数scanf1.格式输入函数的一般形式scanf(“格式控制字符串”,地址列表);例scanf(“%d,%c”,&I,&k);2.格式控制格式控制字符串由格式字符和普通字符两部分组成。(1)格式字符 %*widthF|Nh|ltype3.2.3 格式输入函数scanf (a)*为输入赋值抑制字符,表示该格式要求输入数据,但不赋值,也即在地址列表中没有对应的地址项scanf(“%3d%*5d%f”,&a,&x);若输入:2001200 4.1则a为200,x为4.1 (b)width为宽

13、度指示符例: scanf(“%3d%5d%f”,&a,&b,&x);若输入: 2001200 4.1则a为200,b为1200,x为4.1(b)width为宽度指示符 (2)普通字符与printf函数的普通字符不同,scanf的格式控制字符串中普通字符是不显示的,而是规定了输入时必须输入的字符,例:scanf(“i=%d”,&i);执行时就输入:i=30若scanf(“%d,%f”,&a,&x);则输入格式为:10,0.3 3.地址列表是由若干个地址组成的列表,可以是变量的地址、字符串的首地址、指针变量等。scanf(“%d%d”,a,b);scanf(“%d%d”,a+b);printf(“

14、%d”,i);scanf(“%d”,&i); 4.scanf运行时的注意事项(1)输入数据分隔处理scanf(“%d%d”,&a,&b);可以是一个或多个空隔,也可以用回车键 10或10010如若:scanf(“%2d%3d”,&a,&b);1223100 (2)用scanf函数输入实数,用”f”,但不允许规定精度例:scanf(“%10.4f”,&a);(3)如果输入类型不匹配,scanf函数将停止处理例:int a,b;char ch;scanf(“%d%c%3d”,&a,&ch,&b);12 a 23 (2009.3)19.若变量已正确定义为int型,要通过语句scanf(%d,%d,%d,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(代表一个空格符)A)1,2,3B)123C)1,2,3D)1,2,3B(2009.3)B(2009.3)23.有以下程序#includemain()inta1,a2;charc1,c2;scanf(%d%c%d%c,&a1

温馨提示

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

最新文档

评论

0/150

提交评论