精华内容
下载资源
问答
  • 定义VB数据类型常识 学过编程的人都知道大多数的计算机语言都规定了各自的数据类型VB也不例外其实在一个最简单的程序中数据类型是可以不作规定的也就是说变量可以使用各种类型但是在一个复杂的程序里这样做就很危险...
  • Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP   Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的...
  • 背景:在机房个人版重构,对于时间

    背景:在机房个人版重构中,对于时间日期的处理是一个很棘手的问题。稍微不注意,便会出现各种问题。有时候你虽然知道哪错了,但是却不知怎么改。这就是菜鸟的悲哀吧!


    一、时间日期数据类型大揭秘


        下边主要介绍在Visual Basic .Net中日期时间类型数据的处理方法及在处理这些数据时的一些注意事项和技巧。


    1. 结构和类的区别


        我们在编程中,通常都需要处理时间日期数据,这也是一种比较难于处理的数据类型,因为时间日期类型的结构相当复杂,并且还有一定的规则,如果在定义的时候不符合规则,程序在编译的时候就会出错。在Visual Basic .Net用以处理时间日期类型的结构(Structure)主要是2个,分别为DateTimeTimeSpan,这二个结构都位于命名空间System,并且在Visual Basic .Net中自己也定义了一种数据类型Date,这种数据类型相当于上面提及的DateTime类。这时候可能很多朋友会问了,什么叫结构,它有什么作用?其实结构和类在作用和功能上是非常类似的,它也有构造函数,二者的主要区别如下:

      
    1. 结构不能包含显式的无参数构造函数。结构成员将自动初始化为它们的默认值。
      2. 结构不能有以下形式的初始值设定项:base。


      其实对于大多数朋友,你具体使用结构和类的时候,完全可以不需要考虑到二者区别,因为二者在使用上几乎相同。

    2. 用Date变量定义日期时间,及其注意事项


      虽然Visual Basic .Net中提供了Date数据类型来处理时间日期类型,但在实际中往往并不使用它,因为它的定义非常麻烦,加上时间日期类型结构相当复杂,对于很多初学者往往会出现错误。下面就是在Visual Basic .Net中通过Date数据类型定义一个时间日期类型数据变量的语句,就可见其烦杂了:

          Dim s As Date = #12/2/2002 7:00:00 PM#

    在定义Date数据类型时候,必须注意下面三点

      1. Date数值必须以数字符号"#"括起来。

      2. Date数值中的日期数据可有可无,如果有必须符合格式"m/d/yyyy"。
      3. Date数值中的时间数据可有可无,如果有必须和日期数据通过空格分开,并且时分秒之间以":"分开。

    3. DateTime和TimeSpan的主要区别,和二者主要的成员及其简单说明


    ㈠、DateTime和TimeSpan的关系和区别:

      DateTime和TimeSpan是Visual Basic .Net中用以处理时间日期类型数据的二个主要的结构,这二者的区别在于,DatTime表示一个固定的时间,而TimeSpan表示的是一个时间间隔,即一段时间。在下面介绍的程序示例中,TimeSpan就用以当前时间和给定时间之差。

    ㈡、DateTime和TimeSpan中的常用成员及其说明:

      DateTime结构和TimeSpan结构提供了丰富的方法和属性,通过这些方法和属性,几乎可以直接处理任何时间日期类型数据。


    表01和表02分别是DateTime结构的常用属性和常用方法及其说明:


    表01:datetime类的常用属性及其说明

    属性

    说明

    date

    获取此实例的日期部分。

    day

    获取此实例所表示的日期为该月中的第几天。

    dayofweek

    获取此实例所表示的日期是星期几。

    dayofyear

    获取此实例所表示的日期是该年中的第几天。

    hour

    获取此实例所表示日期的小时部分。

    millisecond

    获取此实例所表示日期的毫秒部分。

    minute

    获取此实例所表示日期的分钟部分。

    month

    获取此实例所表示日期的月份部分。

    now

    创建一个datetime实例,它是此计算机上的当前本地日期和时间。

    second

    获取此实例所表示日期的秒部分。

    timeofday

    获取此实例的当天的时间。

    today

    获取当前日期。

    year

    获取此实例所表示日期的年份部分。


    表02:datetime结构的常用方法及其说明

    方法

    说明

    add

    将指定的timespan的值加到此实例的值上。

    adddays

    将指定的天数加到此实例的值上。

    addhours

    将指定的小时数加到此实例的值上。

    addmilliseconds

    将指定的毫秒数加到此实例的值上。

    addminutes

    将指定的分钟数加到此实例的值上。

    addmonths

    将指定的月份数加到此实例的值上。

    addseconds

    将指定的秒数加到此实例的值上。

    addyears

    将指定的年份数加到此实例的值上。

    daysinmonth

    返回指定年份中指定月份的天数。

    isleapyear

    返回指定的年份是否为闰年的指示。

    parse

    将日期和时间的指定字符串表示转换成其等效的datetime实例。

    subtract

    从此实例中减去指定的时间或持续时间。

    tolongdatestring

    将此实例的值转换为其等效的长日期字符串表示形式。

    tolongtimestring

    将此实例的值转换为其等效的长时间字符串表示形式。

    toshorttimestring

    将此实例的值转换为其等效的短时间字符串表示形式。

    toshortdatestring

    将此实例的值转换为其等效的短日期字符串表示形式。



    表03和表04分别是timespan结构的常用属性和常用方法及其说明:


    表03:timespan结构的常用属性及其说明

    属性

    说明

    days

    获取由此实例表示的整天数。

    hours

    获取由此实例表示的整小时数。

    milliseconds

    获取由此实例表示的整毫秒数。

    minutes

    获取由此实例表示的整分钟数。

    seconds

    获取由此实例表示的整秒数。

    ticks

    获取用刻度表示的此实例的值。

    totaldays

    获取以整天数和天的小数部分表示的此实例的值。

    totalhours

    获取以整小时数和小时的小数部分表示的此实例的值。

    totalmilliseconds

    获取以整毫秒数和毫秒的小数部分表示的此实例的值。

    totalminutes

    获取以整分钟数和分钟的小数部分表示的此实例的值。

    totalseconds

    获取以整秒数和秒的小数部分表示的此实例的值。


    表04:timespan结构的常用方法及其说明

    方法

    说明

    add

    将指定的timespan添加到此实例中。

    duration

    返回其值为此实例的绝对值的timespan。

    fromdays

    返回表示指定天数的timespan,其中对天数的指定精确到最接近的毫秒。

    fromhours

    返回表示指定小时数的timespan,其中对小时数的指定精确到最接近的毫秒。

    frommilliseconds

    返回表示指定毫秒数的timespan。

    fromminutes

    返回表示指定分钟数的timespan,其中对分钟数的指定精确到最接近的毫秒。

    fromseconds

    返回表示指定秒数的timespan,其中对秒数的指定精确到最接近的毫秒。

    subtract

    从此实例中减去指定的timespan。


    4. 判断给定时间日期的合法性、日期时间类型数据(DateTime实例)的运算与日期时间及其相关数值的获取


      在了解了DateTime和TimeSpan的常用方法和常用属性后,下面将通过一个示例来掌握上述方法和属性的用法。在下面的示例中将着重介绍下列问题的处理方法:

      1. 判断输入的日期时间字符串的合法性。
      2. DateTime实例之间的运算。
      3. 日期时间数据的获取方法。


    下面是用Visual Basic .Net实现上述功能的示例的主要步骤:

       1. 启动 Visual Studio .Net。
      2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。

       3. 将【项目类型】设置为【Visual Basic项目】。
      4. 将【模板】设置为【Windows窗体应用程序】。
      5. 在【名称】文本框中输入【处理日期时间数据】。
      6. 在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样在"E:\VS.NET项目"目录中就产生了名称为"处理日期时间数据"的文件夹,并在里面创建了名称为【处理日期时间数据】的项目文件。
      7. 把Visual Studio .Net的当前窗口切换到【Form1.vb(设计)】窗口,并从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入下列组件,并执行相应操作:

      
    一个TabControl组件(包含三个TabPage组件.)
      十九个Label组件。
      十九个TextBox组件,用以显示时间日期数值。
      三个Button组件,并在这三个Button组件拖入Form1的设计窗体后,分别双击这三个组件,这样系统会在Form1.vb文件分别产生这三个组件的Click时间对应的处理代码。


      8. 按照图01、图02、图03设定设定组件的主要属性

      图01:【处理日期时间数据】设计界面之一



    图02:【处理日期时间数据】设计界面之二


    图03:【处理日期时间数据】设计界面之三



        在完成上面的工作以后,下面就进入程序的功能实现阶段。

        9判断输入的日期时间字符串的合法性

        为了实现这个功能,首先要掌握把输入的日期时间字符串转换成可供Visual Basic .Net使用的日期时间类型的数据的方法。这个方法就是使用DateTime中的Parse方法,Parse方法能够把一个符合日期时间的字符串转换成一个DateTime实例。下面是一个具体的转换代码:


    Dim dtTemp as System.DateTime = System.DateTime.Parse ( "12/2/2002 13:20:25")


    但如果给定要转换的字符串不合法,程序在执行的时候就会出现异常。程序通过对异常的捕获,来判断给定要转换的字符串合法性。在Visual Basic .Net中捕获异常一般使用的是Try …Catch ….End Try语句。这里要注意的是Try …Catch ….End Try语句是一个非常重要的语句,在后面章节中的很多关键代码部分都会经常的使用到它,通过它的确能够解决很多麻烦的问题。


    下面是在本程序中实现这个功能的具体操作步骤:

      首先把Visual Studio .Net的当前窗口切换到【Form1.vb】,进入Form1.vb文件的编辑界面。然后用下列的代码替换Form1.vb中btnJudge组件的Click事件对应的处理代码。


    '判断输入日期时间字符串合法性  
    Private Sub btnJudge_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnJudge.Click
        Dim dtMyDate As System.DateTime
    
        Try
            dtMyDate = DateTime.Parse(txtDateTime.Text) '转换给定的日期时间字符串  
    
        Catch
    
            MessageBox.Show("你输入的时间日期字符串不合法!", "错误!")  '提示错误  
            txtDateTime.Text = ""
            Return
    
        End Try
    End Sub
    '获取计算机日期时间数据
    '程序要实现这个功能非常简单,只需要掌握表01和表02中列出的DateTime常用属性、方法的使用方法就能够方便完成了。具体到本程序具体的操作是用下列代码替换Form1.vb中btnDateTimeNow的Click事件对应的处理代码
    
    '获得计算机日期、时间  
    Private Sub btnDateTimeNow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDateTimeNow.Click
        '创建实例,此实例存放当前日期和时间  
        Dim dMyDate As DateTime = DateTime.Now
    
        '显示当前日期和时间  
        txtDateTimeNow.Text = dMyDate.ToString()
    
        '显示当前日期  
        txtDateNow.Text = dMyDate.Date
    
        '显示当前年度  
        txtYear.Text = dMyDate.Year
    
        '显示当前月份  
        txtMonth.Text = dMyDate.Month
    
        '显示日号  
        txtDay.Text = dMyDate.Day
    
        '显示当前天是一年中的第多少天  
        txtDayofyear.Text = dMyDate.DayOfYear
    
        '显示当前天是本星期中的第多少天  
        txtWeek.Text = dMyDate.DayOfWeek
    
        '以长日期形式来显示日期  
        txtDateLong.Text = dMyDate.ToLongDateString
    
        '以短日期形式来显示日期  
        txtDateShort.Text = dMyDate.ToShortDateString
    
        '显示当前时间  
        txtTimeNow.Text = dMyDate.TimeOfDay.ToString()
    
        '显示当前时间的小时  
        txtHour.Text = dMyDate.Hour
    
        '显示当前时间的分钟  
        txtMinute.Text = dMyDate.Minute
    
        '显示当前时间的秒  
        txtSecond.Text = dMyDate.Second
    
        '显示当前时间的毫秒  
        txtMillisecond.Text = dMyDate.Millisecond
    
        '以长时间形式来显示当前时间  
        txtTimeLong.Text = dMyDate.ToLongTimeString
    
        '以短时间形式来显示当前时间  
        txtTimeShort.Text = dMyDate.ToShortTimeString
    End Sub
    
    '日期时间数据的运算
    '在下面介绍的代码是实现二个DateTime实例之差,即当前的时间和给定的时间之差。解决的步骤是首先判断给定的日期时间字符串的合法性,如果不合法,则返回。如果合法,则以此来创建DateTime实例dtMyDate。然后dtMyDate调用其Subtract方法减去当前的时间,并存放到TimeSpan实例tsTemp。tsTemp调用其Duration方法,把二者之差的绝对值显示出来。具体到程序中的实现方法是用下列代码替换Form1.vb中的btnOK的Click事件的处理代码:
    
    '输入时间与系统时间之差  
    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
        Dim tsTemp As TimeSpan
        Dim dtMydate As DateTime
        '判断输入的时间日期字符串的合法性  
        Try
            dtMydate = DateTime.Parse(txtDateTimeEnter.Text)
        Catch
            MessageBox.Show("输入的时间日期字符串不合法", "错误!")
            Return
    
        End Try
    
        '两个DateTime实例相减  
        tsTemp = dtMydate.Subtract(DateTime.Now)
    
        '取两个各DateTime之差绝对值,并显示出来  
        txtTimeDifference.Text = tsTemp.Duration.ToString()
    End Sub


    至此在上述步骤都正确执行,并成功保存后,【处理日期时间数据】项目的全部工作就完成了。图04、图05和图06分别是【处理日期时间数据】项目编译后的运行界面:


    图04:



    图05:



    图06:





    二、常见的时间日期类型问题



    1.常见错误:


       (1)错误类型一:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/999911:59:59 PM之间。

           A 原因我们在取DateTime.MinValue的值,并插入到数据库的时候,DateTime.MinValue值范围和数据库DateTime类型数据范围不一致造成的。数据库中,DateTime类型字段,最小值1/1/175312:00:00,而.NET Framework中,DateTime类型,最小值为1/1/00010:00:00,显然,超出了Sql的值的最小范围,导致数据溢出的错误。

           B 解决方案转换时间类型格式。如:

    [vb]  view plain copy 在CODE上查看代码片 派生到我的代码片
    1. <span style="font-size:18px;"Dim currentDate As Date = Now()  
    2.   enWork.LogingDate =Convert.ToDateTime(Format(currentDate, "yyyy/MM/dd"))  
    3.   enWork.LoginTime =Convert.ToDateTime(Format(currentDate, "HH:mm:ss"))</span>  


         (2)错误类型二:插入数据库中的时间都是00:00:00

            A 原因:使用到存储过程,存储过程中时间类型是varchar,而vb.net实体类中的时间类型是Datetime,类型不匹配,未能插入成功。

            B 解决方案将存储过程中的时间类型改为time(7)

     

       (3)错误类型三:从类型“TimeSpan”到类型“Date”的转换无效。

           A 原因从数据库中获取的时间是timeSpan类型的,需要转换成字符串类型的方可赋值给实体

            B 解决方案

    [vb]  view plain copy 在CODE上查看代码片 派生到我的代码片
    1. <span style="white-space:pre">      </span><span style="font-size:18px;">enOnLine.OnTime =Convert.ToString(dtQuery.Rows(0).Item("onTime"))</span>  

      

    2.常见方法


         (1)方法一:计算时间差--使用DateDiff函数:返回一个Long值,用于指定两个Date值之间的时间间隔数

        例如:       

    [vb]  view plain copy 在CODE上查看代码片 派生到我的代码片
    1. <span style="white-space:pre">  </span><span style="font-size:18px;">Dim Time1 As Date  
    2.         Dim Time2 As Date  
    3.         Dim Diff As String  
    4.         Diff = DateDiff(DateInterval.Minute,Time1, Time2)</span>  

           其中:DateInterval.Minute:设置时间间隔格式为分钟。(用户可根据自己具体要求设定)


        (2)方法二:时间取整--使用Format函数:返回已按照格式String表达式中包含的指令进行了格式化了的字符串

    [vb]  view plain copy 在CODE上查看代码片 派生到我的代码片
    1. <span style="font-size:18px;">Dim Int as String  
    2. Int=Format(Diff, "0.0")<span style="font-family: 微软雅黑;"> </span></span>  

           其中:这里用到的不是四舍五入,而是通过对字符串进行按照既定要求格式化得到的。


       (3)方法三:取出时间中的小时值

    [vb]  view plain copy 在CODE上查看代码片 派生到我的代码片
    1. <span style="white-space:pre">  </span><span style="font-size:18px;">Dim Time asDate  
    2. <span style="white-space:pre">  </span>Dim Hour asInteger  


    三、反思


        自己刚开始做机房的时候,对数据类型的理解特别的肤浅。有些根本不知道是什么类型的,干什么用的。对日期类型的数据更是感觉特别麻烦,每次使用都得考虑半天。后来,上网查了查资料,对日期类型的总算是有点明白了。

        很多时候,不是我们没有能力去做好一件事,而是我们没有用心,不想去做。用心,我们可以战胜任何challenge!



    附:VB.NET时间日期数据处理及技巧(实例)代码下载地址:http://download.csdn.net/detail/mazhaojuan/4033970


    转载自:http://blog.csdn.net/mazhaojuan/article/details/7216880

    展开全文
  • C语言

    万次阅读 多人点赞 2019-12-18 23:01:50
    46.用c语言编写程序,可以编写出任何类型的程序 47.C语言允许有空函数 48.C程序书写格式,允许一行内可以写几个语句 49.C程序的语句无行号 50.C语言的每个语句的最后必须有一个分号 51.C语言本身没有输入...

    公共考点
    1.算法的空间复杂度是指算法在执行过程中所需要的内存空间。
    2.算法的时间复杂度是指算法所需要的计算工作量。
    3.数据的逻辑结构与储存结构不是一一对应的。
    4.队列的修改是以先进先出的原则进行的。–与队列结构有关联的是先到先服务的作业调度。
    5.循环队列中的元素个数随队头指针和队尾指针变化而动态变化。
    6.C语言中的result只是一个自己定义的量
    7.对空和队满时,头尾指针均相等。
    8.冒泡法是在扫描过程中逐次比较相邻两个元素的大小。例:9+8+7+6+5+4+3+2+1=45.
    9.对象间的信息传递靠消息。
    10.多态性是指同一个操作可以是不同对象的行为。操作—对象。

    C语言
    1.源程序的扩展名为.c,目标程序的扩展名为.obj,可执行程序的扩展名为.exe(每个后缀为.c的C语言都可以单独进行编译)(C语言编译程序把.c编译成.obj的二进制文件)(链接形成.exe文件)
    2.循环结构、选择结构,顺序结构都是结构化程序的基本结构。
    3.N-S流程图是复杂算法的描述手段。
    4.长方形为处理框。椭圆形为连接点。
    5.一个c语言只能有一个主函数。
    6.函数的定义不可以嵌套,函数的调用可以嵌套。
    7.C语言总是以main函数开始执行。
    8.常量的类型:整型常量、实型常量、字符常量、字符串常量、符号常量。
    9.十进制整型常量:基本数字范围:0-9;(十进制小数两边必须有数字)
    八进制整型常量:以0开头,输出格式控制符为%o,基本数字范围0-7;
    十六进制整型常量:以0x开头,输出格式为%x,基本数字范围为0-15写为A-F或a-f;
    指数形式:e前必须有数字,e后必须为整数。
    10. 关键字属于标识符。(关键字不能做变量名也不能做函数名)
    11.数值型常量有整型常量、实型常量但均有正负值之分。
    12.语言的预编译处理可以可以用符号名代表一个常量定义是不必指定常量类型。
    13.实型常量又称实数或浮点数。在C语言中可以用单精度型和双精度型两种形式表示实型常量,分别用类型名float和double进行定义。实型常量在一般的微型集中占用4个字节,一般形式或者指数形式,数值范围都是-1038~1038,有效数字是7位。(不能是整形数据,如0)(常量的类型可以从字面上区分)(1为整型常量)(1.0为实型常量)(a为字符型常量)
    14.\0为八进制数,所以\09是错误的。
    15.字符常量在内存中占1个字节,字符常量可以进行关系运算。不能参与数值运算,可以参与任何整数运算。
    16.不能用字符串常量对字符数组名进行整体赋值操作。
    17.可以使用字符串常量来给一维数组进行复制。
    18.关于字节大小的问题

    16位编译器:char 1个字节  char* 2个字节 int 2个字节 float 4个字节 double 8个字节
    32位编译器:char 1个字节  char* 2个字节 int 4个字节 float 4个字节 double 8个字节
    64位编译器:char 1个字节  char* 2个字节 int 4个字节 float 4个字节 double 8个字节
    

    19.10进制转8进制,手算用 除8取余数法得
    20.十进制转十六进制为:除十六取余直到商为0,余数从后往前读。
    21.%f代表单精度浮点型数据(float),%lf代表双精度浮点型数(double)。
    单精度浮点数有效数字保证6位,部分7位,双精度浮点数有效数字保证15位,部分16位。
    22.sizeof可以看成是一个无符号整型表达式(sizeof为字节运算符)
    23.强制运算符:(类型名)(表达式) 逗号运算符:, 条件运算符::? :
    24. 赋值运算符左边必须是(一个)变量。
    25.a=bc,先运算bc,这个表达式的含义是,若b与c相等,那么得出的值为1,若不等则为0.
    26.“^” 按位异或 两数的二进制对应位相同,则为0,不同则为1.
    27.“|” 按位或 两个二进制中只要有一个为1,则结果为1。
    28.“~” 按位取反 二进制 0变1,1变0.
    29. “&”按位与 两个二进制都为1,则该位的结果为1,否则为零
    【 零的按位取反是 -1(0在数学界既不是正数也不是负数)
    所有正整数的按位取反是其本身+1的负数
    所有负整数的按位取反是其本身+1的绝对值 】
    30.位运算的对象只能是整形或字符型数据
    31.||逻辑或 前后条件只要有一个满足则为真。
    32.&&逻辑与 前后条件同时满足表达式为真。
    33.再用||的地方一般可以用|代替,但是用|的地方不能用||代替。
    34.“&”取地址运算
    35“”指针运算符
    36.p是指针变量,则&p是变量p的地址
    37.p是指针变量,则
    p是变量p所指向地址的值
    38.基类型不同的指针变量不可以相互混用
    39.函数的类型可以是指针类型
    40.函数的参数可以是整型、实型、字符型、指针类型。
    41.在这里插入图片描述

    42.C语言是一种计算机高级语言。
    43.C语言允许直接访问物理地址,能进行位操作。
    44.C语言是结构化程序设计语言
    45.c程序要通过编译,连接才能得到可执行的目标程序
    46.用c语言编写程序,可以编写出任何类型的程序
    47.C语言允许有空函数
    48.C程序书写格式,允许一行内可以写几个语句
    49.C程序的语句无行号(C语言中给源程序加行号;行号是用来定位代码的,指文件在几行)
    50.C语言的每个语句的最后必须有一个分号
    51.C语言本身没有输入输出语句(没有特定的输入输出语句)
    52.C语言可用来编写应用软件,也可用来编写系软件
    53.TurboC是在微机上广泛使用的编译程序
    54.C语言的数据结构是以数据类型形式出现的(不是常量和变量)
    55.空类型是C语言的一种数据类型
    56.C语言中数据有常量和变量之分
    57.利用指针和结构体类型可以构成表、树等复杂的数据结构
    58.在C程序中对所用到的所有数据都必须指定其数据类型
    59.c程序运行过程中,其值不能被改变的量称为常量
    60.在程序运行过程中,其值可以改变的量称为变量
    61.C语言可以用一个标识符代表一个常量,称为符号常量
    62.C语言规定标识符只能由字母、数字和下划线三种字符组成
    63.C语言整型常量可用十进制整数、八进整数和十六进制整数三种形式表示
    64.在现微机上使用的C编译系统,每一个整型变量在内存中占2个字节
    65.整型变量的基本类型符为int
    66.在微机上,一个长整型变量在内存中占4个字节(float型变量在内存中占4个字节)
    67.一个int型变量的最大允许值为32767
    68.在一个整常量后面加一个字母“L”或“1”.则认为该常量是longint 型常量
    69.C语言实型常量可用二进制小数和指数二种形式表示
    70.C语言实型变量分为:float型、double型、long double型三类
    71.C语言doule型一个变量的数值有效数字是16位
    72.C语言的字符常量是用单引号括起来的一个字符
    73.C语言的转义字符是以一个“\”开头的一种特殊形式的字符常量
    74.C语言中换行符使用’\n’,这是一个转义字符
    75.转文字符\r的含义是回车。
    76.C语言的字符型变量只能存放一个字符
    77.C语言允许字符数据与整数直接进行算术运算
    78.C语言允许在定义变量的同时使变量初始化
    79.C语言允许整型、实型、字符型数据间可以混合运算
    80.C语言规定两个整数相除的结果为整数
    81.用求余运算符“%”作运算,运算符两侧均应为整型数据
    82.用算术运算符和括号将运算对象按C语法规则组成的式子,称为C算术表达式
    83.算术运算符的结合方向为“自左至右”
    84.强制类型转换时,原来变量的类型未发生变化
    85.自增、自减运算符的结合方向为“自右至左”
    86.自增运算符只能用于变量,不能用于常量或表达式
    87指针.自增(减)运算符也可以用于指针变量,使指向下一个地址
    88.运算符“=”的作用是将一个数据赋给一个变量
    89.运算符“”的作用是将两侧数据是否相等
    90.赋运算符的结合方向是“自右向左”
    91.凡是二目运算符,都可以与赋值运算符一起组合成复合赋值运算符
    92.运算符“
    ”的作用是将一个数据赋给一个变量
    93.C语言不允许将实型数据赋给整型变量
    94.一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式
    95.一个C程序可以由若干个源程序文件组成
    96.一个源文件可以由若千个函数和预处理命令以及全局变量声明部分组成
    97.空语句是C语言的一种语句
    98.复合语句中最后一个语句中最后的分号不能省略不写
    99.putchar函数的作用是向终端输出一个字符
    100.getchar函数的作用是从终端输入一个字符
    101.格式输出函数(print)一次可以输出多个数据
    102.printf函数的%ld格式参数,用来输入出长整型数据
    103.printf函数的%o格式参数,用来以8进制数形式输出整数
    104.printf函数的%f格式参数,用来以小数形式输出实数
    105.printf函数的%x格式参数,可以输出指定参数的16进制形式
    106.printf函数的%s格式参数,用来输出一个字符串
    107.C语言不是面向对象的程序设计语言
    108.printf函数的%e格式参数,以指数形式输出实数
    109.C语言单精度数的有效数一般为7位
    110.printf函数的%g格式参数
    111.%g是C语言printf()函数的一个输出格式类型,它表示以%f%e中较短的输出宽度输出单、双精度实数,在指数小于-4或者大于等于精度时使用%e格式
    112.p++是指下一个地址。
    (p)++是指将p所指的数据的值加一。
    C编译器认为
    和++是同优先级操作符,且都是从右至左结合的,所以p++中的++只作用在p上,和(p++)意思一样;在(p)++中,由于()的优先级比和++都高,所以++作用在()内的表达式*p上。比如有:
    int x,y,a[]={1,2,3,4,5},*p=a,*q=a;
    x=*p++;//执行这一句后x=a[0]=1,p=a+1
    y=(*q)++;//执行这一句后,y=a[0]+1=2,q仍然=a
    113. printf函数的附加格式说明字符“m”的含义是指输出数据的最小宽度
    114.scanf函数中的“格式控制”后面应当是变量地址(不是变量符)
    115.逻辑运算符>算术运算符>关系运算符>条件运算符>赋值运算符(罗算管调幅)
    116.条件运算符的结合方向是“自右向左"
    117.if语中又包含文可以转在电百度网点电 平句的嵌套
    118.条件运算符要求有3个操作对象,称为三目运算符
    119.条件表达式中三个表达式的类型可以不同
    120.switch语句是多分支选择语句
    121.switch语句中每一个case的常量表达式的值必须互不相同
    122.switch语句执行完一个case后面的语句后,流程控制转移到下一个case继续执行
    123.switch语句中多个case可以共用组执行语句
    124.goto语句为无条件转向语句
    125.C语句的循环语句中循环体如果包含一个以上的语句,必须以复合语句形式出现bre
    126.for循环语句中的3个表达式都可以省略
    127.C语句的一个循环体内允许又包含另一个完整的循环结构
    128.break语句不能用于循环语句和switch语句之外的任何其它语句中
    129.continue语句的作用是结束本次循环(而不是终止整个循环)
    130.C数组中的每一个元素都必须属于同一个数据类型
    131.C数组必须先定义,然后使用
    132.C语言规定只能逐个引用数组元素而不能一次引用整个数组
    133.在定义一维数组时可以只给一部分元素赋初值
    134.对二维数组初始化,可以分行给数组赋初值
    135.可以对二维数组的部分元素赋初值
    136.字符数组中的一个元素只存放一个字符
    137.如果一个字符数组中包含一个以上结束符’\0”,则遇第一个’\0’时输出就结束
    138.puts函数的作用是将一个字符串输出终端
    139.gets丽数的作用是从终端输入一个字符串到字符数组
    140.strlen 函数是测试字符串长度的函数
    141
    strcat函数是“字符串复制函数”。X
    strcpy函数是“字符串连接函数”。X
    strcmp函数是“字符串复制函数”。X
    strlwr函数是测试字符串长度的函数。X
    strupr函数是测试字符串长度的函数。X
    142.C程序一个函数可以被一个或多个函数调用多次
    143.一个C程序可由一个主函数和若干个其它函数构成
    144.C程序以源程序为单位进行编译(而不是函数)
    145.C程序由一个或多个源程序文件组成
    146.C语言在定义函数时是互相独立的,不能嵌套定义
    147.在调用有参函数时,主调函数和被调用函数之间有数据传递关系
    148.在调用一个函数的过程中又出现直接或间接地调用该函数本身称为函数的递归调用
    149.在一个函数内部定义的变量是内部变量,称为局部变量
    150.在函数之外定义的变量称为外部变量,是全局变量
    151.从变量的作用域角度来分,可以分为全局变量和局部变量(而不是静态和动态变量)
    152.静态存储方式是指在程序运行期间分配固定的存储空间的方式
    153.存储方法分为两大类:静态存储类和动态存储类
    154.C语言允许将局部变量的值放在CPU中的寄存器中,这种变量称为“寄存器变量”
    155.局部静态变量不能定义为寄存器变量
    156.如果一个函数只能被本文件中其它函数所调用,称为内部函数
    157.C源程序中的预处理命令,它不是C语言本身的组成部分
    158.宏定义不是C语句,在行末不加分号
    159.宏定又是用宏名代替一个字符串,只作简单的置换,不作正确性检查
    160.在进行宏定义时,可以引用已定义的宏名
    161.宏替换不占程序运行时间,只占编译时间
    162.文件包含处理是指个源文件可以将另一个的全部内容含进来源文件包
    163.一个include命令只能指定一个被包含文件
    164.存放变量地址的变量是指针变量
    165.C语言中变量的指针就是变量的地址
    166.函数的参数也可以是指针变量
    167.指针变量可以指向变量,也可以指向数组和数组元素
    168.引用数组元素可以用下标法,也可以用指针法
    169.用指针变量可以指向一维数组,也可以指向多维数组,用指针变量也可以指向一个函数
    170.一个函数可以带回一个整型值、字符值或实型值,也可以带回指针型的数据
    171.指针数组中的每一个元素都相当于一个指针变量
    172.指针数组中的每一个元素都相当于一个整型变量
    173.指针变量可以有空值,即该指针变量不指向任何变量
    174.若两个指针指向同一个数组的元素。则两指针变量可以进行比较
    175.用户自己定义一个结构教型后们其中并无具体数据
    176.在程序中使用的可和百网时 定义结构体类型的变量
    177.结构体类型的成员也可以是一个结构体变量
    178.结构体成员名可以与程序中的变量名相同
    179.不能将一个结构体变量作为一个整体进行输入和输出
    180.对结构体变量的成员可以像普通变量一样进行各种运算
    181.可以引用结构体变量的地址
    182.可以引用结构体变量成员的地址
    183.结构体数组的每个元素都是一个个结构体类型的数据
    184.对结构体数组可以初始化,即赋初值
    185.可以定义一个指针变量,用来指向一个结构体变量
    186.指针可以用结构体变量作链表中的结点
    187.malloc函数的返回值是一个指向分配域起始地址的指针
    188.建立动态链表是指在程序执行过程中从无到有地建立起一个链表
    189.使几个不同的变量共占同一段内存的结构,称为共用体类型的结构
    190.共用体变量所占的内存长度等于最长的成员长度
    191.定义了共用体变量,只能引用共用体变量中的成员(不能引用公用体变量)
    192.共用体变量的地址和它的各成员的地址都是同一地址
    193.共用体类型可以出现在结构体类型定义中
    194.结构体类型可以出在共用体类型定义中
    195.在C编译中,对枚举元素按常量处理
    196.一个整数不能直接赋给一个枚举变量
    枚举类型在C#或C++,java,VB等一些计算机编程语言中是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中是一种构造数据类型 。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
    枚举可以根据Integer、Long、Short或Byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值。
    197.可以用typedef声明新的类型名来代替已有的类型名
    198.位运算的运算量只能是整型或字符型的数据
    200.位运算符与赋值运算符可以组成复合赋值运算符
    在 C 语言中, 一种方法是用叫做位段的构造类型来定义一个压缩信息的结构。
    201.已有定义int (*p)( );指针p可以指向函数的入口地址
    202.C语言中运算对象必须是整型的是%=
    203.int *p 表达的是p是指向int型数据的指针。
    204函数rewind的功能是将文件指针重新指向一个流的开头(即使文件指针重新返回文件的开始位置),int rewind(FILE *stream);并且无返值。
    205.如果函数值的类型与返回值类型不一致,以函数值类型为准
    206.c语言中形参和实参类型不一致时以形参的类型为准
    207.形参应该是函数声明的时候就已经定义好
    208.若有定义int t[3][2],能正确表达t数组元素地址的是–t[2]+1
    209.int[]={1,2};
    210.C语言中的循环语句有for,while,do-while和goto,,***不是if、switch、break
    211.不正确的赋值语句是—ch‘a+b’,正确的是ch=‘\0’ ch=‘7’+‘9’ ch=7+9
    212.正确的赋值语句x3=12;
    213.C语言逻辑运算时,0为假,非0为真
    214.字符串常量是以双引号扩起来的字符序列“a”(其他C语言常量‘\n’ 012)(e-2不是C语言常量----实数的指数形式中,e后面必须有一个整数)

    301.一个位段必须存储在同一存储单元中
    302.位段的长度不能大于存储单元的长度
    303.一个c程序由若干个函数构成,其中有且仅有一个主函数
    304.指针变量中存放的是它所指对象的地址
    305.在C语言中,分号是语句的必然组成部分
    306.结构体变量所占空间是各成员所占空间之和
    307.数据文件可顺序读取,也可借助文件的定位操作实现随机读取
    308.从用户的角度上讲,类型的含义是规定了该类型变量的取值范围和运算范围
    309.c语言中,变量和函数均具有类型和存贮类别两个属性
    340.顺序结构>选择结构>循环结构
    341.函数返回值的类型是由函数定义时指定的类型
    342.*与s[]相等
    343.当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数和整型数值等。
    344. getchar函数没有参数
    345.静态储存方式是在程序运行期间分配固定的储存方式的方式
    356.局部静态变量不能定义为寄存器变量
    357.不能把共用体变量作为函数的参数
    358.一个整数不能直接赋给一个枚举变量
    359.int *p=a 是对指针变量p的正确定义和初始化。
    360.Char s[]=”china”;
    Char p;
    P=s;
    p与s[]相等
    有int [],*p=a
    则p+5表示元素a[]的地址
    361.C语言中,退格符是\b
    362.C语言中,变量的隐含储存类别是auto
    363.实际参数和形式参数可以同名
    364.函数调用可以作为一个函数的形参
    365.结构化程序设计的3中结构是-顺序结构、选择结构、循环结构
    366.当从键盘输入数据时整型变量可以输出整型值和字符,对于实型变量可以输入实型数和整型数值
    367.C语言中逗号运算符的优先级最低,指针最优,单目运算优于双目运算。如正负号。
    先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.
    逻辑运算最后结合。
    368.C语言区分定义变量名的大小写
    369.设有如下定义:
    struck sk
    { int a;
    float b;
    } data;
    int *p;
    若要使P指向data中的a域,正确的赋值语句是(C)A、 p=&a; B、 p=data.a; C、 p=&data.a; D、 *p=data.a;
    370.double)a是将a转换成double类型;(int)(x+y)是将x+y的值转换成整型。
    371.设有以下说明语句:
    struct stu
    {
    int a;
    float b;
    }
    stutype;
    则下面叙述不正确的是( )。
    A) struct是结构体类型的关键字
    B) structstu是用户定义的结构体类型
    C) stutype是用户定义的结构体类型名
    D) a和b都是结构体成员名
    答案解析
    定义一个结构的一般形式为:
    struct结构体名
    {
    成员列表
    }变量名列表;
    本题中的stutype是在声明结构体类型structstu的同时定义的该结构体变量,而不是用户定义的结构体类型名。类型与变量是不同的概念; 2)对结构体中的成员,可以单独使用,它的作用与地位相当于普通变量;3)成员也可以是一个结构体变量; 4)成员名可以与程序中的变量名相同,二者不代表同一对象。
    372.C语言中的数据类型是指-函数返回值的数据类型
    373.C程序设计语言的基本成分是数据成分、运算成分、控制成分、传输成分。
    374.while(t=1)循环控制表达式的值为1。
    375.printf(++x);表示地址所连接的数值加1.
    376.int[3][4]; 表示a为3行
    4列的数组,它可用的最大行下标为2,列下标最大为3;
    若是引用a[0][4],则超过了数组的范围
    377.若有如下说明和定义
    struct test
    {
    int ml; char m2; float m3;
    union uu
    {
    char ul[5]; int u2[2];
    }
    ua;
    } myaa;
    则sizeof(struct test)
    的值是A.12 B.16 C.14 D.9
    正确答案:A
    在本题中,首先定义了一个结构体。在该结构体中,定义了一个整型变量成员、一个字符型变量成员和一个浮点型变量成员,并在结构体中定义了一个联合体变量成员,联合体变量成员中又包含两个联合体成员数组。题目最后要求计算该结构体变量所占的存储空间。
    在C语言中,联合体变量中的所有成员共享存储空间,联合变量的长度等于各成员中最长的长度,因此,本题的联合体部分所占的长度为5,但是结构体与联合体不一样的是,结构体不能共享空间,一个结构体变量的总长度是各成员长度之和,因此,该结构体所需的存储空间为5+1+2+4=12。本题的正确答案选A。
    378.静态储存类别的关键词是static
    379.C语言中提供了存储说明符auto,register,extern,static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块是被建立,它在该程序块活动时存在,退出该程序块时撤销。
    380.fseek(文件指针,位移量,起始点)
    “起始点”用0,1或2代替,0代表“文件开始”,1为“当前位置”,2为“文件末尾”。“位移量”指以“起始点”为基点,向前移动的字节数。ANSIC和大多数C版本要求位移量是long型数据。这样当文件的长度大于 64k时不致出现问题。ANSI C标准规定在数字的末尾加一个字母L,就表示long型。
    381.若有定义:int (*p)[4];则标识符p ,是一个指针指向一个含有四个整形元素的一维数组。
    382.基本数据类型:整型、实型、字符型
    383.EOF是指向文本文件的结束标志,NULL是打开文件错误时的返回值。feof(fp)用来判断文件是否在文件末尾,文本文件和二进制文件均可以使用此函数,如果遇到文件结束就返回1,否则返回0。
    384.C语言的函数可以嵌套调用
    385.标准库函数fgets(s,n,f)的功能是什么–从文件f中读取长度不超过n-1的字符串存入指针s所指的内存。
    从流中读一行或指定个字符,
    原型是char *fgets(char *s, int n, FILE *stream);
    从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。
    形参注释:*string结果数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针
    说得简单一点就是从f这个文件输入流中读取n-1个字符,存到s中。
    如果一行的字符数小于n-1,那么就是一行的字符数,所以应该理解为不超过n-1,如果一行的长度大于n-1,就是n-1个字符
    386.
    1、数据计算类型不同。基本数据类型分为三类:整数型(定点型)、实数型(浮点型)和字符型。除了基本数据类型,还有构造类型(数组、结构体、共用体、枚举类型)、指针类型、空类型void。
    2、各种数据类型的关键词不同。short、long、int、float、double、char六个关键词表示C语言里六种基本数据类型。
    3、不同数据类型占用内存的大小不同。short占2byte,int占4byte,long占4byte,float占2byte,double占8byte,char占1byte(不同的平台可能占用内存大小不一样,具体的可以用sizeof 测试下)。
    387.一个可以没有变量定义和执行部分,例如空函数

    展开全文
  • VB中各种数据类型转换函数

    千次阅读 2010-04-26 22:09:00
    十进制就是我们日常生活用到的数据进制,因此也是我们熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用物理器件实现二进制;八进制和十六进制因为和二进制的天然的亲密关系,并且表示比二进制更方便, 1. ...

    1. 各种进制转换函数 一般的数据进制包括十进制,二进制,十六进制.十进制就是我们日常生活用到的数据进制,因此也是我们最熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用物理器件实现二进制;八进制和十六进制因为和二进制的天然的亲密关系,并且表示比二进制更方便,

      1.

     各种进制转换函数

      一般的数据进制包括十进制,二进制,十六进制.十进制就是我们日常生活用到的数据进制,因此也是我们最熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用物理器件实现二进制;八进制和十六进制因为和二进制的天然的亲密关系,并且表示比二进制更方便,因而也成为计算机的常用表示方法.

      VB中涉及到的数据进制之间的转换函数主要有如下几个:

      Hex 函数返回代表十六进制数值的 String;

      Oct 函数返回代表一数值的八进制值的Variant (String);

      Cint函数强制将一个表达式转换成-32,768 至 32,767的整型;

      CLng函数强制将一个表达式转换成-2,147,483,648 至 2,147,483,647的长整型;

      Cdec函数强制将一个表达式转换成Decimal 数据类型;

      CDbl函数强制将一个表达式转换成Double 数据类型;

       以上这些函数是最基本的几个数据进制之间的转换函数,其中以前三个函数最常用,也最有用.从上面几个函数我们可以看到,VB中没有为我们提供专门的函数供我们将表达式或是数据转换成十进制和二进制,不过十进制的转换我们可以通过Cint函数轻松完成,而二进制的实现我们可以通过二进制和八进制,十六进制的关系轻松转换.

       下面几个例子为Hex函数和Oct函数以及Cint函数的实例:

    (1).  A= hex(5) 返回5;(2).  B=hex(10) 返回A(3).  C=hex(23) 返回17(4).  D=oct(5)  返回5(5).  E=oct(10) 返回12(6).  F=oct(23)  返回27(7).  G=Cint(&H17) 返回23(8) .  H=Cint(&O12) 返回10

       以上这些函数的应用比较简单,就不多说了,值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行:

      C=17   17为十六进制数值的String

      C=&H” & C

      Ic=Cint(C)  返回23

      2. 字符串和数字转换函数

       VB中的字符串函数比较多,也比较方便,就不一一介绍了.本文主要对字符串相关的

      转换函数做一些小结.字符串转换的函数主要有:

       Str()Val()用于字符串和数字的相互转换;

      Chr()Asc()用于字符串和AscII码的相互转换;

      Chrw()Ascw()用于Unicode码和中文的相互转换;

       Format()函数用途十分广泛的一个函数,功能十分强大.

       在这些函数中前两对和Format()函数是我们经常用到的,这里只给出前两对的几个简单例子:

      (1) MyString = Str(-459.65)  返回 "-459.65"

       MyString = Str(459.001)  返回 " 459.001"

      (2) MyValue = Val(" 2 45 7")  返回 2457

       MyValue = Val("24 and 57")  返回 24

      (3) MyChar = Chr(97)  返回 a

       MyChar = Chr(37)  返回 %

      (4) MyNumber = Asc("Apple")  返回 65

       MyNumber = Asc("a")  返回 97

      Format函数功能十分强大,大家可以察看msdn相关说明.本文重点想说一下第三对函数,这是经常被大家忽视的一对函数.在我开发手机短信时,最开始时就是用text模式开发的,后来由于发中文改成pdu模式,pdu模式有三种形式可用:7-bits,8-bits,ucs2.前两种都是表复杂的,涉及到编码函数的设计,这里就不多说了,我用的是ucs2编码,发现只要使用第三对函数就能完成pdu串的编码和解码.这对函数的使用和第二对完全相同,下面举几个例子说明(以下代码从vb的立即窗口里得到):

    ?ascw("")  20013?ascw("") 26524?ascw("e") 101?chrw(101)e?chrw(26589)

    展开全文
  • 按F1获取帮助,你会了吗?...是基本类型中唯一的引用类型。 System.String类有多个构造函数和共享处理方法。不同于旧的VB6.0,System.String类使用方法而不是函数来处理字符串。当然,为了兼容老版本的VB6.0,...

    光标定位到想获取帮助的关键词后按F1获取帮助,你会了吗?如图所示:
    帮助
    从帮助页面里可以看到,在.NET Framework中字符串对应的类型是System.String类。
    在这里插入图片描述
    点击进入System.String类的帮助页面。
    字符串(System.String类)是 Unicode 字符的有序集合,用于表示文本,即一系列 Unicode 字符。是基本类型中唯一的引用类型。
    System.String类不同于旧的VB6.0,System.String类使用方法而不是函数来处理字符串。当然,为了兼容老版本的VB6.0,还是可以用函数来处理字符串的,不过这些函数并不包含在System.String类,而是Microsoft.VisualBasic.Strings 类中。据说C#是不使用Microsoft.VisualBasic.Strings类的,所以为了兼容其他编程语言,建议尽量使用System.String类处理字符串。
    一、构造函数——实例化字符串对象
    System.String类有多个不同的构造函数,能够实现给字符串简单赋值以外的功能。如图:
    构造函数
    1、默认构造函数
    String()是默认的构造函数,但String类并没有显式的提供这个构造函数。创建字符串实例最常用的方法是直接将一个字符串赋给String变量。如:

    dim str as string = "Hello World"
    

    2、其他构造函数
    如String(Char, Int32)构造函数可以将 String 类的新实例初始化为由重复指定次数的指定 Unicode 字符指示的值。

    Dim str As String = New String("A"c, 10)
    

    二、String方法
    String类提供用于比较字符串,测试字符串是否相等,查找字符或字符串,修改字符串,提取字符串的组合字符串,格式化值等方法。
    1、比较字符串
    您可以通过使用以下String方法比较字符串来确定二者在排序顺序中的相对位置:
    Compare 返回一个整数,指示一个字符串在排序顺序中第二个字符串的关系。
    CompareOrdinal 返回一个整数,指示一个根据其码位比较的第二个字符串的字符串的关系。
    CompareTo 返回一个整数,指示当前的字符串实例与第二个字符串在排序顺序中的关系。 CompareTo(String)方法提供IComparable并IComparable实现String类。
    复制粘贴帮助内容,做记号,没亲测。
    2、测试字符串相等
    在调用Equals方法来确定两个字符串是否相等。 实例Equals(String, String, StringComparison)和静态Equals(String, StringComparison)重载允许您指定比较是否区分区域性的或序号,以及是否考虑或忽略大小写。 为确定相等性的大多数测试是序号,并确定为系统资源 (如文件系统对象) 的访问权限为确定相等性比较应始终为序号。
    3、查找字符串中的字符
    String类包括两种类型的搜索方法:
    返回的方法Boolean值,以指示特定的子字符串中是否存在字符串实例。 其中包括Contains, EndsWith,和StartsWith方法。
    指示子字符串的字符串实例中的起始位置的方法。 其中包括IndexOf, IndexOfAny, LastIndexOf,和LastIndexOfAny方法。
    4、修改字符串
    (1)、Insert
    将字符串插入到当前String实例。
    Insert (int startIndex, string value)
    参数:startIndex:Int32,插入的从零开始的索引位置;value:String,要插入的字符串。
    返回:String,与此实例等效的一个新字符串,但在该字符串的 startIndex 位置处插入了 value。
    如:

            Dim str As String = "Hello World"
            Dim strInsert As String = str.Insert(5, " Hi")
    

    (2)、PadLeft
    返回一个指定长度的新字符串,其中在当前字符串的开头填充空格或指定的 Unicode 字符。
    PadLeft(Int32) 返回一个新字符串,该字符串通过在此实例中的字符左侧填充空格来达到指定的总长度,从而实现右对齐。
    PadLeft(Int32, Char) 返回一个新字符串,该字符串通过在此实例中的字符左侧填充指定的 Unicode 字符来达到指定的总长度,从而使这些字符右对齐。
    如:

            Dim str As String = "Hello World"
            Dim strPadLeft1 As String = str.PadLeft(20) '用空格填充左部
            Dim strPadLeft2 As String = str.PadLeft(20, "*") '用*号填充左部
    

    效果如图:
    在这里插入图片描述
    (3)、PadRight
    返回一个指定长度的新字符串,其中在当前字符串的结尾填充空格或指定的 Unicode 字符。
    与PadLeft用法相似。
    (4)、Remove
    返回一个新字符串,它相当于从当前字符串删除了指定数量的字符。
    Remove(startIndex) 删除此字符串中从指定位置到最后位置的所有字符。
    参数:startIndex——System .Int32 ,开始删除字符的从零开始的位置。
    返回值:System .String ——一个新字符串,除所删除的字符之外,该字符串与此字符串等效。
    Remove(startIndex, count) 从此实例中的指定位置开始删除指定数目的字符。
    参数:startIndex—— System .Int32 ,开始删除字符的从零开始的位置;count—— System .Int32 ,要删除的字符数。
    返回值:System .String ,一个新字符串,除所删除的字符之外,该字符串与此实例等效。
    如:

            Dim str As String = "Hello World"
            Dim strRemove1 As String = str.Remove(6) '删除第7至末字符
            Dim strRemove2 As String = str.Remove(0, 6) '删除第1-7字符
    

    效果如图:
    在这里插入图片描述
    (5)、Replace
    返回一个新字符串,其中当前字符串中出现的所有指定 Unicode 字符或 String 都替换为另一个指定的 Unicode 字符或 String。
    Replace(oldChar, newChar)
    参数:oldChar—— System .Char ,要被替换的 Unicode 字符;newChar——System .Char ,要替换出现的所有 oldChar 的 Unicode 字符。
    返回值:System .String ——与此实例等效的一个字符串,但其中 oldChar 的所有实例都替换为 newChar。
    Replace(oldValue, newValue)
    参数:oldValue——System .String,要被替换的字符串;newValue——System .String,要替换出现的所有 oldValue 的字符串。
    返回值:System .String,与当前字符串等效的一个字符串,但其中 oldValue 的所有实例都替换为 newValue。
    如:

            Dim str As String = "Hello World"
            Dim strReplace1 As String = str.Replace(" "c, ","c)
            Dim strReplace2 As String = str.Replace("Hello", "World")
    

    效果如图:
    在这里插入图片描述
    (6)、ToLower 和ToUpper
    如:

            Dim str As String = "Hello World"
            Dim strToUpper As String = str.ToUpper '全部大写
            Dim strToLower As String = str.ToLower '全部小写
    

    效果如图:
    在这里插入图片描述
    (7)、Trim 、TrimEnd和TrimStart
    Trim 开始位置和字符串的末尾移除所有空白字符。
    TrimEnd 删除字符串的末尾出现的所有字符。
    TrimStart 从字符串的开头移除所有空白字符。
    如:

            Dim str As String = " Hello World "
            Dim strTrim As String = str.Trim
            Dim strTrimEnd As String = str.TrimEnd
            Dim strTrimStart As String = str.TrimStart
    

    效果如图:
    在这里插入图片描述
    5、从字符串中提取子字符串
    (1)、Split(separator)
    如:

            Dim str As String = "A,B,C,D"
            Dim strSplit() As String = str.Split(",")
    

    参数:separator—— System .Char (),分隔此实例中子字符串的 Unicode 字符数组、不包含分隔符的空数组或 Nothing。
    返回: System .String (),一个数组,其元素包含此实例中的子字符串,这些子字符串由 separator 中的一个或多个字符分隔。
    (2)、SubString
    Substring(startIndex)
    参数:startIndex——System .Int32 ,此实例中子字符串的起始字符位置(从零开始)。
    返回值:System .String ,与此实例中在 startIndex 处开头的子字符串等效的一个字符串;如果 startIndex 等于此实例的长度,则为 Empty。
    Substring(startIndex, length)
    参数:startIndex—— System .Int32 ,此实例中子字符串的起始字符位置(从零开始);length——System .Int32 ,子字符串中的字符数。
    返回值:System .String ,与此实例中在 startIndex 处开头、长度为 length 的子字符串等效的一个字符串,如果 startIndex 等于此实例的长度且 length 为零,则为 Empty。
    如:

            Dim str As String = "Hello World"
            Dim strSubstring1 As String = str.Substring(4)
            Dim strSubstring2 As String = str.Substring(0, 4)
    

    效果如图:
    在这里插入图片描述
    6、串联字符串
    (1)、使用运算符&
    前面一直在用这个运算符,不再多说。
    (2)、Join 方法
    String .Join (separator,value)
    参数:separator—— System .String,要用作分隔符的字符串;value——System .String (),一个数组,其中包含要连接的元素。
    返回值:System .String,一个由 value 中的元素组成的字符串,这些元素以 separator 字符串分隔。
    如:

    Dim str() As String = {"a", "b", "c"}
            Dim a As String = String.Join(",", str)
            Console.WriteLine(a)
    

    测试效果:
    在这里插入图片描述
    三、String .Length 属性
    属性值:System .Int32 ,当前字符串中字符的数量。
    如:

    Module Module1
        Sub Main()
            Dim str As String = "Hello World"
            Dim int As Integer = str.Length
            MessageBox.Show(int.ToString)
        End Sub
    End Module
    

    效果如图:
    在这里插入图片描述
    四、String类不可变和 StringBuilder 类
    String类被定义为不可变的类,若对字符串进行改变或复制时,系统将分配新的内存空间来存储(原空间被回收机制回收),操作时间长。
    如:

    Module Module1
        Sub Main()
            Dim strA As String = "Hello World"
            Dim strB As String = ""
            Dim start As Date = Now()
            For i As Integer = 1 To 10000
                strB &= strA
            Next
            MessageBox.Show(Now().Subtract(start).TotalMilliseconds.ToString)
        End Sub
    End Module
    

    操作时间如图:
    在这里插入图片描述
    可以用.net库中的System.Text.StringBuilder类,它先分配一个较小的内存,当无法容纳时,再扩大这个内存,操作时间短。
    如:

    Module Module1
        Sub Main()
            Dim sb As New System.Text.StringBuilder("Hello World")
            Dim start As Date = Now()
            For i As Integer = 1 To 10000
                sb.Append("Hello World")
            Next
            MessageBox.Show(Now().Subtract(start).TotalMilliseconds.ToString)
        End Sub
    End Module
    

    操作时间如图:
    在这里插入图片描述

    展开全文
  • ORACLE数据库数据类型

    千次阅读 2019-11-28 17:51:42
    1、字符类型 • CHAR:一个定长字符串,当位数不足自动用空格填充来达到其最大长度。如非NULL的CHAR(12)总是包含12字节信息。CHAR字段最多可以存储2,000字节的 信息。 • VARCHAR2:目前这也是VARCHAR 的同义词。这...
  • 内容索引:VB源码,数据库应用,数据库 VB使用ADO+DataGrid 操作数据库的示例程序,这些操作几乎包括了的有的数据库常用操作,像简单的的添加、更新、删除、检索数据等,另外配合DataGrid,展示强大的数据列表的使用,...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    大家注意,这里我们实际定义了一个新的数据类型,为用户自己定义的数据类型,是对个人的特性和行为的描述,他的类型名为Person,和int,char等一样为一种数据类型。用定义新数据类型Person类的方法把数据和处理数据...
  • VB.NET,可以使用变量储存数据,例如储存学生姓名: dim strname as string=&amp;amp;quot;张三&amp;amp;quot; 可以声明多个变量来储存三年级1班全部学生姓名,为了方便,给每个学生编了号: dim 三...
  • Java输入输出流

    千次阅读 多人点赞 2017-02-18 17:07:20
    println或print方法都通 过重载实现了输出基本数据类型的多个方法,包括输出参数类型为boolean、char、int、long、float和double。同时,也重载实现 了输出参数类型为char[]、String和Object的方法。其中,print...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
  • ETL详细讲解

    千次阅读 2019-08-27 23:04:35
    ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。 通常情况下,在BI项目ETL...
  • vb.net中类型转换函数

    万次阅读 2013-12-05 15:11:44
    一、函数名确定它返回的值的数据类型,如下表所示。 函数名 返回数据类型 expression 参数范围 CBool Boolean 数据类型 (Visual Basic) 任何有效的 Char、String 或数值表达式。 CByte ...
  • 【机房收费系统】VB中如何将数据导入excel2013

    千次阅读 热门讨论 2015-08-24 10:24:02
    数据的问题几乎贯穿每个系统的始终,数据输入,程序进行数据处理,然后数据输出,整个系统就完了……前几篇博客讲了数据处理的增删改查,今天,再来分享一种数据可视化的方法——将数据导出至excel表格。...
  • VB中String的用法及原理

    千次阅读 2018-08-24 12:43:00
    在各种不同开发语言,字符串类型显然是常见,也是常用的。常用代表它易用,是这样吗?未必,越简单,越普通,你会忽视,内里隐藏着的陷井更容易使你中招。它往往是绊脚石,或者程序性能的瓶颈。本身,我对VB...
  • VB6生成随机数

    千次阅读 2020-05-17 09:20:52
    但是可以肯定的是,在VB6生成一个随机数(更正确地说是一个伪随机数)会更简单 。 您只需调用Rnd()函数。 此示例表单将执行相同的操作-每次单击按钮,它将显示1到10之间的随机数。 若要使用此代码,请在VB6...
  • VB.NET 教程_01_基础语法

    万次阅读 多人点赞 2018-08-08 00:48:58
    VB.Net是一种简单,现代,面向对象的计算机编程语言,由微软开发,将.NET Framework和公共语言运行库的强大功能与作为Visual Basic标志的生产力优势相结合。 Visual Basic .NET(VB.NET)是在.NET Framework上...
  • vb数据类型(很多程序出问题出在这个,一定要看,VB msdn说的不太对) VB可用的AES加密sqlite_odbc 及 cairo_sqlite (VBRichClient自带的非odbc连接) 有vbRichClient代替winsock、实现vb多线程及远程调用activeX等
  • MATLAB数据类型结构

    千次阅读 2019-09-08 17:40:14
    原 MATLAB数据类型 ...
  •  前段时间由于该控件基于微软的MSCOMM控件,这个控件如果系统没有安装VB,单独注册好像很难成功,这害的一些没有装VB的用户,为了这个小控件必须安装一次VB,这实在是划算不来,所以直接用API串口函数进行了封装...
  •   vb6存在几个虚幻的值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值的含义。 1、Null Null指一个不合法的数据,判断一...
  • vb6判断一个变量值是否为空

    千次阅读 2020-09-17 14:08:31
    vb6存在几个虚幻的值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值的含义。 1、Null。 Null指一个不合法的数据,判断一个...
  • VB.NET时间日期数据处理及技巧

    千次阅读 热门讨论 2012-01-29 11:28:03
    我们在编程,通常都需要处理时间日期数据,这也是一种比较难于处理的数据类型,因为时间日期类型的结构相当复杂,并且还有一定的规则,如果在定义的时候不符合规则,程序在编译的时候就会出错。在Visual Basic ...
  • 下面的文章对IDL中简单参数传递基本介绍到了, 包括自定义结构、数组、字符串、枚举等。仔细看看吧。 一、COM接口所支持的数据类型 表一:各种语言平台支持的数据类型的比较 Visual C++ Visual ...
  • C#异常处理和数据类型转换

    千次阅读 热门讨论 2015-11-06 18:27:49
    对于异常处理进行简单的总结,顺便提一下数据类型转换
  • VB进行串口实时数据采集

    千次阅读 2008-08-05 21:19:00
    本文介绍VB6.0利用MSComm通信控件,开发微机通过串口对工业仪表进行实时数据采集的编程技术。给出的程序代码具有通用性,并有详细的注释,可以直接或稍加改动后用于其他数据采集或实时控制程序。 ----一台工业专用...
  • vb 指针的操作

    千次阅读 2016-08-10 16:37:32
    VB指针教程1 '先理解下变量的地址与指向这个地址的值。xx省xx市xx街xx号就是一个地址, '指向这个地址的值就是这个地址就有什么。...'演示一个非常简单的指针操作,让大家在VB使用指针有个基本的了解。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,515
精华内容 15,406
关键字:

vb中最简单的数据类型包括