




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简单程序和选择语句第一页,共三十二页,编辑于2023年,星期五1.
三种流程结构顺序、分支、循环2.
C语句概述(1)
表达式语句(2)
复合语句(3)
选择语句(if和switch)(4)
循环语句(while,do-while和for)(5)
转移语句(break,continue,goto和return)(6)
标号语句3.1流程控制和语句第二页,共三十二页,编辑于2023年,星期五3.2
表达式语句语法格式:
表达式;(赋值语句,函数调用语句等)第三页,共三十二页,编辑于2023年,星期五3.3
复合语句语法格式:
{语句语句
……
}复合语句在语法上等同于一条语句。第四页,共三十二页,编辑于2023年,星期五如:#include<stdio.h>
C语言没有输入输出语句,其输入输出均采用标准函数来实现。要使用标准输入输出函数,必须在使用前加以说明,其说明方式是在程序的开头使用包含编译预处理命令把标准输入输出头文件包含到本文件中即可。3.4
输入输出函数调用第五页,共三十二页,编辑于2023年,星期五3.4.1字符输出函数putchar()3.4.2字符输入函数getchar()3.4.3格式输出函数printf()3.4.4格式输入函数scanf()第六页,共三十二页,编辑于2023年,星期五3.4.1字符输出函数putchar()1.函数原型为:intputchar(intc);2.功能:将要输出的字符码转换为unsignedchar送到标准输出设备中去。返回值是被输出的字符,如果出错则返回EOF。3.调用格式为:putchar(c)
其中c为实参。第七页,共三十二页,编辑于2023年,星期五3.4.2字符输入函数getchar()1.函数原型为:intgetchar(void);2.功能:从键盘缓冲区读一个字符。返回值是读入的字符,如读到文件尾则返回EOF。此函数无参数3.调用格式为:getchar()第八页,共三十二页,编辑于2023年,星期五3.4.3格式输出函数printf()1.函数原型为:intprintf(constchar*format,…);
format为格式字符串,“…”为输出的表达式表,它的项数是可变的。2.调用格式为:printf(格式字符串,输出表达式表);此函数至少必须给出第一个参数。第九页,共三十二页,编辑于2023年,星期五格式字符串中可以包含普通字符和格式字符,普通字符照原样输出,格式字符说明输出数据所需的格式,格式字符也叫转换字符,转换说明的形式为:
%[flags][width][.prec][F|N|h|l|L]type
每种格式均以%开头,以格式字符结尾。3.printf函数的格式字符串第十页,共三十二页,编辑于2023年,星期五转换字符参数类型输出格式d,iint有符号十进制整数oint无符号八进制整数(无前导0)X,xint无符号十六进制整数(无前导0x或0X)X表示大写字母,x表示小写字母uint无符号十进制整数cint有符号字符schar*输出字符直到’\0’或[.prec]fdouble浮点[-]dddd.dddE,edouble浮点[-]d.ddde[+/-]dddG,gdouble有给定值和精度确定是用e或f格式pvoid*指针值N-yyyy;F-xxxx:yyyynint*计数到此为止已经输出的字符的个数到对应的指针型参数中%不转换参数输出一个%第十一页,共三十二页,编辑于2023年,星期五选项符号说明意义flag-在输出宽度内左对齐右填空格(缺省为右对齐)+在正数前冠以“+”号空格输出的第一个不是符号时输出一个空格作前缀0在输出宽度内用前导0填充#在八进制数前加前导0,在十六进制数前加0x或0X,对g格式不删除尾部0width和.precwidth给定总宽度,如果实际数值的宽度大于给定的宽度,则按实际宽度输出.分隔width和precprec指出输出数的精度对实型数为小数部分的位数,对整数为至少应输出的位数(前面添0),对字符串为至多输出的字符的个数。*代表一个整数,其值由对应的参数决定,用于代替width和prec,表示可变的。h,l,Lh指出输出参数是短整型l指出输出参数是长整型,也可用于double类型的参数前L指出输出参数是longdouble类型第十二页,共三十二页,编辑于2023年,星期五3.4.4格式输入函数scanf()1.函数原型为:intscanf(constchar*format,…);
format为格式字符串,它与printf函数中的格式相似。“…”为地址表,它的项数是可变的。2.调用格式为:scanf(格式字符串,地址表);此函数除必须给出第一个参数外,至少需要读入一个数据。第十三页,共三十二页,编辑于2023年,星期五格式字符串中可以包含普通字符和格式字符,普通字符照原样输入,格式字符说明输入参数所需的格式和类型,格式字符也叫转换字符,转换说明的形式与printf函数类似,格式为:
%[width][h|l|L]type
每种格式均以%开头,以格式字符结尾。3.scanf函数的格式字符串第十四页,共三十二页,编辑于2023年,星期五转换字符参数类型输入格式dint*有符号十进制整数iint*整数,可以是10,8,16进制数,有前导0和0x或0Xoint*无符号八进制整数(有无前导0均可)xint*无符号十六进制整数(有无前导0x或0X均可)uunsignedint*无符号十进制整数cchar*字符,如果给定一个字段宽度w(如%5c),将为指向含有w个字符的数组的指针(chararg[w])schar*无空白字符的字符串(不加引号)f,e,gfloat*浮点数,可以是小数形式也可以是指数形式pvoid*指针值N-yyyy;F-xxxx:yyyynint*计数到此为止已经读入的字符的个数到对应的指针型参数中%不转换参数字符%,不赋值注:整型还可以使用大写的D,I,O,U,X表示长整型,E,G同e,g第十五页,共三十二页,编辑于2023年,星期五选项符号说明意义widthwidth给定总宽度*抑制赋值。输入域被跳过,不赋值(虚读)h,l,Lh指出输入参数是短整型l指出输入参数是长整型,也可用于double类型的参数前L指出输入参数是longdouble类型第十六页,共三十二页,编辑于2023年,星期五3.5
流程图常用的流程图有传统流程图、结构化流程图和PAD图。这里主要介绍传统流程图和结构化流程图。一、传统流程图处理框判断框流向开始/结束A连接点第十七页,共三十二页,编辑于2023年,星期五用传统流程图来表示三种基本结构步骤1步骤2步骤n……顺序结构条件语句1语句2分枝结构TF第十八页,共三十二页,编辑于2023年,星期五条件T循环体F当型(while)循环条件T循环体F直到型循环(do循环的反条件)循环结构第十九页,共三十二页,编辑于2023年,星期五二、结构化流程图步骤1步骤2……步骤n顺序结构…………条件TF语句1语句2(可以没有)分枝结构第二十页,共三十二页,编辑于2023年,星期五…………条件循环体当型循环…………循环体条件直到型循环循环结构第二十一页,共三十二页,编辑于2023年,星期五3.6
if语句语法:1、if(表达式)语句2、if(表达式)语句1else语句2表达式语句非00表达式语句1语句2非00第二十二页,共三十二页,编辑于2023年,星期五例1:任意输入一个整数如果为正数,则输出,否则不输出。输入一个整数x开始打印输出xx>=0吗是否结束#include<stdio.h>main(){intx;scanf(“%d”,&x);if(x>=0)printf(“%d\n”,x);}第二十三页,共三十二页,编辑于2023年,星期五例2:任意输入两个整数,输出其中最大的。输入两个整数x,y开始打印输出xx>y吗是否结束#include<stdio.h>main(){intx,y;scanf(“%d%d”,&x,&y);if(x>y)printf(“%d\n”,x);elseprintf(“%d\n”,y);}打印输出y第二十四页,共三十二页,编辑于2023年,星期五例3:求分段函数y=。输入实数x开始y=sin(x)+cos(x)x>=5吗是否结束#include<stdio.h>#include<math.h>main(){floatx,y;scanf(“%f”,&x);if(x>=5)y=sin(x)+cos(x);elsey=x*x+x+1;printf(“x=%f,y=%f\n”,x,y);}y=x2+x+1sin(x)+cos(x)x>=5x2+x+1x<5输出y第二十五页,共三十二页,编辑于2023年,星期五3.7
if嵌套if语句格式:
if(表达式)语句1else语句2在if语句中的语句1和语句2处还可以写if语句,此时称为if嵌套如:if(表达式1)
if(表达式2)
语句1[else
语句2]else
if(表达式3)
语句3[else
语句4]如:if(表达式1){
if(表达式2)
语句1
}else
if(表达式3)
语句3[else
语句4]如:if(表达式1)
if(表达式2)
语句1[else
语句2]elseif(表达式3)
语句3[else
语句4]第二十六页,共三十二页,编辑于2023年,星期五例:编程计算下列分段函数:y=2x-2(1≤x<10)x(x<1)2x-20(x≥10)#include<stdio.h>#include<conio.h>main(){floatx,y;scanf("%f",&x);
if(x<1)y=x;elseif(x<10)y=2*x-2;elsey=2*x-20;printf("x=%f,y=%f\n",x,y);getch();}第二十七页,共三十二页,编辑于2023年,星期五例如:解一元二次方程ax2+bx+c=0的根输入三个数a,b,c开始a=0吗是否结束b=0吗c=0吗输出无穷解输出无解输出x=-c/b否否是是计算d=b2-4acd>0吗计算两个不相等的实根x1,x2并输出是D=0吗是计算两个相等的实根x1,x2并输出否计算两个共轭的复实根x1,x2并输出否第二十八页,共三十二页,编辑于2023年,星期五#include<stdio.h>#include<math.h>#include<conio.h>#defineEPS1.0e-5main(){doublea,b,c,d,x,x1,x2,r,im;scanf("%lf%lf%lf",&a,&b,&c);if(fabs(a)<EPS)if(fabs(b)<EPS)if(fabs(c)<EPS) printf("无穷解\n");else printf("无解\n");else{x=-c/b;printf("x=%.2f\n",x);}第二十九页,共三十二页,编辑于2023年,星期五
else{d=b*b-4*a*c;if(d>EPS){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%.2f,x2=%.2f\n",x1,x2);}elseif(fabs(d)<EPS){x=-b/(2*a);printf("x1=x2=%.2f\n",x);}else{r=-b/(2*a);im=fabs(sqrt(-d)/(2*a));printf("x1=%.2f+%.2fi\n",r,im);printf("x2=%.2f-%.2fi\n",r,im);}}getch();}第三十页,共三十二页,编辑于2023年,星期五3.8
switch语句(开关语句)switc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医药学概论试题及答案
- 随州市重点中学2024-2025学年数学高二第二学期期末达标检测模拟试题含解析
- 企业财务数据安全保密及员工行为规范合同
- 全球化市场拓展与外贸企业知识产权保护合同
- 车辆赠与合同范本及赠与条件约定
- 采石场土地及矿产资源开采权移交合同
- 餐饮业人力资源招聘与配置顾问合同
- 精细化管理餐饮业厨师岗位劳动合同
- 团工委工作计划-团委团支部工作计划
- 学生批量请假管理制度
- 高空作业搬运无人机行业深度调研及发展项目商业计划书
- 中国广电山东网络有限公司市县公司招聘笔试题库2025
- 2024年浙江省遂昌县事业单位公开招聘教师岗考试题带答案分析
- 2024年江苏省武进市事业单位公开招聘医疗卫生岗考前冲刺模拟带答案
- 2025届陕西省高三新高考全真模拟政治试题(原卷版+解析版)
- 南京2025年南京市市场监督管理局所属事业单位招聘编外笔试历年参考题库附带答案详解
- 2025贵州中考:政治必考知识点
- 心率变异性与情绪状态的相关性-洞察阐释
- 2025-2030中国再生纤维行业市场发展现状及竞争策略与投资前景研究报告
- 2025届湖北省示范中学高考冲刺押题(最后一卷)英语试卷含答案
- 2025年初中语文名著阅读《林海雪原》知识点总结及练习
评论
0/150
提交评论