版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目一项目一 学生成绩的平均分与总分的计算学生成绩的平均分与总分的计算 项目要求项目要求输入三个学生的成绩,求他们的总分及平均分。项目分析项目分析第一必须要学会输入成绩及输出结果;第二必须对输入的成绩进行总分及平均分的计算。所以,将这一项目分成二个任务介绍。 任务任务1 学生成绩的输入、输出学生成绩的输入、输出一、问题情景一、问题情景一个班进行了一次考试,现要将几个学生的成绩输入电脑,并按要求输出。二、具体实现二、具体实现#include stdio.h /文件预处理main() / 函数名 /函数体开始int x,y,z; /定义三个变量x,y,zprintf(请输入三个学生的成绩); sc
2、anf(%d%d%d,&x,&y,&z); /*输入三个学生的成绩*/printf(输出三个学生的成绩); printf(x=%d,y=%d,z=%dn,x,y,z); /输出三个变量x,y,z的值 /函数体结束程序运行结果:从上面这段程序可分析出:首先,要了解C语言的结构; 第二,要了解C语言的运行环境;第三,要懂得如何定义变量,输入输出语句。相关知识相关知识 v(一一) C程序的结构程序的结构#include “stdio.h”int x,y;main( )x=1;y=x+2;printf(“x=%dny=%dn”,x,y);文件预处理主函数数据声明部分语句部分(二
3、二) C程序运行环境及运行方法程序运行环境及运行方法 点击【文件】【新建】,出现的对话框中用鼠标点击【文件】【C+Source File】,然后更改文件所保存的目录(若需要更改),需入文件名,然后点击【确定】。输入程序。当程序输入完毕后,点击 或按F7,进行编译和连接。如果没有错误,点击 或按Ctrl+F5,进行运行,就能得出程序运行的结果。 (三三) 数据类型数据类型C语言的数据类型可分为:v 基本类型:又分为整型、实型、字符型和枚举型四种。其中枚举型这里暂不介绍。v 构造类型:又分为数组类型、结构类型和共用类型三种。v 指针类型。v 空类型。【常量】在程序运行中,其值不能被改变的量称为常量
4、。常量可分为:整型常量。例1,23,-8。实型常量。例 1.23,-9.8,.123,23.,0.0,2.23e-4(表示2.2310-4),0.23e3(表示0.23103),0.23E-3(表示0.2310-3),1.23E3(表示1.23103)。字符常量。例 A,+,8。符号常量。例 #define PI 3.14。则PI是一个符号常量,其值为3.14,它不能在程序中被改变。(请见任务三中的例1-15改)【变量】所谓变量就是在程序运行过程中,其值可以被改变的量。一个变量由两个要素组成。即变量名和变量值。变量名:每一个变量都必须有一个名字,即变量名。变量名的命名规则:由字母或下划线开头,
5、后面跟字母、数字和下划线。其有效长度,随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。 C语言的变量名区分大小写。即同一字母的大小写,被认为给是两个不同的变量。例Total、total、toTal是不同的变量名。给变量名命名时,最好遵循“见名知意”这一基本原则。例如,name/xm(姓名)、sex/xb(性别)、age/nl(年龄)、salary/gz(工资)。【变量】所谓变量就是在程序运行过程中,其值可以被改变的量。一个变量由两个要素组成。即变量名和变量值。变量名:每一个变量都必须有一个名字,即变量名。变量名的命名规则:由字母或下划线开头,后面跟字母、数字和下划线。其有效长度,
6、随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。 【变量定义与初始化】数据类型 变量名=初值,变量名2=初值2;例如:int x=1,y=2,z=3; float a=1.1,b=1.2,c=-0.1; char ch1=A,ch2=*;(四四) 格式化输出格式化输出printf()函数函数printf()函数的一般格式printf(“格式字符串”,输出项表);1. 常用的格式字符串有:(1) 格式指示符: %d 带符号十进制整数。 %f带符号十进制小数形式(默认6位小数)。 %c输出一个字符。(2) 转义字符例1-1中的printf()函数中的”n”就是转义字符,输出时产生一个
7、“换行”。(3) 普通字符除格式指示符和转义字符之外的其它字符。例1-1中的printf(“x=%d,y=%d,z=%dn”,x,y,z);的“x=”、“y=”、“z=”,格式字符串中的普通字符,原样输出。在汉字系统环境下,允许使用汉字。2. 输出项表输出项表是可选的。在输出项中,列出要输出的任意类型的数据。如果要输出的数据不止一个,相邻2个之间用逗号分开。 (1)printf(“我是一个学生n”); /没有输出项(2)printf(“%d”,1+2); /输出1+2的值(3)printf(“a=%d b=%dn”,1,1+3); /输出1的值和1+3的值注意:printf(“%d %fn”,
8、1.212,5) ; 是错误的。 #include “stdio.h” main() printf(“%d %fn”,1.234,6);【例【例1-3】格式化输出。】格式化输出。#include stdio.h main() int x=1,y=2,z=3; /*定义x,y,z三个整型变量,并将它们的初值赋为 1,2,3*/float a=1.1,b=2.3; char c1=A,c2=B; /*定义c1,c2二个字符型变量,并将它们的初值赋为A和B*/printf(输出x,y,z的值n); /原样输出x,y,z的值后换行printf(x=%d,y=%d,z=%dn,x,y,z); /输出x=
9、1,y=2,z=3后换行printf(输出a,b的值n); printf(a=%f,b=%fn,a,b); printf(输出c1,c2的值n); printf(c1=%c,c2=%cn,c1,c2); /输出c1=A,c2=B后换行程序的运行结果为:(五五)格式化输入格式化输入scanf()函数函数1. scanf()函数的功能:从键盘上接收格式化输入。2. scanf()函数的一般格式scanf(“格式字符串”,输入项首地址表);格式字符串。格式字符串可以包含3种类型的字符:格式字符,空白字符(空格、Tab键和回车键)和非空白字符(又称普通字符)。 格式指示符与printf()函数的相似:
10、%d,十进制带符号的整型数;%f,十进制带符号的实型数;%c,输入一个字符。 空白字符作为相邻2个输入数据的缺省分隔符。 非空白字符在输入数据时,必须原样一起输入。输入项首地址表由若干个输入项首地址组成,相邻2个输入项地址之间用逗号分开。变量首地址的表示方法如下:&变量名其中“&”是地址运算符。例如,在例1-1中scanf(“%d%d%d”,&x,&y,&z)中的“&x”是指变量x在内存中的首地址。其功能是从键盘上输入3个整型数,分别存入&x,&y,&z起始的存储单元中,即输入三个整数分别赋给x,y,z。 scanf(“%
11、d,%d”,&a,&b); scanf(“%d%d”,&a,&b); 有两个人有两个人A,B,在数学考试中获得,在数学考试中获得87和和76的成绩,请输入的成绩,请输入A,B两人的代号及成绩,输出成绩两人的代号及成绩,输出成绩。 分析:此题就是考查输入输出语句,注意整数输入/输入的格式用%d,字符变量的输入/输出格式用%c,同时注意输入语句中的两个数据之间用什么符号隔开,则在程序运行输入数据时也要用同样的符号隔开两个数据。#include stdio.hmain()char c1,c2;int x,y;printf(请输入A的成绩及代号:);scanf(%d:%
12、c,&x,&c1);printf(请输入B的成绩及代号:);scanf(%d:%c,&y,&c2);printf(输出A的代号及成绩:);printf(%c:%dn,c1,x);printf(输出B的代号及成绩:);printf(%c:%dn,c2,y);程序运行结果为:任务任务2 总分及平均分的计算总分及平均分的计算一、问题情景一、问题情景一个班进行了一次考试,现要将几个学生的成绩输入电脑,并计算他们的平均分及总分,然后按要求输出。二、具体实现二、具体实现#include stdio.h main() int x,y,z; float sum,avg; /定义
13、二个实型变量sum,avgprintf(请输入三个学生的成绩); scanf(%d%d%d,&x,&y,&z); /*输入三个学生的成绩*/sum=x+y+z; /将x+y+z的值赋给sumavg=sum/3; /将sum/3的值赋给avgprintf(请输出三个学生的总成绩及平均分为); /输出提示printf(sum=%.2f,avg=%.2fn,sum,avg); /输出二个变量sum及avg的值 程序的执行情况如下 :首先,算术运算和算术表达式; 第二,赋值运算和赋值表达式;另外,还需掌握在本任务中没有体现,但在C程序中却经常要用到的C语言特有的运算和运算符。三
14、、相关知识三、相关知识(一一) 算术运算与算术表达式算术运算与算术表达式1. 五种基本的算术运算符 +(加法)、-(减法)、*(乘法)、/(除法)、%(求余数)这里,需要特别提出的是:(1)关于除法运算/ C语言规定,两个整数相除,其商为整数,小数部分被舍弃。例如:5/2=2。 如果商为负数,则取整的方向随系统而异。但大多数的系统采取“向零取整”原则,换句话说,取其整数部分。例如:-5/3=-1。(2)关于求余数运算%要求两侧的操作数均为整型数据,否则出错。例如:5%3=2,3%5=3,-5%3=-2,-5%(-3)=-2。但是,5.2%3是语法错。(一一) 算术运算与算术表达式算术运算与算术
15、表达式2. 表达式和算术表达式(1)表达式的概念用运算符和括号将运算对象(常量、变量和函数)连接起来的、符合C语言语法规则的式子,称为表达式。单个常量、变量,可以看作是表达式的一种特例。将单个常量、变量构成的表达式称为简单表达式,其他表达式称之为复杂表达式。(2)算术表达式的概念表达式中的运算符都是算术运算符。例如:3+2*5、(x+y)/2+3、5%2+3都是算术表达式。3. 运算符的优先级与结合性(1)算术运算符的优先级是:先*,/,%,再+,-。(2)有括号的先做括号。(一一) 算术运算与算术表达式算术运算与算术表达式 v4. 数据类型转换高 double float long unsi
16、gned 低 int char,short(二二) 赋值运算和赋值表达式赋值运算和赋值表达式1. 赋值运算赋值符号“=”就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。赋值运算符的一般形式为:变量=赋值表达式2. 复合赋值运算复合赋值运算是C语言特有的一种运算。复合赋值运算的一般格式为:变量 复合运算符 表达式复合算术运算符有五种,分别是:+=,-=,*=,/=,%=例如:x=5 /将5赋给变量xx=6+7 /将6+7的值赋给变量x 5=x 是错误的x+y=z也是错误的。 x+=3 等价于 x=x+3 x+=5+8 等价于 x=x+(5+8) x*=y+2 等价于 x=x*(y+2)
17、x/=x+y 等价于x=x/(x+y) x/=8 等价于x=x/8 x%=7 等价于 x=x%7 x%=(4-2) 等价于x=x%(4-2)【例【例1-12】阅读下列程序】阅读下列程序#include stdio.hmain()int x,y,z; float a,b,c; /定义三个单精度型变时a,b,cx=1; /将1赋给变量x,即x的值为1y=2; z=3; a=1.1; /将1.1赋给变量a,即a的值为1.1b=2.1;c=3.5;x=x+y+z; /将x+y+z的值赋给变量x, x的值为(1+2+3),即x=6printf(x=%dn,x); y*=y+1; /将y*(y+1)赋给y
18、, y=2*(2+1),即y=6printf(y=%dn,y); z=(int)a%(int)b; /z=1%2,即z=1printf(z=%dn,z); a+=a+b+c; /a=a+(a+b+c), a=1.1+(1.1+2.1+3.5),即a=9.9printf(a=%fn,a); 程序执行情况如下:(三三) C语言特有的运算和运算符语言特有的运算和运算符1. 自增(+)、自减(-)运算作用:自增运算使单个变量的值增1,自减运算使单个变量的值减1.用法与运算规则自增、自减运算符都有两种用法:1) 前置运算运算符放在变量之前:+变量、-变量先使变量的值增(减)1,然后再以变化后的值参与其他
19、支算,即先增减,后运算。 y=+x+2; /x先增1(=5),然后与2的和再赋给y(=7) printf(x=%d y=%dn,x,y); z=-x; /x先减1(=4),然后再赋给z(=4)printf(x=%d z=%dn,x,z); -x; /x=x-1,即x=3printf(x=%dn,x); /输出x=3后换行#include stdio.hmain()int x=2,y,z;printf(x=%dn,x); y=+x; /x先增1(=3),然后再赋给y(=3) printf(x=%d y=%dn,x,y); +x; /x=x+1,即x=4printf(x=%dn,x);后置运算后置
20、运算变量变量+、变量、变量 #include stdio.hmain()int x=2,y,z;printf(x=%dn,x); y=x+; /先将x的值(2)赋给y(=2) ,然后x再自增(3) printf(x=%d y=%dn,x,y); x+; /x=x+1,即x=4printf(x=%dn,x); y=(x+)+2; /先将x+2赋给y(=6),然后x再自增(5) printf(x=%d y=%dn,x,y); z=x-; /先将x的值(5)赋给z(=5),然后x再自减(4)printf(x=%d z=%dn,x,z); x-; /x=x-1,即x=3printf(x=%dn,x);
21、 自增、自减运算符不能用于常量和表达式。例如:5+、-8、+(a+b)都是错误的。2. 逗号运算(,)及其表达式逗号运算(,)及其表达式C语言提供一种用逗号运算符“,”连接起来的式子,称为逗号表达式。逗号运算符又称顺序求值运算符。(1) 一般形式:表达式1,表达式2,表达式n.(2) 求解过程:自左至右,依次计算各表达式的值,“表达式n”的值即为整个逗号表达式的值。例如:逗号表达式“a=3*5,a*4”的值=60:先求解a=3*5,得,a=15;再求a*4=60,所以逗号表达式的值为60。又例如:逗号表达式“(a=2+1,a*5),a+8”的值=11,先求解a=2+1,得a=3,再求a*5=1
22、5;最后求解a+8=11,所以逗号表达式的值=11任务任务3 举一反三举一反三【例1-15】输入圆半径,求圆的面积和周长。的值取3.14. 分析:因为根据圆半径,求圆的面积和周长,所以要定义三个变量,半径r,面积s和周长c;考虑到输入的圆半径可能会有小数,所以这三个变量不妨都定义为单精度型float。定义变量r,s,c输入变量rs=3.14*r*rc=2*3.14*r输出s,c#include stdio.hmain()float r,s,c;printf(请输入圆的半径r:);scanf(%f,&r);s=3.14*r*r;c=2*3.14*r;printf(圆的面积s为:%fn圆的
23、周长c为%fn,s,c);流程图符号常量符号常量 #define PI 3.14 意思是定义一个符号常量PI,其值为3.14。符号常量的命名规则与变量名一样,但习惯上,符号常量常用大写字母表示。#include stdio.h#define PI 3.14 /定义一个符号常量PI,其值为3.14main()float r,s,c;printf(请输入圆的半径r:);scanf(%f,&r);s=PI*r*r;c=2*PI*r;printf(圆的面积s为:%fn圆的周长c为%fn,s,c);【例【例1-16】输入三角形三边的长,求三角形的周长及面积。】输入三角形三边的长,求三角形的周长及面积。 分析:输入三角形三边的长,所以显然要定义三个变量a,b,c,同时还要定义三角形的周长c 及面积s,由于在求三角形的面积时要用的海伦公式s=其中是三角形的二分之一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度山西省高校教师资格证之高等教育法规考试题库
- 国家自然基金简介(1)-资助研究项目属性(2)-资助研培训课件
- 2024年泥水工项目协议模板下载
- 2024年除雪作业协议细则
- 2024汽车购贷担保协议样本全文参阅
- 2024年办公室装修施工协议样本
- 2024年斗殴双方和解赔偿协议样式
- 中小学教师数据素养-江苏师范大学中国大学mooc课后章节答案期末考试题库2023年
- 岗位保密条款:2024劳动协议增补篇
- 2024年全职收银员劳动协议范本
- 《数字身份辩设备》课件+2024-2025学年人教版(2024)初中信息科技七年级全一册
- 2024小学数学义务教育新课程标准(2022版)必考题库附含答案
- 非计划再次手术管理制度与流程
- 道路交通标志标线图解ppt课件
- “律师法学”课程教学大纲
- 【全面做好调研巡视问题整改工作表态发言】 巡视整改表态发言
- 锅炉结焦、打焦防范措施
- 腺病毒感染诊疗指南
- 服装洗水唛洗涤标志
- 分频器的简易计算与制作
- 碧水湾酒店员工手册初稿
评论
0/150
提交评论