C#-程序调试

程序调试:
1、什么是调试?
程序调试是在程序中查找错误的过程,它用来检测程序是否能够正常运行,还能够查出潜在的问题。提升程序的健壮性,降低程序死掉的几率。程序调试是提升程序质量的一个保证手段。
2、程序错误有几种?
程序错误分为:语法错误和语义错误。
语法错误是VS编辑器通过编译就可以找出来,显示在错误窗口,如果你用鼠标双击错误信息则VS编辑器将直接跳到错误的代码行上。语法错误必须改正后才能通过编译,否则将不能通过编译。
编译一旦发现错误就会立刻停止并弹出错误提示,此时如果之前的代码通过了编译的那么就会提示是否运行上次的代码,如果你的观察不够很有可能点击是,那么就会运行上次成功的结果,这样就会让程序员产生错觉。
语法错误如果没有通过编译那么即使使用断点调试也不行的。必须首先排除错误的代码。
-----------------------------------------------------
语义错误其实就是没有正确给计算机指令从而导致程序运行并没有正确的结果,但是语法上并没有错误所以可以通过编译生成执行程序。通过各种调试方法找到错误并及时修改。
3、程序调试的主要步骤
3.1 设置断点(注意:断点的设置一般在变量之前的一句代码上,在流程控制的语句上)
3.2 启动调试(F5或F11、F10)F11---》逐语句运行、F10---》逐过程运行、F5---》全部运行直到断点停住
3.3 单步执行(找到问题所在的行数)PS:还可以使用单步运行达到理解程序是如何运行的学习目的
3.4 观察变量、发现问题
3.5 中断或停止调试 (为了修改代码)
3.6 修改代码
3.7 重新调试(发现新的问题)
---------------------------------------
运算符和表达式
1、C#中运算符有几种?
六种:
算术、自运算、关系、逻辑、条件、赋值
2、什么是表达式?
将操作数用运算符连接起来的称为表达式。
3、自运算符
符号在前,先运算后赋值(使用)。符号在后,先赋值(使用)后运算。
例如:
int i=0;
//单独使用,符号在前,在后是没什么区别
i++;
int j=i;//此时j的值是1
int k=i++;//此时k的值也是1,因为先赋值后运算
int l=++i;//此时l的值是3,因为先运算后赋值
4、赋值运算符
+= 相当于int i=0; i+=2;--->i=i+2;
可以使用小括号改变运算符的优先性
------------------------------------------------
类型转换
1、几种类型转换?
隐式转换、显示转换
2、特点
隐式转换系统默认,由低到高(范围小到范围大,精度低到精度高,不会出错)
显示转换必须明确指定要转换的类型,而且有出错的可能,一般是溢出错误和格式不正确错误
四种转换方法当中只有Convert.To目标类型可以四舍五入,其他两种转换都是直接砍掉,
源类型.ToString()--->主要是将对象以字符串的形式展现
字符串的加法:例如:"abc"+123---》结果为:"abc123"自动转换并连接两个内容,
这种的特点其实就是字符串连接起来,所以字符串进行加法运算其实是进行字符串的连接并不是加法。字符串只有加法连接多个字符串成为一个字符串没有其他的运算了。
例如:
//用加号进行字符串的连接
string sh = "Hello ";sw = "World";Console.WriteLine(sh+sw);//结果是Hello World
int age=18; string name = "Jack"; Console.WriteLine("你的名字是:"+name+" ,你的年龄是:"+age+"岁");
=============================
实战演练进化
将第八课的迷你计算器进行优化升级
1、修改程序的信息
解决方案资源管理器--->项目--->Properties--->AssmblyInfo.cs
在这个文件中进行修改
修改的内容有:
1,AssemblyTitle--->程序集的名称(就是你的程序名称)
2,AssemblyDescription--->程序集的描述
3,AssemblyCompany--->公司名称
4,AssemblyProduct--->产品名称
5,AssemblyCopyright--->版权信息
通过修改程序集的信息达到个性化的目的
2、修改程序的图标
解决方案资源管理器--->鼠标右键点击项目--->项目属性面板--->应用程序--->资源--->图标和清单
图标的扩展名是.ico文件
3、解决菜单输入大小写的问题
Console.ReadLine()--->将用户输入的内容以字符串的形式返回到程序中
字符串中有两个函数分别是改为大写和改为小写
那么也就是说不管用户输入的是小写还是大写,程序中统一全部转为大写即可
使用字符串的函数.ToUpper()--->将字符串转为大写(对中文无效)

4、颜色处理
由于是黑屏下所以颜色是有限的,但是还是可以设置颜色来美化界面
颜色设置后,会一直影响到此行下面所有的输出,所以如果需要改变则必须再次设置颜色
4.1 头部的美化
4.2 菜单美化
4.3 居中美化
------------------------
目前的问题:
1、用户菜单输入错误不能解决
2、程序每次只能做一次运算,不能反复使用
3、用户输入的操作数不能检测是否输入正常
上述的问题随着我们学习了流程控制后就可以解决了

posted @ 2020-06-12 17:51  十年人间  阅读(613)  评论(0)    收藏  举报