高级语言程序设计4_第1页
高级语言程序设计4_第2页
高级语言程序设计4_第3页
高级语言程序设计4_第4页
高级语言程序设计4_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、12引言:引言: c c程序结构框图程序结构框图 c 程序源程序文件1 源程序文件 i 源程序文件n 预编译命令 函数1 函数m 说明部分 执行部分(语句)3 共四类:共四类:l控制语句:控制语句:流程控制流程控制: :条件条件、循环循环辅助控制辅助控制: :break、continue、goto、return、switchl空语句:仅一个空语句:仅一个“;”构成。构成。l表达式语句:一个表达式后跟一个表达式语句:一个表达式后跟一个“;”构成。构成。l复合语句:用复合语句:用“ ”“ ”括起来的一些语句。括起来的一些语句。4空语句空语句l一般形式:一般形式:;l含义:什么也不做。含义:什么也不

2、做。l说明:凡是在说明:凡是在c c程序中出现语句的程序中出现语句的地方都可以用一个分号来代替一地方都可以用一个分号来代替一条语句。条语句。l作用:作用:l转向点。转向点。l循环语句中的空循环体。循环语句中的空循环体。5表达式语句表达式语句l一般形式:一般形式:表达式;表达式;l说明:说明:“表达式表达式”可以是可以是任何表达式,如任何表达式,如常量、变量、函常量、变量、函数调用等。数调用等。举例:举例:%i i;%a a6 6;%b ba a22;%printf(“hellprintf(“hello o”);”);6复合语句复合语句l一般形式:一般形式: 语句语句1 1;语句;语句2 2;语

3、句;语句n n; l说明:说明:l复合语句在功能上相当于一条语句。复合语句在功能上相当于一条语句。l最后一个分号的位置不在花括号外。最后一个分号的位置不在花括号外。l复合语句多出现在函数及流程控制语句中。复合语句多出现在函数及流程控制语句中。7数据的输入、输出数据的输入、输出lc c程序中的输入输出通过函数调用完成。程序中的输入输出通过函数调用完成。l数据输出库函数数据输出库函数l字符输出函数字符输出函数putcharputchar()()l格式输出函数格式输出函数printfprintf()()l数据输入库函数数据输入库函数l格式输入函数格式输入函数scanfscanf()()l字符输入函数

4、字符输入函数getchargetchar()()8字符输出函数字符输出函数putcharputcharl一般形式:一般形式:putchar(cputchar(c););l功能:输出变量功能:输出变量c c所代表的一个字符。所代表的一个字符。l说明:说明:lc c为字符型变量或整型变量。为字符型变量或整型变量。l使用时必须在程序开始处注明:使用时必须在程序开始处注明:# #include include 9例例4.1putchar使用。使用。#include main()char a,b,c;a=o;b=k;c=n;putchar(a);putchar(b);putchar(c);okok10格

5、式输出函数格式输出函数printfprintfl一般形式:一般形式:printf(printf(格式控制,输出表格式控制,输出表););l功能:按照指定格式输出指定数据。功能:按照指定格式输出指定数据。l举例:举例: printf(“answer: %dn”,11);“格式控制格式控制”是双引号括起是双引号括起来的格式控制来的格式控制转换字符串转换字符串“输出表输出表”中的数中的数据,要与据,要与“格式控格式控制制”中的格式字符中的格式字符一一对应一一对应11格式控制的组成:格式控制的组成:l格式说明。格式说明。l由由“”后跟格式字符组成。后跟格式字符组成。l作用是将输出数据转换为指定格式输出

6、。作用是将输出数据转换为指定格式输出。l字符串。字符串。l原样输出。原样输出。l转义字符。转义字符。l对输出形式进行控制对输出形式进行控制。printf(“answer: %d n”,11);printf(“/ is an interpunctionn”)12例例4.2main() int a,b,c; a=4; b=5; c=a*b; printf(“a*b=%dn”,c);程序执行结果:程序执行结果:a a* *b b202013格式说明符简介格式说明符简介e%d以带符号的十进制形式输出整数以带符号的十进制形式输出整数e%o以无符号的八进制形式输出整数以无符号的八进制形式输出整数e%x以无

7、符号的十六进制形式输出整数以无符号的十六进制形式输出整数e%u以无符号的十进制形式输出整数以无符号的十进制形式输出整数e%c以字符形式输出单个字符以字符形式输出单个字符e%s输出字符串输出字符串e%f以小数点形式输出单、双精度实数以小数点形式输出单、双精度实数e%e以标准指数形式输出单、双精度实数以标准指数形式输出单、双精度实数e%g选用输出宽度较小的格式输出实数选用输出宽度较小的格式输出实数14l功能功能以带符号的十进制形式输出整数。以带符号的十进制形式输出整数。l具体用法具体用法ld d:按照整型数据的实际长度输出。按照整型数据的实际长度输出。lmdmd:以以m m指定的字段宽度输出,右对

8、齐。指定的字段宽度输出,右对齐。lldld:输出长整型数据。输出长整型数据。lmldmld:输出指定宽度的长整型数据。输出指定宽度的长整型数据。l程序范例程序范例15例例4.3执行下面程序,注意输出格式:执行下面程序,注意输出格式:main( )int a=12,b=-3456;long int c=123456;printf(%5dn,a);printf(%dn,b);printf(%ldn,c);printf(%dn,c);运行结果:运行结果: 12-3456123456-761616l功能:功能:将内存单元中的二进制数将内存单元中的二进制数直接转换成八直接转换成八进制数或十六进制数输出,

9、不带符号位。进制数或十六进制数输出,不带符号位。l说明说明: :l同同“d”d”类似,可以用类似,可以用“mo”mo”或或“mxmx”指定字段输出宽度。指定字段输出宽度。l对长整型数可以用对长整型数可以用“lo”lo”或或“lx”lx”格式输出。格式输出。17机器数(带符号)的表示机器数(带符号)的表示l正数:正数:原码、反码及补码一样,即:符号位绝对值原码、反码及补码一样,即:符号位绝对值l负数:负数:原码:符号位绝对值原码:符号位绝对值反码:符号位对原码取反反码:符号位对原码取反补码:符号位:对原码取反补码:符号位:对原码取反1 1l举例:设有举例:设有 intint a=1,b=-1;

10、a=1,b=-1;a a的表示:的表示:0000 0000 0000 00010000 0000 0000 0001(原、反、补)(原、反、补)b b的表示:的表示:1000 0000 0000 00011000 0000 0000 0001(原码)(原码)1111 1111 1111 11101111 1111 1111 1110(反码)(反码)1111 1111 1111 11111111 1111 1111 1111(补码)(补码)18例例4.4main()int a=1,b=-1;printf(a:%8d,%8o,%8xn,a,a,a);printf(”b:%8d,%8o,%8xn,b

11、,b,b);运行结果:运行结果:a: 1, 1, 1b: -1, 177777, ffff19u u 格式符格式符l功能:以无符号的十进制形式输出整数。功能:以无符号的十进制形式输出整数。l说明:说明:l有符号数可用有符号数可用“u”u”格式输出;格式输出;l无符号数可用无符号数可用“d”d”、“o”o”、“x x”格式输格式输出。出。l举例:举例:intint i=-1; i=-1;printf(“%d,%u”,i,iprintf(“%d,%u”,i,i););输出结果:输出结果:-1,65535-1,6553520c c 格式符格式符l功能:功能:输出单个输出单个asciiascii码字符

12、。码字符。l说明:说明:c c格式也可用格式也可用于输出一个范围在于输出一个范围在0 0255255之间的整数,之间的整数,其值必然对应某个其值必然对应某个asciiascii字符。字符。 main()char c=m;int i;i=c+32;printf(%c,%dn,c,c);printf(%c,%dn,i,i);m,77m,10921s s 格式符格式符l分类:分类:fs s:直接输出指定字符串。直接输出指定字符串。fmsms:输出字符串占输出字符串占m m列,右对齐。列,右对齐。f- -msms:输出字符串占输出字符串占m m列,左对齐。列,左对齐。fm.nsm.ns:输出字符串前输

13、出字符串前n n个字符,占个字符,占m m列,右对列,右对齐。齐。f- -m.nsm.ns:输出字符串前输出字符串前n n个字符,占个字符,占m m列,左对列,左对齐。齐。l程序范例程序范例22main()printf(%3s,%7.2s, %-5.3s,%2.4sn,china,china,china,china);运行结果运行结果china, ch, chi ,chin23f 格式符l功能:以小数点形式输出单、双精度实数。功能:以小数点形式输出单、双精度实数。l分类:分类:lf f:数据的整数部分全部输出,小数部分输出数据的整数部分全部输出,小数部分输出6 6位。位。lm.nfm.nf:输

14、出数据共占输出数据共占m m列,小数占列,小数占n n位,右对齐。位,右对齐。l- -m.nfm.nf:输出数据共占输出数据共占m m列,小数占列,小数占n n位,左对齐。位,左对齐。l注意:单精度实数的有效位数一般为注意:单精度实数的有效位数一般为7 7位;双精位;双精度实数的有效位数为度实数的有效位数为1616位位, ,给出小数给出小数6 6位。位。l程序范例程序范例24f main()float x,y;x=111111.111;y=222222.222;printf(%fn,x+y);25e e 格式符格式符l功能:以指数形式输出单、双精度实数。功能:以指数形式输出单、双精度实数。l“

15、e e”输出数据共占输出数据共占1313位:位:例:例: printf(“%e”,12.3);整数整数1 1指数指数1 1小数点小数点1 1指数符号指数符号1 1小数小数6 6e e1 126g g 格式符格式符l功能:根据数值自动选择功能:根据数值自动选择f f格式或格式或e e格式中宽度格式中宽度较小的一种输出实数。较小的一种输出实数。l举例:举例:float f=12.345;float f=12.345;printf(“%f,%e,%g”,x,x,x);printf(“%f,%e,%g”,x,x,x);结果:结果:12.34500012.345000,1.234501.23450e+e

16、+0101,12.34512.34527printfprintf函数说明:函数说明:l格式字符要用小写字母。格式字符要用小写字母。l如若输出字符如若输出字符“”,在,在“格式控制格式控制”中用连中用连续两个续两个“”即可。即可。l当当“格式控制格式控制”中格式符个数少于输出表中的中格式符个数少于输出表中的输出项时,多余的输出项不予输出。输出项时,多余的输出项不予输出。l当当“格式符格式符”多于输出项时,结果为意外值。多于输出项时,结果为意外值。28字符输入函数字符输入函数getchargetchar&一般形式:一般形式:getchargetchar()()&功能:要求用户从终端

17、(键盘)输入单个字符。功能:要求用户从终端(键盘)输入单个字符。&返回值:从输入设备上得到的字符。返回值:从输入设备上得到的字符。&说明:说明:*该函数为无参函数。该函数为无参函数。*使用该函数,必须在程序开头用预编译命令使用该函数,必须在程序开头用预编译命令: :# #include include 29#include main()char c;printf(input an uppercase letter:n);c=getchar();putchar(c+32);运行程序时,系统等待用户运行程序时,系统等待用户输入,注意回车也是一个合输入,注意回车也是一个合法字符。法字

18、符。30格式输入函数格式输入函数scanf(p79)scanf(p79)l一般形式:一般形式:scanfscanf(格式控制,地址表);格式控制,地址表);l功能:要求用户从键盘上输入指定类型的任意功能:要求用户从键盘上输入指定类型的任意多数据。多数据。l说明:说明:l“格式控制格式控制” ” 部分同部分同printfprintf函数。函数。l“地址表地址表”由由地址地址组成,表明每个输入项应组成,表明每个输入项应在存储单元的首地址,如在存储单元的首地址,如&a。l执行输入操作时,用户应使用空格或回车等执行输入操作时,用户应使用空格或回车等相应分隔符间隔不同数据。相应分隔符间隔不同数据。31main()int a,b;scanf(,&a,&b);printf(%dn,a*b);运行情况:运行情况:23 45 1035 如果引号部分变如果引号部分变为为“d ,d ,d d”,在输入数据时也必在输入数据时也必须写成须写成“23“23,45”45”32scanf函数说明:l对对unsignedunsigned变量所需的数据,可以用变量所需的数据,可以用%u, %d,

温馨提示

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

评论

0/150

提交评论