下列能正确定义字符串的语句是( )。A)char str[]={'\064'}; B)char str="kx43";C)char str="; D)

题目

下列能正确定义字符串的语句是( )。

A)char str[]={'\064'};

B)char str="kx43";

C)char str=";

D)char str[]="\0";

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有如下程序:

#include<iostream>

using namespace std;

class Music{

public:

void setTitle(char*str){strcpy(title,str);}

protected:

char type[10];

private:

char title[20];

};

class Jazz:public Music{

public:

void set(char*str){

strcpy(type,”Jazz”); //①

strcpy(title,str); //②

}

};

下列叙述中正确的是

A.程序编译正确

B.程序编译时语句①出错

C.程序编译时语句②出错

D.程序编译时语句①和②都出错


正确答案:C
解析:数据成员title在基类中声明为私有成员,派生类不能访问基类中的私有成员,故语句②在编译时出错。本题选C。

第2题:

void setmemory(char **p, int num)

{ *p=(char *) malloc(num);}

void test(void)

{ char *str=NULL;

getmemory(&str,100);

strcpy(str,"hello");

printf(str);

}

运行test函数有什么结果?( )


正确答案:
 

第3题:

定义字符指针char *str="hello",已知sizeof(str)=4,则strlen(str)=______。


正确答案:5
5

第4题:

下列初始化字符数组的语句,正确的是()。

A.char[] str = {'h', 'e', 'l', 'l', 'o'};

B.char[5] str = "hello";

C.char[5] str = {"hi"};

D.char[100] str = "";


A

第5题:

下面的语句能正确执行: char *str[5]; scanf("%s",str[0]);


第6题:

下面函数的功能是 char*fun(char*strl,char*str2) { while((*strl)&&(*str2++=*strl++)); return str2;}

A.求字符串的长度

B.比较两个字符串的大小

C.将字符串str1复制到字符串str2中

D.将字符串str1接续到字符串str2中


正确答案:C
解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体,while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。本题中逻辑与符号连接的表达式值为真,*str2++=*strl++语句是将strl的内容逐个复制到str2字符串。

第7题:

下面的程序各自独立,请问执行下面的四个TestMemory 函数各有什么样的结果?

①void GetMemory(char * p)

{

p = (char * )malloc(100);

}

void TestMemory (void)

{

char *str = NULL;

GetMemory (str);

strcpy(str, "hello world");

prinff(str);

}

② char * GetMemory (void)

{

char p[ ] = "hello world";

return p;

}

void TestMemory (void)

{

char * str = NULL;

str = GetMemory( );

printf(str);

}

③void GetMemory(char * * p, int num)

{

* p = (char * )malloc(num);

}

void TestMemory (void)

{

char * str = NULL;

GetMemory(&str, 100);

strcpy( str, "hello" );

printf(sir);

}

④void TestMemory (void)

{

char *str = (char * )malloe(100);

strepy (str, "hello" );

free ( str );

if(str ! = NULL)

{

strepy( str, "world" );

printf(str);

}

}


正确答案:程序1程序崩溃。因为GetMemory并不能传递动态内存TestMemory函数中的str一直都是 NULL。strcpy(str “hello world”);将使程序崩溃。 程序2可能是乱码。因为GetMemory返回的是指向“栈内存”的指针该指针的地址不是 NULL但其原来的内容已经被清除新内容不可知。 程序3能够输出hello但是会发生内存泄漏。 程序4篡改动态内存区的内容后果难以预料非常危险。因为free(str);之后str成为野指针if(str!=NULL)语句不起作用。
程序1程序崩溃。因为GetMemory并不能传递动态内存,TestMemory函数中的str一直都是 NULL。strcpy(str, “hello world”);将使程序崩溃。 程序2可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是 NULL,但其原来的内容已经被清除,新内容不可知。 程序3能够输出hello,但是会发生内存泄漏。 程序4篡改动态内存区的内容,后果难以预料,非常危险。因为free(str);之后,str成为野指针,if(str!=NULL)语句不起作用。

第8题:

请编写一个函数int CalcDigital(char *str),该函数可返回字符串str中数字字符(即0~9这10个数字)的个数,如字符串“olympic2008”中数字字符的个数为4。请用if条件判断语句与for循环语句来实现该函数。

注意:部分源程序已存在文件test9_2.cpp中。

请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句。

文件test9_2.cpp的内容如下:

include<iostream.h>

include<string.h>

int CalcDigital(char*str);

void main()

{

char *str;

str=new char[255];

cout<<"输入字符串:";

cin>>str;

int num=CalcDigital(str);

cout<<str<<":"<<num<<endl;

}

int CalcDigital(char *str)

{

}


正确答案:int CalcDigital(char *str) { if(str==NULL) return 0; int num_of_digital=0; int len=strlen(str); for(int i=O;ilen;i++) if(str[i]='9' && str[i]>='0') num_of_digital++; return mum_of_digital; }
int CalcDigital(char *str) { if(str==NULL) return 0; int num_of_digital=0; int len=strlen(str); for(int i=O;ilen;i++) if(str[i]='9' && str[i]>='0') num_of_digital++; return mum_of_digital; } 解析:本题考查的是考生对于if条件判断语句与for循环语句的熟练使用程度。注意判断条件(判断是否是数字是直接比较ASCH码)的使用。

第9题:

请在划线处填写适当内容完成程序功能:获得字符串str的长度。int Getlength(char* str){ char* p=str; while(*p!='0') p++; return ________; }

A.p

B.str

C.p-str

D.str-p


returncode.hashCode()+age*11;

第10题:

7、下面语句错误的是()。

A.int *p; *p=20;

B.char *s="abcdef"; printf("%s\n",s);

C.char *str="abcdef"; char *p; p=str

D.char *str;str="abcdef";


x=x+10=x+y