语言程序设计项目一学生成绩的初步统计技术ppt课件_第1页
语言程序设计项目一学生成绩的初步统计技术ppt课件_第2页
语言程序设计项目一学生成绩的初步统计技术ppt课件_第3页
语言程序设计项目一学生成绩的初步统计技术ppt课件_第4页
语言程序设计项目一学生成绩的初步统计技术ppt课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C C言语程序设计言语程序设计 程序与时代程序与时代 2021年9月20日7时01分,我国新型运载火箭长征六号在太原卫星发射中心点火发射,胜利将20颗微小卫星送入太空。 程序与时代程序与时代 自动化消费线设备是典型的机电一体化产品,自动线设备的安装调试、检测维护及运转管理是机电类相关技术的典型职业范畴。程序与时代程序与时代程序与时代程序与时代程序与时代程序与时代程序与时代程序与时代程序与时代程序与时代工程一工程一 学生成果的初步统计技术学生成果的初步统计技术 工程要求工程要求 输入三个学生的成果,求他们的总分及平均分。输入三个学生的成果,求他们的总分及平均分。工程分析工程分析 第一必需求学会

2、输入成果及输出结果;第一必需求学会输入成果及输出结果; 第二必需对输入的成果进展总分及平均分的计算。第二必需对输入的成果进展总分及平均分的计算。 所以,将这一工程分成二个义务引见。所以,将这一工程分成二个义务引见。 要注重处置问题的思绪要注重处置问题的思绪义务义务1 1 学生成果的输入、输出学生成果的输入、输出一、义务提出一、义务提出 一个班进展了一次考试,现要将几个学生的成果输入电脑,并按要求输出。一个班进展了一次考试,现要将几个学生的成果输入电脑,并按要求输出。二、详细实现二、详细实现 #include stdio.h / #include stdio.h /文件预处置文件预处置 main

3、 main / / 函数名函数名 / /函数体开场函数体开场 int x,y,z; / int x,y,z; /定义三个变量定义三个变量x,y,zx,y,z printf printf 请输入三个学生的成果请输入三个学生的成果 ; ; scanf scanf%d%d%d,&x,&y,&z%d%d%d,&x,&y,&z; /; /* *输入三个学生的成果输入三个学生的成果* */ / printf printf 输出三个学生的成果输出三个学生的成果 ; ; printf printfx=%d,y=%d,z=%dn,x,y,zx=%d,y=%d,z=

4、%dn,x,y,z; /; /输出三个变量输出三个变量x,y,zx,y,z的值的值 / /函数体终了函数体终了 程序运转结果:程序运转结果:从上面这段程序可分析出:首先,要了解C言语的构造; 第二,要了解C言语的运转环境;第三,要懂得如何定义变量,输入输出语句。相关知识相关知识 1、 C言语源程序的构造言语源程序的构造#include “stdio.hint x,y;main x=1;y=x+2;printf“x=%dny=%dn,x,y;文件预处置文件预处置主函数主函数数据声明部分数据声明部分语句部分语句部分2、 C程序运转环境及运转方法程序运转环境及运转方法 点击【文件】【新建】,呈现的对

5、话框中用鼠标点击【文件】【C+Source File】,然后更改文件所保管的目录假设需求更改,需入文件名,然后点击【确定】。输入程序。当程序输入终了后,点击 或按F7,进展编译和衔接。假设没有错误,点击 或按Ctrl+F5,进展运转,就能得出程序运转的结果。 相关知识相关知识 2、 C程序运转环境及运转方法程序运转环境及运转方法 点击【文件】【新建】,自动进入新建形状。输入C言语源程序,当程序输入终了后,点击【文件】【保管】,然后更改文件所保管的目录假设需求更改,需入文件名“.c,然后点击【保管】。 或按F11,进展编译。假设没有错误,点击 或按F5,进展衔接和运转,就能得出程序运转的结果。

6、相关知识相关知识 3、 数据类型数据类型相关知识相关知识 数据类型根本类型构造类型构造类型指针类型空类型void援用类型整型整型浮点型浮点型字符型char枚举型enum数组类型数组类型构造类型构造类型structstruct共用类型共用类型unionunion短整型短整型short intshort int整型整型 int int长整型长整型long intlong int单精度单精度floatfloat双精度双精度doubledouble长双精度长双精度long doublelong double不同类型数据所占空间大小不同类型数据所占空间大小名称名称字节数字节数*描绘描绘范围范围*char

7、1字符character或整数integer , 8位bits长有符号有符号signed: -128 到 127无符号无符号unsigned: 0 到 255short int short2短整数integer 16位bits长有符号有符号signed: -32768 到 32767无符号无符号unsigned: 0 到 65535long int long4长整数integer 32位bits长有符号有符号signed:-2147483648 到 2147483647无符号无符号unsigned: 0 到 4294967295int4整数integer有符号有符号signed: -21474

8、83648 到 2147483647无符号无符号unsigned: 0 到 4294967295 float4浮点数floating point number3.4e + / - 38 7 个数字7digitsdouble8双精度浮点数double precision floating point number1.7e + / - 308 15 digitslong double8长双精度浮点数long double precision floating point number1.7e + / - 308 15 digitsbool1布尔Boolean值。它只能是真true或假false两值

9、之一。true 或 falsewchar_t2宽字符Wide character 。这是为存储两字节2 bytes 长的国际字符而设计的类型。一个宽字符1 wide characters相关知识相关知识 3、 数据类型数据类型C言语的数据方式:常量和变量【常量】 在程序运转中,其值不能被改动的量称为常量。 常量可分为: 整型常量。例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。 符号常量。例 #d

10、efine PI 3.14。那么PI是一个符号常量,其值为3.14, 它不能在程序中被改动。请见义务三中的例1-15改【变量】 所谓变量就是在程序运转过程中,其值可以被改动的量。 一个变量由两个要素组成。即变量名和变量值。 变量名:每一个变量都必需有一个名字,即变量名。变量名的命名规那么: 由字母或下划线开头,后面跟字母、数字和下划线。其有效长度,随系 统而异,但至少前8个字符有效。假设超长,那么超长部分被舍弃。 C言语的变量名区分大小写。 即同一字母的大小写,被以为给是两个不同的变量。 例Total、total、toTal是不同的变量名。 给变量名命名时,最好遵照“见名知意这一根本原那么。

11、例如,name/xm姓名、sex/xb性别、age/nl年龄、 salary/gz工资。【变量定义与初始化】数据类型 变量名=初值,变量名2=初值2;例如:int x=1,y=2,z=3; float a=1.1,b=1.2,c=-0.1; char ch1=A,ch2=*;相关知识相关知识 1 标识符只能由下划线、数字09与大小写字母az,AZ构成。Turbo C最多识别由32个字符组成的标识符,Microsoft C最多识别由8个字符组成的标识符。 2 标识符的首个字符必需是字母或下划线,而不能是数字或其它符号。 3 C言语中大小写字母是敏感的,即在标识符中,大写字母和小写字母代表不同的意

12、义。例如:Name和name是两个不同的标识符。 4 不允许重名;5 系统预定义标识符,如预编译命令名define、include、系统函数名scanf、printf、getchar、putchar等可作为用户标识符,但建议不作它用。 6 尽量作到“见名知义,例如max、score等,而不用象abc、x1、y2等标识符。 7 防止运用易混字符,如1、l、i;0、o;2、z等。 8先定义,后运用;相关知识相关知识 关于变量的命名规那么:关于变量的命名规那么:9普通要初始化,格式为: int i=1,j=2;10C言语中没有设置专门的变量来存放字符串,字符串假设要存放在变量中,要用字符数组来存放1

13、1标识符不能运用系统的关键字,由于关键字是系统保管的,它们已有特定的含义。 ANSI C定义的关键字共32个: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static 相关知识相关知识 关于变量的命名规那么:关于变量的命名规那么:4、 格式化输出格式化输出pr

14、intf函数函数printf函数的普通格式printf“格式字符串,输出项表;1. 常用的格式字符串有:1 格式指示符: %d 带符号十进制整数。 %f带符号十进制小数方式默许6位小数。 %c输出一个字符。2 本义字符例1-1中的printf函数中的n就是本义字符,输出时产生一个“换行。3 普通字符除格式指示符和本义字符之外的其它字符。例1-1中的printf“x=%d,y=%d,z=%dn,x,y,z;的“x=、“y=、“z=,格式字符串中的普通字符,原样输出。在汉字系统环境下,允许运用汉字。2. 输出项表输出项表是可选的。在输出项中,列出要输出的恣意类型的数据。假设要输出的数据不止一个,相

15、邻2个之间用逗号分开。 1printf“我是一个学生n; /没有输出项2printf“%d,1+2; /输出1+2的值3printf“a=%d b=%dn,1,1+3; /输出1的值和1+3的值留意:printf“%d %fn,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

16、 c1=A,c2=B; /*定义c1,c2二个字符型变量,并将它们的初值赋为A和B*/printf输出x,y,z的值n; /原样输出x,y,z的值后换行printfx=%d,y=%d,z=%dn,x,y,z; /输出x=1,y=2,z=3后换行printf输出a,b的值n; printfa=%f,b=%fn,a,b; printf输出c1,c2的值n; printfc1=%c,c2=%cn,c1,c2; /输出c1=A,c2=B后换行程序的运转结果为:相关知识相关知识 1、什么情况下加分号,什么情况下不加;2、分号是在英文半角形状下输入;3、分号错误解有什么样的提示;4、函数库也就是函数的集合

17、,是他人把一些常用到的函数编完放到一个文件里,供程序员运用。同时把函数的接口放到头文件中。程序员用的时候把相应的头文件用#include加到程序里面就可以了尖括号内填写文件名,例如#include。这样在链接的过程中,链接器就能顺藤摸瓜找到头文件再找到printf所在的库函数,将其源代码写到程序中,以备未来调用。所以说头文件是用户运用程序和函数库之间的桥梁和纽带。5、include语句后面假设是尖括号,表示在默许的安装目录中查找头文件;假设是双引号,以为是用户定义的,寻觅速度较慢。相关知识相关知识 留意:留意:常用的头文件如以以下图所示,普通放在安装文件夹常用的头文件如以以下图所示,普通放在安

18、装文件夹中中常用的头文件如以以下图所示,普通放在安装文件常用的头文件如以以下图所示,普通放在安装文件夹中夹中5、格式化输入、格式化输入scanf函数函数1. scanf函数的功能:从键盘上接纳格式化输入。2. scanf函数的普通格式: scanf“格式字符串,输入项首地址表; 格式字符串。格式字符串可以包含3种类型的字符:格式字符,空白字符空格、Tab键和回车键和非空白字符又称普通字符。 格式指示符与printf函数的类似: %d,十进制带符号的整型数;%f,十进制带符号的实型数;%c,输入一个字符。 空白字符作为相邻2个输入数据的缺省分隔符。 非空白字符在输入数据时,必需原样一同输入。 输

19、入项首地址表由假设干个输入项首地址组成,相邻2个输入项地址之间用逗号分开。变量首地址的表示方法如下:&变量名 其中“&是地址运算符。例如,在例1-1中scanf“%d%d%d,&x,&y,&z中的“&x是指变量x在内存中的首地址。其功能是从键盘上输入3个整型数,分别存入&x,&y,&z起始的存储单元中,即输入三个整数分别赋给x,y,z。 scanf“%d,%d,&a,&b; scanf“%d%d,&a,&b; 例1-4有两个人A,B,在数学考试中获得87和76的成果,请输入A,B两人的代号及

20、成果,输出成果。 分析:此题就是调查输入输出语句,留意整数输入/输入的格式用%d,字符变量的输入/输出格式用%c,同时留意输入语句中的两个数据之间用什么符号隔开,那么在程序运转输入数据时也要用同样的符号隔开两个数据。#include stdio.hmainchar c1,c2;int x,y;printf请输入A的成果及代号:;scanf%d:%c,&x,&c1;printf请输入B的成果及代号:;scanf%d:%c,&y,&c2;printf输出A的代号及成果:;printf%c:%dn,c1,x;printf输出B的代号及成果:;printf%c:%dn,

21、c2,y;程序运转结果为:相关知识相关知识 知识扩展知识扩展1. 本义字符本义字符曾经提到曾经提到“n的本义字符,是换行。的本义字符,是换行。常用的本义字符还有常用的本义字符还有“t,即横向跳出下一个输出区。,即横向跳出下一个输出区。【例【例1-5】用本义字符控制输出效果。】用本义字符控制输出效果。#include stdio.hmainprintf%dt%dt%dn,1,2,3;程序运转结果如以下图程序运转结果如以下图知识扩展知识扩展n换行符newliner回车carriage returnt跳跃符tabulationv垂直跳跃vertical tabulationbbackspacefpa

22、ge feeda警告alert beep单引号single quotes 双引号double quotes ?问号question ?反斜杠inverted slash 另外可以数字ASCII 码表示一个字符,这种表示方式是在反斜杠之后加以8进制数或十六进制数表示的ASCII 码。 在第一种八进制octal表示中,数字必需紧跟反斜杠例如23或40。 第二种十六进制hexacedimal,必需在数字之前写一个x字符例如x20或x4A。知识扩展知识扩展2格式化输出格式化输出前面,曾经学过输出语句的普通格式为:前面,曾经学过输出语句的普通格式为:printf“格式字符串格式字符串,输出项表输出项表;

23、常用的格式字符串表示法如下:常用的格式字符串表示法如下:“%5d表示输出十进制带符号的整数,其输出域的宽度为表示输出十进制带符号的整数,其输出域的宽度为5位,假设数超长,位,假设数超长,那么按实践宽度输出;假设缺乏,那么输出数的左端补空格。那么按实践宽度输出;假设缺乏,那么输出数的左端补空格。“%ld只只是表示输出的是长整型。是表示输出的是长整型。“%-5d 表示输出十进制带符号的整数,其输出域的宽度为表示输出十进制带符号的整数,其输出域的宽度为5位,假设数超位,假设数超长,那么按实践宽度输出;假设缺乏,那么输出数的右端补空格。长,那么按实践宽度输出;假设缺乏,那么输出数的右端补空格。“%6.

24、1f 表示输出十进制带符号的单、双精度实数,其输出域的宽度为表示输出十进制带符号的单、双精度实数,其输出域的宽度为6位,位,其中小数一位,假设数超长,那么按实践宽度输出;假设缺乏,那么输出其中小数一位,假设数超长,那么按实践宽度输出;假设缺乏,那么输出数的左端补空格。数的左端补空格。“%-7.2f 表示输出十进制带符号的单、双精度实数,其输出域的宽度为表示输出十进制带符号的单、双精度实数,其输出域的宽度为7位,位,其中小数其中小数2位,假设数超长,那么按实践宽度输出;假设缺乏,那么输出位,假设数超长,那么按实践宽度输出;假设缺乏,那么输出数的右端补空格。数的右端补空格。【例【例1-6】类型转换

25、字符】类型转换字符d的运用。的运用。#include mainint a=123;long b=123456;/*用四种不同格式,输出int型数据a的值*/printfa=%d,a=%5d,a=%-5d,a=%2dn,a,a,a,a;/*用四种不同格式,输出long型数据b的值*/printfb=%ld,b=%8ld,b=%-8ld,b=%2ldn,b,b,b,b;printfa=%ldn,a; /用%ld输出int型数据aprintfb=%dn,b; /用%d输出long型数据b程序的运转结果如以下图。知识扩展知识扩展知识扩展知识扩展分析:分析: a=%d,按实践长度输出,按实践长度输出12

26、3。 a=%5d,由于,由于123只占只占3列,所以前面空二个空格,输出列,所以前面空二个空格,输出a=123。 a=%-5d,由于,由于123只占只占3列,同时有一个列,同时有一个“-号,所以右面空二个空格,输号,所以右面空二个空格,输 出出a=123。 a=%2d,由于,由于123占占3列,所以按实践宽度输出。即输出列,所以按实践宽度输出。即输出a=123。 b=%ld,按实践长度输出,按实践长度输出123456。即输出。即输出b=123456。 b=%8ld,由于,由于123456只占只占6列,所以前面空二个空格,输出列,所以前面空二个空格,输出b=123456。 b=%-8ld,由于,

27、由于123456只占只占6列,同时有一个列,同时有一个“-号,所以右面空二个空格,号,所以右面空二个空格,输出输出b=123456。 b=%2ld,由于,由于123456占占6列,所以按实践宽度输出。即输出列,所以按实践宽度输出。即输出b=123456。 a=%ld,输出,输出a=123。 b=%d,输出,输出b=123456。【例【例1-7】类型转换字符】类型转换字符f的运用。的运用。#include mainfloat f=123.456;double d1,d2;d1=111111.11111111;d2=222222.22222222;printff=%f,f=%12f,f=%12.2

28、f,f=%-12.2f,f=%.0f,f=%.2fn,f,f,f,f,f,f;printfd1+d2=%fn,d1+d2;分析:分析:f=%f是将小数保管是将小数保管6位,所以输出位,所以输出f=123.456001由于由于f是是float型,由于精度的关系,型,由于精度的关系,最后的小数位呈现了最后的小数位呈现了1,后面同理。,后面同理。f=%12f是共输出是共输出12列,小数位还是是默以为列,小数位还是是默以为6位,也就是位,也就是6位小数,加上一个小数点,位小数,加上一个小数点,再加上整数位是再加上整数位是3位,一共是位,一共是10位,所以在左边加上二个空格,也就是输出位,所以在左边加上

29、二个空格,也就是输出f=123.456001。f=%12.2f表示一共输出表示一共输出12位,其中小数位是二位位,其中小数位是二位4舍舍5入,加上一个小数点,再加入,加上一个小数点,再加上整数位是上整数位是3位,一共是位,一共是6位,所以在左边加上六个空格,也就是输出位,所以在左边加上六个空格,也就是输出f=123.46。f=%-12.2f与前面一样,只是将空格放置在右边,也就是输出与前面一样,只是将空格放置在右边,也就是输出f=123.46。f=%.0f表示整数位原样输出,小数位是表示整数位原样输出,小数位是0位,也就是输出位,也就是输出f=123。f=%.2f表示整数位原样输出,小数位是表

30、示整数位原样输出,小数位是2位位4舍舍5入,也就是输出入,也就是输出f=123.46。程序结果如以下图。3单个字符的输入输出单个字符的输入输出1单个字符的输出单个字符的输出putchar函数函数【例【例1-8】putchar函数的格式和运用方法。函数的格式和运用方法。#include “stdio.hmainchar ch1,ch2,ch3;ch1=S;ch2=u;ch3=n;putcharch1; putcharch2; /输出输出ch1,ch2的值的值putcharch3; putcharn; /输出输出ch3的值并换行的值并换行putcharch1; putcharn; /输出输出ch1

31、的值并换行的值并换行putcharu; putcharn; /输出字符输出字符u并换行并换行putcharch3; putcharn; /输出输出ch3的值并换行的值并换行程序运转如以下图。程序运转如以下图。putchar函数的格式为:putcharch;ch可以是一个字符变量或常量,也可以是一个本义字符。putchar函数的作用是向终端输出一个字符。留意留意putchar函数只能用于单个字符的输出,且一次只能输出一个字符。函数只能用于单个字符的输出,且一次只能输出一个字符。从功能角度来说,从功能角度来说,printf函数完全可以替代函数完全可以替代putchar函数;同样函数;同样运用运用p

32、utchar函数也需求在程序的开头加上编译预处置命令,即:函数也需求在程序的开头加上编译预处置命令,即:#include “stdio.h2 2单个字符的输入单个字符的输入getchargetchar 函数函数【例【例1-9】getchar函数的格式和运用方法。函数的格式和运用方法。#include “stdio.hmainchar ch;printf“请输入一个字符请输入一个字符;ch=getchar; /从键盘输入一个字符并赋给变量从键盘输入一个字符并赋给变量chputcharch;putcharn; /输出输出ch的值并换行的值并换行putchargetchar; /从键盘输入一个字符并

33、输出从键盘输入一个字符并输出putcharn;getchar函数的格式:getchar;getchar函数的作用:从键盘输入一个字符。从功能的功度看,scanf函数完全可以替代getchar函数。留意留意getchar函数只能用于单个字符的输入,且一次只能输入一个字符。同样运函数只能用于单个字符的输入,且一次只能输入一个字符。同样运用用getchar函数要在程序的开头加上编译预处置命令,即:函数要在程序的开头加上编译预处置命令,即:#include “stdio.h4字符串常量字符串常量 字符串常量是由双引号括起来的一串字符。如“How do you do.就是字符串常量,在C言语中,系统在每

34、个字符串的最后自动参与一个字符0作为字符串终了的标志。请留意字符常量和字符串的区别,例如。a是一个字符常量,在内存中占一个字节;而a是字符串常量,占二个字节的存储空间,其中的一个字节用来存放0。两个延续的双引号“也是一个字符常量,称作“空串。但要占一个字节的存储空间来存放0。留意1字符串的终了符0占内存空间,但在测试字符串长度时不计在内,也不输出。20为字符串的终了符,但遇到0不一定是字符串的终了,能够是八进制数组成的本义字符常量,如字符串“abc067de表示6个字符,并非为3个。【例【例1-10】以下数据中,为字符串常量的是。】以下数据中,为字符串常量的是。 AA B“house C Ho

35、w do you do D $asd分析:字符串常量是用一对双引号括起来的字符序列。答案为分析:字符串常量是用一对双引号括起来的字符序列。答案为B。 举一反三举一反三【例【例1-10】假设变量为】假设变量为float类型,要经过语句类型,要经过语句scanf“%f%f%f, &a, &b, &c;给给a赋予赋予10.0,b赋予赋予22.0,c赋予赋予33.0,那么以下,那么以下A、B、C、D四个答案中不正确的四个答案中不正确的为哪个。请大家将它写成一个完好的为哪个。请大家将它写成一个完好的C言语,使得程序的运转结果是:言语,使得程序的运转结果是:a=10.0,b=10.

36、0,c=10.0A10 B10.0,22.0,33.0 22 33C10.0 D10 2222.0 33.0 33分析:1由于语句scanf%f%f%f, &a, &b, &c是要求我们在输入时,数与数之间要么是空格分隔开,要么是回车隔开,所以答案A、C、D均可,只需B错。假设是以10.0,22.0,33.0的方式输入数据,那么输入语句应写成:scanf%f ,%f,%f, &a, &b, &c;2由于a,b,c的值为实型,所以定义的变量要求是实型float ,输出的语句要留意保管小数一位。答案:B。完好的程序如下:#include “stdio

37、.hmainfloat a,b,c;scanf“%f%f%f, &a, &b, &c;printf“a=%.1f,b= %.1fc=%.1f, a, b, c; 举一反三举一反三【例1-11】有一输入函数scanf“%d,k,那么不能使float类型变量k得到正确数值的缘由是什么?分析分析:由于由于k是实型变量,所以格式字符串应是是实型变量,所以格式字符串应是“%f,同时变量前边未加取地址符,同时变量前边未加取地址符&。答案:答案:scanf“%f,&k。【例【例1-12】阅读以下程序,当输入数据的方式为:】阅读以下程序,当输入数据的方式为:12,34,

38、正确的输出结果为,正确的输出结果为 。#include stdio.hmain int a,b; scanf“%d%d, &a,&b; printf“a+b=%dn,a+b;Aa+b=46 B有语法错误有语法错误Ca+b=12 D不确定值不确定值分析:由于输入语句scanf“%d%d, &a,&b要求输入的二个数之间以空格或回车分隔,而题意中给出的二个数是以逗号分隔,所以导致b的值为一个不确定数,所以其值为不确定。 答案:D 举一反三举一反三【例【例1-13】有如下程序,假设要求】有如下程序,假设要求x1、x2、y1、y2的值分别为的值分别为10、20、A、B,

39、正确,正确的数据输入应该如何?请将这段程序后面补充的数据输入应该如何?请将这段程序后面补充printf使之完好。使之完好。int x1,x2;char y1,y2;scanf“%d%d,&x1,&x2;scanf“%c%c, &y1,&y2;A1020AB B1020ABC1020 D1020ABAB分析: 由于x1,x2是整型变量,所以二个数之间可以空格分隔,也可以回车分隔;而y1,y2是字符型,那么在输入完x2值后的任何字符包括空格及回车,程序都以为是在为y1,y2输入值,所以答案A的错误是没将10、20分隔,答案B的错是输入完20后的空格,程序以为是给y1

40、赋值,后面的A是给y2的值,即y1的值为空格,y2的值为字符A;答案C的输入方法程序以为x1=10,x2=20,y1的值为回车,y2的值为字符A;只需答案D是正确的。 答案为D。参考程序参考程序:#include stdio.hmainint x1,x2;char y1,y2;scanf%d%d,&x1,&x2;scanf%c%c,&y1,&y2;printfx1=%d,x2=%dn,x1,x2;printfy1=%c,y2=%cn,y1,y2;义务义务2 2 总分及平均分的计算总分及平均分的计算一、义务提出:一个班进展了一次考试,现要将几个学生的成果输入电脑,

41、并计算他们的一、义务提出:一个班进展了一次考试,现要将几个学生的成果输入电脑,并计算他们的平均分及总分,然后按要求输出。平均分及总分,然后按要求输出。二、详细实现二、详细实现#include stdio.h main int x,y,z; float sum,avg; /定义二个实型变量定义二个实型变量sum,avgprintf请输入三个学生的成果请输入三个学生的成果; scanf%d%d%d,&x,&y,&z; /*输入三个学生的成果输入三个学生的成果*/sum=x+y+z; /将将x+y+z的值赋给的值赋给sumavg=sum/3; /将将sum/3的值赋给的值赋给

42、avgprintf请输出三个学生的总成果及平均分为请输出三个学生的总成果及平均分为; /输出提示输出提示printfsum=%.2f,avg=%.2fn,sum,avg; /输出二个变量输出二个变量sum及及avg的值的值 程序的执行情况如下程序的执行情况如下 :首先,算术运算和算术表达式; 第二,赋值运算和赋值表达式;另外,还需掌握在本义务中没有表达,但在C程序中却经常要用到的C言语特有的运算和运算符。三、相关知识三、相关知识一一 算术运算与算术表达式算术运算与算术表达式1. 五种根本的算术运算符五种根本的算术运算符 +加法、加法、-减法、减法、*乘法、乘法、/除法、除法、%求余数求余数这里

43、,需求特别提出的是:这里,需求特别提出的是:1关于除法运算关于除法运算/ C言语规定,两个整数相除,其商为整数,小数部分被舍弃。例如:言语规定,两个整数相除,其商为整数,小数部分被舍弃。例如:5/2=2。 假设商为负数,那么取整的方向随系统而异。但大多数的系统采取假设商为负数,那么取整的方向随系统而异。但大多数的系统采取“向零取整向零取整原那么,换句话说,取其整数部分。例如:原那么,换句话说,取其整数部分。例如:-5/3=-1。2关于求余数运算关于求余数运算% 要求两侧的操作数均为整型数据,否那么出错。例如:要求两侧的操作数均为整型数据,否那么出错。例如:5%3=2,3%5=3,-5%3=-2

44、,-5%-3=-2。但是,。但是,5.2%3是语法错。是语法错。2. 表达式和算术表达式1表达式的概念用运算符和括号将运算对象常量、变量和函数衔接起来的、符合C言语语法规那么的式子,称为表达式。单个常量、变量,可以看作是表达式的一种特例。将单个常量、变量构成的表达式称为简单表达式,其他表达式称之为复杂表达式。2算术表达式的概念表达式中的运算符都是算术运算符。例如:3+2*5、x+y/2+3、5%2+3都是算术表达式。3. 运算符的优先级与结合性1算术运算符的优先级是:先*,/,%,再+,-。2有括号的先做括号。三、相关知识三、相关知识一一 算术运算与算术表达式算术运算与算术表达式 4. 数据类

45、型转换高 double float long unsigned 低 int char,short例如: doublex 等价于doublex /将变量x的值转换成double型 intx+y /将x+y的结果转换成int型 float7/2 等价于float7/2 /将7转换成实型,再除以2=3.5 float7/2 /将7整除2的结果3转换成实型3.0相关知识相关知识 二二 赋值运算和赋值表达式赋值运算和赋值表达式1. 赋值运算赋值符号“=就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。赋值运算符的普通方式为:变量=赋值表达式2. 复合赋值运算复合赋值运算是C言语特有的一种运算。复合

46、赋值运算的普通格式为:变量 复合运算符 表达式复合算术运算符有五种,分别是:+=,-=,*=,/=,%=例如: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 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-16】阅读以下程序】阅读以下程序#include stdio.hmainint x,y,z; float a,b,c; /定

47、义三个单精度型变时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=6printfx=%dn,x; y*=y+1; /将y*y+1赋给y, y=2*2+1,即y=6printfy=%dn,y; z=inta%intb; /z=1%2,即z=1printfz=%dn,z; a+=a+b+c; /a=a+a+b+c, a=1.1+1.1+2.1+3.5,即a=9.9printfa=%fn,a; 程序执行情况如下:相关知识相关知识

48、 三 C言语特有的运算和运算符1. 自增+、自减-运算作用:自增运算使单个变量的值增1,自减运算使单个变量的值减1.用法与运算规那么自增、自减运算符都有两种用法:1 前置运算运算符放在变量之前:+变量、-变量先使变量的值增减1,然后再以变化后的值参与其他支算,即先增减,后运算。 y=+x+2; /x先增1=5,然后与2的和再赋给y=7 printfx=%d y=%dn,x,y; z=-x; /x先减1=4,然后再赋给z=4printfx=%d z=%dn,x,z; -x; /x=x-1,即x=3printfx=%dn,x; /输出x=3后换行#include stdio.hmainint x=

49、2,y,z;printfx=%dn,x; y=+x; /x先增1=3,然后再赋给y=3 printfx=%d y=%dn,x,y; +x; /x=x+1,即x=4printfx=%dn,x;相关知识相关知识 后置运算变量+、变量 #include stdio.hmainint x=2,y,z;printfx=%dn,x; y=x+; /先将x的值2赋给y=2 ,然后x再自增3 printfx=%d y=%dn,x,y; x+; /x=x+1,即x=4printfx=%dn,x; y=x+2; /先将x+2赋给y=6,然后x再自增5 printfx=%d y=%dn,x,y; z=x-; /先将

50、x的值5赋给z=5,然后x再自减4printfx=%d z=%dn,x,z; x-; /x=x-1,即x=3printfx=%dn,x; 自增、自减运算符不能用于常量和表达式。例如: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=15;最后求解a+8=11,所以逗号表达式的值=11相关知识相关知识 举一反三举一反三【例1-19】输入圆半径,求圆的面积和周长。的值取3.14. 分析:由于根据圆半径,求圆的面积和周长,所以要定义三个变量,半径r,面积s和周长c;思索到输入的圆半径能够会有小数,所以这三个变量无妨都定义为单精度型float。定义变量r,s,c输入变量rs=3.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论