




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 最简单的C程序设计 顺序程序设计 C语句概述 赋值语句 数据输入输出的概念及在c语言中的实现 字符数据的输入输出 格式输入与输出 顺序结构程序设计举例 回顾 常量在程序中不能被更改,而变量在程序中可以 被更改 C语言中的基本数据类型包括整型、单精度浮点 型、双精度浮点型和字符型 整型分为短整型、整型、长整型,每种整型又可 分为有符号型和无符号型 单精度浮点型和双精度浮点型变量可以存储实数 字符型变量可以存储单个字符,其值是该字符的 ASCII 码 算术运算符提供运算功能,包括+、-、*、/、% 、+、- 目标 掌握字符数据输入输出函数用法 熟练使用printf和scanf函数 理解顺序结构程序的设计思路 4.1 C语句概述 程序的结构 返回 C语句可分为以下五类: p控制语句 p函数调用语句 p表达式语句 p空语句 p复合语句 1、控制语句有9种: if( )else 条件语句 for( ) 循环语句 while( ) 循环语句 dowhile( ) 循环语句 continue 结束本次循环语句 break 终止执行switch或循环语句 switch 多分支选择语句 goto 转向语句 return 从函数返回语句 其中,()表示是条件, 表示内嵌的语句。 2、函数调用语句: 由函数名、实际参数加上分号“;”组成。 其一般形式为: 函数名(实际参数表); 例如: printf(“C Program“); 调用库函数,输出字符串。 3、表达式语句: 表达式语句由表达式加上分号“;”组成。 其一般形式为: 表达式; 例如 a=3 是一个赋值表达式 a=3; 是一个赋值语句 4、空语句: 只有分号“;”组成的语句称为空语句。 5、复合语句: 把多个语句用括号括起来组成的一个 语句称复合语句。 例如: x=y+z; a=b+c; printf(“%d%d”,x,a); 是一条复合语句。 4.2 赋值语句 赋值语句是程序中使用最多的语句之一。 赋值语句是由赋值表达式再加上分号构成的 表达式语句。 其一般形式为: 变量=表达式; 返回 在赋值语句的使用中需要注意以下几点: 由于在赋值符“=”右边的表达式也可以又是一 个赋值表达式,因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套的情形。 其展开之后的一般形式为: 变量=变量=表达式; 例如: a=b=c=d=e=5; 结果是a、b、c、d、e的值均为5。 注意在变量说明中给变量赋初值和赋值语句 的区别。 例如: int a=5,b,c; 是,不能是; 给变量赋初值是变量说明的一部分,赋初值后的变量 与其后的其它同类变量之间仍必须用逗号间隔,而赋 值语句则必须用分号结尾。 在变量说明中,不允许连续给多个变量赋初值 。 如下述说明是错误的: int a=b=c=5; 必须写为 int a=5,b=5,c=5; 而赋值语句允许连续赋值。 a=b=c=5; 是允许的。 注意赋值表达式和赋值语句的区别。 下述语句是合法的: if(x=y+5)0) z=x; 语句的功能是,若表达式x=y+5大于0则z=x。 下述语句是非法的: if(x=y+5;)0) z=x; 因为x=y+5;是语句,不能出现在表达式中。 赋值表达式是一种表达式,它可以出现在任何允许表达式 出现的地方,而赋值语句则不能。 4.3 数据输入输出的概念及在C语言中的实现 所谓输入输出是以计算机为主体而言的。 本章介绍的是向标准输出设备显示器输出 数据的语句。 在语言中,所有的数据输入输出都是 由库函数完成的。 因此都是函数语句。 返回 在使用语言库函数时,要用预编译命令 #include 将有关“头文件”包括到源文件中。 使用标准输入输出库函数时要用到 “stdio.h”文件,因此源文件开头应有以 下预编译命令: #include 或 #include ”stdio.h” stdio是standard input (输出大写字母A) putchar(x); (输出字符变量x的值) putchar(101); (也是输出字符A) putchar(n); (换行) 使用本函数前必须要用文件包含命令: #include 或 #include “stdio.h” 例4.1 输出单个字符。 结果:Boy #include main() char a=B,b=o,c=y; putchar(a); putchar(b); putchar(c); 例4.1输出单个字符。 结果: B o y #include main() char a=B,b=o,c=y; putchar(a); putchar(n); putchar(b); putchar(n); putchar(c); putchar(n); 4.4.2 getchar函数(字符输入函数) getchar函数的功能是从键盘上输入一个字符。 其一般形式为: getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,如: char c; c=getchar(); 例4.2 输入单个字符。 #include void main() char c; printf(“input a charactern“); c=getchar(); putchar(c); 程序最后两行可用下面两行的 任意一行代替,结果相同: putchar(getchar(); printf(“%c”,getchar(); 使用getchar函数还应注意几个问题: getchar函数只能接受单个字符,输入数 字也按字符处理。输入多于一个字符时 ,只接收第一个字符。 使用本函数前必须包含文件“stdio.h”。 #include void main() char a,b; printf(“ 请输入两个字符:n“); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); putchar(a); putchar(b); putchar(n); getchar()和putchar()示例 内存 a b OK 输出: 请输入两个字符: O K OK Press any key to continue_ 4.5 格式输入与输出 4.5.1 printf函数(格式输出函数) printf函数的作用是按用户指定的格式 ,输出若干任意类型的数据。 返回 1、printf函数调用的一般形式 printf(“格式控制字符串”,输出表列) 其中“格式控制字符串”用于指定输出格 式。 格式控制串可由格式字符串和非格式字 符串两种组成。 格式字符串是以%开头的字符串,在%后面 跟有各种格式字符,以说明输出数据的类型 、形式、长度、小数位数等。 如:“%d”表示按十进制整型输出; “%ld”表示按十进制长整型输出; “%c”表示按字符型输出等。 非格式字符串在输出时原样照印,在显示中 起提示作用。 2、格式字符 (1)d格式符。用来输出十进制整数。 有几种用法: %d,按整型数据的实际长度输出。 %md,m为指定的输出字段的宽度。如 果数据的位数小于m,则左端补空格, 若大于m,则按实际位数输出。如: a=123;d=12345 printf(“%4d,%4d”,a,b); 结果: 123,12345 %ld,输出长整型数据。如 long a=135790; printf(“%ld”,a); (2)o或lo或mo格式符,以八进制形式输出 整数。 (3)x或lx或mx格式符,以八进制形式输出 整数。 (4)u格式符,用来输出unsigned型数。 (5)c格式符,用来输出一个字符。如: char c=a; printf(“%c”,c); 输出: a 也可以指定输出宽度,如: printf(“%3c”,c); 输出: a (6)s格式符,用来输出一个字符串。 有几种用法: %s,例如: printf(“%s”,”CHINA”); 输出 CHINA %ms,输出的字符串占m列,如字符串 长度大于m,则按字符串实际长度输出; 若字符串长度小于m,则左补空格。 %-ms,同上,右补空格。 %mns,输出占m列,但只取字符串中左端 n个字符,左补空格。 %-mns,输出占m列,但只取字符串中左 端n个字符,右补空格。 例4.5 字符串的输出。 main() printf(“%3s,%7.2s,%.4s,%-5.3s,n”, ”CHINA”, ”CHINA”, ”CHINA”, ”CHINA”); 结果为: CHINA, CH,CHIN,CHI (7)f格式符,用来输出实数(包括单、双精度) ,以小数形式输出。有以下几种用法: %f,不指定字段宽度,由系统自动指定,使 整数部分全部如数输出,并输出6位小数。 例4.6 输出实数时的有效位数。 x,y整数部分6位 main() float x=111111.111, y=222222.222; printf(“%f” , x+y); 结果:333333.328125 单精度只有7位有效数字。 例4.7 输出双精度数时的有效位。 main() double x, y; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%f” , x+y); 结果为:3333333333333.333010 双精度只有16位有效数字。 整数部分13位 main() float f=123.456; printf(“%f %10f %10.2f %.2f %-10.2fn”,f,f,f,f,f); %mnf 指定输出的数据占m列,其中有n位小 数。如果数值长度小于m位,则左端补空格 。 %-mnf 同上,右端补空格。 例4.8 输出实数时指定小数位数。 结果: 123.456001 123.456001 123.46 123.46 123.46 (9)g格式符,用来输出实数,它根据数值的 大小,自动选f格式或e格式(选择输出时 占宽度较小的一种),且不输出无意义 的0。 f=123.456 printf(“%f %e %g”,f,f,f); 结果: 123.456001 1.23456e+02 123.456001 格式字符 意 义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号整数(不输出前缀Ox) u 以十进制形式输出无符号整数 f 以小数形式输出单、双精度实数 e,E 以指数形式输出单、双精度实数 g,G以%f或%e中较短的输出宽度输出单、双精度实数 c 输出单个字符 s 输出字符串 .n 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数 修饰符功 能 m 输出数据域宽,数据长度 main() float a,b,c,s,area; scanf(“%f,%f,%f”, s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s); printf(“area=%7.2fn”,area); #include #include main() float a,b,c,s,area; scanf(“%f,%f,%f“, s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn“,a,b,c,s); printf(“area=%7.2fn“,area); 例4.10输入三角形的三边长,求三角形面积。 输入:3,4,6 输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33 文件包含预处理命令 变量定义 输入数据 输出数据 例4.11 从键盘输入大写字母,用小写字母输出。 #include “stdio.h“ main() char c1,c2; c1=getchar(); printf(“%c,%dn“,c1,c1); c2=c1+32; printf(“%c,%dn“,c2,c2); 输入:A 输出:A,65 a,97 例4.12求ax2+bx+c=0方程的根,a,b,c由 键盘输入,设b2-4ac0。 求根公式为: #include #include main() float a,b,c,disc,x1,x2,p,q; scanf(“a=%f,b=%f,c=%f“, disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q; x2=p-q; printf(“nnx1=%5.2fnx2=%5.2fn“,x1,x2); 总结 printf() 和 scanf() 函数属于格式输入输出 函数 getchar() 和 putchar() 函数用来输入输出 单个字符的函数 理解顺序结构程序的编程思路 习题: 1. a=1234,b=12,c=34,则执行 “printf(“|%3d%3d%-3d|n”,a,b,c);”后的输出 是 ? 。 |12341234| 1. a=1234,b=12,c=34,则执行 “printf(“%3d%3d%-3dn”,a,b,c);”后的输出 是 ? 。 12341234 1. a=1234,b=12,c=34,则执行 “printf(“|%3d%3d%-3dn|”,a,b,c);”后的输出 是 ? 。 |12341234 | 2. 以下程序输出的结果是 ? 。 main() int a1=1,a2=0,a3=2; printf(“%d,%d,%d“,a1,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中能建敖汉旗及元宝山区风光制氢一体化项目(光伏部分)环评报告表-报批稿
- 2026届广东省东华高级中学化学高二第一学期期末教学质量检测模拟试题含答案
- 幼儿园活动室布置方案
- IT薪酬管理制度及薪酬体系设计方案
- 恶劣天气安全教育课件
- 恩格斯简介课件
- 幼儿园托班活动方案
- 小车驾驶考试试题及答案
- 音乐教师口试题及答案
- 烟台市小学考试试题及答案
- 高中化学课程标准解读课件
- 新旧预算法对照表
- 企业财务会计全套教学课件
- 水厂原水水质污染处置应急预案
- 劳动关系证明书模板
- 仲夏夜之梦英文话剧剧本
- 脱不花三十天沟通训练营
- SH/T 0356-1996燃料油
- 科脉解决方案御商
- 变电室高压停电工作票1
- 住院患者用药教育学习记录
评论
0/150
提交评论