码迷,mamicode.com
首页 > Windows程序 > 详细

C#基础(上)

时间:2017-08-20 16:53:39      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:vtt   image   aws   btn   发布   sm2   rdlc   odi   surf   

第一章  开发入门

1-01 从一段代码开始

①计算机语言

概念:人类与计算机沟通的工具

常见的计算机语言:C.PHP.Ruby.Java.C#.Basic.js.C++. ...等等

②源代码

概念:用某种计算机语言编写的内容(目前C#源代码)

代码的执行:源代码→编译器compiler(负责编译的工具)→
编译compile→
机器代码101010100011111010

③编译

将源代码转换成机器代码

 

拓展:软件开发中的常见术语

①二进制

  在我们现实世界中,有十个数字(0-9),因此,到达十的时候,数字不够用了,就必须要进一,这叫做逢十进一。

而计算机只能识别高电平和低电平两种状态,它只能使用两个数字(0-1)来表示,因此,到达二的时候,数字不够用,就必须要进一,这叫做逢二进一。

下面的表格表示了十进制数字和二进制数字的对应关系:
十进制数字 二进制数字
0   0
1   1
2   10
3   11
4   100

 

②指令

  指令是能够被CPU理解并执行的二进制命令

CPU全称Central Processing Unit,译为中央处理器,它是计算机的一个重要组件。你可以把CPU想象成计算机的大脑,这个繁忙的大脑每时每刻都在处理各种命令。

这些命令可能是让它作一个加减运算,也可能是让它把某个文字存放起来,又或者是读取出来。

但CPU毕竟是个电子元件,它并不能理解所有的命令,你不能让它给你来个少林功夫+唱歌跳舞。

所以,我们把能够被CPU理解并执行的命令称为指令。而CPU作为一个电子元器件,能够理解的命令格式,一定是二进制的。因此,指令,也必定是二进制的。

③程序

  程序的概念其实非常简单,一条指令能够做一件事,多条指令能够做多件事。把多条指令按照一定的序列串起来、排好队,就是程序。这些指令一个一个交给CPU执行,就可以完成丰富的功能,就像下图这样:

技术分享

 

 计算机语言发展进程

  计算机语言大致经过了机器语言、汇编语言、高级语言三个阶段的发展历程。 

①汇编语言

汇编语言使用助记符来替代机器指令

机器语言这种反人类的设计,阻碍了软件的发展。

因此,后来出现一种语言,它使用一些人类世界中的单词,来代表机器指令,这样的单词,叫做助记符,而这种语言,叫做汇编语言。

②高级语言

高级语言更加符合人类的思维习惯

汇编语言虽然使用了很多助记符,但它仍然要关注计算机硬件的执行原理,比如:寄存器、控制器、逻辑部件、缓冲区等等等等。因此,汇编语言仍然难以被人类学习和理解。

我们开发的软件,功能上已经够复杂的了,还要在编程时考虑计算机底层的硬件原理……
简直痛不欲生,生,生离死别,别,别了,世界!

高级语言解决了这一问题,使用高级语言,你不用再去考虑计算机硬件是怎么执行的,你可以将目光更加专注于功能的开发。

实际上,高级语言也会考虑一部分计算机的底层原理,只不过这一部分非常之少,相对于汇编来说,已经是极大的改善了。

高级语言有很多,比如:C#、java、C、js、Python等等等等。

③语句

语句是指代码中一句可独立运行的代码

简单来说,语句就是代码中的一句话,这句话表达了一个功能点,一个完整的代码,可以由一条,也可以由很多条语句组成。

比如,这节课中的代码就是一条输出语句,用于在控制台中输出内容:

Console.WriteLine("Hello,World");

当然你可以写多条语句,就像这样:

Console.WriteLine("Hello,World");
Console.WriteLine("你好");

④语法

语法是指代码中单词、符号的组合规则

和现实场景一样,语法,就是规定你应该怎么说话,应该如何组织字、词、符号。

在现实场景中,你可以问我:“吃了吗?”,这是符合语法的,但如果你说:“吗了吃!”,我不仅听不懂你在说什么,而且感觉你在骂我……

同样的,在计算机语言中,也有很多的语法规则,这里,我先介绍C#语言中的三个基本语法规则:

所有的单词,区分大小写

就是说,两个单词如何相同,但大小写不同,C#会认为它们是两个不同的单词。
比如:Console和console是两个不同的单词。

所有的符号都必须是英文符号

这个很好理解,你可以写:

Console.WriteLine("Hello,World");

但不可以写:

Console。WriteLine("Hello,World");

但这里有个例外,就是双引号和单引号中的字符不作限制,以后你就会知道了。

所有的语句都必须以分号结束

和很多语言一样,C#语言也是使用分号作为每一条语句的结尾。

⑤总结

下面,用于一个表格,对以上的术语进行总结:
术语名 解释
二进制   二进制是计算机使用的一种计数方式
指令  指令是能够被CPU理解并执行的二进制命令
程序   程序,也就是软件,它是指多个指令的有序排列
计算机语言发展历程  机器语言 -> 汇编语言 -> 高级语言
机器语言  机器语言是能够直接被计算机理解并执行的语言
汇编语言  汇编语言使用助记符来替代机器指令
高级语言  高级语言更加符合人类的思维习惯
语句  语句是指代码中一句可独立运行的代码
语法  语法是指代码中单词、符号的组合规则

 

 

 

1-02  code  compile run

1 .code  编码

· 使用C#语言

· 用Windows记事本编写(  *注意:代码间标点用英文状态)

·  实现在控制台输出“hello,world”的功能

 

2. compile  编译

·  使用C#编译器exe(位置:C:\Windows\Microsoft.NET\Framework\v4.0.30319)

·  将编译结果保存到exe文件中

3. run   运行

使用命令行(快捷键Ctrl+R)→   cmd

拓展:  认识.NET

1.再谈C#的编译过程

为什么不是机器代码?

CPU的差异性;操作系统平台的差异性

中间代码

  C#语言的编译器CSC,为了解决跨机器跨平台的问题,不会将源代码直接编译为机器代码,而是将其编译成中间代码,称为IL。

中间代码,既不是源代码,也不是机器代码,你可以把它想象成一种介于源代码与机器代码之间的代码。在阅读难易程度上,它的易读性比源代码高,比机器代码低。

编译成中间代码起什么作用呢?注意!巧妙的地方来啦!

世界上,没有任何一个操作系统,也没有任何一款CPU,能够识别这种中间代码。全世界,只有一款软件可以识别,这款软件就是.NET。

.NET可以识别并执行中间代码,它会根据当前的运行环境(CPU和操作系统),将中间代码转换为最合适的平台代码(可以理解为机器代码),交给CPU和操作系统执行。

也就是说,用C#开发的程序,编译好后,可以放到任何一台计算机、任何一种操作系统上执行,前提条件是,它要安装一个软件.NET。

win7、win8、win10操作系统安装后,会自动安装.NET。windows xp或之前版本的操作系统则不会。

如果你是windows xp或之前版本的操作系统,想要运行.NET程序,需要单独下载.NET安装。但是我不会告诉你在哪里下载又怎么安装。因为我的建议是,作为看一个开发人员,赶快,麻溜儿的给我去升级操作系统!

如果你使用的是mac,这篇文章会帮助到你:http://jingyan.baidu.com/article/14bd256e79797dbb6d2612c8.html

于是,我们可以得到C#语言从源代码到执行的完成过程:→

 

这样一来,使用C#语言开发程序,只需要编译一次,就可以将编译结果放到任何一台计算机上正确执行,真正做到了跨机器、跨平台。

当然别忘了,前提条件是,该计算机要安装.NET,因为这一切,都是.NET的功劳。

实际上,.NET平台不仅仅可以解决跨机器跨平台的问题,它还有很多强大的功能,下面介绍它的几个重要功能。

 技术分享

 

2. NET的组成部分

.NET运行时

.NET运行时,全称Common Language Runtime,缩写为CLR,中文译为:公共语言运行时。

前面提到的,.NET可以根据当前的运行环境,将中间代码转换为特定最终代码的功能,就是CLR提供的。
.NET跟语言无关!不管你是用java还是php,不管是用C还是VB,只要你能把源代码转换成中间代码,.NET的CLR就可以执行,它不用管你的源代码到底是什么语言。
正是因为这一特性,.NET可以支持各种各样的计算机语言,它把这些能够编译成中间代码的语言叫做公共语言,而CLR正是用于执行这些语言编译结果的,所以,它叫做公共语言运行时。

也正是因为这一特性,.NET获得了很多语言的支持,你使用以下这些语言编写代码,都可以顺利的交给.NET运行

 

公共类库


  可以把公共类库想象成一个超大型的知识库,知识库中存在大量的、已经完成的代码,这些已经写好的代码可以极大的方便你的开发。只要是.NET支持的语言,都可以从这个知识库中获取它各个层面的功能。不同的语言,只是表达方式有差异罢了。

实际上,在控制台中输出内容,并非一件简单的事情,你之所以可以用这段简单的代码就可以达到输出内容的目的,正是因为这句代码使用了公共类库中的功能。公共类库中已经给你写好了输出代码,你只需要使用C#的语法使用即可。

 

1-03  开发工具

IDE(intergrated development environment集成开发环境)

Java:Eclipse

Html:WebStorm

C#:Visual Studio

 

 

使用VS2013

新建工程

编写代码

编译和运行

找到编译文件

迁移工程

 

 

 

拓展 :Visual Studio安装教程

本文介绍如何在windows平台中安装Visual Studio,如果你是mac,请安装VS Code

Visual Studio 是一款优秀的IDE,但它不免费,并且价格不菲。

庆幸的是,微软在2014年发布了免费版的Visual Studio,将其称为Visual Studio 社区版(Visual Studio Community),该版本专门面向学生和个人开发人员,并且随着以后VS每一次的更新换代,都会发布对应的免费社区版。

虽然社区版(免费)缺少了企业版(收费)的一些功能,但不用担心,对于学习阶段的开发者,完完全全够用。

所以,没时间解释了,赶快上车!



1 下载

第1步

在浏览器中打开下面的地址: 
https://www.visualstudio.com/zh-hans/downloads/

通过该地址,会得到VS最新一代的社区版,比如,在我写这篇文章的时候,该链接会得到VS2015社区版。

估计看到这里,有些小伙伴就要纠结了:那这样一来,不是和视频教学中使用版本不一样了吗?

乖,不要在意这些细节,VS的每个版本其实大同小异,都差不多,不用担心。

第2步

打开该地址后,找到页面的这个区域,然后点击+号:

技术分享

第3步

找到展开后的这个区域,然后选择单选框下拉列表,如下图所示,选择好后点击Download下载:

技术分享

下载完成后,进入下一阶段 —— 安装。

2 安装

注意:VS的安装时间比较长,可能长达一个小时,中途不要中断!

第1步

你下载的文件是一个后缀名为ISO的镜像文件,需要使用虚拟光驱打开。

win8和win10操作系统都自带虚拟光驱功能,但不排除某些不可描述的原因,导致有些win8系统没有自带虚拟光驱功能。

那如何查看自己的操作系统是否自带虚拟光驱功能呢?

最简单的方式就是看图标!如果你发现刚刚下载的文件是一个类似光盘技术分享的图标,双击打开即可。

如果不是,参考这里: 
http://jingyan.baidu.com/article/fec4bce220196ef2618d8b1a.html

这里其实还有一种情况,就是图标是光盘图标技术分享,但是双击后没有反应。如果是这种情况,其实已经加载虚拟光驱成功了。你可以进入我的电脑,会发现多了一个光驱,大概是这个样子: 
技术分享 
进入这个光驱即可。

第2步

打开虚拟光驱后,双击这个文件,进入安装:

技术分享

第3步

一开始,安装程序会进行一些初始化的操作,这里需要耐心等待一段时间。

技术分享

第4步

一段时间后,会看到如下界面:

技术分享

这里的安装位置你可以更改,强烈建议你不要改,如果一定要改,必须保证如下几点

  • 目录中不得包含中文和中文符号
  • 最终的安装目录必须是一个空白的文件夹
  • 以上两点念三遍

安装类型保持默认即可。

然后点击安装

第5步

  • 别让你的电脑在安装过程中断电
  • 不要在安装的过程中用电脑玩游戏
  • 不要在安装的过程中使用很占资源的应用
  • 更加不要点击取消,你会后悔的
  • 实际上,我建议你去睡一会儿

第6步

当一切都安装好后,点击启动。

技术分享

第7步

启动后,会提示你使用微软的live账号登录,这一步必须完成,因为尽管社区版免费,但仅针对使用live账号的人免费。如果你没有live账号,可以点击注册。

技术分享

注册账号并不复杂,赶紧的。

第8步

登录后,会提示你完善账号信息,其中Full name(你的全名)是必填,其他不管,填好后,点击Continue:

技术分享

点击后可能会让你选择风格和语言 
语言选择C# 
风格随便,我推荐深色 
选择完成后,点击启动Visual Studio

第9步

在VS为你的第一次使用完成准备后,就会进入该界面:

技术分享

说明什么,朋友?

大声的告诉我,你成功了!

等等,为了你以后能够顺利的打开VS,你可以在开始菜单中找到Visual Studio 2015,然后添加它的桌面快捷方式。

技术分享

好了,以上,就是安装VS社区版的过程,祝安装顺利。

 

 

 

1-04  认识主函数

·  定义:程序启动时运行的函数。又称main函数,入口函数,启动函数

·  运行时,程序从上到下依次运行函数体中的每一句代码

·  主函数运行结束后,程序结束

 

 

 

 

 

第二章   变量和数据类型

2-01  数据和数据类型

 数据:有用的信息

数据类型:对数据的分类

C#语言中的数据类型(常见)

char  字符类型

单个文字(汉子、字母、数字、标点符号)

书写方式:用成对的英文单引号表示(eg:  ‘汉‘    ‘A‘   ‘2‘   ‘?‘  )

string  字符串类型

不限数量的文字(汉字、字母、数字、标点符号)

书写方式;用成对的英文双引表示(eg:  "汉"     " "   "hello,world"  )

int  整数类型

简称整型,用于表示一个整数

书写方式:直接书写(eg:0   100  -1   -100)

double  小数类型

用于表示包含小数点的数字

书写方式:直接书写(eg:0.0   1.1   -1.1  -1.123)

 

 

2-02   认识变量

变量:一块存储数据的内容空间,并且该内存区域的数据内容可以变化

变量的声明

指定一块内存空间,用于存放数据

语法: 数据类型  变量名 (eg:①int number;   ②string str;)

变量的赋值:将数据存放到变量的内存空间

eg:int number; string=s;
number=6; s="yes"

*注意:①生命和赋值的变量名一致
②赋值的类型与声明要一致
③“=”叫做赋值符号,不是等号

 

总结

变量用于在内存中存储数据

变量存储的数据可变

变量必须先声明后赋值

 

 

2-03  变量命名

概念:给变量取个名称

 

变量命名的规范

硬性要求(必须遵循的规则)

1.变量名只能由数字、字母、下划线组成
2.变量名不得以数字开头
3.变量名不能与关键字相同(eg:int,double,char,...在VS中,使用蓝色标记关键字)
4.同一个函数中变量名不得相同

软性要求

变量名首字母小写
除第一个单词外,其他单词首字母大写
变量名要能够望文知义
*使用驼峰命名法,做到望文知义

 

2-04  变量的技巧

合并声明
对多个同类型的重复声明,可以在一条声明语句中完成
声明时初始化
在声明一个变量的同时,对变量进行初始化
变量三要素:数据类型,变量名,变量值

 

2-05  数据运算(1)

数据运算
数字运算
字符串运算
数字运算规则:支持运算:加(+)、减(-)、乘(*)、除(/)、求余(%)
返回类型:与运算类型相同
int类型与int→int;double类型与double→double;double与int→double

 

 

2-06  数据运算(2)

字符串运算
数据类型 变量名;
等效→ 数据类型 变量名=变量值
变量名=变量值;
运算规则:拼接(+)→结果 字符串1字符串2
   ←
字符串 → 任意类型
(string) (int、double)
返回类型:字符串

 

 

2-07  数据运算案例分析

变量值的复制
代码的实现:→ int x=1;
       int x=y;
变量的自增或自减
代码实现:→ int x=1;
      x=x+5;
      x=x-4;
多个数据的运算:两个以上的数据参与运算
int x=1,y=2;
x=x+y-1;
*注意每一步的返回类型
变量值交换
eg: int x=1,y=2;
  int z=x;
  x=y;
  y=z;

 

 

2-08  输入语句

概念:在控制台中获取用户输入的内容
作用:程序暂停执行,等待用户输入
输入语句的代码书写:Console.ReadLine();
*返回类型:string(将用户输入的内容形成字符串数据)
总结
让程序暂停执行,等待用户输入
用户按下回车键后,获取用户输入的内容,类型为string
用户按下回车键后,程序继续执行,直到主函数结束

 

2-09  类型转换

1.将任意类型转换为string
转换代码:带转换的数据.ToString();
eg: int a=10;
string b=a.ToString;
返回类型:string
2.int类型与double类型的互转
取值范围小的数字类型→取值范围大的数字类型(隐式转换)
double的取值范围>int的取值范围
取值范围大的数字类型→取值范围小的数字类型(显式转换)
*int类型只能表示整数,显示转换(强制转换)有可能造成数据丢失

3.string转换为数字

① string→int
int.Parse(待转换的字符串)
返回类型:int
② string→double
double.Parse(待转换的字符串)
返回类型:double
总结

技术分享

 

 拓展:char类型的数值转换

char转为int
在C#语言中,使用Unicode编码来存储字符。
比如汉字 ‘汉’,对应的Unicode编码是27721,在计算机内存中,将使用汗27721对应的二进制来存储。
因此,如果要把 ‘汉’ 转换为int类型的数字,转换的结果就是27721。

为什么char类型的数据赋值给int类型的变量可以使用隐式转换呢?
是因为char类型的数据在内存中存储时使用的是Unicode编码,Unicode编码占16位(两个字节),而int类型占32位(4个字节)。因此,char类型的数据占位少,取值范围小,而int类型的数据占位多,取值范围大。所以,这样的赋值是安全的,不会造成数据丢失,可以隐式转换。

技术分享

 

int转为char

int类型的数据转换为char类型时必须使用显示转换。
char类型的取值范围小于int,因此,将取值范围大的int类型转换为取值范围小的char类型是不安全的,所以要用显示转换。

 技术分享

 

 字符数据的运算

char类型的数据,在进行数学运算(+、-、*、/、%)时,会将它当做int进行运算,运算的返回类型是int。

也就是说,字符也可以参与数学运算,在运算的时候,会把这个字符的编码进行运算,运算的返回结果是一个整数int。

比如,’a’+’1’,这个代码计算的是’a’的编码加上’1’的编码,返回的是编码相加的整数。’a’的编码是97,’1’的编码是49,计算结果是一个int类型的整数146。

 

 2-10  圆的面积计算器

实现代码

class Program
{
static void Main(string[] args)
{
Console.Write("请输入圆的半径(单位米):");
String input = Console.ReadLine();
double r = double.Parse(input);
double pi=3.14;
double area = pi * r * r;
double premeter = pi * r * 2;
string result = "圆的面积为:" + area + "平方米";
Console.WriteLine(result);
result = "圆的周长为:" + premeter + "米";
Console.WriteLine(result);
Console.Write("按回车键结束程序");
Console.ReadLine();
}
}

 

 

2-11  转义符
在代码中书写一个斜杠(\),用于改变斜杠后出现字符的意义

常见的转义符

技术分享

举例

技术分享

 



2-12  数字类型

数字类型
整数类型
实数类型
位:是计算机的最小存储单元,一位,可以存放一个二进制数字
其实,位的概念非常简单,我们知道,在计算机中,无论是数字还是字符,无论是图片还是音乐,存储时,都是使用二进制格式的数字来存储,这个二进制数字的其中一位就是“位”的概念。
比如,一个字符’a’,在unicode编码下,它的二进制格式是:
0000 0000 0110 0001
那么我们可以认为,一个’a’字符,在计算机中占16位。
以上,就是位的概念。
浮点数
float 单精度←最多7个有效数字(小数点后)
double 双精度←最多15个有效数字
数值后缀
1.23→double
1.23f→float
1.23m→decimal
...
数字类型的使用原则
对于计算精度要求精度很高的实数,使用decimal(财务计算,科学实验分析等)
对于内存使用要求苛刻的软件,尽量在保证取值范围的前提下使用占位较少的类型
如果没有上述要求,整数用int,实数用double

位:是计算机的最小存储单元,一位,可以存放一个二进制数字
其实,位的概念非常简单,我们知道,在计算机中,无论是数字还是字符,无论是图片还是音乐,存储时,都是使用二进制格式的数字来存储,这个二进制数字的其中一位就是“位”的概念。
比如,一个字符’a’,在unicode编码下,它的二进制格式是:
0000 0000 0110 0001
那么我们可以认为,一个’a’字符,在计算机中占16位。
以上,就是位的概念。

技术分享

 

 

2-13  代码注释

概念:即使用一些描述语句,让你的代码便于阅读和理解,注释的内容,没有任何实质功能,不参与编译,只存在于源代码中。
书写代码注释
单行注释→//注释内容
多行注释→

/*
注释内容
注释内容
*/
文档注释
什么时候使用注释
代码不易理解
代码非常复杂
代码量大
在团队协作开发中,会有其他人阅读你的代码


 2-14  软件中的错误与调试

编译错误(导致源代码无法通过编译)
发现错误:查看开发工具VS的错误列表
解决错误:根据错误提示,做出相应修改
错误特点:容易发现,容易修改
运行错误(在运行过程中报错)
发现错误:在调试模式下运行,并运行到报错的语句
解决错误:根据错误提示,做出相应修改
错误特点:难以发现,难以修改
逻辑错误(运行结果和预期不符)
发现错误:仔细核对运行结果,看与预期是否一致
解决错误:使用VS的断点调试,检查每一步的执行结果
(在代码前面打上打上一个红色的点)
错误特点:极难发现,极难修改

 

 

 

第三章  运算符和表达式

3-01   认识运算符
概念:又叫操作符,是一个用于运算的符号,它作用于一个或多个操作数(操作数:参与运算的数据)
运算符的分类
按操作的数量
一元(目)预算符 ← 作用于一个操作数
二元(目)预算符 ←作用于两个操作数
三元(目)预算符 ←作用于三个操作数
按运算符的功能
算术运算符 ← 用于数学运算
逻辑运算符 ← 用于判断真假
位运算符 ← 用于二进制运算
其他

 

3-02   常见的运算符:小括号
书写方式 ( )
功能作用
类型转换
改变运算顺序
函数调用


3-03   常见运算符:算术运算符
加加运算符
书写方式
变量名++
1.计算返回结果,与变量相同
2.将变量的值自增1
++变量名
1.计算返回结果,为变量值加1
2.将变量的值自增1
减减运算符
书写方式
变量名--
1.计算返回结果,与变量相同
2.将变量的值自减1
--变量名
1.计算返回结果,为变量值减1
2.将变量的值自减1
常见的算术运算符:+ - * / % ++ --
运算顺序:++ -- → * / % → + -


3-04  常见运算符:赋值运算符
变量=运算代码(將运算代码赋值给变量)
赋值运算符:= += -= *= /= %=

 

3-05   常见运算符:逻辑运算符
==              !=                >     >=   <    <=   &&   ||   !
等于 不等于 大于 大于等于 小于 小于等于 并且 或者 非
&&:对两个bool类型进行运算,运算的结果:真真为真,其他为假:
||:对两个bool类型进行运算,运算的结果:假假为假,其他为真;
!:一元运算符,对一个bool类型的数据求反。数据为真,其结果为假;数据为假,其结果为真。
返回类型:bool (布尔)→ true 或者false

 

3-06   常见运算符:三目运算符
又叫做三元运算符,他需要三个操作数参与运算
书写方式:操作数1 ? 操作数2 : 操作数3
↓ ↘ ↙ △(? : 为英文符号)

bool类型 相同类型
返回结果:如果操作数1判定结果为真,则将操作数2作为返回结果;
如果操作数1判定结果为假,则将操作数3作为返回结果。
举例:

技术分享

 

3-07 位运算符(只做了解)
用于对数字进行二进制运算
位运算符
&与 11取1,其他取0
|或 00取0,其他取1
^异或 相同取0,不同取1
<<左移 左移指定的位数
>>右移 右移指定的位数
~取补 1变0,0变1

 

3-08   表达式
一条有意义的语句,并且该语句至少包含一个操作数和一个操作符。
每一个表达式,都有一个返回类型。
每个表达式都可以与其他表达式进行运算,只要类型符合要求。
如图

技术分享

 


常见表达式返回类型总结
①声明变量:void(无返回类型)
②变量赋值:返回类型和变量类型相同
③算术运算:返回类型为取值返回大的类型
④逻辑运算:bool(所有的逻辑运算(>、<、=、!=、<=、>=、&&、||、!),返回类型固定为bool)
⑤类型转换:返回类型为转换的目标
⑥字符串拼接:string
⑦函数调用:
输出语句:void
输入语句:string
ToString:string
xxx.Parse:xxx

 

3-09   运算符优先级
使用多个运算符的常见场景
赋值运算 (永远最后运行)
数学运算:按照数学中的运算顺序进行:先运行括号,有嵌套则从里到外运行,在运行乘除,求余;最后运行加减
类型转换(指显示转换)和函数调用:先运行函数调用,再进行类型转换
逻辑运算:將&&和||符号两端的表达式看做一个整体
三目运算:表达式1 ? 表达式2 : 表达式3
其他:使用小括号或分开书写来控制运算顺序


3-10   健康计算器
健康计算器实现代码:

/*
标准体重计算公式
男:(身高-80)*0.7
女:(身高-70)*0.6
健康:在标准体重正负10%范围内
偏胖:高于标准体重10%
偏瘦:低于标准体重10%
*/
Console.Write("请输入性别(男或女):");
string sex=Console.ReadLine();
Console.Write("请输入身高(厘米):");
double height = double.Parse(Console.ReadLine());
Console.Write("请输入体重(千克)");
double weight = double.Parse(Console.ReadLine());
double standardweight =sex== "男" ? (height - 80) * 0.7 : (height - 70) * 0.6;
double minhealthweight = standardweight * 0.9;
double maxhealthweight = standardweight * 1.1;
string result=weight<=minhealthweight &&weight >=maxhealthweight?"身体非常健康,请继续保持!":
(weight<minhealthweight?"身体偏瘦,请补充营养":"身体偏胖,请多运动");
Console.WriteLine(result);
Console.ReadLine();

 

C#基础(上)结束。

C#基础(上)

标签:vtt   image   aws   btn   发布   sm2   rdlc   odi   surf   

原文地址:http://www.cnblogs.com/touchone/p/7397820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!