




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内容提要: C语句概述 赋值语句 基本的数据输入/输出函数 简单的C程序设计,第4章 最简单的C 程序设计 顺序程序设计,1. 语句 是用来对数据进行加工,完成一定操作任务的;是构成程序的基本单位。 通常一个C程序由若干个函数组成,每一函数由若干条语句组成。 每条语句总是以“;”结束 2. C语句的分类 可分为三大类:简单语句、复合语句、空语句 (1)简单语句 表达式语句:由一个表达式后跟“;”组成 赋值语句:赋值表达式加一个“;” 如:s=3.14159*r*r;i+; 函数调用语句:函数调用表达式加一个“;” 如:printf(“Hello,worldn”); 结构控制语句:控制程序流程
2、选择语句:ifelse 、 switch 循环语句:for 、 while 、 dowhile 转向语句:continue 、 break 、 return 、 goto, 4.1 C语句概述,2. C语句的分类 (1)简单语句 (2)复合语句:将一组语句括在一对 中 如:while(i100) sum+=i;/*赋值语句,相当于sum=sum+i*/ i+; /*赋值语句,相当于i=i+1*/ 说明: 复合语句的之后不能有“;”; 复合语句中可以是简单语句,复合语句,空语句 (3)空语句: ; /* 仅有一个“;”*/ 空语句什么也不做。有时用作被转向点,或为循环语句提供空体 如: for(
3、i=0;i10;i+);,C语句概述(续),赋值表达式后面加一“;”构成 要区分赋值表达式与赋值语句 如:if(a=b)0)t=a; 表达式 语句 注意: 赋值表达式可以包含在其它表达式之中,而赋值语句不行。 赋值语句只能作为一条单独的语句,或放在复合语句中。 赋值语句用途很广。, 4.2 赋值语句,输入和输出是以计算机主机为主体而言。 输出指外部设备:显示屏,打印机,输入设备: 键盘,鼠标,扫描仪等。 默认输入设备是键盘,输出设备是显示器 C 语言不提供输入输出语句,输入输出操作是由函数来完成的。如前面提到的printf和scanf。它们是函数名不是C 语言的关键字。 sizeof是关键字
4、a=sizeof(int) 是编译系统提供的 要用预编译命令将库函数文件包括到用户源文件中。如: #include “stdio.h” #include “math.h” #include “string.h” 在Turbo C 2.0中,只有printf和scanf例外。, 4.3 数据输入输出的概念及在C语言中的实现,C语言没有输入/输出语句,输入/输出操作通过调用系统函数实现。 在程序的开头要有:#include “stdio.h” 或 #include 默认的输入设备:键盘 默认的输出设备:显示器 1. 字符输出函数putchar 形式:putchar(c); 作用:向显示器上输出一个
5、字符 (将C的值输出到显示器上), C可 以是字符型的常量,变量表达式,例4.1 #include void main() char c1,c2; c1=b; c2=98; putchar(c1); putchar(c2); putchar(b); putchar(98); ,例4.2 输出控制字符、转义字符 #include main() putchar(“101”); putchar(“n”); putchar(“”); ,bbbb,A , 4.4 字符数据的输入输出,2. 字符输入函数getchar() 格式:getchar() 作用:从键盘缓冲区读入一个字符 注意: 当输入多个字符时,
6、多余字符作废 (按回车后才开始接收字符) 用getchar() 得到的字符可以赋给字 符型变量、整型变量、或作为表达式 的一部分. 如: c=getchar()+32; putchar(c); 若输入是:A 则输出是:a,例4.3 #include void main() int c; printf(“Enter a character:”); c=getchar(); printf(“%c: %dn”,c, c); ,Enter a character: a a: 97,例4.4 #include void main() putchar(getchar(); ,a a,字符数据的输入输出(续
7、),1. 格式输出函数printf 作用:向终端输出若干个类型任意的数据 形式:printf(格式控制符,输出项列表),双引号括起来的字符串,要输出的内容(常量、变量、表达式等),例4.5 #include void main() int i=5; float f=32.345; printf(“i=%3d f=%5.1fn”, i, f); printf(“End.n”); ,引导符,宽度,小数位数 精度,类型符,i= 5 f= 32.3 End, 4.5 格式输入输出,格式控制字符串: i=%3d f=%5.1f % 5 . 1 f,格式控制符完整的格式: % 0 m.n l/h 格式字符
8、,格式说明的引导符号,指定左对齐输出,指定输出的数据类型,输出长度的修正,指定输出域宽及精度,指定空位填0,格式输入输出(续),% 0 m.n l/h 格式字符 说明: (1) 格式字符 指定输出项的数据类型和输出的格式 d 十进制整数 如:x=123;printf(”%dn”, x); o 无符号八进制数 x 无符号十六进制数 u 无符号的十进制整数,例 4.6 #include void main() unsigned int a = 65535; int b = -2; printf(“a=%d, %o, %x, %un”,a,a,a,a); printf(“b=%d, %o, %x,
9、%un”,b,b,b,b); ,解释: 1111 1111 1111 1111 a=65535 1111 1111 1111 1110 b=-2,a=-1,177777,ffff,65535 b=-2,177776,fffe,65534,有符号的整型数b可以用%u输出 无符号的整型数a可以用%d输出,格式输入输出(续),(1) 格式字符 指定输出项的数据类型和输出的格式 C 输出一个字符 S 输出一个字符串 e 以指数的形式输出实型数 f 以小数的形式输出实型数 g 自动决定输出格式为e和f中 较短的一种。不打印无效的0。(了解) % 输出%,例 4.7 #include void main(
10、) float a, b; char c = a; int i = 97; a=222222.222; b=111111.111; printf(“%f, %7.4fn”, a+b,a-b); printf(“%c, %dn”, c, c); printf(“%c, %dn”, i, i); printf(“%s, %n”, “china”); ,333333. 328125,111111.1094 a, 97 a, 97 china, %,注意:对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位; 对于双精度数,使用%f格式符输出时,前16位是有效数字,小数6位,格式输入输出(
11、续),% 0 m.n l/h 格式字符 说明: (1) 格式字符 (2) 长度修正符:l/h l:对于整型指长整型long 例:%ld、%lx、%lo、%lu 对于实型指双精度 例:%lf h:只用于整型的格式字符,修正为short 例:%hd、%hx、%ho、%hu (3) 域宽及精度的描述:m.n m:域宽,即对应的输出项在输出设备上所占的字符数, 若实际数据宽度 m,按实际数据宽度输出 若实际数据宽度 m,左边补空 n:精度,说明输出的实型数的小数位数,格式输入输出(续),几点说明: 编译程序只是检查printf函数的调用格式,不分析格式控制字符串,如果格式字符与输出项的类型不匹配,不进
12、行类型转换。 格式字符要用小写字母 格式控制字符串中可以包含转义字符 格式控制字符串中的普通字符原样输出 输出项的参数除了常数、变量外,还可以是表达式、函数调用 如:printf(“max=%dt i=%d n ”, imax(a,b),i+);,例4.8 #include void main() int i = 321; float f = 123.456; printf(“%5d: %5.2f n”, i,i); printf(“%5d: %5.2f n”, f,f); ,321: 4030221778.21 0: 123.46,格式输入输出(续),23,2. 格式输入函数scanf 格式
13、:scanf(格式控制符,变量地址列表) 作用:按格式控制符的要求将数据从终端传送到变量地址所指定的内存空间,例4.11 #include void main() int a; float b; scanf(“%d %f”, ,12.345,分配内存空间, scanf(“%d%d”, ,格式输入输出(续),(2)格式控制符 格式说明项 输入数据的分隔 采用隐含的分隔符:空格、 回车键、Tab键 根据格式中指定的域宽分隔 数据项 采用用户指定的分隔符,例4-13: #include void main() int a; float b, c; printf(“input a,b,c:”); sc
14、anf(“%d %f %f”, ,例4-14: #include void main() int a; float b, c; scanf(“%2d %3f %2f”, ,scanf(“%d,%f,%f”, ,scanf(“a=%d,b=%f,c=%f”, ,格式输入输出(续),注意: scanf中不使用u说明符,对unsigned型数据用d,o,x说明符输入 输入数据时不能规定数据的精度 如:scanf(“%4.2f”, 输入:a=123, b=23.456 %c一次接收一个字符,不需单引号;空格字符是个有效的字符 在输入数据时,遇到以下情况认为该数据结束 遇空格,或按回车或跳格键 按指定的
15、宽度结束,如“%3d”,只取3列 遇非法输入,思考:scanf(“Enter a number: %d”, 的输入格式?,格式输入输出(续),例4.15:输入一个小写字母,输出其对应的大写字母及其前导字母与后续字母. 分析:小写字母的ASCII码比对应的大写字母大32 前导字母的ASCII码小1,后续字母的ASCII码大1,#include void main() char c; pirntf(“Enter a character:”); c=getchar(); printf(“%c,%c,%c”, c,c-1,c+1); printf(“%c,%c,%c”,c-32,c-33,c-31);
16、 ,可用putchar()函数代替: putchar(c); putchar(c-1); putchar(c+1);,scanf(“%c”, 4.6 程序举例,例4.16:求方程ax2+bx+c=0的根,b2-4ac0。 (其中a,b,c的值由键盘输入),输入a, b, c,dt=sqrt(b2-4ac),x1=(-b+dt)/2a x2=(-b-dt)/2a,输出x1,x2,分析: ax2+bx+c=0 dt=b2-4ac b dt b dt 2a 2a 2a 2a,x1=,+,x2=,-,P,q,程序举例(续),#include #include void main() float a,b
17、,c,x1,x2,dt,p,q; printf(“input a,b,c:”); scanf(“%f %f %f”, ,程序举例(续),例4.17 鸡兔同笼。已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只? 分析:设鸡x只,兔y只。则: x+y=h 解得 x=2h f/2 2x+4y=f y=f/2-h,#include Void main() int x,y,h,f; printf(“input h,f:”); scanf(“%d %d”, ,程序举例(续),第三章结束,熟练掌握printf和scanf函数的用法,1. 正确的赋值语句是: A) a=1,b=2 B) i+; c) a=b=5
18、 d) y=int (x); 2 . 非法的转义字符是: (1) A) t B) 018 C) n D) xaa (2) A) B) 101 C) D) xaa (3) A) t B) 011 C) n D) o17 3. 不正确的八进制和十六进制数是: (1) A) 0 x16 B) 016 C) -16 D) 0 xaaaa (2) A) oxcc B) -017 C) -0 x12 D) 0 xffff 4. 不正确的数值和字符常量是: (1) A) 0.0 B) 5L C) o13 D) 986l (2) A) 8.9e1.2 B) 1e1 C) 0 xFF00 D) 0.825e2 (3) A) “a”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州省文化和旅游厅所属事业单位第十三届人博会引进人才3人模拟试卷及答案详解(历年真题)
- 2025辽宁大连市金普新区卫健系统校招吉林大学医学硕士19人模拟试卷及答案详解(考点梳理)
- 2025年福建省莆田市荔城法院招聘2名速录员考前自测高频考点模拟试题及一套完整答案详解
- 2025北京市环科院编制外人员招聘6人模拟试卷及答案详解(名师系列)
- 2025广东广州市中山大学孙逸仙纪念医院全科医学科医教研岗位招聘1人模拟试卷及答案详解(名校卷)
- 2025年杭州市临安区中医院医共体招聘合同制员工11人模拟试卷附答案详解(模拟题)
- 2025江西省中小学教师及特岗教师招聘笔试有关事项提示考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025北京市大兴区教育委员会所属事业单位第二批招聘教师251人模拟试卷及一套参考答案详解
- 2025年长河镇人民政府公开招聘编外工作人员3人模拟试卷及答案详解(名校卷)
- 2025湖北武汉设计工程学院博士人才招聘模拟试卷及答案详解(夺冠)
- 中职对口高考-机械类专业综合模拟卷( 湖北适用) 第5卷(答案版)
- 小米公司介绍课件
- 部编六年级上册快乐读书吧《童年》测试题(3份)(有答案)
- 霍尼韦尔Honeywell温控器UDC2500中文手册
- 留置胃管课件
- 核反应堆热工分析课程设计
- ISO 56005-2020创新管理-知识产权管理的工具和方法-指南(中文版)
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- DL-T5017-2007水电水利工程压力钢管制造安装及验收规范
- 招标代理员工合同
- 深度学习技术基础与实践 课件 第1-3章 深度学习概述、深度学习原理、深度学习框架介绍
评论
0/150
提交评论