C/C++学习,经验中的C/C++问题,C/C++工程
                
    C++名字的作用域
    
                
摘要:首先,看一下以下代码:int i = 1; //全局作用域变量ivoid Print();int main(int argc, char* argv[]){ cout<<"i="<< i<<endl; //语句1 int i = 10; //局部作用域变量i int j = i; //局部作用域变量j cout<<"i="<< i<<endl; //语句2 cout<<"j="<< j<<endl; //语句5 for(int 
        
阅读全文
                    posted @ 
2012-12-04 21:46 
烤德
        
阅读(373) 
         
        推荐(0)     
                 
                
                
    C++内置算术类型使用选择技巧
    
                
摘要:首先,我们看看在Java语言中,一个较为经典的问题。shorts = 1;s= s+1;读者认为上述程序执行后,s的值是多少?如果稍不注意,我们很容易的得到答案是s的值为2.但是,实际上上述程序根本就不会编译通过。为什么呢?原因是:1)java程序中,关于算术类型进行四则运算时,所有小于int类型的数进行运算时,其结果将转换为int类型,这是因为在计算时是按照机器字长进行的;2)Java类型转换非常严格,自动转型只能是从小类型到大类型进行,若反过来必须进行强制转型,即在前面加上强制转型运算符,例如,s=(short) (s+1);但如果上述程序是这样的,short s=1;s+=1;则程序运行
        
阅读全文
                    posted @ 
2012-11-23 00:16 
烤德
        
阅读(316) 
         
        推荐(0)     
                 
                
                
    C/C++整型,定义、表示、范围,再看整型
    
                
摘要:今天复习到C++的变量与基本类型,再看整形。 一般情况下,我们会认为表示整数的数据类型叫做是整型,但实际上,C++中的整型包括表示整数、字符和布尔值的算术类型。理解这一点很简单,首先,整数就是通常指的整数,比如-655536,-200,-100,0,50,65535等;而字符char类型的数据也是可以参加算术运算的,比如,字符'a'等于整型97的,可通过if('a'==97) cout<<"Yes"<<endl;验证,程序输出是YES,表示字符'a'与整数97是相等的;布尔bool类型也是可以参与算术运
        
阅读全文
                    posted @ 
2012-11-21 23:58 
烤德
        
阅读(4380) 
         
        推荐(0)     
                 
                
                
    数组的边界问题与不对称边界
    
                
摘要:当编写程序时,我们会经常使用到数组,数组是编程经常用到的数据存储结构。现在,假设我们要使用拥有10个元素的数组,通常情况下我们会面临着怎么定义数组?如何访问数组的元素?如何通过下标访问数组元素?数组的上界和下届等问题。首先来看看Basic语言是如何定义数组的,以定义10个整形元素为例。则数组定义为Dimarr(9)asInteger。arr为数组名,9为数组上界,默认下界为0。如果定位Dimarr(10)asInteger,则arr拥有11个元素。当然Basic同时也支持指定上界和下界的定义形式,如Dimarr(1to10)asInteger。但在主流的C、C++、java语言中,上述这个数组
        
阅读全文
                    posted @ 
2012-11-20 22:01 
烤德
        
阅读(952) 
         
        推荐(0)     
                 
                
                
    If语句,C、C++、Java
    
                
摘要:如果有以下if语句如下,请问该程序是否会会编译通过?intx,y=10if(x=y)x=y;经过笔者验证,在C、C++中是可以编译通过的,但是在java中编译不通过,原因在于if语句括号内的判断条件表达式需要返回一个布尔值。而C语言则把整数值0认为“假”,把不是整数0的统统认为“真”。C++兼容C的特点,所以即便是if(“xxxx”)也可以编译通过,而且判定为true。但是java严格要求if(条件表达式)语句括号内的语句一定的条件表达式是boolean值,所以对于该题的例子程序是无法编译通过的。
        
阅读全文
                    posted @ 
2012-11-20 21:58 
烤德
        
阅读(316) 
         
        推荐(0)     
                 
                
                
    for语句剖析
    
                
摘要:在编写程序中,通常都会用用到For循环,那么到底For语句是如何执行的?当然,有一定编程经验的人都会知道,for语句是一个实现循环执行的程序块,for结构一般大致如:for(表达式1;表达式2;表达式3)语句;或者for(表达式1;表达式2;表达式3){语句块;}其中,表达1一般是用于变量的初始化;表达式2主要是用于控制循环,如果表达式2的计算结果是true,则继续执行循环体,否则结束循环;表达式3一般用于变量的自增运算;例如,简单的输出1到10的。程序为:for(inti=1;i<=10;i++)printf("%d",i);在上面的程序中,在执行for(inti=
        
阅读全文
                    posted @ 
2012-11-20 21:55 
烤德
        
阅读(271) 
         
        推荐(0)