`
xitong
  • 浏览: 6187886 次
文章分类
社区版块
存档分类
最新评论

C/C++面试题常考点(一)

 
阅读更多
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)=100strlen函数求字符串的实际长度,字符串中到第一个'\0'的长度,故strlen(str)=11(不含'\0')strlen(str1)=5

注意:strlen函数求得的字符串长度不包含'\0'

strlen函数求得的长度是从字符串开始到第一个'\0'的长度

2求解

char str[] = "Hello";

sizeof(str) = ?;

strlen(str) = ?;


考点:字符串。

以为字符串以'\0'结尾,会在内存中多分配一个字节保存'\0',而数组没指出大小,编译器会根据后面的"Hello\0"判断[]中的值,则sizeof(str)=6strlen求得的长度不包括'\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)=4str指向的字符长度为5,则strlen(str)=5;字符串以'\0'结尾,故str在内存中实际存储为"Hello\0",则str在内存中占6个字节。

5找错

void test1()
{
 char stri10];
 char *str1 = "0123456789";
 strcpy( str, str1 );
}


考点:数组越界。

str111个字节(字符串以'\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;


考点:stringcin机制。

(1)、读取并忽略开头所有的空白字符(如空格、换行符、制表符等)(2)、读取字符直至再次遇到空白字符,读取终止。则strcout输出的是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常量

2const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics