版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
顺序程序设计注意:声明部分的内容不产生机器操作,因此不是语句源程序文件1数据声明函数首部函数体函数1源程序文件i源程序文件nC程序数据声明执行语句预处理命令函数n4.1C语句概述C程序结构2023/1/132语句的作用C的函数包括声明部分和执行部分,执行部分由语句构成语句的作用是经编译后产生若干条机器指令,指挥机器执行相应的操作2023/1/133语句的分类(P57-59)控制语句函数调用语句表达式语句空语句复合语句(又称语句块)2023/1/134复合语句例 if(x>y){ z=x+y;
t=z/100;
printf(“%f”,t); }注意:复合语句中最后一个语句后面的分号不能省略2023/1/1354.2赋值语句赋值语句是由赋值表达式加一个分号构成注意区别赋值表达式和赋值语句 一个表达式中可以包含一个或多个赋值表达式,但不能包含赋值语句 例: if((a=b)>0)t=a; √if((a=b;)>0)t=a; × if的条件中是表达式,不能包含赋值语句2023/1/1364.3数据的输入输出所谓输入输出是以计算机为主体而言C语言不提供输入输出语句,输入和输出操作是由函数来实现的C不提供输入输出语句的原因(P67)标准输入输出函数:printf(),scanf(),putchar(),getchar(),puts(),gets()等在使用系统库函数时,要用到预处理命令“#include”将有关的头文件包括到源文件中
#include<stdio.h>或#include“stdio.h”2023/1/1374.3.1用printf函数输出数据作用:向标准终端设备以指定格式输出数据形式:printf(格式控制,输出表列)
例:printf(“%d,%c\n”,i,c)格式控制:是用双引号括起来的字符串,包含两种信息格式声明,由“%”和格式字符组成,格式声明总是由“%”字符开始普通字符,即需要原样输出的字符输出表列:是需要输出的一些数据,可以是常量、变量或表达式一般形式:printf(参数1,参数2,…参数n)2023/1/138格式字符(P74表)d格式符
o格式符
x格式符
u格式符
c格式符
s格式符
f格式符
e格式符
g格式符2023/1/139d格式符%d 以十进制有符号形式输出整型数据%md m为指定的输出字段的宽度 例:a=123;d=12345;printf(“%4d,%4d”,a,b);%ld 输出长整型数据
例:longa=135790;printf(“%ld”,a);
对长整型数据也可以制定字段宽度 例:printf(“%8ld”,a);2023/1/1310o格式符和x格式符%o 以八进制无符号形式输出整数(不输出前导符0) 例:inta=-1;printf(“%d,%o”,a,a);
输出结果为:-1,37777777777%lo 输出长整型数据,同样可以加字段宽度%x(与%o类似)以十六进制无符号形式输出整数(不输出前导符0x) 例:inta=-1;printf(“%x,%d,%o”,a,a,a);
输出:-1,37777777777,ffffffff2023/1/1311#include<stdio.h>intmain()
{ inta=-1; unsignedintb=4294967295;
printf("a=%d,%o,%x,%u\n",a,a,a,a);
printf("b=%d,%o,%x,%u\n",b,b,b,b);
return0;}运行结果:a=-1,37777777777,ffffffff,4294967295
b=-1,37777777777,ffffffff,4294967295u格式符%u 以十进制无符号形式输出整数一个有符号整数也可以用%u格式输出;反之,一个unsigned也可以用%d、%o、%x格式输出2023/1/1312%c 输出一个字符可以指定输出域宽整数也可以用%c格式输出,系统自动取最后一个字节的信息以字符形式输出(P71图3.18);反之,一个字符数据也可以用整数格式(%d、%o、%x)输出c格式符2023/1/1313#include<stdio.h>intmain()
{printf("%3s,%7.2s,%.4s,%-5.3s\n","china","china","china","china");return0;}%s 输出一个字符串%ms%-ms%m.ns%-m.ns输出如下:china,□□□□□ch,chin,chi□□s格式符2023/1/1314以小数形式输出实数(包括单、双精度数)%f 整数部分全部输出,并输出6位小数(并非全部数据都是有效数字)%m.nf 指定域宽及小数位数%-m.nf#include<stdio.h>intmain()
{floatf=123.456;
printf("%f,%10f,%10.2f,%.2f,%-10.2f\n",f,f,f,f,f);return0;}输出如下:
123.456001,123.456001,□□□□123.46,123.46,123.46□□□□f格式符2023/1/1315输出double型数据例#include<stdio.h>intmain(){ doublea=1.0;
printf("%f,%20.15f,%55.50f\n",a/3,a/3,a/3); printf("%8.0f\n",a/3); return0;}//当小数部分被指定为0时,小数和小数点都不输出2023/1/1316e格式符以标准化指数形式输出实数(小数点前必须有而且只有1位非零数字)%e TC给出5位小数,指数部分4位(“e”占1位,指数符号占1位,指数占2位);VC给定6位小数,指数部分占5位,指数占3位%m.ne和%-m.ne n的含义VC和TC不同,VC中n代表小数点后面的小数位数,而TC中n包括小数点在内的小数位数2023/1/1317输出:123.400002,1.234000e+002,123.4g格式符自动选择f格式或e格式中较短的一种来输出实数,且不输出无意义的0
例:floatf=123.4;printf("%f,%e,%g",f,f,f);2023/1/1318注意事项输出对象的类型应与格式控制字符匹配除X,E,G外,其他格式字符必须用小写字母可以在printf()函数中的“格式控制”字符串内包含“转义字符”,如:”\n”,”\t”等一个格式声明以“%”开头,以d、o、x、u、c、s、f、e、g等字符之一结束,中间可以插入附加格式字符,如:字符”l”等(P74表3.7)如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示,例
printf("%f%%",1.0/3);2023/1/13194.3.2用scanf函数输入数据形式:scanf(格式控制,地址列表)格式控制:含义同printf函数(P76)地址列表:是由若干地址组成的列表,可以是变量的地址,或字符串的首地址2023/1/1320scanf函数例#include<stdio.h>intmain(){ inta,b,c;scanf("%d%d%d",&a,&b,&c);printf("%d,%d,%d\n",a,b,c); return0;}2023/1/1321注意事项“格式控制”后面应是变量地址,而不是变量名 上例若改为scanf(“%d%d%d”,a,b,c);则会出错连续输入多个数据时,数值之间的分隔符应是一个或多个空白字符(空格,<Tab>键和<Enter>键),输入结束时按<Enter>键2023/1/1322注意事项当输入格式控制字符串中有非格式控制字符做分隔时,应将这些字符照原样输入(系统会做对照检查),否则会出错#include<stdio.h>intmain(){ inti,j; scanf("i=%d,j=%d",&i,&j); printf("ii=%d,jj=%d\n",i,j); return0; }2023/1/1323输入字符型数据时,字符之间不需要分隔符,空白字符及转义字符都被作为有效字符输入输入数据时,何时认为结束输入最后数据并遇到<Enter>键非法输入并遇到<Enter>键(P77-78例)scanf(“%c%c%c”,&c1,&c2,&c3);若输入a□b□c则’a’->c1,□->c2,’b’->c3正确的方法是输入abc注意事项2023/1/1324注意事项输入:123456789结果:123=>a 456=>b ’7’=>ch可以指定输入数据所占列数,系统自动截取所需数据
scanf(“%3d%3d”,&a,&b);scanf(“%3c”,&ch);2023/1/1325注意事项输入:12□345□67
结果:12=>a67=>b%后的“*”附加说明符被称为抑制符,用来表示跳过它相应的数据
scanf(“%2d%*3d%2d”,&a,&b);输入数据时,不能规定精度
例:scanf(“%7.2f”,&a);是不合法的2023/1/13264.3.3字符数据的输入输出putchar函数:字符输出函数
putchar(c)/*c可以是字符型或整型数据*/getchar函数:字符输入函数
此函数没有参数,其一般形式为:getchar()2023/1/1327字符输出例 #include<stdio.h>
intmain()
{ chara,b,c;
a=‘B’;b=‘O’;c=‘Y’;
putchar(a);putchar(b);putchar(c);
putchar(‘\n’);
putchar(‘\101’);putchar(‘\\’); putchar(‘\x61’); return0; }
运行结果是:BOY
A\a2023/1/1328字符输入例#include<stdio.h>intmain() //注意P80说明{ chara,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); //putchar(getchar()); putchar(b);//printf(“%c”,getchar()); putchar(c); return0;}2023/1/13294.4顺序程序设计举例例1输入三角形边长,求面积例2从键盘输入大写字母,用小写字母输出例3求ax2+bx+c=0方程的根2023/1/1330#include<math.h>#include<stdio.h>intmain(){floata,b,c,l,area;scanf("%f,%f,%f",&a,&b,&c);l=1.0/2*(a+b+c);area=sqrt(l*(l-a)*(l-b)*(l-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,l=%7.2f\n",a,b,c,l);printf("area=%7.2f\n",area);return0;}例1输入三角形边长,求面积文件包含预处理命令变量定义输入数据输出数据运行情况如下:
3,4,6
a=□□□3.00,b=□□□4.00,c=□□□6.00,l=□□□6.50
area=□□□5.332023/1/1331例2从键盘输入大写字母,用小写字母输出#include<stdio.h>intmain(){charc1,c2;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力微电网运维员微电网管理考试题目及答案
- 口腔护理液制造工创新思维水平考核试卷含答案
- 织物验修工操作安全竞赛考核试卷含答案
- 船舶电器安装工QC管理测试考核试卷含答案
- 药物分析员操作能力测试考核试卷含答案
- 电动工具制造工岗前理论考核试卷含答案
- 2026年应对挑战综合素质训练题集
- 松香蒸馏工诚信道德竞赛考核试卷含答案
- 2026年中国证券登记结算公司招聘笔试大纲及备考指南
- 情态动词 复习课件 中考英语复习
- 土建生态环保和绿色施工环境管理培训ppt
- 施工组织设计(老旧小区改造及配套设施)
- 建设工程第三方质量安全巡查标准
- 第七章中子的防护详解
- JJF 2020-2022加油站油气回收系统检测技术规范
- GB/T 28292-2012钢铁工业含铁尘泥回收及利用技术规范
- 货币金融学第2章信用与信用工具
- 环境微生物学第六节微生物营养
- Unit8Lesson1RootsandShoots课件-高中英语北师大版(2019)必修第三册
- 广东中考语文备考会讲座课件基于考情和学情的有效训练-中考作文备考例谈-
- 江淮气旋实习报告
评论
0/150
提交评论