C++课堂整理--第一章内容

提前声明:

本文内容为华北水利水电大学研究生C++课程,如有 侵权请告知,作者会予以删除

1.C++特点

1.历史悠久。2.应用广泛。3.兼容c。4.面向对象。5.适合编写系统程序。6.有助于理解计算机的工作过程,深入理解计算机的原理和概念

2.各种开发语言的优缺点 

编程语言

优点

缺点

移植性

C

编写小而快的程序, 程序运行效率非常高;很容易与汇编语言结合;具有很高的标准化。

不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。

C语言的核心具有很好移植性

C++

组织大型程序时比C语言好。支持面向对象机制。运行效率高。

非常大而复杂。与C语言一样存在语法滥用问题。

比较好

汇编语言

最小、最快的语言。

难学、语法晦涩。额外代码太多。

接近零

VB

编辑环境整洁。易学。拥有大量可用的插件。

程序很大,而且运行时需要几个巨大的运行时动态连接库。调用WindowsAPI非常笨拙。

非常差

JAVA

可移植到其他平台。程序可以在网页中运行。内含的类库非常标准且极其健壮。自动分配和垃圾回收避免程序中资源泄漏。

使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。

最好。但,很多新功能在某些平台上不稳定。

C#

简化和现代化了C++在类、名字空间、方法重载和异常处理等领域。屏弃了C++的复杂性。

C#编写的程序必须运行在.NET平台

 3.举例子:输入圆的半径,求圆的周长和面积

3.1一般方法

/* 注释方法一 
this is a simple programcount the girth and area of circle */
// 注释方法二   count the girth and area of circle
#include<iostream>//预编译指令 
using namespace std ;//使用标准命名空间
int main ()//函数头;int 函数返回值类型;main  主函数名,系统预定义;参数表(没有参数不能省略圆括号){ double r, girth, area ; 		const double PI = 3.1415 ;cout << "Please input radius:\n" ;cin >> r ; girth = 2 * PI * r ; area = PI * r * r ;cout << "radius = " << r << endl ; cout << "girth = " << girth << endl ;cout << "area = " << area << endl ;
}
/*函数体:{}花括号相括的语句序列各语句以分号结束(大家经常会忘记的) 一行可以写多个语句一个语句可以分多行书写*/
/*
函数是程序基本运行单位,一般形式为:
类型  函数名  ( 参数表 )
{语句序列 
} 
*/ 

运行结果

 3.2面向对象(代码与课堂内容不同,有些许改动)

//利用面向对象的思想进行计算圆的周长和面积 
#include<iostream>
using namespace std ;
class Circle
{  double radius ;public ://定义类的类的公有成员 void Set_Radius( double r ) { radius = r ; }double Get_Radius()  { return  radius ; }double Get_Girth()     { return  2 * 3.14f * radius ; }double Get_Area()     { return  3.14f * radius * radius ; }
} ;
int main()
{double r; //定义半径变量 cout << "Please input radius:\n" ;cin >> r ;  //输入圆的半径 Circle A;//实例化圆的对象 A.Set_Radius(r) ;//调用类中公有成员方法进行圆的半径设置 ; 通过对象调用类的成员函数cout << "A.Radius = " << A.Get_Radius() << endl ;cout << "A.Girth = " << A.Get_Girth() << endl ;cout << "A.Area = " << A.Get_Area() << endl ;
}

运行结果如下

 4.关键词(保留字)

关键字是系统预定义的单词。C++不允许对关键字重定义。

C++常用的关键字:

auto    break    case    char    class    const    continue    default    delete    else

enum    explicit    extern    float    for    friend    goto    if    inline    int    long

new    operator   private    protected    public    register    return    short    signed

sizeof    static    struct    switch    this    typedef    union    unsigned    virtual   

void    while

5.标识符 

语法:以字母或下划线开始,由字母、数字和下划线组成的符号串

注意:1.不能使用关键字作用户标识符;2.C++中,字母大小写敏感;(Name与name不同)3.C++没有规定标识符的长度,不同编译系统有不同的识别长度;4.标识符尽可能做到见文知义。

6.运算符

+  加    -  减   *  乘    /  除  >  大于 <  小于  >=  大于或等于  ==  等于  != 不等于   <=  小于或等于

7分隔符

用于在程序分隔不同的语法单位,便于编译系统的识别;常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等

8.常数

基本类型常数在程序运行时直接参与运算,不占用内存存储

9.数据类型

 9.1常用数据类型描述

1字节=8bit 

9.1.1整型

9.1.1.1int 

类型

说明

字节

范围

short [int]

短整型

2

-3276832767

signed short [int]

有符号短整型

2

-3276832767

unsigned short [int]

无符号短整型

2

065535

int

整型

4

-21474836482147483647

signed [int]

有符号整型

4

-21474836482147483647

unsigned [int]

无符号整型

4

04294967295

long [int]

长整型

4

-21474836482147483647

signed long [int]

有符号长整型

4

-21474836482147483647

unsigned long [int]

无符号长整型

4

04294967295

十进制 -45L    八进制 045 十六进制 0xA1e=10×162+ 1×161+14×160 = 2590

9.1.1.2 bool

逻辑类型只有两个值:true   false

9.1.1.3 enum

枚举类型

示例:

#include <iostream>
using namespace std;
//colour类型标识符 {}枚举常量 
enum colour{ red, yellow, blue, white, black };
int main()
{ colour c;//枚举类型变量 c=red;cout<<"red: "<<c<<endl;c=blue;cout<<"blue: "<<c<<endl;c=black;cout<<"black: "<<c<<endl;
}

运行结果

 9.1.2浮点型

 float  4 字节  单精度浮点型 

double  8 字节  双精度浮点型

long double   8 字节  长双精度浮点型

科学计数方式:1.23E10=1.23×1010  0.23E-4=0.23×10-4 0.23E-4f=0.23×10-4  ( 单精度 )

45.e+23L=45.0×1023 ( 双精度 )

9.1.3字符型

char 空格符" ";空字符”“;

C++常用转义字符

名称

字符形式

空字符(Null)

\0

0X00

换行(NewLine)

\n

0X0A

换页(FormFeed)

\f

 0X0C

回车(Carriage Return)

\r

 0X0D

退格(BackSpasc)

               \b

 0X08

响铃(Bell)

               \a

 0X07

水平制表(Horizontal Tab)

\t

 0X09

垂直制表(Vertical Tab)

\v

 0X0B

反斜杠(backslash)

\\

 0X5C

问号(question mark )

\?

 0X3F

单引号(single quote)

 \′

 0X27

双引号(double quote)

 \〞

 0X22

10变量

既能读又能写的内存对象,称为变量;int x;int y=0;(赋初始值)
若一旦初始化后不能修改的对象则称为常量。
程序中使用内存单元存放数据。程序可以对存储单元以标识符命名
内存单元由操作系统按字节编号,称为地址
一个对象占有内存的第一个字节的地址称为对象的地址
可以通过对象名或地址访问对象

11地址访问

1.程序被编译后,系统对已声明对象保存一张名表,登记对象的属性< 名字,类型,地址 >

2.double  b ;< b, double, 0X0066FDEC >名字b所标识的浮点型对象;地址0X0066FDEC所指的浮点型对象

&为取址运算符 *间址运算符

取对象b的地址:  &b;访问对象b  b     *(&b)

例子:

#include<iostream>
using namespace std ;
int main()
{ int a = 451 ;const int MAX = 1000 ;//const常量 cout << a << endl ;	cout << ( &a ) << endl ;cout << *( &a ) << endl ;cout << &MAX << endl ;cout << MAX << endl ;cout << * ( &MAX ) << endl ;
} 

12.程序存储

地址是存放信息数据的内存单元编号(编码)
C++程序通过名字(变量或函数名)来使用内存
变量的地址:用取地址运算符&来获取
数组的地址:用数组名来表示
函数的地址:用函数名来表示

13.指针变量

指针类型变量——能够存放对象地址的变量,简称“指针变量”

指针变量也分为不同的类型

int  *p1 , *p2 (*代表指针类型说明);与 int a,b;差不多 a=*p1+*p2(*代表间址运算(指针运算))

例子

# include <iostream>
using namespace std ;
int  main ( )
{ int   i ,  * p ;p = & i ;* p = 5 ;cout << i << endl ;cout << * p << endl ;cout << p << endl ;cout << & i << endl ;
}

 

 

 13.1指向指针的指针

#include<iostream>
using namespace std ;
int main()
{ int ****p4, ***p3, **p2, *p1, i = 3 ;p4 = &p3;  p3 = &p2;  p2 = &p1;  p1=&i;cout << ****p4 << endl ;
}

13.2指针类型转换

示例

#include<iostream>
using namespace std ;
int main()
{ int a = 65 ;int * ip ;void * vp = &a ;//void 指针变量能够存放任意内存地址。cout << * ( int * ) vp << endl ;//强制类型转换cout << * ( char * ) vp << endl ;ip = ( int * ) vp ;cout << ( * ip ) << endl ;
}

14引用

int &ra=a;ra是a的别名只能在定义时初始化

示例

#include<iostream>
using namespace std ;
int main ()
{ int a = 2345 ;int *pa ;int & ra = a ;pa = & a ;cout << a << '\t' << ra << '\t' << *pa << endl ;cout << (&a) << '\t' << ( & ra ) << '\t' << pa << endl ;cout << ( &pa ) << endl ;
}

 

 15常量

15.1常量指针

关键字 const 约束对象的访问性质,使对象值只能读,不能写

指针常量的值只能在定义的时候初始化

指针本身和所指对象的值在定义之后都限制为只读

例如:const double PI = 3.14159 ;

#include<iostream>
using namespace std ;
int  main ()
{  const  int  A = 78 ;const  int  B = 25 ;int  C = 13 ;//---------const在数据类型前-------------------- const  int  *pi = &A ;//*pi = 56 ;// 错误, 不能修改所指常量。此时*pi指向的是常量A。 pi = &B ;pi = &C ;// *pi = 99 ;// 错误,不能用间址方式修改对象。此时的常量指向的是变量C。 C = 99 ;cout << " *pi = " << *pi << endl ;//总结 const  int这样定义的指针不能修改内容,但能修改所指的位置 cout << "----------------------------------------" << endl ;//------------const在*之后 ----------------------int  *const D = &C ,  *p ;//此处的*p没有被常量化 *D = 1000 ;     //此时D指针指向的是C变量 cout << "*D = " << *D << endl ;p = new  int ;//自己开辟一个新的整数空间  *p = 2000 ;// D = p ;	//错误 , 不能对地址进行修改 p = D ;cout <<" *p = " << *p << endl ;//总结 int *const 这样定义的指针能修改内容,但不能能修改所指的位置 cout << "----------------------------------------" << endl ;//----------const在数据类型前和在*之后 ------------const  int  * const  E = &C ;// *E = 1000 ;//错误,间址访问为只读// E = &C ;//错误,不能修改指针常量C = 1000 ;cout << " E = " << *E << endl ;const  int  * const  F = &A ;//F = &C ;// *F = 0 ;cout << "F= " << *F << endl ;//总结 int *const 这样定义的指针不能修改内容,但不能能修改所指的位置 cout << "----------------------------------------" << endl ;
}

 15.2常量引用

#include<iostream>
using namespace std ;
int  main ()
{  
int a=314;
const int & ra=a;	//ra是a的常引用
//ra=618;	//错误,不能通过常引用对对象a执行写操作
a=618; 
}

16表达式

表达式可以分为:算术表达式、逻辑表达式、赋值表达式、条件表达式、逗号表达式

算术运算符

+    -    *    / (截取整数部分)%(求余数)    ++    --

关系运算符

>    <    ==    >=    <=    !=

逻辑运算符

!    &&    ||

位运算符

<<    >>    ~    |    ^    &

赋值运算符

=   及扩展的复合运算符

条件运算符

?  :

逗号运算符

指针运算符

*    &

求字节运算符

sizeof

强制类型转换符

类型

分量运算符

.    ->

下标运算符

[]

其他

()    ::    new    delete

优先级

运算符

1

( )    [ ]    ->    : :

2

!   ~   +   -   ++   --   &   *    类型    sizeof  new   delete   .    ->    *

3

*    /    %

4

+    -

5

<<    >>

6

<    <=    >=    >

7

8

==    !=

9

&

10

^

11

|

12

&&

13

||

14

? :

15

=    *=    /=    +=    -=    |=    <<=    >>=

16

,

16.1自增和自减

自增、自减算符的运算对象只能是整型变量,不能为常量或表达式;

前缀式(先增值后引用 )   x = ++ i           相当于  i = i + 1 ;    x = i ;

 后缀式(先引用后增值)   x = i ++           相当于  x = i ;     i = i + 1 ;   

示例

#include<iostream>
using namespace std ;
int  main ()
{  int  a = 3 ;int  b = ++ a ;		// 相当于 a = a +1 ;  b = a ;//a=4int  c = a ++ ;		// 相当于 c = a ;  a = a + 1; //4=5 b = a -- ;		// 相当于 b = a ;  a = a - 1 ;//a=4cout << "a=" << a << '\t' << "b=" << b << endl ;c = -- a ;			// 相当于 a = a - 1;  c = a ;//a=3cout << "a=" << a << '\t' << "c=" << c << endl ;//++ ( a ++ ) ;		// 错 (a++)不是变量名c = a + + b;		// 错 a++ 无法对 b 操作//a=4cout << "a=" << a << '\t' << "b=" << b << '\t' << "c=" << c<< endl ;c = a ++ + b;		// 相当于 c = a + b;  a = a + 1;//a=5cout << "a=" << a << '\t' << "b=" << b << '\t' << "c=" << c<< endl ;c = a + + + + b;		// (a++) ++b 错cout << "a=" << a << '\t' << "b=" << b << '\t' << "c=" << c<< endl ;
}

 16.2类型转换

强制类型转换

int ( x + y )        ( char ) 70       ( double ) ( 2 / 4 )

 16.3关系运算符

1.说明数学含义 x在区间[a, b] 的数学表达式  a ≤ x ≤ b, 不能使用    a <= x <= b 表示,应该使用  a <= x && x <= b 表示

2.字符数据按ASCⅡ码值进行比较 'A' > 100  值为 0 (false

16.4逻辑运算

 16.5赋值表达式

1.  x = y = z + 2 ;先计算z+2,然后将z+2赋值给y,最后将y赋值给x

2.  A = A  op  B 可以缩写成  A  op =  B

16.6条件表达式

E1 E2 : E3 (E1为真,表达式的值为E2,否则为E3

把字母转换成小写:   ch = ( ch > = 'A' && ch < = 'Z') ? ( ch + 32 ) : ch

16.7运算符优先级

单目运算符   

乘除运算

加减运算

关系运算

逻辑与

逻辑或

赋值

逗号

i +1 < j * 4 && ! P || Q  等价于  :    ( ( ( i +1 ) < ( j * 4 ) ) && ( ! P ) ) || Q

P != i < j || Q && S  等价于  ( P != ( i < j ) ) || ( Q && S )    注意逻辑与和逻辑或的优先级

17数据输入与输出

1.cin cout 是流库预定义的两个标准对象,分别连接键盘和屏幕

17.1常用的输出格式控制符

控制符

功能

endl

输出一个新行符,并清空流

ends

输出一个空格符,并清空流

dec

用十进制表示法输入或输出数值

hex

用十六进制表示法输入或输出数值

oct

用八进制表示法输入或输出数值

setfill ( char c )

设置填充符c

setprecision ( int n )

设置浮点数输出精度(包括小数点)

setw ( int n )

设置输出宽度

示例

#include<iostream>
#include<iomanip>		//包含格式输出文件
using namespace std ;
int main()
{ int a,b,s;			//说明数据cout.setf(ios::showbase);		//要求输出显示基数符a=01137;  b=023362;  s=a+b;	//计算两个八进制数的和cout<<"八进制   ";cout<<oct<<a<<"+"<<b<<"="<<s<<endl;//以八进制显示结果a=239;  b=5618;  s=a+b;		//计算两个十进制数的和cout<<"十进制   ";			//以十进制显示结果cout<<dec<<a<<"+"<<b<<"="<<s<<endl;a=0x1a3e;  b=0x4bf;  s=a+b;	//计算两个十六进制数的和cout<<"十六进制 ";cout<<hex<<a<<"+"<<b<<"="<<s<<endl; //十六进制显示结果
}	

 18小结

1.程序主要功能是描述数据和处理数据。
2.数据表现为常量和变量。所有的常量、变量都属于某种数据类型。类型决定了数据的操作方式。
3.对数据的读写通过内存访问实现。C++提供名访问和地址访问方式。可以通过指针变量间址访问4.所指对象。
5.引用是对象的别名。用引用访问对象与名访问方式一样。
6.关键字const用于约束对象为只读。
7.运算符表示了系统提供对基本数据的操作。表达式是由常量、变量和运算符连结起来,表达一个计算值的式子。
8.C++用标准流对象实现数据的输入和输出。输入语句,输出语句和表达式语1.句可以构成顺序执行的简单程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oauth2 access_denied 不允许访问_OAuth 2 是什么-入门介绍

OAuth 2是什么OAuth 2是一个可以通过浏览器&#xff0c;手机等多种设备进行安全授权的一个标准简单的开源协议。随着互联网的兴起以及普及&#xff0c;越来越多的应用出现在用户的面前。这些应用大部分都是相对独立的以及由不同的公司进行运营的。不同的应用也保存了不同的数据…

基于TCP协议的网络程序(基础学习)

下图是基于TCP协议的客户端/服务器程序的一般流程&#xff1a; 图 37.2. TCP协议通讯流程 服务器调用socket()、bind()、listen()完成初始化后&#xff0c;调用accept()阻塞等待&#xff0c;处于监听端口的状态&#xff0c;客户端调用socket()初始化后&#xff0c;调用connect(…

一段代码认识C++中const不同位置的用处

#include<iostream> using namespace std ; int main () { const int A 78 ;const int B 25 ;int C 13 ;//---------const在数据类型前-------------------- const int *pi &A ;//*pi 56 ;// 错误, 不能修改所指常量。此时*pi指向的是常量A。 pi &…

wcf系列学习5天速成——第五天 服务托管

今天是系列的终结篇&#xff0c;当然要分享一下wcf的托管方面的知识。 wcf中托管服务一般有一下四种&#xff1a; Console寄宿&#xff1a; 利于开发调试&#xff0c;但不是生产环境中的最佳实践。 winform寄宿&#xff1a; 方便与用户进行交互&#x…

ASP.NET MVC Music Store教程(2):控制器

ASP.NET MVC Music Store教程&#xff08;2)&#xff1a;控制器 转自http://firechun.blog.163.com/blog/static/3180452220110272197830/在传统的Web架构中&#xff0c;URL总是映射到磁盘上的文件。例如&#xff1a;一个类似于“/Products.aspx”或“/Products.php”的URL可能…

C语言:利用泰勒级数计算sinx的值

题目&#xff1a; 代码&#xff1a; #include<stdio.h> #include<math.h> int main(){int sign1,n1;double x3,term,a,sinx0;//scanf("%lf",&x);termx;while(fabs(term)>0.00001){sinxsign*term;nn2;apow(x,n);double b1;for(int i1;i<n;i){…

C++课堂整理--第二章内容

提前声明&#xff1a; 本文内容为华北水利水电大学研究生C课程&#xff0c;如有 侵权请告知&#xff0c;作者会予以删除 1程序控制结构 语句是程序的基本语法成分。程序设计语言的语句按功能可以分成三类&#xff1a;声明语句 指示编译器分配内存&#xff0c;或者提供程序…

我的电脑 III

耳机用的是飞利浦的&#xff0c;和上学那时候的差不多 老的那个睡觉的时候压碎了&#xff0c;我胖了 然后去找音箱 网店&#xff0c;专卖店&#xff0c;电脑城&#xff0c;走了一遍又一遍 没个看的上的 一个月以后&#xff0c;终于决定买飞利浦那个了 白色的&#xff0c;和整个…

mybatis删除成功返回0_你还在用分页?试试 MyBatis 流式查询,真心强大!

转自&#xff1a;捏造的信仰segmentfault.com/a/1190000022478915基本概念流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器&#xff0c;应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。如果没有流式查询&#xff0c;我们想要从数据库取 1000…

C++程序设计--第三章内容

提前声明&#xff1a; 本文内容为华北水利水电大学研究生C课程&#xff0c;如有 侵权请告知&#xff0c;作者会予以删除 1.函数 函数作用 —— 任务划分&#xff1b;代码重用定义形式 类型 函数名 &#xff08; 形式参数表&#xff09;{语句序列}调用形式 函数名&#x…

Linux TCP server系列(5)-select模式下的单进程server

目标&#xff1a; 让服务器退化为单进程模式&#xff0c;但是利用select来提升性能 思路&#xff1a; &#xff08;1&#xff09;服务器 传统的单进程服务器一旦accept了客户端的TCP连接后&#xff0c;就转入客户请求的处理&#xff0c;处理完成后才能再一次的调用…

替换元素_80%的前端会答错的问题:lt;imggt;是什么元素?

前言某天晚上&#xff0c;和几个朋友去撸串&#xff0c;突然就聊到了面试&#xff0c;都在感叹现在的面试题太变态了&#xff0c;其中一个突然很神秘的问我&#xff1a;“你写前端这么久了&#xff0c;那你知道 <img> 是什么元素吗&#xff1f;”于是我结合平时写页面的经…

用指针变量访问数组

一维指针 地址值 a 相当于 & a[ 0 ] a 1 相当于 & a[ 1 ] a 2 相当于 & a[ 2 ] a i 相当于 & a[ i ] 元素值 a [ 0 ] * a a [ 1 ] 相当于 * ( a 1 ) a [ 2 ] 相当于 * ( a 2 ) a [ i ] 相当于 * ( a i ) 二维 用指…

Linux TCP server系列(6)-select模式下的多线程server

目标&#xff1a; 修改上一篇的select模式下的server&#xff0c;让它使用多线程来处理客户端请求&#xff08;多进程的模式已经在上篇中加了注释&#xff09;。 思路&#xff1a; &#xff08;1&#xff09;服务器 我们已经在之前的客户端模型多个并发用户的过程中使用过多线程…

单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...

《Perl-Tk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton》Perl-Tk中有三种不同形式的按钮组件可供选择&#xff0c;它们分别是按钮(Button), 复选按钮(Checkbutton), 和单选按钮(Radiobutton)&#xff0c;如下图所示&#xff1a;这三种按钮看起来是不同的&#…

好奇怪呀后面加什么标点_狗狗吃饭时奇怪的小动作,你知道代表什么吗?做个懂狗的好主人...

狗狗有时候因为一些奇怪的小行为&#xff0c;会让主人觉得很可爱。如果我们希望能够了解狗狗更多一些&#xff0c;那么我们需要透过它们的行为本身&#xff0c;去理解背后所代表的含义&#xff0c;才能和狗狗更亲密的交流。很多狗狗在吃饭的时候&#xff0c;也会表现出一些奇奇…

开机未发现nvidia控制面板_修改这几个选项,就能提升你的开机速度

最近电脑非常卡&#xff0c;有时真的想把它给砸了&#xff0c;慢的自己都受不了&#xff0c;开机几分钟&#xff0c;开机完还要等上好久才能运行软件&#xff0c;都快受不了&#xff0c;要不是看在已经是10前的买的电脑&#xff0c;早就问候产商了&#xff0c;电脑缓慢的开机速…

arcgis mxt模板 创建工具条无法保存_【从零开始学GIS】ArcGIS中的绘图基本操作(二)...

大家好&#xff0c;我是肝教程肝到熊猫眼的三三。本系列教程的发布&#xff0c;受到了很多同学的鼓励&#xff0c;大家在后台或微信上表达出对教程的喜爱&#xff0c;这便是更新教程的最大动力。上回教程讲解了“GIS基本操作”、“创建文档&#xff06;加载数据”、“创建GIS数…

vivado中交织模块_搞定Markdown中的图片,一劳永逸的方法!

经常用markdown写博客的朋友一定都体会过markdown图片的蛋疼之处&#xff0c;并不是说图片的这用引用方式不好&#xff0c;而且图片要放到什么服务器上&#xff1f;以我个人为例&#xff0c;写了一篇markdown&#xff0c;想在不修改任何地方的同时适用于各种平台。刚开始使用ma…

delphi xe2 project菜单怎么没有加组件功能_交互设计:让人困惑的三大交互组件及用法...

本篇文章中&#xff0c;笔者带我们了解了三大交互组件专有名词的用法&#xff0c;并结合实际案例进行了解释说明&#xff0c;与大家分享。希望通过此文能够加深你对交互组件及其用法的理解和分析。最近有很多同学来问一些设计中组件的专业名词&#xff0c;发现大家好像都没有一…