




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 最简单的C程序设计,4.1 C语句概述 4.2 赋值语句 4.3 数据输入输出的概念及在c语言中的实现 4.4 字符数据的输入输出 4.4.1 putchar函数 4.4.2 getchar函数 4.5 格式输入与输出 4.5.1 printf函数 4.5.2 scanf函数 4.6 顺序结构程序设计举例,4.1 C语句概述,C语句分为,4.1 C语句概述,一个c程序可以有若干个源程序文件组成 一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成 一个函数有函数首部和函数体组成 函数体由数据声明和执行语句组成,(一)控制语句,(二)函数调用语句,1 if() else 条件语句 2 for() 循环语句 3 while()循环语句 4 do while();循环语句 5 continue 继续语句 6 break 间断语句 7 switch() 开关语句 8 goto 转向语句 9 return 返回语句,3.9 赋值运算符和赋值表达式,(三)表达式语句,(四)空语句,(五)复合语句,(一)控制语句,(二)函数调用语句,有一个函数调用加一个分号构成一个语句 Printf(“This is a C statement.”);,3.9 赋值运算符和赋值表达式,(三)表达式语句,(四)空语句,(五)复合语句,例:,(一)控制语句,(二)函数调用语句,有一个函数调用加一个分号构成一个语句 a = 3 ;,3.9 赋值运算符和赋值表达式,(三)表达式语句,(四)空语句,(五)复合语句,例:,(一)控制语句,(二)函数调用语句,只有一个分号构成的语句 (什么也不做) 用来做流程的转向点 用来作为循环语句中的循环体,3.9 赋值运算符和赋值表达式,(三)表达式语句,(四)空语句,(五)复合语句,;,(一)控制语句,(二)函数调用语句,用一对括起来的语句,3.9 赋值运算符和赋值表达式,(三)表达式语句,(四)空语句,(五)复合语句,例, z=x+y; t=z/100; printf(“%f”,t); ,4.2 赋值语句,赋值语句是由赋值表达式加上一个分号构成,例:a=100 赋值表达式 a=100; 赋值语句,条件中不能含有赋值符号,但是赋值表达式可以 包含于条件表达式中,例:if(a=b) t=a; 错误 if(a=b)0) t=a; 正确,1:C语言中的赋值号“=”是一个运算符,在其他大多数语言中赋值号不是运算符. 2:其他大多数高级语言没有“赋值表达式”这一概念.,问题:c语言中的赋值语句于其他高级语言的赋值语句有什么不同点?,4.2 赋值语句,4.3 数据输入输出的概念及在C语言中的实现,(一).所谓输入输出是以计算机主机为主体而言的,输出:从计算机向外部输出设备(显示器,打印机)输出数据 输入:从输入设备(键盘,鼠标,扫描仪)向计算机输入数据.,(二).C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的,例如: 字符输入函数: getchar 字符输出函数:putchar 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字数穿输出函数:puts,4.3 数据输入输出的概念及在C语言中的实现,(三).在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中.,例如:在调用标准输入输出库函数时,文件开头应该有: #include “stdio.h” 或: #include ,4.4 字符数据的输入输出,(一).字符输出函数,一般形式:putchar(c) 函数作用:向终端输出一个字符,例4.1 输出单个字符。 #include void main() char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c);putchar(n); ,运行结果:B O Y,4.4 字符数据的输入输出,(二).字符输入函数,一般形式:getchar() 函数作用:从终端(或系统隐含指定的输入设备)输入一个字符。 函数值: 从输入设备得到的字符。,例4.2 输入单个字符。 #include void main() char c; c=getchar(); putchar(c); putchar(n); ,4.5 格式输入与输出,(一).格式输出函数,%d:以带符号的十进制形式输出整数 %o:以八进制无符号形式输出整数 %x:以十六进制无符号形式输出整数 To be continued,函数作用:向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 一般格式:printf(格式控制,输出表列),%u:以无符号十进制形式输出整数 %c:以字符形式输出,只输出一个字符 %s:输出字符串 %f:以小数形式输出单,双精度数,隐含输出六位小数 %e:以指数形式输出实数 %g:选用%f或%e格式中输出宽度较短的一种格式,不输 出无意义的0,4.5 格式输入与输出,4.5 格式输入与输出,几种常见的格式符的修饰符:,L:用于长整型整数,可加在格式符d,o,x,u前面 M(代表一个正整数):数据最小宽度 N(代表一个正整数):对实数,表示输出n位小数; 对字符串,表示截取的字符个数 :输出的数字或字符在域内向左靠,格式符。用来输出十进制整数。,4.5 格式输入与输出,几种用法: :按十进制整型数据的实际长度输出。 :为指定的输出字段的宽度。如果数据的位数小于, 则左端补以空格,若大于,则按实际位数输出。 例: (,); 若,则输出结果为 , :输出长整型数据。 例: ;/* 定义a为长整型变量*/ (,);,(2) 格式符。以八进制整数形式输出。,4.5 格式输入与输出,例:int a=-1; printf(“%d,%o“,a,a); 在内存单元中的存放形式(以补码形式存放)如下: 1111111111111111 输出为: ,,输出的数值不带符号,符号位也一起作为八进制数的一部分输出。,不会输出带负号的八进制整数。对长整数(型)可以用“lo”格式输出。,例:(“,); 输出为: 177777。 (数字前有2个空格),(3)格式符。以十六进制数形式输出整数。同样不会出 现负的十六进制数。,4.5 格式输入与输出,例: ; (,); 输出结果为: ffff, 可以用“”输出长整型数,也可以指定输出字段的宽度 例: “”,(4)格式符,用来输出型数据.,4.5 格式输入与输出,一个有符号整数(型)也可以用格式输出; 一个型数据也可以用格式输出。 型数据也可用或格式输出。,如: d; (,d); 输出字符. 一个整数,只要它的值在范围内,可以用“”使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;一个字符数据也可以用整数形式输出。,(5)格式符,用来输出一个字符。,例4.3 无符号数据的输出。 #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,%un”,b,b,b,b); ,运行结果: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534,4.5 格式输入与输出,例4.4 字符数据的输出。 #include void main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); ,运行结果: a,97 a,97,4.5 格式输入与输出,(6)s格式符输出字符串.,4.5 格式输入与输出, 。例如: (,) 输出字符串“”(不包括双引号)。 %ms,输出的字符串占m列,若串长大于m,则全部输出,若串长小于m,则左补空格。 %-ms,若串长小于m,字符串向左靠,右补空格。 %m. ns,输出占m列,只取字符串中左端n个字符,输出在m列的右侧,左补空格。 %-m.ns,n个字符输出在m列的左侧,右补空格,若nm,m自 动取n值。,例4.5字符串的输出。 #include void main() printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); ,4.5 格式输入与输出,(7)格式符。用来以小数形式输出实数(包括单双精度),4.5 格式输入与输出,有以下几种用法: 。不指定字段宽度,由系统自动指定字段宽度,使整数 部分全部输出,并输出位小数。应当注意,在输出的数字中 并非全部数字都是有效数字。单精度实数的有效位数一般为位。 .。指定输出的数据共占列,其中有位小数。如果数值长度小于,则左端补空格。 .与.基本相同,只是使输出的数值向左端 靠,右端补空格。,例4.6 输出实数时的有效位数。 #include void () ,; ; (,); ,运行结果: .,4.5 格式输入与输出,例4.7输出双精度数时的有效位数。 #include void () ,; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%f”,x+y); ,运行结果: 3333333333333.333010,4.5 格式输入与输出,例4.8 输出实数时指定小数位数。 #include void () float f=123.456; printf(“%f%10f%10.2f%.2f%-10.2fn”,f,f,f,f,f); ,运行结果: 123.455994 123.455994 123.46 123.46 123.46,4.5 格式输入与输出,(8)格式符,以指数形式输出实数。,4.5 格式输入与输出,可用以下形式: 。不指定输出数据所占的宽度和数字部分的小数位数. 例: (,); 输出: 6列 5列 所输出的实数共占列宽度。(注:不同系统的规定略有不同), m.ne和-m.ne。 、和“”字符的含义与前相同。 此处指拟输出的数据的小数部分(又称尾数)的小数位数。 若,则: printf(“%e %10e %10.2e %.2e %-10.2e“,f,f,f,f,f); 输出如下: 1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 13列 13列 10列 9列 1.23e+002 10列,说明: 未指定,自动使. 超过给定的列,乃突破列的限制,按实际长度输出。 第3个数据共占列,小数部分占列。 只指定,未指定,自动使等于数据应占的长度。 第5个数据应占列,数值只有列,由于是“”, 数值向左靠,右补一个空格。 (注:有的C系统的输出格式与此略有不同),4.5 格式输入与输出,(9)格式符,用来输出实数.,4.5 格式输入与输出,它根据数值的大小,自动选格式或格式(选择输出时占宽度较小的一种),且不输出无意义的零。 例:若,则 ( ,); 输出如下: 123.468000 1.234680e+002 123.468 10列 13列 10列,说明: 用格式输出占列,用格式输出占列,用 格式时,自动从上面两种格式中选择短者(今以格式为短) 故占列,并按格式用小数形式输出,最后3个小数位为 无意义的,不输出,因此输出123.468,然后右补3个空格。 格式用得较少。,4.5 格式输入与输出,除了X,E,G外,其他各式字符必须用小写。 可以在printf函数中的“格式控制”字符串中包含转义字符。 一个格式说明必须以“%”开头,以9个格式字符之一为结束, 中间可以插入附加格式字符。 想输出%,则应该在格式控制字符串中用连续两个%表示,说明,(一).格式输入函数 函数作用:按照变量在内存的地址将变量值存进去。 一般格式:scanf(格式控制,地址表列),同printf函数,是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址,4.5 格式输入与输出,例4.9 用scanf函数输入数据。 #include void main() int a,b,c; scanf(“%d%d%d”, ,a在内存中的地址 &是地址运算符,4.5 格式输入与输出,4.5 格式输入与输出,对unsigned型变量所需要的数据,可以用%u,%d或 %o,%x格式输入。 可以指定输入数据所占的列数,系统自动按它截取 所需数据。 如果在%后有一个“*”附加说明符,表示跳过它指定 的列数。 输入数据时不能规定精度。,说明,4.5 格式输入与输出,(1)函数中的“格式控制”后面应当是变量地址, 而不应是变量名。 (2) 如果在“格式控制”字符串中除了格式说明以外还有其他字 符,则在输入数据时在对应位置应输入与这些字符相同的字符。 (3) 在用“”格式输入字符时,空格字符和“转义字符”都作 为有效字符输入 (4) 在输入数据时,遇以下情况时认为该数据结束。 遇空格,或按“回车”或“跳格”(Tab)键; 按指定的宽度结束,如“”,只取列; 遇非法输入。,使用scanf函数时应注意的问题,4.6 顺序结构程序设计举例,#include #include void main() float a,b,c,s,area; scanf(“%f,%f,%f,数学函数库 因为要用到其中的sqrt函数,4.6 顺序结构程序设计举例,例4.1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私企股东发言稿
- 时间的课件教学课件
- 电网案例分析课件
- 文明小顾客课件
- 学跳舞小班课件大纲
- 时政点评人民币汇率课件
- 二零二五年度能源节约型厂房租赁合同
- 二零二五年度大学工程招投标与合同管理专业人才培养合同
- 2025版电线电缆安全标准制定与实施合同
- 2025版钢板桩租赁与建筑结构安全检测合同
- 消防安全评估报告模板
- 公司汽车租赁合同书协议书书范本
- 张燕芳《国际贸易实务》(第5版)-电子课件示例(第4章)-已认证老师可下
- 育苗温室钢架棚报验技术资料(检验批)
- 云南省昆明市嵩明县2023-2024学年高一下学期期中数学试卷
- NB-T20024-2010核电厂工程建设预算编制方法
- BBT 0024-2018 运输包装用拉伸缠绕膜
- HYT 0302-2021 沸石离子筛法海水提钾工程设计规范(正式版)
- 外祖父母外孙子外孙女关系证明
- DL∕T 2473.7-2022 可调节负荷并网运行与控制技术规范 第7部分:继电保护
- 2021修订《城市规划设计计费指导意见》
评论
0/150
提交评论