《02Web编程.ppt》由会员分享,可在线阅读,更多相关《02Web编程.ppt(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章章 Web编程技术编程技术 内容提要n本章首先介绍本章首先介绍HTML的发展历史的发展历史n然后介绍然后介绍HTML的基本框架的基本框架n详详细细介介绍绍了了HTML的的各各种种常常用用标标记记:文文字字标标记记、图片标记、超级链接标记,等等图片标记、超级链接标记,等等n介介绍绍CSS的的基基本本使使用用方方法法,如如何何让让CSS与与HTML协同工作协同工作n介介绍绍JavaScript中中的的变变量量、数数组组、表表达达式式、运运算算符、流程控制语句符、流程控制语句nJavaScript的的函函数数、内内置置对对象象、浏浏览览器器对对象象的的层层次和次和DOM模型的建立和使用模型的
2、建立和使用 n理解理解HTML、CSS和和JavaScript之间的关系之间的关系Web产生与发展产生与发展n 作为Internet上的一种应用架构,Web结构的首要任务就是向人们提供信息服务。评价一种Web开发技术优劣的标准有且只有一个:这种技术能否在最适合的时间和地点,以最恰当的方式,为最需要信息的人提供最适合的信息服务。这一标准推动Web不断向前发展。Web是一种典型的分布式应用架构。Web应用中的每一次信息交换都要涉及到客户端和服务端两个层面。因此,Web开发技术大体上也可以被分为客户端技术和服务器端技术两大类。3HTTP协议协议 HTTP是一个属于应用层的面向对象的协议,由于其简捷、
3、快速的处理方式,适用于分布式超媒体信息系统。HTTP协议在1990年被提出,经过几年的使用与发展,逐渐得到完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。4 HTML编程技术 n要把信息发布到全球,就必须要使用能够被大众接受的语言,也就是使用一种大多数计算机能够识别的语言。n在Internet上,通常使用的发布语言是HTML HTML概述 n在20世纪90年代Web网络的迅速兴起,使得HTML空前繁荣。当时,HTML被发展成了许多不同的版本。出于解决这种混乱
4、局面的考虑,迫切需要制定一个公认的HTML语言规范。n1995年11月,Internet Engineering Task Force(IETF)整理了以前的各种版本,倡导并主持开发HTML2.0规范,同年推出HTML3.0技术规范。1996年,World Wide Web Consortium(W3C)的HTML Working Group开始组织编写新的规范,于1997年1月推出了HTML3.2。在HTML3.2中做了许多重要改动。到1999年下半年推出到现在依然使用的HTML4.0,最新版本是HTML5.0。HTML概述案例名称:案例名称:HTML网页框架网页框架程序名称:程序名称:2-
5、01.htmHEAD头元素 案例名称:案例名称:HTML网页框架网页框架程序名称:程序名称:2-02.htm我的第一页面HTML的常用标记 nHTML的常用标记有一些共同特点:都放在BODY标记里面。n常用的标记有字体标记、图片标记、超级链接、列表、表格和表单等 字体标记 案例名称:使用字体标记案例名称:使用字体标记程序名称:程序名称:2-03.htm本书的特色是以案例为主,全书有30个完整的案例。图片标记案例名称:使用图片标记案例名称:使用图片标记程序名称:程序名称:2-04.htm超级链接案例名称:使用超级链接案例名称:使用超级链接程序名称:程序名称:2-05.htm其他文件上一个页面位于
6、北京的清华大学列表案例名称:使用有序列表案例名称:使用有序列表程序名称:程序名称:2-06.htm有序列表 热爱祖国 热爱人民无序列表 热爱祖国 热爱党示例1.基本表格n是表格的基本标记。代表表格的行,代表表格的列。案例名称:基本表格案例名称:基本表格程序名称:程序名称:2-07.htm 第一行第一列第一行第二列 第二行第一列第二行第二列 第三行第一列第三行第二列 表格的灵活应用 案例名称:跨行和跨列案例名称:跨行和跨列程序名称:程序名称:2-08.htm 跨两行 跨两列 1000 1000 3000 2000 4000 Cellpadding和Cellspacing属性nCellpading
7、的意思是单元格的边距,指的是字与单元格边框的距离。Cellspacing的意思是单元格间距,指的是单元格之间的距离。例2-09 案例案例2-1:表格的样式:表格的样式案例名称:表格的样式案例名称:表格的样式程序名称:程序名称:StyleTable.htm序号大学师资评分学生评分设备评分1清华大学1001001002北京大学10010097表单 n表单的功能是收集用户信息实现系统与用户交互。比如E-mail信箱的注册页面就是一个十分典型的表单页面。n表单信息的处理过程如下:当单击表单中的提交按钮时,表单中的信息就会上传到服务器中,然后由服务器端的应用程序(例如CGI,ASP,PHP,JSP等)进
8、行处理,处理后将用户提交的信息存储在服务器端的数据库中,或者将有关信息返回到客户端浏览器上。表单头及其属性 案例名称:表单的基本使用方法案例名称:表单的基本使用方法程序名称:程序名称:2-10.htm用户名:密码:表单中常用控件 n在常用的表单制作过程中,经常遇到的是按钮制作、输入元素的制作等。常见的表单控件包括文本框、文本域、密码框、多选框、单选框和下拉列表框,等等。例2-11块级元素案例名称:使用块级元素案例名称:使用块级元素程序名称:程序名称:2-12.htm I am a layer!I am a Span!预排版标记n包含在预排版标记中的字符会按照HTML原码的格式输出到浏览器上。H
9、TML文件中的英文空格一般不起作用,但是在预排版标记中空格可以显示出来。例2-13 示例设计网页框架 案例名称:上下框架案例名称:上下框架程序名称:程序名称:2-14.htm 使用框架 n一般在工程应用中,都是由三个页面组成的框架组合,分成上框架,右框架和左框架 CSS编程技术 nCSS(Cascading Style Sheets)中文翻译为层叠样式表单,简称样式单,是近几年才发展起来的新技术n1998年5月12日,CSS level 2才成为W3C 的标准,它是一组样式,样式中的属性在HTML元素中依次出现,并显示在浏览器中。样式可以定义在HTML文档的标志里,也可以在外部附加文档作为外加
10、文档。CSS的功能无比强大,W3C也极力向世界推广这一先进技术。CSS概述 n简单来说,HTML是一种标记语言,而CSS是这种标记的一种重要扩展,可以进一步美化页面。换句话说,CSS是一种用来装饰HTML的标记集合。nCSS样式规则组成为:选择符 属性:值,单一选择符的复合样式声明应该用分号隔开,如:选择符 属性1:值1;属性2:值2。使用使用CSS案例名称:使用案例名称:使用CSS程序名称:程序名称:2-16.htmH1 FONT-SIZE:X-LARGE;COLOR:RED H2 FONT-SIZE:LARGE;COLOR:BLUE 中国,我的祖国!H1显示的中国,我的祖国!H2显示的加载
11、CSS样式的三种方式 n使用CSS来格式化网页,共有三种方式:n在HEAD中引用n在BODY中引用n作为文件来引用 HEAD内引用案例名称:案例名称:HEAD内引用内引用程序名称:程序名称:2-17.htm H1 COLOR:GREEN;FONT-SIZE:37PX;P BACKGROUND:YELLOW;北京大学,清华大学南京大学,复旦大学 BODY内引用案例名称:案例名称:BODY内引用内引用程序名称:程序名称:2-18.htm 北京大学,清华大学南京大学,复旦大学 文件外引用案例名称:样式表文件案例名称:样式表文件程序名称:程序名称:mystyle.cssH1 COLOR:GREEN;F
12、ONT-SIZE:37PX;P BACKGROUND:YELLOW;案例名称:链接案例名称:链接CSS文件文件程序名称:程序名称:2-19.htm 北京大学,清华大学南京大学,复旦大学 文件外导入案例名称:导入案例名称:导入CSS文件文件程序名称:程序名称:2-20.htm IMPORT URL(MYSTYLE.CSS);北京大学,清华大学南京大学,复旦大学 CSS与标记对应的三种方式 n标记选择符n任何HTML元素都可以是一个CSS的选择符。上面所有的样式表都是采用标记选择符引入的。例如:P BACKGROUND:YELLOW;,这里用的标记选择符是P。类选择符 n在STYLE标记定义一个“
13、.类名”,然后在HTML标记中使用CLASS=“类名”就可以引入该样式 案例名称:类选择符案例名称:类选择符程序名称:程序名称:2-21.htm.LITTLEREDCOLOR:RED;FONT-SIZE:18px.LITTLEGREENCOLOR:GREEN;FONT-SIZE:18px 这是红色,而且比较小!这是绿色,而且比较小!ID选择符n定义ID选择符时,在样式名之前加“#名字”,引用的时候使用“ID=名字”。案例名称:案例名称:ID选择符选择符程序名称:程序名称:2-22.htm#SZG COLOR:RED 这是ID选择符号!定义超级链接样式 n可以指定A标记以不同的方式显示。n一个超
14、级链接有几种不同的状态:n未被访问链接(Link)n已访问链接(Visited)n鼠标移动过(Hover)n可以定义超级链接文字的颜色,可以定义字体的大小,一般超级链接都有下划线,可以利用“TEXT-DECORATION:NONE”将超级链接的下划线去掉。定义超级链接样式定义超级链接样式案例名称:定义超级链接样式案例名称:定义超级链接样式程序名称:程序名称:2-23.htmA:LINKCOLOR:RED;FONT-SIZE:9PT;TEXT-DECORATION:NONEA:VISITEDCOLOR:BLUE;FONT-SIZE:9PT;TEXT-DECORATION:NONEA:HOVERC
15、OLOR:GREEN;FONT-SIZE:15PT;TEXT-DECORATION:UNDERLINE这是超级链接http:/localhost:8080/02/2-23.htmJavaScript编程技术 n JavaScript是一种Script脚本语言,所谓的脚本语言就是可以和HTML语言混合使用的语言。VBScript也是Script语言中的一种,但是VBScript只有微软的浏览器Internet Explore(IE)才能完全支持。而JavaScript则不管是什么浏览器都可以运行,这也是JavaScript的一个优点。nJavaScript是一种高级的脚本描述性语言,并不需要依赖
16、于特定的机器和操作系统,所以说它是独立于操作平台的。JavaScript 1.0最初是在Netscape Navigator 2.0及Netscape LiveWire 1.0上实现的,目前JavaScript的版本是JavaScript 1.2。n从本质上说JavaScript和Java没有什么联系,但是同时作为语言,可以从三个角度来区别。n(1)JavaScript是解释型的语言,当程序执行的时候,浏览器一边解释一边执行。而Java是编译型的语言,必须经过编译才能执行。n(2)代码格式不一样,Java代码经过编译后成为二进制文件,而JavaScript是纯文本的文件。n(3)在HTML中的
17、嵌入方式不一样。Java可以通过小应用程序嵌入HTML文件,而JavaScript可直接写入一个文本文件或HTML文件中。网页中引入JavaScript 案例名称:案例名称:第一个第一个JavaScript程序程序程序名称:程序名称:2-24.htmdocument.write(这是以JavaScript输出的!)变量与数组 n变量和数组是JavaScript的基础,JavaScript和C语言属于同一语系,许多基本语法一样。不管是在JavaScript中还是在其他程序语言中,最基本的概念是变量。nJavaScript定义变量只有一个关键字“var”,在JavaScript中定义一个用户名变量
18、的语法为:“var strUserName;”。变量案例名称:使用变量案例名称:使用变量程序名称:程序名称:2-25.htmvar strWelcome=欢迎您!;var iCounter=10;iCounter=iCounter+1;document.write(strWelcome);document.write(iCounter);变量命名需要遵守以下六个规则n(1)变量命名必须以一个英文字母或是下划线为开头,也就是变量名第一个字符必须是A到Z或是a到z之间的字母或是“_”。n(2)变量名长度在0255字符之间。n(3)除了首字符,其他字符可以使用任何字符、数字及下划线,但是不可以使用空
19、格。n(4)不可以使用JavaScript的运算符号,例如:+,等。n(5)不可以使用JavaScript用到的保留字,例如:sqrt(开方),parseInt(转换成整型)等。n(6)在JavaScript中,变量名大小写是有所区别的,例如:变量s12和S12是不同的两个变量。声明数组n用new和Array关键字,new代表建立一个新的对象,Array是JavaScript内置的一个对象n由于JavaScript区分大小写,所以Array的首字母必须是大写。使用数组使用数组案例名称:使用数组案例名称:使用数组程序名称:程序名称:2-26.htmvar arrUserName=new Arra
20、y(2);arrUserName0=Bill;arrUserName1=Bob;document.write(arrUserName0);document.write();document.write(arrUserName1);document.write();表达式与运算符 n程序主要功能是运算,例如加、减、乘、除等基本操作。n算术运算符主要提供加、减、乘、除等操作,计算机中没有通常的乘号,用“*”代替。取余操作用“%”,案例名称:算术运算符案例名称:算术运算符程序名称:程序名称:2-27.htm document.write(3*2);document.write();document.
21、write(3/2);document.write();document.write(3%2);/取余数逻辑运算符n逻辑运算符包括:与运算符“&”、或运算符“|”和取反运算符“!”案例名称:逻辑运算符案例名称:逻辑运算符程序名称:程序名称:2-28.htm document.write(true&false);document.write();document.write(false&false);document.write();document.write(true|false);document.write();document.write(!false);字符串运算符的使用方法 案例名
22、称:字符串运算符案例名称:字符串运算符程序名称:程序名称:2-29.htmvar strHello=网页编程;var strResult=你好,;strResult+=strHello;/等价于:strResult=strResult+strHello;document.write(strResult);条件表达式 案例名称:条件表达式案例名称:条件表达式程序名称:程序名称:2-30.htm a=(43)?5:7;b=(43)?5:7;document.write(a);document.write();document.write(b);控制语句之条件语句 nJavaScript提供的语句可
23、以分为以下4大类。n(1)条件和分支语句:Ifelse语句,switch语句。n(2)循环语句:for语句,dowhile语句,break语句和continue语句。n(3)对象操作语句:new,this和with。n(4)注释语句:“/”或“/*/”。if语句语句案例名称:案例名称:if语句语句程序名称:程序名称:2-31.htmvar iHour=13;if(iHour 12)document.write(早上好!);else document.write(下午好!);switch语句语句案例名称:案例名称:switch语句语句程序名称:程序名称:2-32.htmvar val=;var
24、i=5;switch(i)case 3:val=三;break;case 4:val=四;break;case 5:val=五;break;default:val=不知道;document.write(val);流控制语句之循环语句 n循环语句包括:for语句、while语句,循环控制转移语句continue和break语句。nfor语句的基本语法如下。nfor(初始化部分;条件部分;更新部分)n语句块nfor 语句语句案例名称:案例名称:for 语句语句程序名称:程序名称:2-33.htmvar iSum=0;for(var i=0;i=100;i+)iSum+=i;document.wri
25、te(iSum);while 语句语句案例名称:案例名称:while 语句语句程序名称:程序名称:2-34.htmvar iSum=0;var i=0;while(i=100)iSum+=i;i+;document.write(iSum);break语句语句案例名称:案例名称:break语句语句程序名称:程序名称:2-35.htmfor(i=1;i 20;i+)if(i%5=0)break;document.write(i+);continue语句语句案例名称:案例名称:continue语句语句程序名称:程序名称:2-36.htmfor(i=1;i 20;i+)if(i%5=0)continu
26、e;document.write(i+);JavaScript函数 n函数在定义时并没有被执行,只有函数被调用时,其中的代码才真正被执行。为了实现函数的定义和调用,JavaScript语句提供了两个关键字:function和return。JavaScript函数的基本语法如下:nfunction 函数名称(参数表)nn语句块;n函数定义和调用函数定义和调用n案例名称:函数定义和调用案例名称:函数定义和调用n程序名称:程序名称:2-37.htmnnfunction getSqrt(iNum)nnvar iTemp=iNum*iNum;ndocument.write(iTemp);nnnngetS
27、qrt(8);n函数的返回值函数的返回值案例名称:函数的返回值案例名称:函数的返回值程序名称:程序名称:2-38.htmfunction f(y)var x=y*y;return x;for(x=0;x 10;x+)y=f(x);document.write(y);document.write();事件的概念 nJavaScript事件主要包括三大类的事件:超级连接事件,浏览器事件和界面事件。n界面事件包括:nClick(单击)nMouseOut(鼠标移出)nMouseOver(鼠标移过)nMouseDown(鼠标按下)等。单击事件单击事件案例名称:单击事件案例名称:单击事件程序名称:程序名称
28、:2-39.htm下拉列表n下拉列表是常用的一种网页元素,一般利用ONCHANGE事件来处理。案例名称:处理下拉列表案例名称:处理下拉列表程序名称:程序名称:2-40.htm 北京上海广州 function func()alert(你选择了+selAddr.value);动态按钮 n当鼠标移动到按钮上的时候,按钮就会凸起来。这通过JavaScript的事件实现起来非常方便。n首先必须准备两张图片,当鼠标移上去的时候,自动切换成另一张图片就可以了 动态按钮动态按钮案例名称:动态按钮案例名称:动态按钮程序名称:程序名称:hoverbutton.htmfunction DoOver(oimg)var
29、 imgSRC;imgSRC =Edit_+oimg.name+_Over.gif;oimg.src=images/+imgSRC;function DoOut(oimg)var imgSRC;imgSRC =Edit_+oimg.name+.gif;oimg.src=images/+imgSRC;对象处理语句 案例名称:案例名称:this语句语句程序名称:程序名称:2-41.htmfunction imgclick(oimg)alert(图片名称是:+oimg.name+rn图片地址是:+oimg.src);forin语句 案例名称:案例名称:forin语句语句程序名称:程序名称:2-42.
30、htm var arr=new Array(3);arr0=Jack;arr1=Mike;arr2=Rose;for(i in arr)document.write(第+i+个为:+arri);with语句案例名称:案例名称:with语句语句程序名称:程序名称:2-43.htm with(document)write(你好世界);write(你好中国);write(再见);JavaScript内置对象 n内置对象都有自己的方法和属性,访问属性的语法是:“对象名.属性名称”。n访问方法的语法是:“对象名.方法名称(参数表)”。所谓的方法就是一个普通的函数被封装到一个对象中 使用时间对象使用时间对
31、象n案例名称:使用时间对象案例名称:使用时间对象n程序名称:程序名称:2-44.htmnnnvar curr=new Date();ndocument.write(今天是今天是);nswitch(curr.getDay()ncase 0:document.write(周日周日,休息了!休息了!);break;ncase 1:document.write(周一周一,需要工作!需要工作!);break;ncase 2:document.write(周二周二,需要工作!需要工作!);break;ncase 3:document.write(周三周三,需要工作!需要工作!);break;ncase 4
32、:document.write(周四周四,需要工作!需要工作!);break;ncase 5:document.write(周五周五,需要工作!需要工作!);break;ncase 6:document.write(周六周六,休息了!休息了!);break;nnn网页时钟 Math对象案例名称:使用案例名称:使用Math对象对象程序名称:程序名称:2-45.htmvar a=Math.sin(1);document.write(a)String对象n一般利用String对象提供的函数来处理字符串。String对字符串的处理主要提供了下列方法。n(1)charAt(idx):第一个字符位置是“0
33、”,返回指定位置处的字符。n(2)indexOf(Chr):返回指定子字符串的位置,从左到右,找不到返回1。n(3)lastIndexOf(chr):返回指定子字符串的位置,从右到左。找不到返回1。n(4)toLowerCase():将字符串中的字符全部转化成小写。n(5)toUpperCase():将字符串中的字符全部转化成大写。String对象案例名称:使用字符串处理函数案例名称:使用字符串处理函数程序名称:程序名称:2-46.htmvar str=I am a boy,I like programming!;a=str.charAt(7);b=str.indexOf(a);c=str.l
34、astIndexOf(a);d=str.toUpperCase();document.write(a+);document.write(b+)document.write(c+)document.write(d+)案例案例2-5:字符串扫描统计:字符串扫描统计案例名称:使用字符串处理函数案例名称:使用字符串处理函数程序名称:程序名称:string.htmvar str=I am a girl,I like catvar iCount=0;for(i=0;i str.length;i+)if(str.charAt(i)=a)iCount+;document.write(iCount);JavaS
35、cript的常用函数 n介绍几个常用的函数:neval()函数nparseInt()函数nparseFloat函数。使用使用eval()函数函数案例名称:使用案例名称:使用eval()函数函数程序名称:程序名称:2-47.htm var str=1+2+3;document.write(eval(str);parseInt()函数和parseFloat()函数 nparseInt()函数功能是从一个字符串中提出一个整数,如果遇到字符串中除了数字以外的字符,parseInt()就停止转换,返回已有的结果。n如果第一个字符不是数字,parseInt()就返回“NaN”值。ParseFloat()函
36、数和parseInt()函数相似,区别parseFloat()可以提取小数。parseInt函数和函数和parseFloat函函数数n案例名称:使用案例名称:使用parseInt函数和函数和parseFloat函数函数n程序名称:程序名称:2-48.htmnnnvar a=parseInt(123China);nvar b=parseFloat(123.12China);ndocument.write(a+);ndocument.write(b);nn对象层次及DOM模型 DOMnDOM(Document Object Model)是文档对象模型的缩写,文档对象模型提供了文档的定位模型。例2-
37、49function do_Copy()var str=frm1.txtBox1.value;frm2.txtBox2.value=str;使用使用window对象对象例例2-50nnnfunction new_win()nnwindow.open(new.htm,my,toolbar=no,left=150,top=200,menubar=no,width=150,height=150);nnnnn使用使用location属性属性例例2-51n案例名称:使用location属性n程序名称:2-51.htmnnn function test_location()n n window.locat
38、ion=new.htm;n nnnnnnnHistory对象例2-52n案例名称:使用案例名称:使用History对象对象n程序名称:程序名称:2-52.htmnnnnnnn function goforward()n nhistory.go(1);n n function goback()n nhistory.go(-1)n nnWeb应用经典案例研究 n在Web应用开发中有一些关键的动态编程技术,下面六种最常用的关键技术:n动态表格动态表格n表单验证表单验证n程序控制程序控制Form表单表单n在页面中执行客户端的可执行文件在页面中执行客户端的可执行文件 n计算器计算器n时钟时钟小结n本章首
39、先介绍本章首先介绍HTML的发展历史的发展历史n然后介绍然后介绍HTML的基本框架的基本框架n详详细细介介绍绍了了HTML的的各各种种常常用用标标记记:文文字字标标记记、图片标记、超级链接标记,等等图片标记、超级链接标记,等等n介介 绍绍 CSS的的 基基 本本 使使 用用 方方 法法,如如 何何 让让 CSS与与HTML协同工作协同工作n介介绍绍JavaScript中中的的变变量量、数数组组、表表达达式式、运运算符、流程控制语句算符、流程控制语句nJavaScript的的函函数数、内内置置对对象象、浏浏览览器器对对象象的的层次和层次和DOM模型的建立和使用模型的建立和使用本章习题n2-1.如
40、何在网页中设置字体?有哪些字体可以使用?如何在网页中设置字体?有哪些字体可以使用?n2-2.如何引入一张图片?如何给图片加上边框?如何引入一张图片?如何给图片加上边框?n2-3.如何使用超级链接?如何将超级链接的下划线去掉?如何使用超级链接?如何将超级链接的下划线去掉?n2-4.如何定义跨行的表格?如何将表格的字体和边框的距离加大?如何定义跨行的表格?如何将表格的字体和边框的距离加大?n2-5.框架有几种基本形式?如何使用?框架有几种基本形式?如何使用?n2-6.加载加载CSS样式的方式有哪些?如何使用?样式的方式有哪些?如何使用?n2-7.编写编写E-mail注册的表单。(上机练习)注册的表
41、单。(上机练习)n2-8.编写程序统计编写程序统计1到到50中所有偶数的和。(分别用中所有偶数的和。(分别用for和和while语句实语句实现)现)n2-9.编写程序实现:取系统时间,如果时间在编写程序实现:取系统时间,如果时间在6:0012:00之间,输出之间,输出“早上好早上好”;如果时间在;如果时间在12:0018:00,输出,输出“下午好下午好”;如果时间在;如果时间在18:0024:00之间,输出之间,输出“晚上好晚上好”;如果时间在;如果时间在0:006:00,输出,输出“凌晨好凌晨好”。n2-10.在字符串在字符串“I am a girl,I like dancing!”的每个字符之间加上的每个字符之间加上一个字符一个字符“#”,输出字符为:,输出字符为:“I#a#m#a#girl#,#I#like#d#a#n#c#i#n#g#!”,并统计,并统计“#”的个数。的个数。资料nhttp:/