c入门教程笔记
- 格式:docx
- 大小:130.78 KB
- 文档页数:32
六大表达式一、算术表达式(数学表达式)(1)运算符:数学:{} [] () + - * / + -C:()、+/-、* / %、+/-正负(2)单目、双目运算符单目:一个操作数 +5 -9双目:两个操作数 5+6 7*8(3)%:<1>双目运算符<2>操作数:两个数都是整型资料1%2<3>奇数: x%2!=0偶数: x%2==0整除: %(4)在算术运算中,如果运算符两端的类型都是整型数据,那么结果是整型资料1/2 0 5/3 1 8/9 0 9/8 1在算术运算中,如果运算符两端的类型不一致,向空间大的一方转化. 1/2.0 1.0/2.0 0.5 1.0/5 1.0/5.0 0.22 4(5)优先级:(6)结合性:(7)使用多层括号,一律使用小括号(8)强制性类型转化格式:(类型名)表达式注:1)类型名括号不能省2)不存在四舍五入2.赋值表达式(1)格式变量名=表达式(2)变数的实质:存储单元(3) =:赋值号==:等号优先级:只比逗号高结合性:自右向左(4)表达式:常量、变数、六大表达式(5)在赋值表达式中,赋值号的左端只能为变量名5+8=a b=a(6) int x=2,y=3;x=y:将变量y所代表的单元中的值取出来赋值给变量x所代表的单元中x=x+1:将变量x所代表的单元中的值取出来+1赋值给变量x代表的单元中x=x:左x: 代表x所标识的单元右x:将变量x所代表的单元中的值取出来单元=值(7)变量中的值在不断进行更新x=2x=3x=99(8)复合赋值表达式(算术和赋值) 1)运算符:*= /= %= += -=2)优先级:与”=“同级3)结合性:自右向左4)复合赋值有隐含小括号功能3.关系表达式(1)逻辑值平时 C 5678 -2真非0 1假 0 0(2)运算符> >= < <= == != (3)优先级> >= < <= == != (4)结合性自左向右(5)结果:逻辑值5<6 7>94.逻辑表达式(1)运算符!:(非补集)&&:(与交集)||:(或者并集)(2)!:单目运算&& ||:双目(3)优先级高到低:! && ||(4)结合性!:自右向左&& ||:自左向右(5)使用!0 1 !非0 0非0&&非0 1 1||1 1非0&&0 0 1||0 10&&非0 0 0||1 10&&0 0 0||0 0(6)结果:逻辑值(1,0)(7)数学表示方式|x|<=9 -9<=x<=9 x>=-9&&x<=9|x|>=9 x>=9或x<=-9 x>=9||x<=-9(8)断路问题<1> 在逻辑&&运算中,如果表达式1已经为逻辑假,表达式2不用执行,该表达式值为逻辑假<2>在逻辑||运算中,如果表达式1已经为逻辑真,表达式2不用执行,该表达式值为逻辑真5.条件表达式格式:表达式1?表达式2:表达式3(1)三目运算(2)运算过程:表达式1为真,执行表达式2表达式1为假,执行表达式36.逗号表达式(1)格式:表达式1,表达式2,表达式3,表达式4,……,表达式n (2)优先级:所有运算符中优先级最低(3)结合性:自左向右int a=8;a+=3,a=5,a+3; ?a 表达式的值?附:<1>++ 、--1>功能++:+1 自动赋值--: -1 自动赋值2>单目运算3>操作数可以放在运算符的右边也可以放在运算符的左边 i++ ++i i-- --i4>操作数可以为整型、实型的变量 2++ 2=2+1 错i++ i=i+1 ++i i=i+1i-- i=i-1 --i i=i-15>表达式值和变数值int i;表达式值变数值i=5 i++ 5 6i=5 ++i 6 6i=5 i-- 5 4i=5 --i 4 4只要给出式子的整体(i++,--i)则使用的是表达式的值;如果给出变量名,使用的是变量值int i=5;j=40/i++; j=40/6 66>-i++:-(i++) j=-i++; j=-5 i=6<2>所有运算符的优先级(六个表达式)高=》低() ++/-- !算术表达式关系表达式逻辑表达式条件表达式赋值表达式逗号表达式。
c程序设计基础知识点总结C程序设计是计算机科学中最基础的一门课程,它涵盖了许多重要的知识点和技能。
本文将对C程序设计的基础知识进行总结,以帮助读者掌握C语言的核心概念和编程技巧。
一、程序基础在开始学习C语言之前,我们需要了解一些基本的概念和术语。
首先是程序的基本结构,一个C程序由多个函数组成。
主函数(main)是程序的入口,它负责执行程序的主要逻辑。
其他函数可以被主函数调用,用来实现具体的功能。
二、变量和数据类型C语言中有多种基本数据类型,包括整型(int)、浮点型(float/double)、字符型(char)和布尔型(bool)。
我们可以定义变量来存储这些数据类型的值,并对其进行操作和处理。
变量在使用前需要先声明,并且可以赋初始值。
三、运算符和表达式在C语言中,有许多运算符可以用来操作变量和表达式。
比如加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)等。
我们可以使用这些运算符对变量进行算术运算、比较运算和逻辑运算。
四、条件语句和循环结构条件语句和循环结构是C程序设计中非常重要的控制结构。
条件语句(if-else语句)可以根据条件的真假选择不同的执行路径。
循环结构(for循环、while循环、do-while循环)可以重复执行一段代码,直到满足特定的条件为止。
五、数组和字符串数组是一种用来存储多个相同类型数据的结构。
在C语言中,我们可以使用数组来存储一系列的值,并对其进行遍历和操作。
字符串是由字符组成的数组,C语言提供了一组字符串操作函数,方便我们对字符串进行处理。
六、函数和指针函数是C程序设计中模块化编程的基础。
我们可以定义自己的函数,并在需要的时候调用它们。
函数可以接收参数并返回结果,可以提高代码的可读性和可维护性。
指针是C语言中的重要概念,它可以指向内存中的某个地址,并对地址中的数据进行读写操作。
七、文件操作C语言提供了一组文件操作函数,用来读写文件和处理文件流。
我们可以使用这些函数来打开和关闭文件,读取和写入文件内容,并进行文件的操作和管理。
c语言基础知识笔记
1、定义
函数是一组一起执行一个任务的语句,每个C程序都至少有一个函数,即主函数main(),所有简单的程序都可以定义其他额外的函数。
函数声明告诉编译器函数的名称、返回类型和参数,函数定义提供了函数的实际主体。
2、函数的一般形式
return_typefunction_name(parameterlist)
{bodyofthefunction}
组成部分:
1.返回类型
返回类型:一个函数可以返回一个值。
return_type是函数返回的值的数据类型,有些函数执行所需的操作而不返回值,在这种情况下,return_type是关键字void。
2.函数名称
函数名称:这是函数的实际名称。
函数名和参数列表一起构成了函数签名。
注意:函数名和参数列表一起构成了函数签名,意味着可以出现参数列表不同但是函数名相同的函数。
voidprint()
{printf("helloworld!");}
voidprint(intnums)
{printf("%d\n",a);}
3.参数
参数:参数就像是占位符,当函数被调用时,您向参数传递一个值,这个值被称为实际参数。
参数列表包括函数参数的类型、顺序、数量,参数是可选的,也就是说,函数可能不包含参数。
4.函数主体
函数主体:函数主体包含一组定义函数执行任务的语句。
C语言视频教程第一讲:(1-13)C语言概述一、为什么学习C语言1)C的起源和发展2)C的特点3)C的应用领域4)C的重要性二、怎样学习C语言三、学习目标四、常见问题答疑(1)学习JAVA为什么建议先学C语言(2)没学过计算机专业课程能够学懂C语言(3)英语和数学不好能学好C语言么?五、课程计划六、举例子:一元二次方程一、为什么学习C语言1)C的起源和发展(ppt)在第三代语言中,以1980年为分水岭,分为结构化和面向对象语言。
Fortran语言主要用于科学计算。
Basic语言是vb的前生,pascal语言一般是用于教学。
C语言是最重要的,其他的语言一般很少用了。
结构化的代表语言是c语言。
结构化语言的数据和操作是分离的,导致在写大项目的时候,会出现各种各样莫名其妙的问题。
在面向对象的语言中c++是最复杂的语言。
由于c++语言太复杂,sun公司对c++进行了改装,产生了java语言。
而c#是由微软开发的,和java相似,几乎一模一样。
在高级语言的执行速度上,c是最快的,c++其次,而java和c#是最后的。
Java和c#流行,主要的一个原因是可以跨平台。
C语言的发展和过程:2)C语言的特点:·优点:代码量小,速度快,功能强大。
金山公司最主要是靠wps办公软件来发展的。
Wps是c语言开发的,其安装包比Office少了10多倍。
三大操作系统:windows,unix,linuxWindows内核是c语言写的,而外壳是c++写的。
Java永远不可能写操作系统。
因为java运行速度太慢了。
而linux和unix都是纯c写的。
操作系统控制了硬件,如果说操作系统的运行速度慢,那么当我们在运行软件的时候,运行速度会更慢。
为什么使用c语言写操作系统呢,首先是因为c的运行速度快,然后是因为c可以直接控制硬件,而其他语言不可以。
没有指针的语言是不能直接访问硬件的。
·缺点:危险性高,开发周期长,可移植性弱。
数组笔记在程序设计中,把具有相同类型的若干变量按有序的形式组织起来。
这些按序排列的同类数据元素的集合称为数组。
在C语言中,数组属于构造数据类型。
一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
1.一维数组的定义和引用1.一维数组的定义方式在C语言中使用数组必须先进行定义。
一维数组的定义方式为:类型说明符数组名[常量表达式];其中:类型说明符是任一种基本数据类型或构造数据类型。
数组名是用户定义的数组标识符。
方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
例如:int a[10]; 说明整型数组a,有10 个元素。
float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。
char ch[20]; 说明字符数组ch有20 个元素。
对于数组类型说明应注意以下几点:1)数组的类型实际上是指数组元素的取值类型。
对于同一个数组,其所有元素的数据类型都是相同的。
2)数组名的书写规则应遵循标识符命名规则。
3)数组名不能与其它变量名相同。
例如:main(){int a; float a[10];……}是错误的。
4)方括号中常量表达式表示数组元素的个数,如a[5]表示数组a 有5 个元素。
但是其下标从0 开始计算。
因此5 个元素分别为a[0],a[1],a[2],a[3],a[4]。
5)常量表达式中可以包括常量和符号常量,不能用变量来表示元素的个数,也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。
例如:#define FD 5 main(){int a[3+2],b[7+FD];……}是合法的。
但是下述说明方式是错误的。
main(){int n=5; int a[n];……}6)允许在同一个类型说明中,说明多个数组和多个变量。
c语言重点笔记C语言重点笔记一、基础语法1.注释:用于解释代码,不会被编译器执行。
单行注释以“//”开头,多行注释用“/* */”包围。
2.变量:用于存储数据。
定义变量时需要指定类型和名称,如int num;赋值时使用等号,如num=10;也可以在定义时进行赋值,如int num=10;3.数据类型:C语言提供了基本的数据类型,包括整型、浮点型、字符型等。
4.运算符:C语言提供了各种运算符,包括算术运算符、关系运算符、逻辑运算符等。
5.控制语句:C语言提供了各种控制语句,包括条件语句、循环语句等。
二、函数1.函数定义:函数是一段可重复使用的代码块。
定义函数需要指定返回值类型、函数名和参数列表。
如int add(int a, int b) { return a + b; }2.函数调用:调用函数时需要使用函数名和参数列表,并根据返回值类型进行接收。
如int result = add(1, 2);3.递归函数:递归是一种特殊的函数调用方式,在函数内部调用自身。
需要注意避免死循环。
三、数组1.数组定义:数组是一组相同类型的数据。
定义数组时需要指定类型和长度,如int arr[5];2.数组初始化:可以在定义时进行初始化,如int arr[5] = {1, 2, 3, 4, 5};3.数组访问:使用下标访问数组元素,下标从0开始,如arr[0]表示数组的第一个元素。
4.多维数组:多维数组是由一维数组组成的。
二维数组可以看作是一个矩阵,定义时需要指定行数和列数。
四、指针1.指针定义:指针是一个变量,用于存储另一个变量的地址。
定义指针时需要指定类型和名称,如int *p;2.指针运算:可以对指针进行加减运算,表示移动指针位置。
3.指针与数组:可以使用指针访问数组元素,如int *p = arr; p[0]表示arr[0]。
4.空指针:空指针是没有被初始化的指针。
五、结构体1.结构体定义:结构体是一种自定义数据类型,可以包含多个不同类型的成员变量。
今天学习的第一句话:Console.WriteLine(“你想显示的内容。
”);第二句话:Console.ReadKey();当程序执行到Console.ReadKey();时,程序会停到这里,等待用户从键盘上键入一个键,用户键入这个键之后,程序才会继续执行。
在C#中,每一句话都必须以“分号”结束C#中的注释,什么是注释呢?对我程序进行的解释,注释是给人看的。
下面的一对指示可以折叠代码。
#region内容#endregionMSIL:微软中间语言Microsoft Inter mediate LanguageCLR:公共语言运行时Common Language RuntimeCLS公共语言规范Common Language SpecificationCTS:通用类型系统Common Type SystemJIT:即时编译器Just In Time第二天课程:复习--Console.WriteLine()可以用CW加Tab键。
这样就能直接打出Console.WriteLine();变量1:变量:变量代表着一块内存空间,我们可以通过变量名称向内存存\取数据。
有变量就不需要我们记忆复杂的内存地址。
向内存申请一块内存空间的语法:数据类型变量名;整数在我们C#中的数据类型叫intInt nuber;Double:小数Char:字符型只能存储一个字符,并且存储的这个字符要求用单引号引起来String 类型:字符串,就是把0个或1个或多个字符连接起来。
字符串要求用双引号引起来。
Decimal 类型:用来表示钱和货币,失精度不至于丢失。
注意:在C#开发环境中,直接写一个有小数点的数字,这个数字是double类型。
在一个小孩苏idan后面加个m\M,就告诉编译器这是个decimal类型应该写成:money = 100.34m;变量的命名规则:1.必须以“字母”_或@符号开头、2.后面可以跟任意“字母”,数字,下划线。
C 语言入门必须掌握的 75个知识点1、 C 语言中整数默认为 INT 型,两个整数相除(如 1/2结果仍然是整数,要得到带小数点的答案则要改成 1.0/22、在 C 语言中, “ =”是赋值运算符,表示把某个值赋给某个变量(X=0即把 0值赋给 X 变量; “ ==”是关系运算符,表示“等于” (X==0即 X 等于 0 ,在编写 C 程序时要注意区分。
3、 1个字节等于 8位二进制(某整形数据按照 2字节在内存中分配空间,即该数据对应的二进制形式是 16位二进制 ; 在 AS C Ⅱ码中,英文字母(不分大小写、英文标点占一个字节,中文汉字、中文标点占两个字节。
4、基本运算符的优先等级 ------(PS:手机无法显示部分符号“! ” than 算术运算符 (+/-/*than关系运算符 than 逻辑运算符 than 赋值运算符 (=;要想从 C 菜鸟变成 C 老手,一些基本的优先等级是必须知道的(C 运算符的优先等级详见附录 C5、关于 putchar 函数 ------putchar 函数即字符输出函数,表示向输出设备(显示器输出一个字符。
无论用户输作何种输入,函数都只会输出字符(putchar(65输出结果是“ A ” , putchar(… 65‟ 输出结果是“ 65” ; putchar 函数可以通过输出控制字符,让程序执行某种指令(putchar(… \n‟ 则程序会执行换行指令。
6、教材在介绍格式符的章节里有不准确的地方(见 P33 ------d 格式符、 s 格式符、 f 格式符的介绍里, “ m ”应是最少输出位数(书上的描述是“总位数” :%md, %ms, %mf,分别对应 ------输出最少 m 位整型数据, m 位字符串, m 位浮点数 , 位数不足时左补空格。
7、对于我们来说, C 语言不仅是一门必修课。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机,单片机的前景是很广阔的(有兴趣的同学可以向老师咨询或者上网了解 , 要设计出现代化的电子产品无疑要懂得用单片机。
结构体与共用体笔记定义结构体C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体(structre)。
在其他一些高级语言中称为“记录”.定义后的结构体类型和系统提供的标准类型(如int, char, float, double 等)具有相似的作用,都可以用来定义变量,只不过int等类型是系统已声明的,而结构体类型是由用户根据需要在程序中指定的。
定义一个结构体类型的一般形式为:struct 结构体名{ 成员表列};注意:1.结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student) ,结构体名是由用户指定的,又称“结构体标记”,以区别于其他结构体类型。
上面的结构体声明中Student就是结构体名(结构体标记)。
2.花括号内是该结构体所包括的子项,称为结构体的成员。
“成员表列"(member list)也称为“域表”(field list),成员表列由若干个成员组成,每一个成员是结构体中的一个域。
对每个成员也必须作类型说明,其形式为:类型说明符成员名;成员名的命名应符合标识符的书写规定。
例如:struct stu{int num;char name[20];char sex;float score;};3.一个结构体的成员可以属于另一个结构体类型(嵌套)。
例如:struct Date //声明一个结构体类型struct Date{ int month;//月int day;//日int year;//年}struct Student//声明一个结构体类型struct Student{ int num;char name[20];char sex;int age;struct Date birthday;//成员birthday属于struct Date 类型char addr[30];};结构体类型变量1.定义结构体类型变量说明结构变量有以下三种方法。
C语言最全入门笔记c语言入门C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。
C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。
C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。
hello,world#include<stdio.h>int main(){/*在双引号中间输入Hello World*/printf('Hello World');return 0;}注:在最新的C标准中,main函数前的类型为int而不是void c语言的具体结构简单来说,一个C程序就是由若干头文件和函数组成。
#include <stdio.h>就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。
•函数就是实现代码逻辑的一个小的单元。
必不可少之主函数一个C程序有且只有一个主函数,即main函数。
C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口。
•而main前面的int就是主函数的类型.•printf()是格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息•return是函数的返回值,根据函数类型的不同,返回的值也是不同的。
•\n是转义字符中的换行符。
(注意:C程序一定是从主函数开始执行的)良好习惯之规范1.一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行。
2.函数体内的语句要有明显缩进,通常以按一下Tab键为一个缩进。
3.括号要成对写,如果需要删除的话也要成对删除。
4.当一句可执行语句结束的时候末尾需要有分号。
5.代码中所有符号均为英文半角符号。
程序解释——注释注释是写给程序员看的,不是写给电脑看的。
C语言注释方法有两种:多行注释: /* 注释内容 */单行注释: //注释一行有名有姓的C(标识符)C语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。
第一次课(有课后哦)C#输出语句||类型的转换; E:\c#学习\作业\C#第一次课\258\作业和笔记\上机作业1.*.csclass 类文件单独打开不可运行*.csprojclassproject 项目文件打开只可以看到单个项目*.sln 解决方案文件打开就可以看到所有的项目*.suo 项目资源文件资源的路径保存在里面2.用于在程序中,保存数据的一个容器java:int,char,String,boolean,doubleC#:int,char,string,bool,doubledatetime1.组成:字母,下划线,数字2.开头:下划线或字母开头3.不能是关键字3.Console类:控制台类作用:用于控制台数据的输入和输出Console.Write("数据");向控制台输出数据--不换行输出Console.WriteLine("数据");向控制台输出数据--换行输出Console.WriteLine("格式化字符串",数据)//快捷键cw+两下tabConsole.WriteLine();3.从控制台中获取数据string变量=Console.ReadLine();数据类型转换有效的整数格式字符串->整数“123”Yes“123abc”Noint变量=int.Parse(字符串)doubled=double.Parse("有效的double类型字符串");第二次课(有课后哦)数组||循环;E:\c#学习\作业\C#第二次课循环断点switch结构java和C#的差别switchjava C#可有可无break break必须有数组的定义数据类型[]数组名称=new数据类型[长度]例:整型的保存10个数字的数组int[]arr=newint[10];//标准写法int[]arr=newint[]{1,2,3,4,5,6,7…};//快速初始化int[]arr={1,2,3,4,5,6,7…};//同上循环while循环次数不确定的时候使用for 循环次数确定的时候使用所有数据类型基于objectforeach:避免使用数组的下标循环遍历数组取值的时候使用foreach(varitemin数组名){//item是迭代变量不能赋值//var推算类型根据循环里面的数组的类型推算出来的。
}1)foreach循环遍历,求和,遍历字符串2)逆序输出数组(用for)3)数组拼接(用for)continue:结束本次循break:跳出循环嵌套循环------------------------------所有的数据类型都是基于object类型随机数Randomr=newRandom();intresult=r.Next(1,101);第三次课(有课后哦)转换类型||字符串;E:\c#学习\作业\C#第三课string常用方法类型转换1:隐式转换doublea=10; 小类型转大类型2:显示转换强制转换大类型转小类型inta=int.Parse("字符串");intb=(int)50.8;将单字符强转成整形得到的是这个字符的ASCII编码Parse():只能将字符串转变成对应的类型ToString():将任意类型转变成字符串类型强行转换convert.要转的数据类型(值);Convert:类型转换的一个类,通过它可以做任意基本类型的转换举例:输入年龄intage=int.Parse(Console.ReadLine());intage=Convert.ToInt32(Console.ReadLine());字符串常用方法1)字符串常用方法Length:获取字符串长度,比如密码6位数Equals:两个字符串是否相等,也可以用==Replace:Replace(旧值,新值)ToUpper和ToLower:大小写字母转换Substring(开始下标):从这个下标开始,一直到字符的末尾Substring(开始下标,长度):从这个下标开始,截取指定长度的字符串Trim():去掉两端空格TrimStart()和TrimEnd():去掉字符串中出现的第一个和最后一个空格。
不填参数表示去空格IndexOf:字符或者字符串的下标位置,找不到则返回-1 位置LastIndexOf:比如截取路径中的文件名,E:\课件\字符串常用方法.txt字符串中有转义字符\,可以在字符串前加@或者在转义字符前加上\Split():Join:将数组用某字符或字符串联接起来(与split相反) string.Join(分隔符,数组StartsWith:以...开头EndsWith:以...结尾2)验证邮箱是否正确(1)含有'@'和'.'(indexof)(2)'@'在'.'之前(3)以"com"结尾(EndsWith)3)验证IP是否合法4)字符串分割求和,比如"10086_9527_666_999"5)Format:格式化字符串,比如返回SQL插入语句第四次课窗口E:\c#学习\作业\c#第四次课窗体课一窗体:具有以下特征就是窗体特征:A:本地化B:具有一定的操作性--最大化,最小化,关闭等二窗体又叫UI(UserInterface用户界面)三学习窗体A.创建窗体:新建项目->选择C#->Windows窗体应用程序B.窗体的组成结构和细节1.窗体在VS中有三个文件组成:一个类分成了二个部分类(partial类)【设计】:提供程序开发者一种可视化的操作【代码】:后台逻辑代码(快捷键F7)【系统自带】:系统自动生成的代码*.designer结尾2为什么使用部分类(partial类):是微软为了让【系统生成】和我们【自己编写】的代码区分开来,提高可阅读性而设计的四窗体的特征(窗体由A属性B事件组成)A属性:通过属性改变窗体的外观1》name:命名2》text:标题值3》BackColor:背景颜色4》BackgroundImage:背景图片t his.BackgroundImage=Image.FromFile("@...");----------@用于转译this.BackgroundImageLayout=ImageLayout.Zoom;----------图片呈现方式5》WindowState:打开窗体的状态最大最小正常6》MaximizeBox:设置最大化7》MinimizeBox:设置最小化8》opacity:透明度9》StartPosition:窗体运行的最初位置10》ShowIntaskBar:是否在任务栏中显示11》CancelButton:按Esc键相当于按了取消按钮B事件:用来控制识别操作打开窗体--右击--属性---点击闪电---选中对应的事件--如按下确定按钮,选择某个单选按钮或者复选框。
每一种控件有自己可以识别的事件1》窗体加载事件(该事件只执行一次)---Load响应者:窗体本身发生:修改背景图片2》鼠标点击/单击click事件源:鼠标点击响应者:窗体发生:窗体标题发生改变“萌萌哒”3》鼠标移动--MouseMove事件源:鼠标移动响应者:窗体发生:窗体标题发生改变显示“鼠标坐标”objectsender发出事件的对象System.EventArgse对象中的数据如果是按钮button的话,那sender就是那个button,e是事件参数,在某些事件里,比如在MouseEventArgs的Mouse 事件中,可以看到e包括mouse的坐标值等,以供你的程序使用。
第五次课窗口消息框E:\c#学习\作业\C#第五次课基本控件C#Csharp面向对象的高级语言C#主要分三阶段第一阶段基础语法第二阶段基础控件第三阶段连接数据库应用程序winform/控制台应用程序||数据库(sql)Lable标签---文本提示namelbl_意义text文本值BackColor背景颜色Forecolor字体颜色Font字体TextBox文本框----提供给用户输入文本nametxt_意义text文本passwordchar密码字符MultiLine多行ScrollBars滚动条ComboBox下拉框namecmb_意义items集合添加集合cmb_意义.items.add("值");---逐个添加下拉框控件名.items.AddRange(数组名)事件SelectedIndexChange---下拉框索引值改变时发生的事件messageBox.Show(""):显示消息框消息框的四种格式MessageBox.Show("消息","标题",MessageBoxButtons.OKCancel,MessageBoxIcon.Error); MessageBoxIcon.Warning警告MessageBoxIcon.Stop停止MessageBoxIcon.Erro错误MessageBoxIcon.Question问题MessageBoxIcon.None无第六课基本控件E:\c#学习\作业\C#第六次课基本控件单选多选分组框一补充控件属性textBox:ReadOnly只读(默认false)ComboboxDropDownStyle--DropDownList只能从下拉框选(属性)二键盘按下的事件(例题中的计算器)//只能输入阿拉伯数字及.和backspaceKeypress事件privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse) {//sender事件源:textBox1//e数据获取用户输入的字符charc=e.KeyChar;if(c>='0'&&c<='9'||c==8||c=='.'){//8是backSpase的ascaII值e.Handled=false;//是否处理keypress事件里的值false不处理}else{e.Handled=true;}}三单选框控件RadioButtonname:rdb_意义text:文本值判断是否被选中单选框控件名.Checked判断单选框是否被选中if(rdb_nan.Checked==true){MessageBox.Show("性别为"+rdb_nan.text); }事件CheckedChanged四复选框CheckBoxname:ckb_意义text:文本值复选框控件名.Checkedif(ckb_意义.Checked==true){MessageBox.Show("爱好为"+ckb_意义.text);}五分组框GroupBoxname:grp_意义text:文本值PictureBox图片----显示图片name:pic_意义pic_意义.Image=Image.FromFile("路径");第七课窗口的基本按钮(时间控件)E:\c#学习\作业\C#07窗体基本控件3picture_timer获取当前时间pictureBox:图片控件name:pic_意义this.图片名.Image=Image.FromFile("路径");SizeMode:图片呈现方式AutoSize:原图大小CenterImage:居中Zoom等比例StretchImage拉伸pictureBox1.SizeMode=PictureBoxSizeMode.Zoomthis.图片名.Leftthis.图片名.topTimer(这个事件在最下方)Timer=可控的死循环事件方法Start()/Stop()---手动启动、停止Tick事件属性Interval时间间隔--默认100毫秒1秒=1000毫秒Enabledfalse/ture是否一运行就启动事件//1循环获取复选框的值foreach(ControlitemingroupBox1.Controls){//只获取checkBox控件里的text文本值if(itemisCheckBox){CheckBoxc=(CheckBox)item;if(c.Checked)//复选框被选中时{//获取值累加给ss+=c.Text;}}}MessageBox.Show("爱好是"+s);第八课图片的集合E:\c#学习\作业\ListBox ImageList控件:图片集合---只是用来放图片不显示图片显示ImageList图片:ImageList+pictureBoximages集合(在最下面)获取图片个数获取ImageList1中某个图片ImageList1.images[索引值];给控件赋值-------------------------------------打开文件对话框//1类的实例化OpenFileDialogofd=newOpenFileDialog();//多选属性ofd.Multiselect=true;//2打开对话框DialogResultdr=ofd.ShowDialog();//3对结果的判断if(dr==DialogResult.OK){//4把选中的文件名赋值给textBox1控件textBox1.Text=ofd.FileName;//单个文件--带路径//ofd.FileNames;多个文件--带路径//ofd.SafeFileName;--只是文件名}第九次课E:\c#学习\作业\C#11连接数据库1 窗体/控制台应用程序---UI、业务逻辑||---连接数据库SQL结构化查询语言---数据库非查询语-----增删改增insertinto表名(列名1,列名2,列名n)values(值1,值2,值n)删deletefrom表名where条件表达式修改update表名set列名=新值,列名=新值where条件表达式查询select*from表名where条件表达式C#中insertinto表名(列名1,列名2,列名n)values(‘{0}’,’{1}’,’{2}’)(挖坑了记得填哦)多表查询内连接select*from表1innerjoin表2on表1.公共字段=表2.公共字段左外连接select*from表1leftjoin表2on表1.公共字段=表2.公共字段※※※※※※※※非查询语句八大步骤天龙八部1引用命令控件Using2创建连接字符串String(变量名)strcon="server=.;database=数据库名;uid=sa;pwd=123"; 3创建连接对象SqlConnection(变量名)con=new SqlConnection(strcon);4打开连接对象con.Open();5编写SQL语句string(变量名)sql=string.Format(@"增删改的SQL语句"); 6创建命令对象SqlCommand(变量名)com=new SqlCommand(sql,con);7执行命令intn=com.ExecuteNonQuery();8关闭连接对象con.Close();注意两处报错的地方1con.Open();报错说明连接字符串错了2com.ExecuteNonQuery();报错说明SQL语句错了(名记)第十次课单值查询与单行查询单值查询:返回结果只有一行一列的情况查询语句是进行统计时Sum(),Count(),Avg(),Max(),Min()单行查询:返回的结果只有一行查询语句根据条件最多只能查询出一条数据时登录根据主键查询数据单值查询操作1.引用命名空间using//2.连接字符串stringconnStr="server=.;uid=sa;pwd=123;database=lol";//3.创建连接对象SqlConnectionconn=newSqlConnection(connStr);//4.打开连接conn.Open();//5.要做的事情--求总金额stringsql="selectsum(money)fromhero";//6.创建执行命令对象SqlCommandcmd=newSqlCommand(sql,conn);//7.执行命令decimalmoney=(decimal)cmd.ExecuteScalar();//8.关闭连接conn.Close();ExecuteScalar():不管查询的结果有多少,返回第一行第一列的数据返回类型是object,取值时需要类型转换Tobj=(T)cmd.ExecuteScalar();单行查询也是天龙八步7.执行命名不一样SqlDataReaderdr=cmd.ExecuteReader();//执行命令,返回一个读取数据对象SqlDataReader:数据读取对象1.可以一次读取一条数据2.读取数据时,需要保证道路的畅通3.只能向下读取数据dr.Read();//向下读取一条数据,返回bool类型的数据true:有数据false:没有数据从结果集中读取列的数据dr["列名"];//返回的是object类型的数据第十一课ListView控件_白道E:\c#学习\作业\C#13ListView控件_白道ListView控件---白道1.拖入控件ListView2.3.设置列的属性---columns(添加列)--text(修改列名)4.3.设置View---details4.5.网格线--GridLine--true6.7.5.整行被选中属性---FullRowSelect--true6.7.6.查询代码//创建连接字符串stringstrcon="server=.;database=c_258;uid=sa;pwd=123"; //创建连接对象SqlConnectioncon=newSqlConnection(strcon);//打开连接对象con.Open();//编写SQL语句stringsql=string.Format(@"selectID,name,tel,sex,bornfromdbo.father"); //建立命令对象SqlCommandcom=newSqlCommand(sql,con);//执行命令---dr读卡器SqlDataReaderdr=com.ExecuteReader();//判读是否有行if(dr.HasRows){//循环读取while(dr.Read()){//建立行的盒子-带上第一个列的值3·ID,name,tel,sex,born ListViewItemlvi=newListViewItem(dr["ID"].ToString().Trim());//把列的格子添加到行的盒子里第二列第三列第四列第五列//把行的盒子添加到大盒子(listview1控件)}con.Close();//读取数据完之后关闭连接对象}----------------------------------获取某行某列的值//获取第一行第二的值strings=listView1.SelectedItems[0].SubItems[1].Text.ToString();判断是否有选择的行if是否有选中的行{//获取选中的某行某列的值strings=listView1.SelectedItems[0].SubItems[1].Text.ToString();MessageBox.Show(s);}这个图的意思是点击listView中的内容,然后删除第十二课ListView删除和右击菜单E:\c#学习\作业\ListView删除和右击菜单ListView:白道FullRowSelect:整行选中Full:完整的Row:行Select:选择AllowColumnReorder:允许对列排序MultiSelect:允许多选判断白道是否选中了一行if(this.白道名.SelectedItems.Count==0){//没有选中一行数据//弹窗提示}获取白道选中行(单选)第0列的值this.白道名.SelectedItems[0].SubItems[0].Text 模糊查询like_:匹配一个字符%:匹配任意个字符右键菜单:ContextMenuStrip特别注意:右键菜单不能直接显示,必须绑定到某个控件(也就是设置某个控件的ContextMenuStrip属性)十三次课黑道E:\c#学习\作业\C#15黑道DateGridView DataGridView//整行选中dataGridView1.SelectionMode=DataGridViewSelectionMode.F ullRowSelect;//去掉末尾的行dataGridView1.AllowUserToAddRows=false;//去掉列dataGridView1.RowHeadersVisible=false;(以上三行代码可以在属性里设置)步骤1.拖入控件DataGridView2.设置列的个数--数据列的绑定3.设置属性三个属性dataGridView1.SelectionMode=DataGridViewSelectionMode.F ullRowSelect;//去掉末尾的行dataGridView1.AllowUserToAddRows=false;//去掉列dataGridView1.RowHeadersVisible=false;4写代码//2创建连接字符串stringstrcon="server=.;database=c_258;uid=sa;pwd=123"; //3创建连接对象SqlConnectioncon=newSqlConnection(strcon);//4打开连接对象con.Open();//5编写SQL语句stringsql=string.Format(@"select*fromdbo.father");//黑道查询---把数据库中数据一次性查询出来//适配器---大卡车(去哪里运什么货---) SqlDataAdapteradp=newSqlDataAdapter(sql,con);//临时仓库dataset数据集DataSetds=newDataSet();//把数据填充到临时仓库里adp.Fill(ds);//绑定数据源dataGridView1.DataSource=ds.Tables[0];这个图片的意思是把黑道里的某行某列的值赋值给文本框第十四课无间道组合框(也叫下拉框)ConboBox----无间道----多表数据中DataSet在usingSystem.Data;命名空间下※※※注意※※※//注意手动添加了列时---列的索引值从0开始+1获取第一行第一列的值dataGridView1.SelectedRows[0].Cells[1].Value.ToString() ;//未手动添加列时列的索引值从0开始获取第一行第一列的值dataGridView1.SelectedRows[0].Cells[0].Value.ToString() ;给控件赋值textBox1.Text=dataGridView1.SelectedRows[0].Cells[0].Va lue.ToString();无间道代码//1引用命名空间//2创建连接字符串stringstrcon="server=.;database=MyQQ;uid=sa;pwd=123"; //3创建连接对象SqlConnectioncon=newSqlConnection(strcon);//4开来连接对象con.Open();//5编写SQL语句stringsql=string.Format(@"selectId,BloodTypefromdbo.Blo odType");selectId,Starfromdbo.Star");//6建立大卡车SqlDataAdapteradp=newSqlDataAdapter(sql,con);//7建立临时大仓库DataSetds=newDataSet();adp.Fill(ds);//填充//8绑定数据源comboBox1.DataSource=ds.Tables[0];//9绑定显示值comboBox1.DisplayMember="BloodType";//10绑定隐藏值comboBox1.ValueMember="Id";//11关闭连接对象con.Open();-----------------------------获取隐藏值string隐藏=获取显示值string显示=comboBox1.Text;总结(八大步骤)八大步骤:(链接数据库)UsingString(变量名)strcon="server=.;database=数据库名;uid=sa;pwd=123";SqlConnection(变量名)con=new SqlConnection(strcon);con.Open();string(变量名)sql=string.Format(@"增删改的SQL语句");SqlCommand(变量名)com=new SqlCommand(sql,con);intn=com.ExecuteNonQuery();con.Close();(中文意思在图里)白道(前六步和数据库添加一样)Usingstringstrcon="server=.;database=c_258;uid=sa;pwd=123";SqlConnectioncon=newSqlConnection(strcon);con.Open();stringsql=string.Format(@"selectID,name,tel,sex,bornfromdbo.father");SqlCommandcom=newSqlCommand(sql,con);//执行命令---dr读卡器SqlDataReaderdr=com.ExecuteReader();//判读是否有行if(dr.HasRows){//循环读取while(dr.Read()){//建立行的盒子-带上第一个列的值3·ID,name,tel,sex,bornListViewItemlvi=newListViewItem(dr["ID"].ToString().Trim());//把列的格子添加到行的盒子里第二列第三列第四列第五列//把行的盒子添加到大盒子(listview1控件)}con.Close();//读取数据完之后关闭连接对象}(中文意思在图里)黑道(前五步和数据库添加相同)(黑道是九步)Usingstringstrcon="server=.;database=c_258;uid=sa;pwd=123"; SqlConnectioncon=newSqlConnection(strcon);con.Open();stringsql=string.Format(@"select*fromdbo.father"); SqlDataAdapteradp=newSqlDataAdapter(sql,con); DataSetds=newDataSet();adp.Fill(ds);dataGridView1.DataSource=ds.Tables[0];(中文意思在图里)无间道(前五步和数据库添加一样)(无间道至少11步)Usingstring strcon="server=.;database=MyQQ;uid=sa;pwd=123";SqlConnection con=new SqlConnection(strcon);con.Open();string sql=string.Format(@"selectId,BloodTypefromdbo.BloodType");SqlDataAdapteradp=newSqlDataAdapter(sql,con); DataSetds=newDataSet();adp.Fill(ds);下拉框.DataSource=ds.Tables[0];下拉框.DisplayMember="BloodType";下拉框.ValueMember="Id";(中文意思在图里)。