c入门教程笔记
C语言从入门到精通(吐血分享)
六大表达式一、算术表达式(数学表达式)(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语言之前,我们需要了解一些基本的概念和术语。
首先是程序的基本结构,一个C程序由多个函数组成。
主函数(main)是程序的入口,它负责执行程序的主要逻辑。
其他函数可以被主函数调用,用来实现具体的功能。
二、变量和数据类型C语言中有多种基本数据类型,包括整型(int)、浮点型(float/double)、字符型(char)和布尔型(bool)。
我们可以定义变量来存储这些数据类型的值,并对其进行操作和处理。
变量在使用前需要先声明,并且可以赋初始值。
三、运算符和表达式在C语言中,有许多运算符可以用来操作变量和表达式。
比如加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)等。
我们可以使用这些运算符对变量进行算术运算、比较运算和逻辑运算。
四、条件语句和循环结构条件语句和循环结构是C程序设计中非常重要的控制结构。
条件语句(if-else语句)可以根据条件的真假选择不同的执行路径。
循环结构(for循环、while循环、do-while循环)可以重复执行一段代码,直到满足特定的条件为止。
五、数组和字符串数组是一种用来存储多个相同类型数据的结构。
在C语言中,我们可以使用数组来存储一系列的值,并对其进行遍历和操作。
字符串是由字符组成的数组,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语言详细笔记(完整版)
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语言学习入门笔记之数组
数组笔记在程序设计中,把具有相同类型的若干变量按有序的形式组织起来。
这些按序排列的同类数据元素的集合称为数组。
在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语言重点笔记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.结构体定义:结构体是一种自定义数据类型,可以包含多个不同类型的成员变量。
(完整word版)传智播客C经典入门课堂笔记-苏坤
今天学习的第一句话: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个知识点
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语言学习入门笔记之结构体与共用体
结构体与共用体笔记定义结构体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语言也是其它众多高级语言的鼻祖语言,所以说学习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语言学习笔记(1)
VC++6.0学习笔记进入方法:1、建立一个工程文件——新建——(选择)工程——(选择)Win32 Console Application——位置(选择存贮的位置)——工程名称(要用字母、英文、或拼音都可以)——一路确定到完成2、建立一个文件文件——新建——(选择)文件——(选择)C++Source File——文件名(要用字母、英文、或拼音都可以)——确定一、一个简单的程序:#include <stdio.h>main(){printf("Hello everyone!!\n"); (\n表示换行)}注意:每写完一个程序必需先编译(快捷键是:ctrl+F7)然后再输出(快捷键是ctrl+F5)程序:连续执行的一条条指令的集合称为“程序”对于计算机来说,它不能识别由高级语言编写的程序,它只能接受和处理由0和1的代码构成的二进制指令或数据,由于这种形式的指令是面向机器的,因此也被称为“机器语言”所以所有的高级语言编写的程序都要经过编译,编译成二进制代码,这种具有翻译功能的软件称为编译程序。
1.1.2程序设计1、确定数据结构:就是数也数这间的关系列。
2、确定算法:3、编码:4、在计算机上调试程序:5、整理并写出文档资料:1.2算法定义:是指为了解决某个特定的问题而采取的确定且有限的步骤。
1、有穷性2、确定性3、可行性4、有零个或多个输入5、有一个或多个输出1.3结构化程序设计模快化结构结构化程序由三种基本的结构组成1、顺序结构2、选择结构3、循环结构(分为单性循环、直道循环)练习题:1、计算机能直接执行的程序是()A)源程序B)目标程序C)汇编程序D)可执行程序源程序:由高级语言编写的代码叫做源程序。
2、以下叙实中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用的数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整一个简单的程序#include <stdio.h>main(){double a,b,area;a=1.2,b=3.6; /*将矩形的两条边长分别赋给a和b变量*/area=a*b;printf("a=%f,b=%f,auea=%f\n",a,b,area);/*输出矩形的两条边长和面积*/}主意:C语言中一定要区分大小写字母。
c语言学习笔记
c语言学习笔记第一章基础一、函数是c语言的基本单位,一个程序有一个或多个函数组成,且必须包含main函数(有且只有一个)二、程序总是从main函数开始执行三、c语言的3种基本结构是顺序结构、选择结构、循环结构四、//表示单行注释五、/* */表示块注释第二章常量定义:其值不能被改变的量叫常量一、整形常量例如:100,十进制数100-16,十进制数-1607,八进制数7-036,八进制数-36,等价于十进制数-300x19,十六进制数19,等价于十进制数25-0x2f,十六进制数-2f,等价于十进制数-47二、实型常量例如:3.5,double型常量2e3,double型常量-2e-1,double型常量6. double型常量,等于6.0.3 double型常量,等于0.62.5f float型常量三、字符常量1、普通字符:用‘’单撇号括起来的一个字符,如‘a’,‘9’2、转义字符:以\开头的字符,如\n,换行\t,tab键\\,单斜杠\\61,61是八进制数,等于十进制数49,即字符‘1’\x62,62是十六进制数,等于十进制98,既字符‘b’四、字符串常量用“”双撇号括起来的若干字符例如:“abc”,“”,“a”五、符号常量用#define指令指定的常量例如:#define PI 3.1415827第三章变量一、必须先定义(声明),后使用二、必须是一个合法的标识符三、一个合法的标识符必须满足以下3个条件1、只由字母、数字、_(下划线)三种字符组成2、首字符不能是数字3、不能与c语言的保留字冲突,如void,int等都是保留字四、数据类型1、字符型:char 如‘a’,‘\101’,‘\x41’,‘\n’2、整型:short(短整型)如:2,3,-5int(整型)如:3,89,-7long(长整型)如3l,0L前面可以加修饰符signed(有符号的)或unsigned(五符号的)例如:signed int,有符号整形unsigned int,无符号整形3、实型:float:如3.4fdouble:如4.2,1e2五、不同类型间数据的混合运算1、+,-,*,\运算中,只要有一个为float或double,结果为double型2、int与float或double运算,int、float都转换为double3、char与int运算,char转换为int4、char与float或double运算,char转换为double六、常用ASCII码‘0’=30H=48 ,1到9依次+1类推‘a’=61H=97 ,b到z依次+1类推‘A’=41H=65 ,B到Z依次+1类推第四章运算符一、常用运算符1、算术:+,-,*,/,%2、关系:>,<,>=,<=,==,!=3、逻辑:!,&&,||4、赋值:=,+=,-=,*=,/=,%=5、逗号运算符:,说明:1、关系和逻辑运算的结果只有两个,要么为真,要么为假2、C语言中0表示假,非0表示真3、c语言中将真赋值给其他变量时,其值为1二、优先级1、算术>关系>逻辑>赋值>逗号2、!(非)优先于算术3、*,\,% 优先于+,-4、>,<,>=,<=, 优先于==,!=5、&& 优先于||6、同级别运算符一般都是自左向右结合例如:a*b/c*e,等价于((a*b)/c)*e7、赋值运算符是自右向左结合例如:a=b=c=1,等价于a=(b=(c=1))三、自增(++),自减(--)1、i++,++i独立使用时没有区别,都等价于i=i+12、i--,--i独立使用时没有区别,都等价于i=i-13、i++,++i在其他语句中使用时是有区别的,i++,先使用i,再i=i+1例如:y=x++;等价于y=x;x=x+1;++i,先i=i+1,再使用i例如:y=++x;等价于x=x+1;y=x;4、i--,--i的区别等同i++,++i5、特殊情况1:0 && i++语句中,i++永运不执行6、特殊情况2:0 && ++i语句中,++i运不执行7、特殊情况3:1|| i++语句中,i++永运不执行8、特殊情况4:1|| ++i句中,++i运不执行9、特殊情况5:a++,b++,a+b语句中,先执行a=a+1,再执行b=b+1,最后a+b四、赋值1、+=,-=,*=,/=等复合赋值语句的优先级等同于=2、a+=3+4等价于a+=(3+4)3、a=b=c=4;等价于b=c;a=b;五,逗号运算符1、运算方向是自左向右例如:a++,b++,a+b等价于a++;b++;a+b;2、逗号表达式的结果为最后一个表达式的值例如:执行x=(3,4,5,6);后x=6第五章语句一、表达式:通过各种运算符将常量或变量连起来的式子就是表达式二、表达式后加;分号,构成语句三、空语句,只有一个;分号的语句四、复合语句,{。
C语言笔记
第一章C语言基本规则(1)c程序是由函数构成,函数是c程序的基本单位,一个c程序有且仅有一个main函数,也可以包含一个main函数和若干其他子函数。
(2)c程序都是从main函数开始执行的,不论main函数在争端整段代码中的位置如何。
第二章C语言的数据类型2.1基础知识2.1.1符号常量#define PRICE 30宏定义#define 定义PRICE为30,用特定标识符表示一个常量就称为符号常量。
这样的好处:意思明确;修改方便。
符号常量一般用大写字母表示,变量通常用小写字母表示。
2.1.2变量C语言规定,标识符只能由数字字母下划线表示,第一个不能为数字。
为了程序的可移植性,变量名不要超过8个字符,并且要用有意义的字符表示,不要用abc等单个字母作为变量。
2.1.3整型数据1、0开头是八进制,0x开头是十六进制。
2、求负数补码的方法:负数绝对值按位取反加1。
3、有三种类型:int 、short int 、long int。
short int一般是16位,long int一般是32位,int 16位或者32位。
默认为有符号整数,无符号整数位unsigned int ,正数范围是有符号的2倍。
4、整型常量是字符型数据,如果要变成无符号需在后面加u或U,eg,5u/5U。
2.1.4浮点型数据1、三种类型:float、double 、long double(使用较少)。
2、在使用不用类型数据做运算时,要注意是否丢失数据,应避免一个很大的数和一个很小的数做运算。
3、一个浮点型变量float只能保证的有效数值是7位2.1.5字符型数据1、用char表示,只占一个字节,字符型变量内存储的实际是字符的ASCII码,是一个数字,可以输出字符,也可以输出数字。
有些系统char类型是无符号的,有些是有符号的。
2.1.6字符串常量1、字符串结尾加结束标志符\0,字符串”CHINA”实际有六个字符为”CHINA\0”。
《C语言程序设计》知识点总结
《C语言程序设计》知识点总结《C语言程序设计》是一门基础性的计算机科学课程,它不仅是计算机专业的入门课程,也是其他工科专业学生必修的课程之一、C语言是一种面向过程的编程语言,具有简洁、高效、灵活和强大的特点,被广泛应用于软件开发、系统设计、嵌入式系统等领域。
以下是《C语言程序设计》的一些重要知识点总结。
1. 基本语法:C语言的基本语法包括关键字、标识符、数据类型、常量、变量、运算符、表达式和语句等。
关键字是编程语言中具有特殊含义的单词,如if、for、int等。
标识符是程序员自己定义的词,用于表示变量、函数、数组等。
数据类型包括基本数据类型(int、char、float 等)和派生数据类型(数组、结构体、联合体等)。
2. 控制语句:C语言提供了一些控制语句,用于控制程序的执行流程。
常见的控制语句包括条件语句(if语句、switch语句)、循环语句(for循环、while循环、do-while循环)和跳转语句(break语句、continue语句、return语句)。
3.函数:函数是C语言中的一个重要概念,它是一段封装了一定功能的代码块,可以通过函数来组织程序结构、提高代码的复用性和可维护性。
函数包括函数声明和函数定义两个部分,其中函数声明用于告诉编译器函数的返回类型、函数名和参数列表,函数定义则是具体实现函数功能的地方。
4.数组:数组是一种数据结构,它可以存储多个相同类型的元素。
数组的声明和初始化形式有多种,可以通过下标来访问数组元素。
C语言不提供对数组越界的检查,所以在使用数组时要特别注意避免越界访问。
5.指针:指针是C语言中的一种特殊数据类型,用于存储内存地址。
指针可以指向任意类型的数据,通过指针可以间接地访问和修改内存中的数据。
指针的操作包括取地址运算符(&)、取值运算符(*)和指针运算符(+、-、++、--等)。
6.结构体:结构体是一种自定义的数据类型,用于将多个不同类型的数据组合在一起。
C语言学习入门笔记之函数
函数笔记1.为什么要用函数函数就是功能。
每一个函数用来实现一个特定的功能。
函数的名字应反映其代表的功能。
1.一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。
对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源文件中,由若干个源程序文件组成一个C程序。
这样便于分别编写和编译,提高调试效率。
一个源程序文件可以为多个C程序共用。
2.一个源程序文件由一个或多个函数以及其他有关内容(如指令、数据声明与定义等)组成。
一个源程序文件是一个编译单位,在程序编译时是以源程序文件为单位进行编译的.而不是以函数为单位进行编译的。
3.C程序的执行是从main函数开始的.如果在main函数中调用其他函数,在调用后流程返回到main函数,在main函数中结束整个程序的运行。
4.所有函数都是平行的.即在定义函数时是分别进行的,是互相独立的。
一个函数并不从属于另一个函数,即函数不能嵌套定义。
函数间可以互相调用,但不能调用main函数。
main 函数是被操作系统调用的。
5.函数的分类:从用户使用的角度看,函数有两种。
①库函数,它是由系统提供的,用户不必自己定义,可直接使用它们。
②用户自己定义的函数。
它是用以解决用户专门需要的函数。
从函数的形式看,函数分两类。
①无参函数。
在调用无参函数时,主调函数不向被调用函数传递数据。
无参函数一般用来执行指定的一组操作。
无参函数可以带回或不带回函教值.但一般以不带回函数值的居多。
②有参函数。
在调用函数时,主调函数在调用被调用函数时,通过参数向被调用函数传递数据。
一般情况下,执行被调用函数时会(返回)得到一个函数值,供主调函数使用。
此时有参函数应定义为与返回值相同的类型。
2.怎样定义函数1.为什么要定义函数C语言要求在程序中用到的所有函数,必须“先定义,后使用”。
定义函数应包括以下几个内容:(1) 指定函数的名字,以便以后按名调用。
(2) 指定函数的类型,即函数返回值的类型。
c语言指针基础篇自学笔记1
c语言指针基础篇自学笔记1
指针(pointer)是C语言中的一种特殊数据类型,它存储的是一个指向另一个变量的地址。
指针变量是一个存储地址的变量,而不是存储值的变量。
指针变量的定义方式为:数据类型 *指针变量名;
例如:int *p;
其中,int是数据类型,*表示指针变量,p是指针变量名。
2.如何使用指针
指针的主要作用是通过地址访问变量的值。
通过指针,可以实现函数间的变量共享和动态内存分配。
使用指针的步骤如下:
1)声明指针变量;
2)将变量的地址赋给指针变量;
3)通过指针变量访问变量的值。
3.指针与数组
指针和数组在C语言中是密不可分的。
在使用数组时,可以使用指针来访问数组元素。
例如:int scores[5] = {80, 90, 85, 75, 95};
int *p = scores;
其中,p指向scores数组的第一个元素80,可以通过p访问数组的所有元素。
4.指针和函数
指针和函数结合使用能够实现函数间的变量共享。
在函数中,可
以通过指针修改函数外部的变量的值。
例如:void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
在调用swap函数时,传递的是变量的地址,函数内部通过指针修改变量的值。
5.指针的高级应用
指针有许多高级应用,例如指针的指针、指针的数组、动态内存分配等。
学习这些高级应用需要更深入的C语言知识和经验。
以上是C语言指针基础篇自学笔记1的内容,希望对初学者有所帮助。
专升本 c语言笔记
专升本 c语言笔记
以下是一些专升本C语言学习笔记:
1. C语言概述:了解C语言的起源、特点和基本语法,如数据类型、运算符、控制结构等。
2. 数据类型:包括整型、浮点型、字符型等,了解不同数据类型的取值范围和表示方法。
3. 运算符:掌握算术运算符、关系运算符、逻辑运算符等的用法,理解优先级和结合性。
4. 流程控制:掌握顺序、选择和循环结构,如if语句、switch语句、while 语句和for语句等。
5. 函数:理解函数的概念和作用,掌握函数的定义、声明和调用,理解函数的返回值和参数传递方式。
6. 数组:了解一维和多维数组的概念和用法,理解数组的初始化和访问方式。
7. 指针:理解指针的概念和作用,掌握指针的声明、初始化和使用方法,理解指针与数组的关系。
8. 结构体:理解结构体的概念和作用,掌握结构体的定义、初始化和使用方法,理解结构体与指针的关系。
9. 文件操作:了解文件的概念和作用,掌握文件的打开、读写和关闭方法。
10. 常见错误分析:了解常见的C语言错误类型和解决方法,如语法错误、逻辑错误等。
以上是专升本C语言学习笔记的简要概述,具体的笔记内容需要根据个人学习情况和教材内容进行整理和完善。
c程序设计第三版笔记
c程序设计第三版笔记C程序设计第三版笔记C语言是一种广泛使用的计算机编程语言,以其高效性、灵活性和强大的功能而闻名。
《C程序设计》第三版是一本经典的C语言教材,由Brian W. Kernighan和Dennis M. Ritchie共同编写,后者也是C语言的共同创造者。
以下是根据该教材整理的一些关键笔记。
第1章:C语言简介- C语言的特点:简洁、结构化、高效。
- 程序的基本结构:预处理器指令、函数、变量声明、语句和表达式。
- 基本数据类型:整型(int)、字符型(char)、浮点型(float)和双精度型(double)。
第2章:数据类型、运算符和表达式- 变量声明:类型说明符和变量名。
- 常量:整数常量、浮点常量、字符常量和字符串常量。
- 运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符。
- 表达式求值:优先级和结合性。
第3章:控制语句- 条件语句:if、if...else、switch。
- 循环语句:while、do...while、for。
- 跳转语句:break、continue、goto、return。
第4章:函数- 函数定义:返回类型、函数名、参数列表、函数体。
- 函数调用:参数传递、返回值。
- 作用域规则:局部变量、全局变量。
- 递归函数:递归调用和基础情况。
第5章:指针- 指针变量:声明和初始化。
- 指针与数组:数组名作为指针使用。
- 指针与函数:指针作为参数、返回指针的函数。
- 指针的指针和动态内存分配。
第6章:结构体和其他数据类型- 结构体:定义、初始化、访问成员。
- 联合体:内存共享特性。
- 枚举类型:定义和使用。
- 位字段:存储位模式。
第7章:预处理器- 宏定义:#define和#undef。
- 文件包含:#include。
- 条件编译:#ifdef、#ifndef、#endif。
第8章:输入和输出- 标准库函数:printf、scanf。
- 格式化输出:格式说明符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一次课(有课后哦)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";(中文意思在图里)。