下一章 上一章 目录 设置
8、面向程序设计 ...
-
C# 重点知识复习
一、重点知识点
1.常用数据类型
2.变量—变量名命名规则
3.运算符和表达式-----数据类型转换
4.流程控制语句:顺序结构 分支结构 break continue
5.数组声明和初始化
6.字符串的定义以及方法
7.函数定义以及调用,参数传递,值传递,引用传递---形参和实参
8.异常处理语句 try catch(0/1/n) finally(0/n)
封装,继承,多态
9.Class 访问权限属性(set get)构造方法析构方法
10.重载(一个类)和重写(继承关系成立)
11.析构方法不能继承 base
New virtual override
12.静态成员和静态类
二、具体知识点
三、补充的知识点:
1.值传递与引用传递
C# 中的类型一共分为两类,一类是值类型(Value Type),一类是引用类型(Reference Type)。
值类型包括结构体(struct)和枚举(enum)。
引用类型包括类(class)、接口(interface)、委托(delegate)、数组(array)等。
常见的简单类型如short、int、long、float、double、byte、char等其本质上都是结构体,对应struct System.Int16、System.Int32、System.Int64、System.Single、System.Double、Syetem.Byte、System.Char,因此它们都是值类型。但string和object例外,它们本质上是类,对应class System.String和System.Object,所以它们是引用类型。
值类型变量本身保存了该类型的全部数据,当声明一个值类型的变量时,该变量会被分配到栈(Stack)上。
引用类型变量本身保存的是位于堆(Heap)上的该类型的实例的内存地址,并不包含数据。当声明一个引用类型变量时,该变量会被分配到栈上。如果仅仅只是声明这样一个变量,由于在堆上还没有创建该类型的实例,因此,变量值为null,意思是不指向任何类型实例(堆上的对象)。对于变量的类型声明,用于限制此变量可以保存的类型。
C#中方法的参数传递默认的是值传递,引用传递和输出传递需要在参数类型前面对应加上ref、out限制符,由于输出传递和引用传递类似,这里只讨论引用传递。
值传递参数是原变量的拷贝,值传递参数和原变量的内存地址不同,因此方法中对值传递参数的修改不会改变原变量。
引用传递参数是原变量的指针,引用传递参数和原变量的内存地址相同,相应的方法中对引用传递参数的修改会改变原变量。
代码1:
代码2:
练习题回顾
代码1、手机电话
代码2、【练习题】13.构造方法与重载 (编写类)
创建一个类?为该类定义三个构造函数?分别执行下列操作
1、传递两个整数值并找出其中较大的一个值
2、传递三个double值并求出其乘积
3、传递两个字符串值并检查其是否相同
4、在main方法中测试构造函数的调用
代码3 、
用C#定义一个student类,该类具有数据成员myName,number,myAge及属性Name,Age,Number,
要计算存在于系统中学生的人数,增加一个Number属性以计算存在于系统中学生人数,每创建一个对象,学生人数+1,每析构一个对象,学生人数减1。另外该类还具有打印方法,要求按“学生姓名:年龄”格式输出。 (Number这个属性不应该属于哪个特定对象,它是属于student类的)
代码4、 编写一个figure
4.编写一个Figure类,重载该类的构造方法,实现如下效↑
当输入一个double参数r时,返回半径为的圆的面积
当输入一个双参数r时,返回半径为的圆的面积
当输入一个int参数d时,返回边长为d的正方形的面积
当输入两个double参数a、b时,返回矩形的面积
当输入两个双参数a、b时,返回矩形的面积
代码5、 编写一个类Myclass, 重载类中的add方法,实现如下效
当参数为两个整数时,返回两个整数的和
当参数为两个小数时,返回两个小数的和
当参数为两个字符串时,返回两个字符串的连接结果
代码6、构造-析构(老师讲过的例题)
代码8、猴子吃桃(自主练习题)
猴子第一天摘了许多个桃子,先吃了所有桃子的一半,后又吃了一个;第二天又吃了剩下桃子的一半,后又吃了一个……第十天,剩1个桃子。问:猴子第一天摘了多少个桃子?
代码9、分数序列
题目:有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13... 求出这个数列的前20项之和。
代码10、判断素数1
从键盘输入一个正整数,判断该数是不是素数(质数)。
素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。
判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即为素数,否则m为合数。
代码11、 判断素数2
C#l练习(用方法来实现:①判断一个给定的整数是否为“质数”。②计算1-100之间的所有质数(素数)的和
代码1:判断一个给定的整数是否为“质数”
代码2:计算1-100之间的所有质数(素数)的和
代码12、判断并输出素数或约数
C#里判断一个正整数是否为素数,若不是,则输出其所有约数
代码13、打印水仙花数
打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=13+53+3^3。
代码1:
代码2:
代码3:
代码14、构造-析构、方法重构(老师讲过例题)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//成员变量 private-protected,属性public(get set)
//静态变量-static 静态方法-静态成员&局部成员
//构造方法-new 和析构方法-默认
//方法重构*********
代码2、
代码15、编辑程序如下图
代码16、
代码17、火锅烧烤西餐
代码1:
代码2、
代码18、百马百担
百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马1担,编程计算共有多少种驮法?
代码1
代码2
代码3