测试题项目案例教程tpnew3_第1页
测试题项目案例教程tpnew3_第2页
测试题项目案例教程tpnew3_第3页
测试题项目案例教程tpnew3_第4页
测试题项目案例教程tpnew3_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第三章C#基础知识2回顾VisualStudio.NET2003是用于创建、编写、运行和调试程序的集成开发环境

用户使用VS.NET中的“起始页”可以自定义IDE。IDE还包含许多有用的链接,如最近的项目、下载和联机新闻组等VS.NET中的程序组成项目和解决方案。项目是一组相关的文件,解决方案则是一组相关的项目

VisualStudio.NET为用户提供了用于浏览文件的各种窗口“动态帮助”窗口为用户提供了与当前光标所在位置相关的文章3目标在C#中定义变量和常量使用C#中的基本数据类型理解装箱和拆箱的概念使用C#中的运算符,选择结构和循环结构定义和使用数组,了解结构和枚举4C#数据类型C#

数据类型大小默认值示例int有符号的32位整数0intrating=20;float32位浮点数,精确到小数点后7位0.0Ffloattemperature=40.6F;byte无符号的8位整数0bytegpa=2;short有符号的16位整数0shortsalary=3400;long有符号的64位整数0Llongpopulation=23451900;bool布尔值,true或falseFalseboolIsManager=true;stringUnicode字符串-stringcolor=“Orange”Char单个Unicode字符‘\0’chargender=‘M’;5变量2-1语法:访问修饰符数据类型变量名PublicPrivateProtectedintstringfloat……糖盐胡椒粉盐胡椒粉糖intfloatstring25.4“Test”变量用于存储特定数据类型的值6变量2-2

staticvoidMain(string[]args) {

//声明布尔型、字符串型、整型、短整型和浮点型变量

booltest=true;

shortnum1=19;

intnum2=14000;

stringval="Jamie";

floatnum3=14.5f;

//显示变量值

Console.WriteLine("布尔值="+test);

Console.WriteLine("短整型值="+num1);

Console.WriteLine("整型值

="+num2);

Console.WriteLine("字符串值="+val);

Console.WriteLine("浮点值="+num3); }变量中存储的值取决于该变量的类型7常量2-1语法:const数据类型常量名=常量值;PublicPrivateProtected常量用于在整个程序中将数据保持同一个值8常量2-2staticvoidMain(string[]args){

//PI常量PI

constfloat_pi=3.14F;

//由地球引力引起的加速度常量,单位为cm/s*s

constfloat_gravity=980;

//钟摆的长度

intlength=40;

//钟摆的周期

doubleperiod=0;

//钟摆周期的计算公式

period=2*_pi*Math.Sqrt(length/_gravity);

Console.WriteLine("钟摆的周期为{0}秒",period);}声明常量在表达式中使用常量const关键字用于声明常量9C#的基本数据类型3-1C#中的数据类型分为两个基本类别

值类型表示实际数据只是将值存放在内存中

值类型都存储在堆栈中

int、char、结构引用类型表示指向数据的指针或引用包含内存堆中对象的地址

为null,则表示未引用任何对象类、接口、数组、字符串10C#的基本数据类型3-2staticvoidMain(string[]args){

//声明一个值类型的整型数据类型

intval=100;

Console.WriteLine("该变量的初始值为{0}",val);

Test(val);

//由于该数据类型属于值类型,所以将恢复其初始值

Console.WriteLine("该变量的值此时为{0}",val);

}staticvoidTest(intgetVal){

inttemp=10;

getVal=temp*20;}将val

的初始值传递给Test()

方法被传递的val

在Test()

方法内被改变不反映已经改变的val

值,而保留原始值11C#的基本数据类型3-3staticvoidMain(string[]args){ DataTypeTestobjTest=newDataTypeTest(); objTest.Val=100; //传递属于引用类型的对象 Test(objTest); //由于该数据类型属于引用类型,所以会考虑新处理的值 Console.WriteLine("变量的值为{0}",objTest.Val);}staticvoidTest(DataTypeTestdataTest){ inttemp=10; dataTest.Val=temp*20;}将DataTypeTest

的引用传递给Test()

被传递的val

在Test()

中改变不反映已经改变的val

值,而保留原始值classDataTypeTest{publicintVal;}12装箱和拆箱2-1装箱是将值类型转换为引用类型拆箱是将引用类型转换为值类型利用装箱和拆箱功能,可通过允许值类型的任何值与Object类型的值相互转换,将值类型与引用类型链接起来13装箱和拆箱2-2intval=100;objectobj=val;Console.WriteLine(“对象的值={0}",obj);intval=100;objectobj=val;intnum=(int)obj;Console.WriteLine("num:{0}",num);值类型引用类型拆箱装箱值类型引用类型值类型被装过箱的对象才能被拆箱14运算符和表达式9-1运算符和表达式Result=number*100变量变量常量操作数表达式操作数和运算符的组合运算符15运算符和表达式9-2类别运算符说明表达式算术运算符+执行加法运算(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾)操作数1+操作数2-执行减法运算操作数1-操作数2*执行乘法运算操作数1*操作数2/执行除法运算操作数1/操作数2%获得进行除法运算后的余数操作数1%操作数2++将操作数加1操作数++或++操作数--将操作数减1操作数--或--操作数~将一个数按位取反

~操作数16运算符和表达式9-3类别运算符说明表达式三元运算符(条件运算符)?:检查给出的第一个表达式expression是否为真。如果为真,则计算operand1,否则计算operand2。这是唯一带有三个操作数的运算符

表达式?操作数1:操作数217问题

下面的运算结果是什么?

1、 27%5=

2、 ~11=2-12为什么?18运算符和表达式9-4类别运算符说明表达式比较运算符>检查一个数是否大于另一个数

操作数1>操作数2<检查一个数是否小于另一个数

操作数1<操作数2>=检查一个数是否大于或等于另一个数

操作数1>=操作数2<=检查一个数是否小于或等于另一个数

操作数1<=操作数2==检查两个值是否相等

操作数1==操作数2!=检查两个值是否不相等操作数1!=操作数219运算符和表达式9-5类别运算符说明表达式成员访问运算符.用于访问数据结构的成员数据结构.成员赋值运算符=给变量赋值操作数1=操作数2逻辑运算符&&对两个表达式执行逻辑“与”运算

操作数1&&操作数2||对两个表达式执行逻辑“或”运算操作数1||操作数2!对两个表达式执行逻辑“非”运算!操作数()将操作数强制转换为给定的数据类型

(数据类型)操作数20运算符和表达式9-6赋值运算符(=)变量=表达式;例如:身高=177.5;体重=78;性别=“m”;21运算符和表达式9-7一元运算符(++/--)Variable++;

相当于

Variable=Variable+1;Variable--;

相当于

Variable=Variable-1;22运算符和表达式9-8运算符计算方法表达式求值结果(假定X=10)+=运算结果=操作数1+操作数2X+=5X=X+515-=运算结果=操作数1-操作数2X-=5X=X-55*=运算结果=操作数1*操作数2X*=5X=X*550/=运算结果=操作数1/操作数2X/=5X=X/52%=运算结果=操作数1%操作数2X%=5X=X%5023运算符和表达式9-9C#运算符的优先级优先级(1最高)说明运算符结合性1括号()从左到右2自加/自减运算符++/--从右到左3乘法运算符除法运算符取模运算符*/%从左到右4加法运算符减法运算符+-从左到右5小于小于等于大于大于等于<<=>>=从左到右6等于不等于=!=从左到右从左到右7逻辑与&&从左到右8逻辑或||从左到右9赋值运算符和快捷运算符=+=*=/=%=-=从右到左24前置和后置自加/自减运算符表达式类型计算方法结果(假定num1的值为5)num2=++num1;前置自加num1=num1+1;num2=num1;num2=6;num1=6;num2=num1++;后置自加num2=num1;num1=num1+1;num2=5;num1=6;num2=--num1;前置自减num1=num1-1;num2=num1;num2=4;Num1=4;num2=num1--;后置自减num2=num1;num1=num1-1;num2=5;Num1=4;25问题计算结果:1、 inti=0; boolresult=false result=(++i)+i==2?true:false; result=true26算术运算符staticvoidMain(string[]args){

//x2的系数

intcoefficient1=2;

//x的系数

intcoefficient2=-7;

//二次方程的常数值

intconstant=3;

//存放表达式

b2-4ac的值

doubleexpression=0;

doublex1=0;

doublex2=0;

Console.WriteLine("二次方程为:{0}x2+{1}x+{2}",coefficient1,coefficient2,constant);

expression=Math.Sqrt(coefficient2*coefficient2-(4*coefficient1*constant));

x1=((-coefficient2)+expression)/(2*coefficient1);

x2=((-coefficient2)-expression)/(2*coefficient1);

Console.Write("x={0:F2}",x1);

Console.Write("或");

Console.WriteLine("x={0:F2}",x2);}将值赋给变量在表达式中使用的算术运算符27选择结构3-1语法:

if(<条件>){<语句块>}else{<语句块>}选择结构用于根据表达式的值执行语句if…else28选择结构3-2语法:switch(选择变量){ case值1: … break;

case值2: … break; case值3: … break; ... ... default: …}switch…case29switch…case的其他特性选择结构3-3各个

case标签不必连续,也不必按特定顺序排列default

标签可位于switch…case结构中的任意位置default标签不是必选的,但使用default标签是一个良好的编程习惯每两个case标签之间的语句数不限30循环结构循环结构用于对一组命令执行一定的次数或反复执行一组命令,直到指定的条件为真。循环结构的类型while循环do循环for循环foreach循环31while循环2-1停车!车上有几个座位?检查!是!否!while(seat<=25)32while循环反复执行指定的语句,直到指定的条件为真语法:while(条件){//语句}break

语句可用于退出循环continue

语句可用于跳过当前循环并开始下一循环while循环2-233do…while循环2-1停车!车上有几个座位?检查!是!否!while(seat<=25)do34do…while循环2-2do…while循环与while循环类似,二者区别在于do…while循环中即使条件为假时也至少执行一次该循环体中的语句。语法:do{//语句}while(条件)35for循环for循环要求只有在对特定条件进行判断后才允许执行循环

这种循环用于将某个语句或语句块重复执行预定次数的情形

语法:for(初始值;条件;增/减){//语句}36foreach循环计算总分计算分数对班上的每一个学生教室37foreach循环2-1foreach

循环用于遍历整个集合或数组

语法:

foreach(数据类型元素(变量)in集合或者数组){//语句

}38foreach循环staticvoidMain(string[]args){

//存放字母的个数

intcountLetters=0;

//存放数字的个数

intcountDigits=0;

//存放标点符号的个数

intcountPunctuations=0;

//用户提供的输入

stringinput;

Console.WriteLine("请输入一个字符串");

input=Console.ReadLine();

//声明

foreach循环以遍历输入的字符串中的每个字符。

foreach(charchrininput) {

//检查字母

if(char.IsLetter(chr))

countLetters++;

//检查数字

if(char.IsDigit(chr))

countDigits++;

//检查标点符号

if(char.IsPunctuation(chr))

countPunctuations++; }

Console.WriteLine(“字母的个数为:{0}",countLetters);

Console.WriteLine(“数字的个数为:{0}",countDigits);

Console.WriteLine(“标点符号的个数为:{0}",countPunctuations);}为所有计数器设置初始值接受输入对输入的每一个字符都进行循环使用了所有输入的字符之后,循环自动终止39数组3-1数组是同一数据类型的一组值数组属于引用类型,因此存储在堆内存中数组元素初始化或给数组元素赋值都可以在声明数组时或在程序的后面阶段中进行

语法:

数据类型[元素个数]数组名称;

int[6]arrayHere;40数组3-278(0)67(1)89(2)92(3)66(4)JoeTomLeeJimBill23.518.927.321.429.6学生分数的整数数组职员姓名的字符串数组室温的浮点数组数组位置41数组3-3staticvoidMain(string[]args){

intcount;

Console.WriteLine("请输入您要登记的学生人数");

count=int.Parse(Console.ReadLine());

//声明一个存放姓名的字符串数组,其长度等于提供的学生人数

string[]names=newstring[count];

//用一个

for循环来接受姓名

for(inti=0;i<count;i++) {

Console.WriteLine(“请输入学生{0}的姓名",i+1);

names[i]=Console.ReadLine(); }

Console.WriteLine("已登记的学生如下:");

//用

foreach循环显示姓名

foreach(stringdispinnames) {

Console.WriteLine("{0}",disp); }}数组声明初始化数组元素的循环显示输出的循环42structstructEx{publicintstructDataMember;

publicvoidstructMethod1(){ //structMethod1实现}}自定义数据类型可以在其内部定义方法无法实现继承属于值类型主要结构:structstudent{ publicintstud_id; publicstringstud_name;

温馨提示

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

评论

0/150

提交评论