1、OC语言的基本特点
(1)OC语言是C语言的一个超集,只有在C的基础上加上了面向对象的特点;
(2)OC与Java语言相同都是单继承,这一点与C++语言不同,C++语言是多继承;
(3)OC不支持命名空间机制,取而代之的是在类名之前添加前缀。
2、解释id类型
(1)OC的数据类型可以分为基本数据类型、对象类型和id类型;
(2)id可以指向任意OC对象类型,程序运行时才决定对象的类型。
3、switch语句每一句case都需要添加break语句吗?
switch语句中的break语句不是必须的,此外,default语句也不是必须添加的,如果在某一个条件case语句之后添加break语句,即当条件满足时,跳出switch语句。
4、switch语句和if语句区别与联系以及它的优势在哪里?
都表示条件的判断,switch语句表达式只能处理整型,字符型和枚举型,if语句没有这样的限制。但是switch语句比if语句(选择流程控制语句)效率更高。
5、break和continue的区别?
(1)break是结束整个循环体;
(2)continue是结束本次循环。
(3)break之后不再循环,continue结束本次循环后,再开始下一次的循环。
(4)continue语句只是结束本次的循环,而不是终止整个的执行,接着进行下一次是否执行循环的判定。
(5)而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
6、do while语句和while语句的区别,并写出几个死循环。
(1)do while语句至少执行一次循环体,而while语句括号中表达式为真,才执行循环体。
(2)while(1){}、for(;;)、for(int i=0;;i++)
7、int number = 26 , k = 1 , 求k的值
do{
k*=number%10;
number/= 10;
}while(number);
do while 语句的特点是循环体至少执行一次。程序执行到表达式 k*=number%10,已知number 为 26,又已知算术运算符比赋值运算符好优先级别高,因此先计算 number%10,其结果为 6 ;已知 k 为 1,因此 k 的结果为 6。number/=10 ,number 的值2。while 语句判断表达式是否为真,此时 number 为 2。继续执行循环体,此时 number、k 的值分别为 2、6,2%10 的结果仍为 2 ,再与 k 相乘,其 k 的结果为 12。程序执行到循环体第二行 number/10,此 时 number 已为 10,因此,number 的结果为 0。while 表达式内条件为假,循 环就此结束