第1季C#编程基础

发布时间 : 星期日 文章第1季C#编程基础更新完毕开始阅读

传智播客C#编程基础

2014.7.21

创建第一个控制台程序并且调试运行。 ? 为什么要从控制台程序开始?不要把精力放到表现层,而是把精力放到写代码上。无论控制台还是Winform还是ASP.Net最难的是写代码,而不是拖控件。 ? 唯一需要学的三条控制台指令:Console.WriteLine:打印输出、Console.ReadLine:从控制台读入一行、Console.ReadKey:控制台暂停。至于Console.是什么意思不用管。1+1=2的例子

Console.WriteLine(\);

//tring s = Console.ReadLine();//用户输入的时候是暂停的,用户输入完毕回车, //把用户输入的作为一个返回值,生命一个string容器s来放置 Console.ReadLine()函数返回的值

//onsole.WriteLine(s); // int i1 = 10; // int i2 = 20;

//onsole.WriteLine(i1+ \ //onsole.WriteLine(\ // Console.ReadKey();//按一个按键,程序再继续执行 Console.WriteLine(\请输入男孩的名字:\); string boy = Console.ReadLine();

Console.WriteLine(\请输入女孩的名字:\); string girl = Console.ReadLine(); Console.WriteLine(\爱{1}\,boy,girl); Console.ReadKey();//按一个按键,程序再继续执行

? 占位符是个什么玩意儿?{0}的个数必须和参数的个数一样,是一一对应的关系。 ? 运行程序调制时看运行至何处: 运行 ---- 全部中断

VS开发环境介绍

? 解决方案管理器:解决方案、工程、文件 ? C#源文件一般以cs结尾 ? C#程序的入口是Main函数,在Main中写代码就行,暂时不用关心其他部分是什么意思 ? 错误列表。错误排除演示。常见错误:结尾没有分号,大小写错误。 ? 显示代码行号。工具→选项→文本编辑器→C#→显示→行号

C#语法

? 从上到下一条条的依次执行。 ? 大小写敏感 ? 函数参数用()包围 ? 两句代码之间用分号(;)分割(易错:全角问题) ? 注释:单行注释、多行注释。

变量

? 把变量看成放数据的容器。 ? 定义变量的方式:类型 变量名; int i3; ? 变量的类型:不同类型的容器放不同的东西。不能在int类型的变量中放字符串。 ? 变量不能放和变量类型不兼容的数据。Int i=”3”;//3看起来是数字但是加引号是字符串 ? 变量的名字不能重名(不严格) ? 问题? int i=10;Console.WriteLine(\是加引号是普通字符串,打印的是i,

常用基本数据类型 ? string、int 、char 、bool 、decimal (了解) 、byte(了解)、double(了解)、 long(了解)、float(了解)等。 ? bool的取值:true、false。 ? 为什么输出\要用转义符\,因为编译器默认是遇到\开始字符串,再遇到\是结束字符 串,但是如果遇到前面有\\的\就不把它当成有字符串起始意义的\。 ? string:\输出”ab”、\输出:a回车b、”a\\\\b”---输出a\\b、\输出c:\\a.text 、@\(推荐)。 @表示字符串中的\\不当成转义符,只针对转义符有意义 ? @不是万能的,不能解决字符串中有双引号的问题,如果有双引号还是用转义符 ? ‘a’是char,\是string ? string s = Console.ReadLine(); ? 问题:

? String str=Console.ReadLine(); ? Console.WriteLine(str);

? 用户输入a\\nb,输出什么? a\\nb 转义符只针对在代码中直接写出的字符串,对于程序中读取出来没有这个问题。 ? 简单的类型转换: Convert.ToString()、 ToString() 、 Convert.ToInt32() 将字符串转换成整数。 ? 输入一个数,打印这个数的平方。 补充 ? 问题:int

i=Convert.ToInt32(Console.ReadLine()) ====string s1 = Console.ReadLine(); int i = Convert.ToInt32(s1); ? @可以表示多行字符串。

变量的命名 ? 命名规则:第一个字符必须是字母或者下划线(_),其后的字符可以是任意个数字、字母、下划线。不能全部使用C#的关键字,比如class、namespace、new、void等。判断方式:

VS中亮蓝色的就是关键字。 ? 这也是类、函数等的命名规则。 ? 中文变量名(类名、函数名)。 ? C#中建议变量的开头用小写。 ? 下列哪个是正确的变量名?_a、a、a1、a_a、1_a、a1、1a、 a3_、a$b、int、int1、a b、A1、INT。 ? 变量的声明:int i;int x,y;int i=3;

运算符、表达式 ? +、-、*(乘)、/(除)、%(求余) ? +可以用作字符串连接,其他不可以。将string和其他类型+,会自动tostring(); 易错:string s1 = \? ++(自增)、--(自减) ? (*)运算符优先级:i1+i2*i3、(i1+i2)*i3。不要变态,括号是王道。内层的()先计算。 ? 变量可以和字面量混合运算。 ? 案例:让用户输入两个数,打印出两个数的和。 赋值 ? 赋值运算符=,让左边变量的值等于右边的计算结果。这就能解释令人不解的i=i+1; ? (*)+=、-=、*=、/=。 ? i2=i1++; i2=++i1;(了解)。 --同理。 ? 习题:int a=10;a++;a=a+a;Console.WriteLine(\执行结果是什么? 22 ? 易错:int i=10;int j=i;i=5;j=?。 10 ? int x=10;x+y=80;Console.WriteLine(y); x + y = 80; //左边的必须是变量!!!不能是常量,不能是表达式 ? 习题:交换两个变量

int i1 = 10; int i2 = 20;

Console.WriteLine(\ int i3; i3 = i1; i1 = i2; i2 = i3;

Console.WriteLine(\ Console.ReadKey();

布尔运算 ? 相等判断:==,不要和=混淆。结果只有False true

WriteLine(\结果:FALSE WriteLine(\的区别。----结果:1 Console.WriteLine(\中赋值表达式也有值,它的值表示为赋值后变量的值 ? 不等判断:!= ? 大小比较:<、>、<=、>= ? 取反:!

? 组合运算:&&(并且)、||(或者)。

? && 并且:只有两边都为true的时候,表达式的值才为true,否则是 false;

? || 或者:两边只要有一个为true的时候,表达式的值就是true,否则 是false;

If(i>20);//if判断语句后面加;,表示语句结束,不会对后面的语句作用。 哪怕if语句中只有一行代码,也要加大括号,

作业1:提示用户输入密码,如果密码是“888888”则提示正确,否则提示错误。 Console.WriteLine(\输入密码:\);

string s = Console.ReadLine();

int m = Convert.ToInt32(s); //问题1:用户输入非数字出现异常 if (m == 888888)

{ Console.WriteLine (\密码正确!\);} else

{Console.WriteLine (\密码错误!\);} Console.ReadKey();

改进: Console.WriteLine(\输入密码:\); //看起来像数字而已,字符串 string s = Console.ReadLine(); if (s == \) { }

Console.ReadKey();

作业2:提示用户输入密码,如果密码是“888888”则提示正确,否则要求再输入 一次,如果密码是“888888”则提示正确,否则提示错误。 Console.WriteLine(\输入密码:\);

string s = Console.ReadLine(); if (s == \)

{ Console.WriteLine (\密码正确!\);} else {

Console.WriteLine(\重新输入密码:\);

s= Console .ReadLine (); //用现有变量s即可

//问题2:密码过长也报错 //问题3:字符无效

联系合同范文客服:xxxxx#qq.com(#替换为@)