c#运算符
(4)位运算符
位运算符作用于位,并逐位执行操作。
&:如果同时存在于两个操作数中,二进制and运算符复制一位到结果中;
|:如果存在任一操作数中,二进制or运算符复制一位到结果中;
^:如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中;
~:二进制补码运算符是一元运算符,具有翻转位效果;
<<:二进制左移运算符,左操作数的值向左移动右操作数指定的位数;
>>:二进制右移运算符,左操作数的值向右移动右操作数指定的位数
(5)赋值运算符
=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=
(6)杂项运算符
sizeof():返回数据类型的大小
typeof():返回class的类型
Gettype():当前类型
(7)三元运算符/三目运算符/条件运算符
?x:y
条件表达式如果条件为真?则为x:否则y
switch…case语句
switch(条件){
case1:
语句1;
break;
case2:
语句1;
break;
...
default;
以上条件都不成立执行;
break;
}
循环
(1)while循环
while(条件){
循环体;
}
(2)for循环
for(条件){
循环体;
}
console:控制台
输入流:读 Read类方法:等待用户阅读
ReadLine:从标准输入流读取下一行字符,按回车退出(string);
ReadKey:获取用户按下的下一个字符或功能键,按下任一键退出;
Read:(int)从标准输入流读取下一个字符,按回车退出
输出流:写 write类方法:设置用户的输入
write:18种重载,不换行,不支持空参数;
writeLine:19种重载,支持空参数,在一行写,写完自动换行
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 控制台
{
class Program
{
static void Main(string[] args)
{
//ReadKey:获取用户按下的下一个字符或功能键
//按任意键退出
//Console.ReadKey();
//Read:从标准输入流读取下一个字符
//按回车键退出
//Console.Read();
//18种重载,不换行,不支持空参数
Console.Write("你好世界");
Console.Write("你好世界");
Console.Write("你好世界");
//19种重载,支持空参数,在一行写,写完自动换行
Console.WriteLine("你好世界");
Console.WriteLine("你好世界");
Console.WriteLine("你好世界");
//ReadLine:从标准输入流读取下一行字符
//按回车键退出
Console.ReadLine();
}
}
}
案例
水仙花数
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 运算符
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//int flower = int.Parse(textBox1.Text);
//if (flower<1000 && flower>=100)
//{
// //个位
// int a = flower % 10;
// //十位
// int b = (flower / 10) % 10;
// //百位
// int c = flower / 100;
// if (a*a*a+b*b*b+c*c*c==flower)
// {
// label2.Text = flower.ToString() + "是水仙花数";
// }
// else
// {
// label2.Text = flower.ToString() + "不是水仙花数";
// }
//}
//else
//{
// MessageBox.Show("不满足要求");
//}
int i;
for (i=100;i<1000;i++)
{
//个位
int a = i % 10;
//十位
int b = (i%100)/10;
//百位
int c = i / 100;
if (a * a * a + b * b * b + c * c * c == i)
{
label2.Text =label2.Text + i.ToString() + ",";
}
}
}
}
}
输出千位
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 运算符
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int i = int.Parse(textBox1.Text);
//个位
int a = i % 10;
//十位
int b = i % 100 / 10;
//百位
int c = i / 100 % 10;
//千位
int d = i / 1000;
label1.Text = a.ToString();
label2.Text = b.ToString();
label3.Text = c.ToString();
label4.Text = d.ToString();
}
}
}
输出万位
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 运算符
{
public partial class Form6 : Form
{
public Form6()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int i = int.Parse(textBox1.Text);
//万位
int a = i / 10000;
//千位
int b1 = i % 10000;
int b2 = b1 / 1000;
//int b = i / 1000 % 10;
//百位
int c = i % 1000 / 100;
//十位
int d = i % 100 / 10;
//个位
int f = i % 10;
if (i<100000)
{
label1.Text = a.ToString();
label2.Text = b2.ToString();
label3.Text = c.ToString();
label4.Text = d.ToString();
label5.Text = f.ToString();
}
else
{
textBox1.Text = "";
label1.Text = "lable1";
label2.Text = "label2";
label3.Text = "label3";
label4.Text = "label4";
label5.Text = "label5";
}
if (i<10000)
{
label1.Text = "";
}
if (i<1000)
{
label1.Text = "";
label2.Text = "";
}
if (i<100)
{
label1.Text = "";
label2.Text = "";
label3.Text = "";
}
if (i < 10)
{
label1.Text = "";
label2.Text = "";
label3.Text = "";
label4.Text = "";
}
}
}
}
星星案例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 矩形
{
class Program
{
static void Main(string[] args)
{
//1,矩形
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//6,平行四边形
for (int i = 0; i < 5; i++)
{
for (int k = 0; k < i; k++)
{
Console.Write(" ");
}
for (int j = 0; j < 5; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//2,直角三角形
for (int i=0;i<5;i++)
{
for (int j=0;j<i+1;j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//3,翻转三角形
for (int i=5;i>0;i--)
{
for (int k=0;k<i-1;k++)
{
Console.Write(" ");
}
for (int j=5;j>i-1;j--)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//4,倒三角形
//int n = 5;
//for (int i=0;i<5;i++)
//{
// for (int j=0;j<n- i;j++)
// {
// Console.Write("*");
// }
// Console.WriteLine();
//}
for (int i=5;i>0;i--)
{
for (int j=0;j<i;j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//5,倒翻转三角形
for (int i = 0; i < 5; i++)
{
for (int k=0;k< i;k++)
{
Console.Write(" ");
}
for (int j=0;j<5- i;j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//7,等腰三角形
for (int i=0;i<5;i++)
{
for (int k=0;k<5- i-1;k++)
{
Console.Write(" ");
}
for (int j = 0; j<2*i+1;j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//8,空心平行四边形
for (int i = 0; i < 5; i++)
{
for (int k = 0; k < i; k++)
{
Console.Write(" ");
}
for (int j = 0; j < 5; j++)
{
if (i>0 && i<4)
{
if (j==0 || j==4) {
Console.Write("*");
}
else
{
Console.Write(" ");
}
}
else
{
Console.Write("*");
}
}
Console.WriteLine();
}
Console.WriteLine();
//9,菱形
for (int i = 0; i < 5; i++)
{
for (int k = 0; k < 5 - i-1; k++)
{
Console.Write(" ");
}
for (int j = 0; j < 2 * i + 1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
for (int i = 4; i >0; i--)
{
for (int k = 0; k < 5 - i; k++)
{
Console.Write(" ");
}
for (int j = 0; j < 2*i-1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.WriteLine();
//10,九九乘法表
for (int i = 1; i < 10; i++)
{
for (int j = 1; j <= i; j++)
{
//第一种方法
//Console.Write("{0}*{1}={2}\t", j, i, j * i);
//第二种方法
Console.Write("{0}*{1}={2}{3}", j, i, j * i,(j*i>9?" ":" "));
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}