收藏 分享(赏)

C#语法基础.pdf

上传人:精品资料 文档编号:8398796 上传时间:2019-06-24 格式:PDF 页数:27 大小:686.81KB
下载 相关 举报
C#语法基础.pdf_第1页
第1页 / 共27页
C#语法基础.pdf_第2页
第2页 / 共27页
C#语法基础.pdf_第3页
第3页 / 共27页
C#语法基础.pdf_第4页
第4页 / 共27页
C#语法基础.pdf_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、 第 3 章 C#语法基础 在深入探讨 C#面向对象编程之前,有必要先熟练掌握 C#语言的基本语法基础。本 章将讲解 C#语法结构的基本要素,包括数据类型,运算符,表达式,以及程序控制结构。 3.1 数据类型 数据是什么?简单的说,数据就是信息。然而,从程序员的观点来看,包含在一段 数据中的信息可以在计算机中以不同的方式存储。如何选择一个“正确的”方式,以在 计算机中存储一段给定的数据?这要视情况而定。 图 3.1 列出 C#的常见的数据类型,分为值类型,引用类型两个大类。关于值类型, 引用类型的区别,将会在后面的章节中讲到。 图 3.1C#的数据类型 3.1.1 整数类型 整数类型主要用于存

2、储数学中的整数。 C#面向对象程序设计 2 描述 位数 数据类型 取值范围 8 sbyte 128127 16 short 32 76832 767 32 int 2 147 483 6482 147 483 647 有符号整数 64 long 9 223 372 036 854 775 8089 223 372 036 854 775 807 8 byte 0255 16 ushort 065 535 32 uint 04 294 967 295 无符号整数 64 ulong 018 446 744 073 709 551 615 表3.2 整数类型 3.1.2 浮点类型 浮点类型主要用于存

3、储浮点数(也就是值中带有小数点),如表 3.3 所示。由于 CPU 构造的特殊性,计算机在处理 double数据类型的处理速度要比 float 类型来得快,double 类型通常是更好的选择。 当然也要记住一点, 加入内存限制是关键的话, 你就该使用 float 数据类型了。 描述 位数 数据类型 取值范围 单精度浮点型 32 float(可以使用后缀 f 显式指 定一个小数为 float 类型) 1.5 45 10 到3.4 ,7 位 精度 38 10 双精度浮点型 64 double(可以使用后缀 d 显式 指定一个小数为 double 类 型) 5.0 1.7 ,15 位 精度 324

4、10 308 10 表 3.2 浮点类型 第 3 章 C#语法基础 3 3.1.3 十进制类型 十进制类型 decimal 是一个定点数字数据类型, 具体如表 3.3 所示。 由于其精度较高, 通常用于财务方面的计算,比如银行计算利息。 描述 位数 数据类型 取值范围 十进制类型 128 decimal( 可以使用后缀 m 显式指定一个小数为 decimal 类型) 1.0 7.9 28 10 28 10 , 29 位精度 表 3.3 十进制类型 3.1.4 字符类型 C#中使用 char 表示字符类型,使用 16 位的 unicode编码,用于存储单个的字符,具 体如表 3.4 所示。 描述

5、 位数 数据类型 取值范围 字符类型 16 char 在 065 535 范围内以双 字节编码的任意符号 表 3.4 字符类型 3.1.5 布尔类型 布尔类型表示现实中的“真”或“假”这两个概念,主要用来进行逻辑判断。在 C#中, 分别采用 true 和 false 这两个值来表示“真”和“假”。要注意,与 C 语言不同, C#语言不允 许整数与布尔值进行隐式转换(隐式转换将在本章后面讲到),也就是不能把 true,false 与 1,0 互换使用。 描述 位数 数据类型 取值范围 布尔类型 8 bool true 或 false C#面向对象程序设计 4 表 3.5字符类型 案例学习:身体质

6、量系数查看器 一个称为 “身体质量系数” (BMI) 的量用来计算与体重有关的健康问题的危险程度, BMI按照下面的公式计算: 2 /h w BMI =其中 w是以千克为单位的体重,h 是以米为单位的身高。 要求:根据用户输入的体重,身高,计算其 BMI 值。学有余力的同学可根据表 3.6 判断其所属类别。 体质指数 类别 30 重度肥胖 表 3.6 体制系数表 实例分析: 1、简单复习结构化编程的知识。 基础编程的 4 个步骤:声明变量-变量初始化-计算-输出 2、程序中需要用到体重,身高,身体质量系数等数据,通过分析,知道它们均可用浮点 数存储。 代码实现: 第 3 章 C#语法基础 5图

7、3.7 身体质量系数查看器代码实现 第 910 行声明变量,weight,height,bmi,category分别表示体重,身高,身体质量系数值, 所属类别。第 1114 行利用用户输入的数据对体重,身高进行初始化。第 1525 行先计 算身体质量系数值,然后根据其值进行判断。第 26 行进行输出,其中0:f2,1表示格 式项, 输出时被 bmi, category两个变量值取代。 0:f2中的 f2 表示精确到小数点后两位。 3.1.6 结构 结构 struct 是自定义的值类型,对于系统没提供的类型,比如学生,复数等,可以 通过定义结构来表示该类型 struct ComplexNumbe

8、r public double a; public double b; 这段代码定义了复数类型 ComplexNumber,它由两个 double类型的字段组成。其中 a 表示实部,b 表示虚部。之后就可以创建该类型的变量,并通过成员访问符“.”来访 问其公有成员。 C#面向对象程序设计 6 ComplexNumber c1; c1.a = 2.5; c1.b = 5; 3.1.7 枚举 枚举类型为一组在逻辑上密不可分的整数提供便于记忆的符号,以提高代码可读性。 比如对于“星期” ,其取值可以是星期一至星期日,C#中可以定义枚举类型 Weekdays。 enum Weekdays Mon, T

9、ues, Wedn, Thur, Fri, Sat, Sun 然后可以创建该类型的变量,并通过成员访问符“.”来使用枚举项: Weekday day1 = Weekdays.Mon; 枚举的本质其实就是整数, 上述代码中, Weekdays.Mon 相当于整数 0, Weekdays.Tues 相当于整数 1。程序员还可以自行指定枚举值为对应的整数值,比如: enum UserStates Online = 1,Offline = 3,Busy = 5,Away = 7 3.1.8 数组 数组主要用于存储一组同类型的数据,其所存储的每个数据称为数组元素。在内存 中,数组存放在一个连续的存储空间

10、,可以用下标(一组从 0 开始的整数)来访问每个元 素,下标又称为“索引” 。 1 、一维数组 一维数组的索引值为 1个整数值。 声明的格式: 类型名 数组名; 例如: i nt m y A r r ay 1; s tr i ng m y Ar r ay 2; 数组是引用类型的对象,创建对象的过程又称实例化。只有经过实例化过的数组才 可以使用。 m y A rr ay1 = new i nt 7 ; m y A rr ay2 = new s tr i ng 3 ; 也可以将上述两步结合起来: i nt m yA r r ay 1 = new int 7 ; 第 3 章 C#语法基础 7 初学者

11、在使用数组时容易犯以下错误: 错误 1:int myArray1; myArray11,3,5;/此时 myArray1 还未初始化 错误 2:int myArray1 =new int 1,3,5;/把 C 语言与 C#语言的语法弄混 错误 3:int myArray1=new int41,3,5;/初始化数组有 4 个元素,却只提供 3 个 数据。 这里笔者再次提醒读者,实践上机是学习编程语言最好的方式,阅读一些优秀的代 码,对编程水平的提高帮助很大。 案例学习:用数组统计结果 学生用 1 到 10 的分数评价学生食堂中的食品质量(1 表示很差,10 表示很好) ,统 计每个评价分数对应的

12、学生数。 案例分析: 1、所有学生的评价分数可以利用一个数组进行存储 2、对评价分数的统计结果,再用一个数组进行存储。考虑到评价分数是 110,这个数 组可以声明 11 个数组元素,编号是 0的数组元素不使用。 代码实现: 图 3.8 用数组统计结果代码实现 第 13 行, reponses.Length表示数组长度。第 15 行, 0,-61,-10这两个格式项中的-6,10 表示格式项的位宽度。计算机将使用空格填充对应的格式项,以达到设定的宽度值。第 16 行,frequency.GetLength(0)表示数组 frequency 第 0 维的长度。对于一维数组而言, Length,与

13、GetLength(0)的返回值是一样的。 C#面向对象程序设计 8 运行结果: 2 、二维数组 二维数组的索引为两个整数值,分别称为行索引,列索引;其中行索引的取值范围 称为第 0 维,列索引的取值范围称为第 1 维。 声明的格式: 类型名 , 数组名; 以下语句声明一个二维数组 myArray,并存放一个两行 3 列的数据: 1 2 3 4 5 6 int, myArray; myArray = new int, 1, 2 ,3, 2, 4 ,6 ; 以下代码演示了二维数组的基本用法: 第 3 章 C#语法基础 9图 3.9 二维数组的实现代码示例 第 9 行声明了一个二维数组。第 11

14、行, myArray.GetLength(0)表示 myArray数组第 0 维的长度,在本段代码中,其值为 2。第 12 行,myArray.GetLength(1)表示 myArray 数 组第 1 维德长度,在本段代码中,其值为 3。 3 、交错数组 二维数组主要用于存储的数据类似与一张二维表,而且是一个规则的二维表,也就 是每一行的列数是一致的。有时候,我们会遇到每一行列数不一致的二维表,就比如: 这时候就要使用交错数组了。限于篇幅,本书不详细讲述,有兴趣的读者可以参阅相关 资料。 3.1.9 类型转换 在编程过程中,不可避免地出现数据类型之间的相互转换。有的转换是系统默认的、不 需要

15、加以声明就可以进行的,这种转换叫做隐式转换。隐式转换一般不会导致数据的丢 失,是一种安全的类型转换。有的转换需要程序员明确指定转换的类型,叫做显式转换。 1、隐式转换 C#面向对象程序设计 10 类型转换的过程与两个大小不一的水杯互相倒水的情形很相似。如果我们把小水杯 的水倒入大水杯中,这个过程是安全的,不会出现水溢出的现象。这个过程类似于隐式 转换,所出现的转换均是从小范围类型到大范围类型,或者小精度类型到大精度类型, 如表 3.10 所示。 从 到 sbyte short、int、long、float、double 或 decimal byte short、ushort、int、uint、

16、long、ulong、float、double 或 decimal short int、long、float、double 或 decimal ushort int、uint、long、ulong、float、double 或 decimal int long、float、double 或 decimal uint long、ulong、float、double 或 decimal long float、double 或 decimal ulong float、double 或 decimal char ushort、int、uint、long、ulong、float、double 或 dec

17、imal float double 表3.10 隐式类型转换 下面给出了隐式转换的代码示例: long x1 = 100;/系统默认100为int类型,这里出现从int到long的隐式转换 int x2 = 6; /6是char类型,这里出现从char到int的隐式转换 double x3 = x1; /这里出现从 long到 double的隐式转换 2、显式转换 我们继续用水杯互相倒水的情形来说明。如果我们把大水杯的水倒入到小水杯中, 这个过程就有一定的危险性,有可能小水杯会出现水漫出来的现象。这个过程类似于显 式转换, .NET 系统要求程序员必须编写类型转换语句以实现类型转换。需要进行显

18、示转 换的情况如表 3.11 所示。 从 到 sbyte byte、ushort、uint、ulong 或 char byte sbyte或 char short sbyte、byte、ushort、uint、ulong 或 char ushort sbyte、byte、short或 char int sbyte、byte、short、ushort、uint、ulong 或 char uint sbyte、byte、short、ushort、int 或 char long sbyte、byte、short、ushort、int、uint、ulong 或 char ulong sbyte、byt

19、e、short、ushort、int、uint、long 或 char char sbyte、byte或 short 第 3 章 C#语法基础 11 float sbyte、byte、short、ushort、int、uint、long、ulong、char或 decimal double sbyte、 byte、 short、 ushort、 int、 uint、 long、 ulong、 char、 float 或 decimal decimal sbyte、 byte、 short、 ushort、 int、 uint、 long、 ulong、 char、 float 或 double

20、 表3.11 显式类型转换 下面给出了显式转换的代码示例 1: long longNumber = 100; int intNumber = (int)longNumber; /从 long 到 int 类型的显示转换 float floatNumber = (float) 0.45;/从 double到 float 类型的显示转换 代码示例 2: long longNumber = 100; int intNumber = Convert.ToInt32(longNumber);/ 从 long 到 int 类型的显式转换 float floatNumber = Convert.ToSing

21、le(0.45); /从 double 到 float 类型的显式转换 string str1 = “123“; intNumber = Int32.Parse(str1);/从 string到 int 类型的显式转换 3.2 运算符与表达式 表达式是由运算符、操作数和函数调用组成的一个序列。运算符按操作数的数目分 类,分为三类:一元运算符,二元运算符,三元运算符。按照运算符功能划分,主要有算术 运算符,位运算符,关系运算符,逻辑运算符,条件运算符,赋值运算符。 3.2.1 算术运算符与算术表达式 算术运算符用于创建执行数学操作的表达式,如表 3.12 所示。 运 算 符 描 述 运 算 符

22、描 述 + 加 / 除 - 减 + 自增 1 * 乘 - 自减 1 % 取模 3.12 算术运算符 这里需要特别说明的是/(除法)运算。/(除法)运算中,默认的返回值类型与精度最高 的操作数类型相同,比如 5 / 2 的结果是 2,而 5.0 / 2 的结果是 2.5 另外,自增和自减运算符要求操作数必须是一个变量,而不能是常量或者表达式, 比如 7 +,(a + b)- -都是不合法的。自增和自减有前缀和后缀之分。对于前缀操作符,“先 增减,后使用”;对于后缀运算符,“先使用,后增减”。 请阅读下列代码: C#面向对象程序设计 12 static void Main(string args)

23、 i nt x = 2; i nt y = x+ ; Console.WriteLine(“x=0,y=1“, x, y); y = + x; Console.WriteLine(“x=0,y=1“, x, y); 运行结果为: 3.2.2 关系运算符与关系表达式 关系运算符用于创建一个表达式,该表达式用来比较两个对象并返回布尔值。C#语 言提供的关系运算符详见表 3.13 。 运 算 符 描 述 运 算 符 描 述 = = 等于 大于 != 等于 = 大于或等于 3.13 关系运算符 下面给出了关系运算符的使用示例: int x = 15; int y = 15 /2 * 2; bool b

24、1 = (x = y);/结果为 false bool b2 = (x = y);/结果为 true 3.2.3 逻辑运算符与逻辑表达式 逻辑运算符和布尔型操作数一起组成了逻辑表达式。 运算符 描述 第 3 章 C#语法基础 13 ! NOT (非),一元运算符 int year = Convert.ToInt32( Console.ReadLine(); bool isLeapYear; isLeapYear = year % 400 = 0 | year % 4 = 0 if (isLeapYear) Console.WriteLine(“0年是闰年“, year); e ls e Con

25、sole.WriteLine(“0年不是闰年“ , y ear ) ; 对于表达式 year % 400 = 0 | year % 4 = 0 int y = x; x = (x 2); int z = x 代码分析: 1、int 类型其实是 32 位,这里为了书写方便,只写出 8 为,最高位为符号位。20 用 8 位二进制表示为 00010100。 2、x 二进制位 11101011,注意计算机中表达数据时用补码表示。需要把 11101011 转为原码方可知道其值为多少。正数的原码,反码,补码是一致,而负数的原码,反码, 补码各不相同。11101011 的最高位为 1,知道该数为负数。 补码

26、 11101011 反码 11101010 原码 10010101 于是得知x为-21。 3、左移时低位用 0 来补。x 2 为 11111010,最高位为 1,知道该数为负数。 补码 11111010 反码 11111001 原码 10000110 第 3 章 C#语法基础 15 于是得知 y2 为-6。 5、x 0 1 0 1 0 0 0 0 y 1 1 1 1 1 0 1 0 x i nt r es ult ; number1 = Convert.ToInt32(Console.ReadLine(); number2 = Convert.ToInt32(Console.ReadLine(

27、); r es u lt = (number1 number2)? number1 : number2; Console.WriteLine(“最大的数是:0“,result); 3.2.6 赋值运算符 赋值运算符“=”用于将等号右边的操作数(第二个操作数)的值赋给左边的操作 数(第一个操作数) 。 赋值运算符是右结合的,意味着自右向左运算符被分组,如 x=y=z 等价于 x=(y=z)。 赋值运算符除了“=” ,还包括+=,-=,*=,/=,%=,=,=。 对于这种 x op= y的运算可以理解成 x = x op y,如 x += 7; /等于 x = x +7; y % = 2; /等价

28、于 y = y % 2; x -= y + 3; /等价于 x = x ( y + 3 ); C#面向对象程序设计 16 3.2.7 运算符的优先级 表达式的运算牵涉到不同的运算符和操作数,关于运算的先后次序,称为运算的优 先级。运算符从高到低的优先级顺序如表 3.15所示: 运算符类型 运 算 符 初级运算符 x.y, f(x), ax, x+, x-, new, typeof, checked, unchecked 一元运算符 +,-,!, , +, - -, (T)x 乘法、除法、取模运算符 *, /, % 加减运算符 + , - 移位运算符 关系运算符 , = , is, as 等式运

29、算符 = , != 逻辑“与”运算符 char input = (char)Console.Read(); if (input = 0 else Console.WriteLine(“0是其他字符“, input); 在这段代码中,通过判断字符的编码值,从而得知其所属类别。另外还可以通过一 些系统函数,比如 char.IsDigit()来判断是否是数字。 代码实现二: static void Main(string args) Console.Write(“请输入一个字符:“); char input = (char)Console.Read(); string output; if (cha

30、r.IsDigit(input) output = “0是一个数字字符“; else if (char.IsUpper(input) C#面向对象程序设计 20 output = “0是一个大写英文字符“; else if (char.IsLower(input) output = “0是一个小写英文字符“; else output = “0是一个其他字符“; Console.WriteLine(output, input); 4、使用 switch 语句实现多分支选择 在判定多个条件时,如果用 ifelse ifelse 语句可能会很复杂和冗长。在这种情 况下,应用 switch 语句就会简

31、明清晰得多。用 switch 语句可以将任何整型变量或字符 串与多个值进行检查。当两者匹配时就会执行相应的所有语句。 其声明语法如下: switch(表达式) case 常数表达式: 语句块 跳转语句(如 break、return) /其他的 case 子句 defalut: 语句块 代码阅读: static void Main(string args) double x, y, z; string op; Console.Write(“请输入第一个操作数:t“); x = Convert.T oDouble(Console.ReadLine(); Console.Write(“请输入操作符:

32、t“); op = Console.ReadLine(); Console.Write(“请输入第二个操作数:t“); y = Convert.T oDouble(Console.ReadLine(); switch (op) case “+“: z = x + y; break; case “-“: 第 3 章 C#语法基础 21z = x - y; break; case “*“: z = x * y; break; case “/“: z = x / y; break; default: z = Double.NaN; /Double.Nan表示非数字的值 break; Console.

33、WriteLine(“0 1 2 = 3“, x, op, y, z); 在这段程序中,switch 语句根据 op 变量的值进行匹配,从而能执行相应的运算。 3.3.3 循环结构 循环结构用于代码段的重复执行。C#中提供了 while,dowhile,for 以及 foreach 这几种循环结构。 1 、while 语句 其声明语法如下: while(条件表达式) 循 环语句 当条件表达式的值为真时,这个语句执行循环语句。控制 while 语句的布尔表达 式包含在括号内,前面是 while 关键字。括号后面是当布尔表达式值为真时应执行的语 句。 对于问题:计算 1到 100 的整数累加和。可

34、以编写如下代码来实现: static void Main(string args) int i = 1; int sum = 0; while (i = 100) C#面向对象程序设计 22 sum += i +; Console.WriteLine(“从 1到 100 的和是:0“, sum); 2 、dowhile 语句 do-while 语句与 while 语句十分相似。为了保证循环语句至少执行一次,可以使用 do-while 语句。 其声明语法如下: do 循 环语句 while(条件表达式); 对于问题:计算 1到 100 的整数累加和。do-while 实现的的代码如下: stat

35、ic void Main(string args) int i = 1; int sum = 0; do sum += i+; while (i = 100); Console.WriteLine(“从 1到 100 的和是:0“, sum); 案例学习:求一个正整数各数位和 问题描述:用户输入一个正整数,计算这个正整数各数位和。比如输入 268,则各 数位和为 2+6 +8=16 。 问题分析: 1、任何一个正整数 x,x % 10 的结果为个位数,x / 10 的结果为这个正整数去掉个 位数后的结果。 2、编写循环语句,最主要确定两点:循环体,循环条件。 对于本问题,循环体为:取出个位数进

36、行求和,再得到正整数去掉个位数后的结果 循环条件:正整数去掉个位数后的结果不为 0 代码实现: static void Main(string args) Console.Write(“请输入一个正整数:“); 第 3 章 C#语法基础 23int input =Convert.ToInt32( Console.ReadLine(); int sum = 0; while (input 0) sum += input % 10; input /= 10; Console.WriteLine(“各数位和为:0“, sum); 请读者试着用 do-while 语句来实现这个问题。当学完后面的 fo

37、r 语句后,也可以继 续尝试用 for语句来实现。 3 、for 语句 for语句最适合于事先知道循环次数的情况, 也可以用于循环次数不确定而只给出循 环结束条件的情况。 for循环的语法格式: for (控制变量初始化;循环条件;改变循环控制变量的值) 需要循环执行的语句; 我们继续用 for语句来实现问题:计算 1到 100 的整数累加和。代码如下: static void Main(string args) int sum = 0; for (int i = 1; i = 100; i+) sum += i; Console.WriteLine(“从 1到 100 的和是:0“, sum

38、); 4 、foreach 语句 foreach 语句是 C#新引入的语句,传统的 C/C+没有这个语句。foreach 语句 适合用于遍历数组或者集合。 其声明语法如下: foreach( 元素类型 元素变量 in 元素变量集合) 循环语句 C#面向对象程序设计 24 其中,元素类型,元素变量用来声明该语句的循环控制变量,该变量相当于一个制 度的局部变量,它的生命周期为整个循环语句。在 foreach 语句执行过程中,语句会顺 序遍历集合中的每一个元素,而控制变量则代表着当前正在访问的集合元素。 示例代码: static void Main() string arr= new string

39、“Jan“, “Feb“, “Mar“; foreach (string s in arr) Console.WriteLine(s); 3.3.4 continue、break 与 return语句 很多编程的初学者容易混淆这三个关键字的用法。我们在这里集中讲解这三个语 句,让大家清晰的理解它们的概念和区别。 break语句会使运行的程序立刻退出它所在的最内层循环或者退出一个 switch语 句。由于它是用来退出循环或者 switch 语句,所以在其他地方使用 break 语句是不合 法的,只能在循环体内和 switch 语句体内使用 break 语句。 continue 语句只能用在循环语

40、句内,它不是退出一个循环,而是不执行本次循环 剩下的代码,直接开始执行下一次循环。 return 语句只能出现在函数体内,用于指定方法返回的值,返回到调用该方法的 语句处,或者从当前的方法中退出,返回到调用该方法的语句处。 break 语句使用示例: 问题:对整数 1100 的进行累加求和,请问加到哪个整数的时候,总和第一次超 过 1000. static void Main(string args) int sum = 0; for (int i = 1;i= 1000) Console.WriteLine(“第一次超过 1000,此时 i 为0,sum 为 1“,i,sum); break

41、; 第 3 章 C#语法基础 25 continue语句的使用示例: 问题:求整数 1100 的累加和,但要求跳过所有个位为 3的数。 static void Main(string args) int sum = 0; for (int i = 1;i=100; i+) if (i % 10 = 3) continue; sum += i; Console.WriteLine(sum); 小结 本章主要讲述 C#语言的基础语法,为读者进入面向对象的学习打下基础。主要讲 述了数据类型,运算符,表达式及控制结构。 C#的数据类型,分为值类型,引用类型两个大类。兼容的数据类型之间可以进行类 型转换

42、。类型转换有隐式转换,显式转换。 属于一定类型的数据可以进行各种运算。运算符按功能划分,主要有算术运算符, 位运算符,关系运算符,逻辑运算符,条件运算符,赋值运算符。在包含多个运算符时, 表达式的求值顺序由优先级决定。 结构化程序设计有三种基本控制结构,即顺序结构、选择结构和循环结构。掌握 C# 控制语句,可以更好地控制程序流程,提高程序的灵活性。 习题 1、编写一贷款计数器程序,根据代款数量、年利率和贷款周期,计算月付款和总付款, 并输出 计算月付款的公式为: 月付款= n r r p + ) 1 ( 1 *C#面向对象程序设计 26 总付款 月付款 * n 其中 p 为贷款金额,r 为月利

43、率(年利率除以 12) ,n 是还完贷款需要的时间(以 月为单位) 。 提示: Math.Pow(x,y)可以返回 x 的 y 次方, 比如 Math.Pow(2,5)就表示 2的 5 次方 2、一个人在银行存款 1000 元,年利率为 5。假设所有利息留在帐号中,则计算 10 年内每年年末的金额,并打印出来。 用下列公示计算金额: n r p a ) 1 ( + =其中: p=原存款(本金) r年利率 n年数 a年末本息 提示:Math.Pow(x,y)可以表示 x 的 y 次方 3、字符图形 使用循环语句编写程序,以输出下列图形。 * * * * * * * * * 4. 判断读入的整数

44、a是奇数还是偶数。如果是奇数输出“jishu” ,否则输出”oushu” 。 5.输入一个数 x,要求不使用 abs 函数,输出其绝对值。 6.节日期间,某超市购物优惠规定,所购物品不超过 100 元时,按九折付款,如超过 100 元,超过部分按七折收费。编一程序完成超市自动计费工作。(本題要求寫實驗報 告) 7.将输入的两个非负实数中较大的放在 max 里,小的放在 min 里,并输出。 8.老师统计成绩的时候,假定分数 n 大于 95 输出优秀,大于 60 小于 95 输出及格,小 于 60 则输出不及格。(if 语句的嵌套) 9、求 s=1+4+7+10+247 的值。 11、编写一个评分程序,接受用户输入 10 个选手的得分(0-10 分),然后去掉一个最高 分和一个最低分,求出某选手的最后得分(平均分)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报