1
求解
char str[100] = "Hello World";
sizeof(str) = ?;
strlen(str) = ?
char str1[100] = "Hello\0World";
strlen(str1) = ?
考点:
sizeof函数和strlen函数。sizeof函数求str字符串在内存中所占的内存空间,而str定义的时候在内存中申请了100个字节的空间,故sizeof(str)=100;strlen函数求字符串的实际长度,字符串中到第一个'\0'的长度,故strlen(str)=11(不含'\0'),strlen(str1)=5。
注意:strlen函数求得的字符串长度不包含'\0'。
strlen函数求得的长度是从字符串开始到第一个'\0'的长度
2求解
char str[] = "Hello";
sizeof(str) = ?;
strlen(str) = ?;
考点:字符串。
以为字符串以'\0'结尾,会在内存中多分配一个字节保存'\0',而数组没指出大小,编译器会根据后面的"H、e、l、l、o、\0"判断[]中的值,则sizeof(str)=6;strlen求得的长度不包括'\0',则strlen(str)=5。
3求解
void *p0;
int *p1;
char *p2;
long *p3;
float *p4;
double *p5;
sizeof(p0) = ?;
sizeof(p1) = ?;
sizeof(p2) = ?;
sizeof(p3) = ?;
sizeof(p4) = ?;
sizeof(p5) = ?;
考点:指针长度。
因为任何类型的指针在内存中都占4个字节,所以sizeof(p0)、sizeof(p1)、sizeof(p2)、sizeof(p3)、sizeof(p4)、sizeof(p5)都等于4。
4求解
char *str = "Hello";
sizeof(str) = ?;
strlen(str) = ?;
str在内存中占?个字节
考点:指针、字符串。
str是指针,则sizeof(str)=4;str指向的字符长度为5,则strlen(str)=5;字符串以'\0'结尾,故str在内存中实际存储为"H、e、l、l、o、\0",则str在内存中占6个字节。
5找错
void test1()
{
char stri10];
char *str1 = "0123456789";
strcpy( str, str1 );
}
考点:数组越界。
str1占11个字节(字符串以'\0'结尾),而str数组只有10个字节的内存空间。str数组不能存放下str1字符串,会造成数组越界。
6找错
char s1[10] = "Hello";
char s2[20];
s2 = s1;
考点:数组赋值。
因为s2是一个字符数组,不能用另一个字符数组以等号直接赋值,应该使用strcmp赋值,即strcpy(s2,s1)。
7求解
string str;
cin >> str; (输入Hello World)
cout << str << endl;
考点:string的cin机制。
(1)、读取并忽略开头所有的空白字符(如空格、换行符、制表符等);(2)、读取字符直至再次遇到空白字符,读取终止。则str用cout输出的是Hello。
8求解
void Test(char str[100])
{
cout << sizeof(str) << endl;
}
考点:指针。
在函数Test(charstr[100])中,str作为形参,在函数体内,数组名将失去其本身的内涵,仅仅是一个指针。同时str在函数体内,也失去了其常量特性,可以做自增、自减、可以被修改。因为str仅仅只是一个指针,则sizeof(str)=4。
9求解
写出布尔变量与零值比较的表达式
考点:布尔变量。
假设布尔变量名字为flag,它与零值比较的标准if语句如下:
if(flag) //表示flag为真
if(!flag) //表示flag为假
10求解
写出const的两个用途
考点:const
(1)可以定义const常量
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性
分享到:
相关推荐
华为c/c++面试题 华为c++面试题 华为c面试题
c/c++ 面试题 收集 c/c++ 面试题 收集 c/c++ 面试题 收集 c/c++ 面试题 收集 c/c++ 面试题 收集
腾讯C/C++笔试题,对C/C++方向应聘的人笔试很有帮助
程序员C/C++面试题汇总 Intel面试题 微软面试题 Cisco思科面试题 华为面试题C/C++笔试题 慧通面试题
C/C++,计算机网络,通信,电子面试题集锦
C-C++面试题大全,一百多道常见面试题,全部有详细解答,无论是对面试者还是初学者都绝对有用。
大华 华为 诺西 华三 IMB 微软等大公司 面试必考的经典面c/c++面试题 经典面c/c++面试题 应届毕业生 求职宝典
C/C++常见面试题之概念问答题。
C/C++面试题 c/c++常见的面试试题
华为c/c++面试题 华为c面试题 华为c++面试题
c/c++面试题 电子工程师面试 电子类面试题
c/c++面试题 c,c++面试题总结 很有帮助的
“C++笔试题”共计31套,“面试必备”(面试常见问题的应对、面试技巧等),“面试题汇总”(C++笔试题、Java笔试题、高质量C++C编程指南、软件测试),“c++面试宝典”,“面试题”共计10套。非常全,非常好的面试...
linux c/c++ 面试题
本人搜集的各个论坛,博客中的C/C++笔试面试题,绝对经典实用,希望能对学习C/C++的或者准备进军C/C++工作领域的朋友有所帮助
本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。 许多面试题看似简单,却需要深厚的基本功才能给出...
非常经典的C/C++面试题 以及详尽的解答,不看后悔
常见的c/c++面试题大全,改正了许多同类资料的错误