版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本讲内容(nirng) 2.4.2 输入输出的复杂格式控制 2.4.3 字符/字符串数据的输入和输出 2.5 C语句(yj)概述第1页/共58页第一页,共59页。2.4.2 输入输出的复杂格式(g shi)控制1.输出的复杂格式控制 printf函数调用形式(xngsh):功能1:按原样输出字符串。 printf(“字符串”);功能2:按格式说明符输出对应的数据项。 printf(%格式说明符, 输出项列表); printf(a=%d,b=%fn,a,b)第2页/共58页第二页,共59页。int a=1; float b=2;printf(a=%d,b=%fn,a,b)变量a对应格式符为%d变
2、量b对应格式符为%f非格式符原样输出,n是转义字符格式控制字符串输出数据列表1.1.输出的复杂格式输出的复杂格式(g shi)(g shi)控制控制 第3页/共58页第三页,共59页。常用(chn yn)的printf格式符第4页/共58页第四页,共59页。程序运行结果程序运行结果(ji (ji gu)gu)为:为:1.1.输出的复杂输出的复杂(fz)(fz)格式控制格式控制 第5页/共58页第五页,共59页。printf (%dn %un%x ,%X,%o n, 10, 10, 10, 10, 10);printf (%dn %un%x ,%X,%o n,-1, -1, -1, -1, -1
3、);1 01 0a , A , 1 21.1.输出的复杂输出的复杂(fz)(fz)格式控制格式控制 第6页/共58页第六页,共59页。数据(shj)在计算机中的存储-补码补码的最高位为符号位 正数最高位为0,负数(fsh)最高位为1正数的补码就是它本身例如:1的补码(若为短整型,2个字节) 0000 0000 0000 0001负数(fsh)的补码例如:-1的补码(若为短整型,2个字节)先求它的绝对值为1 0000 0000 0000 0001按位取反 1111 1111 1111 1110最低位加1 -1的补码是 1111 1111 1111 1111第7页/共58页第七页,共59页。pri
4、ntf (%dn %un%x ,%X,%o n,-1, -1, -1, -1, -1); -1的补码的补码(b m)是:是: 1111 1111 1111 1111- 165 5 3 5f f f f, F F F F , 1 77 7 7 71.1.输出输出(shch)(shch)的复杂格式控制的复杂格式控制 第8页/共58页第八页,共59页。程序运行结果程序运行结果(ji (ji gu)gu)为:为:1.1.输出的复杂格式输出的复杂格式(g shi)(g shi)控制控制 第9页/共58页第九页,共59页。程序运行结果程序运行结果(ji (ji gu)gu)为:为:1.1.输出的复杂格式输
5、出的复杂格式(g shi)(g shi)控制控制 第10页/共58页第十页,共59页。常用的printf 的附加格式(g shi)说明 第11页/共58页第十一页,共59页。printf (%dn,100);printf(%5dn,100););printf(%8dn%8d,100,100*100);0000100100001001001001printf(%-5dn,100););1.1.输出的复杂格式输出的复杂格式(g shi)(g shi)控制控制 第12页/共58页第十二页,共59页。char c= A ;printf (%4c,%c%dn,c, c,c);56A,A 1.1.输出输出
6、(shch)(shch)的复杂格式控制的复杂格式控制 第13页/共58页第十三页,共59页。printf (%fn%10.3fn%6.3fn ,a, a,a);1 0 0 .7 6 5 4 0 41 0 0 . 7 6 51 0 0 .7 6 5float a= 100.7654;宽度不够,宽度不够,整数整数(zhngsh)部分原样输部分原样输出。出。1.1.输出的复杂输出的复杂(fz)(fz)格式控制格式控制 第14页/共58页第十四页,共59页。【学生【学生(xu sheng)(xu sheng)项目案例项目案例2-1 2-1 】某学生】某学生(xu (xu sheng)sheng)在在“
7、学生学生(xu sheng)(xu sheng)信息管理系统信息管理系统”中查中查询学生询学生(xu sheng)(xu sheng)信息,系统需要显示学生信息,系统需要显示学生(xu (xu sheng)sheng)的学号、姓名、性别和课程的成绩等信息。的学号、姓名、性别和课程的成绩等信息。阅读下面程序,理解不同类型数据的输出方式。阅读下面程序,理解不同类型数据的输出方式。#include void main() char *pnum=20080901,*pname=汪涵; /*指针可以(ky)指向字符串常量*/ char x=f; int kc1=70,kc2=82; printf(%s,
8、%s,%c,%d,%dn,pnum,pname,x,kc1,kc2); 第15页/共58页第十五页,共59页。printf( %d ,90);printf( %d ,90);0000100109%d%特殊字符特殊字符% %1.1.输出的复杂格式输出的复杂格式(g shi)(g shi)控制控制 第16页/共58页第十六页,共59页。 #include main() int a=1,b=2,c=3; printf(%d,%dn,a,b,c); 如果输出(shch)项个数多于格式字符个数,多余数据部分不输出(shch)。1.1.输出输出(shch)(shch)的复杂格式控制的复杂格式控制 第17页
9、/共58页第十七页,共59页。#include stdio.hvoid main() int a=3,b=4; printf(%dn,a=b,b,a+3); printf(“%dn,a,b,a=b); printf(%dn,(a=b,b,a+3); 从右向左计算(j sun)从左向右输出1.1.输出输出(shch)(shch)的复杂格式控制的复杂格式控制 第18页/共58页第十八页,共59页。【例】阅读程序,体会【例】阅读程序,体会(thu)scanf()(thu)scanf()函数的使用。函数的使用。#include stdio.hvoid main(void) char ch; print
10、f(请从键盘上输入请从键盘上输入Y(同意同意)或或N(反对反对):n);/*提示提示信息信息*/ scanf(%c,&ch); /*从键盘上输入从键盘上输入Y或或N字符字符*/ printf(您所选择的是您所选择的是:%cn,ch); /*在屏幕在屏幕(pngm)上显示用户的选择上显示用户的选择*/第19页/共58页第十九页,共59页。scanf函数调用的简单形式有:(1)scanf(%格式说明符, &简单变量名);(2)scanf(“%格式说明符”, 指针变量);功能: 按照(nzho)“格式控制字符串”的格式要求,用户从标准输入设备(一般是键盘)键入一(或多)个数据,回车键
11、结束后,将输入数据依次保存到地址列表指定的对应内存变量中。2.2.输入的复杂输入的复杂(fz)(fz)格式控制格式控制 注意注意(zh y)(zh y):“输入项地址列表输入项地址列表”中的数据和中的数据和“格式说明符格式说明符”应该在应该在类型、个数、位置上一致。类型、个数、位置上一致。输入格式控制字符串中不能出现转义字符。输入格式控制字符串中不能出现转义字符。 如:如:scanf(%d,%dn,&a,&b); scanf(%d,%dn,&a,&b); 第20页/共58页第二十页,共59页。第21页/共58页第二十一页,共59页。程序中出现八进制数的程序中出现
12、八进制数的表示表示(biosh)(biosh)方法:方法:X=012X=0122.2.输入的复杂输入的复杂(fz)(fz)格式控制格式控制 输入输出数值型数据间用空格、跳格(数值型数据间用空格、跳格(TABTAB键)键)或回车分隔或回车分隔第22页/共58页第二十二页,共59页。03=i3=i 321 3,2,1错错0 0 输入输入(shr)输出输出(shch)2.2.输入的复杂格式控制输入的复杂格式控制 普通字符原样输入普通字符原样输入第23页/共58页第二十三页,共59页。 scanf (%c%c%c, &a,&b,&c);scanf (%d%d%d, &a
13、,&b,&c);scanf (%d%d %c , &m, &n, &ch);c de c c e123 1 2 3 1 , 2 , 3 12 a错错错错2.2.输入输入(shr)(shr)的复杂格式控制的复杂格式控制 字符数据字符数据(shj)(shj)间不间不需要用分隔符需要用分隔符第24页/共58页第二十四页,共59页。2.2.输入的复杂输入的复杂(fz)(fz)格式控制格式控制 输入(shr)输出第25页/共58页第二十五页,共59页。 scanf (%3d, &a); scanf (%4d%4d, &a,&b); scan
14、f (%4f, &c); scanf (“%6.2f”, &c);不能控制精度不能控制精度错错 7654.1 87654321 76521 321 54321a=123a=1 a=125a=1234 b=5678C=1.4500002.2.输入输入(shr)(shr)的复杂格式控制的复杂格式控制 第26页/共58页第二十六页,共59页。 数值数据输入时: 遇空格、跳格(TAB键)或回车结束; 遇非数值字符结束; 遇宽度结束; 遇非法(fif)输入结束。字符型数据输入时: 可以接收空格、跳格(TAB键)或回车。如: int a,b,d; char c;scanf(%d%d%c%3
15、d,&a,&b,&c,&d); 输入序列为: 1011A12345 (表示空格) 则,a=10,b=11,c=,d=1232.2.输入输入(shr)(shr)的复杂格式控制的复杂格式控制 第27页/共58页第二十七页,共59页。main( ) int a,b; scanf(a=%d,b=%d,&a,&b); printf(a=%d,b=%dn,a,b); a=7,b=8a=7,b=8 a=7,b=8a=7,b=8 尽量不要将格式控制字符串尽量不要将格式控制字符串指定得太复杂,用户看不到,会指定得太复杂,用户看不到,会增加增加(zngji)不必要得
16、难度和错不必要得难度和错误。误。2.2.输入的复杂格式输入的复杂格式(g shi)(g shi)控制控制 第28页/共58页第二十八页,共59页。main( ) int a,b; printf(input a,b:); / /* *提示信息提示信息* */ / scanf(%d%d,&a,&b); printf(a=%d,b=%dn,a,b); input a,b: 7input a,b: 7 88a=7,b=8a=7,b=8 加入必要的提示信息,降加入必要的提示信息,降低了用户输入低了用户输入(shr)的难度。的难度。2.2.输入的复杂输入的复杂(fz)(fz)格式控制格式控
17、制 第29页/共58页第二十九页,共59页。 在键盘(jinpn)上输入:5.3,123,456,1.23456 #include void main() int b; float c; double a; scanf(%f,%d,%*d,%5f,&a,&b,&c); printf(%e,%d,%f,a,b,c); pa值不正确。值不正确。a是是double型,输入时须用型,输入时须用%lf或或%le;p%*d对应的数据是对应的数据是456,附加格式符,附加格式符“*”允许对应的输允许对应的输入数据被忽略,因此入数据被忽略,因此(ync)456未赋给未赋给c变量;变量;
18、p1.23456按按%5f格式截取格式截取1.234赋给赋给c,输出,输出1.234000。 修改(xigi)为%lf【例例】第30页/共58页第三十页,共59页。2.4.3 字符(z f)/字符(z f)串数据的输入和输出输入和输出(shch)一个字符: getchar和putchar函数输入和输出(shch)一个字符串:gets和puts函数第31页/共58页第三十一页,共59页。功能: 从标准输入(shr)设备(键盘)接收一个字符,该字符作为getchar函数的返回值。输入(shr)字符后,按回车键,输入(shr)的字符才有效。如:ch=getchar( );/*输入(shr)a */
19、ch=getchar()+10;说明:getchar( )是无参函数,原型包含stdio.h头文件中。1.字符字符(z f)输入函数输入函数getchar( )第32页/共58页第三十二页,共59页。 #include void main() char a,b;a=getchar();b=getchar(); printf(a=%c,b=%cn,a,b); 【例】阅读并分析程序。体会键盘【例】阅读并分析程序。体会键盘(jinpn)(jinpn)字符输字符输入。入。 getchar();1.字符(z f)输入函数getchar( )v从键盘输入:q w v从键盘输入:qw 第33页/共58页第三
20、十三页,共59页。 getchar函数将输入的英文字母、标点符号和数字都作为字符输入。 回车会作为一个字符读入。如果(rgu)程序中有两个或两个以上getchar函数时,应该一次输入所有字符,最后再按回车键。 或用getchar函数消耗掉多余的回车。1.字符输入(shr)函数getchar第34页/共58页第三十四页,共59页。 #include void main() char a,b;a=getchar();b=getchar(); printf(a=%c,b=%cn,a,b); 【例】阅读并分析程序。体会键盘【例】阅读并分析程序。体会键盘(jinpn)(jinpn)字符输字符输入。入。
21、getchar();1.字符(z f)输入函数getchar( ) getchar();第35页/共58页第三十五页,共59页。 #include void main() char a,b;scanf(%c%c,&a,&b); printf(a=%c,b=%cn,a,b); 【例】阅读并分析程序。体会键盘【例】阅读并分析程序。体会键盘(jinpn)(jinpn)字符输字符输入。入。1.字符输入(shr)函数getchar( )第36页/共58页第三十六页,共59页。功能:向输出设备(一般为显示器)输出一个字符,返回该字符的ASCII码值。调用一般形式为: putchar(c);
22、参数c可以(ky)是字符型常量、字符型变量、字符型表达式、整型常量、整型变量、整型表达式等。包含在stdio.h。2.字符(z f)输出函数putchar()第37页/共58页第三十七页,共59页。#include “stdio.h” ABBCABBCmain( ) int x=65; char y=B; putchar(x); putchar(65+1); putchar(y); putchar(B+1); 2.字符字符(z f)输出函数输出函数putchar()第38页/共58页第三十八页,共59页。 分析: 对应(duyng)大小写字母的ASCII码值之差为32,利用这一特点实现大小写字
23、母的转换。【文本项目案例【文本项目案例2-12-1】文字】文字(wnz)(wnz)处理软件有许多基本处理软件有许多基本功能,如更改字母大小写、字符统计等。编程实现将小写功能,如更改字母大小写、字符统计等。编程实现将小写字母转换成大写字母。字母转换成大写字母。#include stdio.hvoid main( ) char ch1,ch2; printf(“请输入(shr)第一个小写字母:n”); ch1=getchar(); getchar(); printf(“请输入(shr)第二个小写字母:n”); ch2=getchar(); getchar(); ch1=ch1-32, ch2=ch
24、2-32; /*转换*/ putchar(ch1); putchar(ch2); 第39页/共58页第三十九页,共59页。#include void main() char ch; ch=getchar(); putchar(ch); #include void main() char ch; scanf(“%c”,&ch); printf(“%c”, ch); 字符字符(z f)型数据的输入输出型数据的输入输出第40页/共58页第四十页,共59页。功能: 接收用户从键盘输入的一个字符串,输入的字符串以回车结束。一般调用形式:gets(str_adr)说明:参数str_adr表示存放输
25、入的字符串的首地址(dzh)。char a10; /*定义字符数组a*/gets(a);3.字符串输入字符串输入(shr)函数函数gets()第41页/共58页第四十一页,共59页。区别: gets(a);gets函数接收包含空格在内的字符串,末尾的回车换行符读入后不作为字符串的内容,系统将自动用结束符“0”代替。scanf(%s,a); scanf函数的“%s”格式输入字符串时,如果输入的字符串中包含空格,系统只接收空格之前(zhqin)的字符。3.字符串输入字符串输入(shr)函数函数gets()第42页/共58页第四十二页,共59页。函数的调用形式为:puts(str_adr)功能: 输
26、出以str_adr地址为起始(q sh)地址的字符串。直至遇到第一个“0”时为止,并将其自动转换成一个换行符。puts(a);4.字符串输出字符串输出(shch)函数函数puts()第43页/共58页第四十三页,共59页。 #include stdio.h void main(void) char a100; puts(请输入一个字符串(可以包含(bohn)空格):); gets(a); printf(你所输入的字符串是:); puts(a); printf(请输入一个字符串(不包含(bohn)空格):); scanf(%s,a); puts(你所输入的字符串是:); printf(%s,a)
27、; 【例】阅读程序,理解字符串输入输出函数【例】阅读程序,理解字符串输入输出函数(hnsh)(hnsh)的使的使用用第44页/共58页第四十四页,共59页。总结(zngji) 变量(binling)获取数据的几种方法: 1.赋初值 int x=1; 2.赋值语句 K=123; 3.输入函数 scanf(“%d”,&x); x=getchar( ); gets(x); 第45页/共58页第四十五页,共59页。2.5 C语句(yj)概述一、简单语句一、简单语句二、复合语句二、复合语句三、空语句三、空语句四、流程控制四、流程控制(kngzh)语句(后续章节)语句(后续章节)第46页/共58页
28、第四十六页,共59页。语句种类语句种类语句的大概格式语句的大概格式说明说明控制语句控制语句if( )else条件语句条件语句for( )循环语句循环语句while( )dowhile( )continue结束本次循环结束本次循环break终止终止switch语句或循环语句或循环switch多分支选择语句多分支选择语句goto转向语句转向语句return从函数中返回语句从函数中返回语句函数调用语句函数调用语句函数名函数名(参数列表参数列表);如如printf(“C statement.”)表达式语句表达式语句表达式表达式;i+;空语句空语句;复合语句复合语句简单语句第47页/共58页第四十七页,
29、共59页。一、 简单(jindn)语句1.表达式语句(yj) 2. 函数调用语句(yj)第48页/共58页第四十八页,共59页。1.1.表达式语句(yj)(yj) 任何C语言表达式加上分号“;”构成表达式语句。一般(ybn)形式为:表达式;功能:执行表达式语句即计算表达式的值。表达式语句分类:(1)赋值语句 a=1;(2)运算符表达式语句 a+;第49页/共58页第四十九页,共59页。通过使用函数名和实际参数来调用执行函数体称为(chn wi)函数调用。函数调用语句的一般形式为:函数名(实际参数列表);功能:把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句。例如,printf(“
30、学号”); /*不使用函数值*/ y=x+sin(a); /*使用函数值*/ c=getchar(); /*使用函数值*/2.函数调用(Calling)及函数调用语句(yj)第50页/共58页第五十页,共59页。 C语言提供了大量的标准库函数(hnsh)供用户使用。 调用各种库函数(hnsh)时,在程序首部用#include预处理命令包含函数(hnsh)所在的库文件。在程序中调用数学函数(hnsh)必须包含数学头文件: #include 常用的数学函数(hnsh)有: 初等数学函数(hnsh)、三角函数(hnsh)、双曲线函数(hnsh)等。 如,fabs(x),sqrt(x),pow(x,y) 等。 2.函数调用(Calling)及函数调用语句(yj)第51页/共58页第五十一页,共59页。概念:用一对(y du)花括号“ ”将多条语句括起来,完成一定的功能或计算,称为复合语句。 复合语句的一般格式: 数据说明部分; /*放在程序块首部*/ 执行语句部分; 说明:表示此部分是可选项,可有或没有。复合语句语法上相当于一条语句。复合语句中的每条语句都必须以“;”结束。但在最后的“”后不使用分号“;”。二、 复合(fh)语句第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年科学知识竞赛备考习题
- 2025-2026年广东省人教版初中物理下册第4章测试卷
- 2025-2026年康复治疗专业实践技能考核模拟试题库
- 2026年重庆市人教版高中化学选择性必修第一册第6章习题
- 2025-2026年江苏省部编版五年级数学下册单元重难点检测试卷
- 高三地理《中国地理概况》一轮复习教学设计
- 七年级科学下册《测量物质的密度》教学设计
- 第13篇 答谢中书书 初中八年级语文复习课教学设计
- 2026年江苏省高考化学试卷(含答案)
- 高中体育与健康教学设计:快速跑技术优化与核心素养培育
- 第五课活动A、姓氏大探秘寻根问祖
- 企业碳信息披露与质量评价规范
- DL∕T 1671-2016 火力发电厂空冷岛钢结构安装及验收标准
- DL-T5334-2016电力工程勘测安全规程
- 零星维修工程服务方案设计
- 统计与概率《义务教育数学课程标准》解读
- 【新大纲新教材】2022年初级会计职称《经济法基础》精讲课件(1-8章完整版)
- 1956年的教授评级
- 人教版高一英语必修一《Workbook》教学设计
- 《无人机组装与调试》第5章-多旋翼无人机调试
- GB/T 28733-2012固体生物质燃料全水分测定方法
评论
0/150
提交评论