工学

单选题下列说明中const char *ptr;其中ptr应该是()A 指向字符常量的指针B 指向字符的常量指针C 指向字符串常量的指针D 指向字符串的常量指针

题目
单选题
下列说明中const char *ptr;其中ptr应该是()
A

指向字符常量的指针

B

指向字符的常量指针

C

指向字符串常量的指针

D

指向字符串的常量指针

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

第1题:

已知类A有公用数据成员a,且有A ohj2;A*const ptr-new A;则下列语句正确的是( )。

A)ptr->a=100;

B)ptr=&obj2;

C)ptr++;

D)ptr=obj2;


正确答案:A

本题主要考察const的使用,const根据其位置的不同修饰不同的成份,从而表现出灵 活的特性,考生容易混淆。此处const修饰的是指针,即指针本身不能改变.故选项BCD都是 错误的。但是指针指向的地址里面的值确实可以改变的,因此选项A是正确答案。 

第2题:

已知类A有公用数据成员a,且有A obj2;A*const ptr=new A;则下列语句正确的是

A.ptr->a=100;

B.ptr=&obj2;

C.ptr++;

D.ptr=obj2;


正确答案:A
本题主要考察const的使用const根据其位置的不同修饰不同的成份从而表现出灵活的特性考生容易混淆。此处const修饰的是指针即指针本身不能改变故选项B、C和D都是错误的。但是指针指向的地址里面的值确实可以改变的因此选项A是正确答案。

第3题:

下列程序的输出结果是 inClUde using namespace std; intmain() { Char a[]="HellO,W

下列程序的输出结果是

#inClUde<iostream>

using namespace std;

intmain()

{

Char a[]="HellO,World";

Char*ptr=a;

while(*ptr)

{

if(*ptr>='a'&& *ptr <='Z')

cout<<char(*ptr+'A' -'a');

else cout<<*ptr;

ptr++;

}

retur0;

}

A.HELLO,WORLD

B.Hello,world

C.hELLO,wORLD

D.hellO,world


正确答案:A
解析:本题考核while语句和if语句,while语句中if语句的作用是将小写字母变成大写字母输出,所以main函数的字符串通过while语句全部输出为大写字母。

第4题:

设有下列程序段: char str[]="HelloWorld": char* plr; ptr=str: 执行上面的程序段后,*(ptr+10)的值为( )。

A. \0

B.0

C.不确定的值

D.0的地址


正确答案:A
本题主要考查字符数组和指针,在c语言中,字符型数组在存放字符串时会自动在末尾加上\0,所以数组str有11个元素;ptr指向数组str的首地址,ptr+10是指向str[10],*(ptr+10)是引用str[10]的值。

第5题:

main函数中发生编译错误的语句是______。 include class A { public: int a; const i

main函数中发生编译错误的语句是______。

include<iostream.h>

class A

{

public:

int a;

const int b;

A( ):a(10),b(20){}

void fun( )const

{

cout<<"a="<<a<<"\tb="<<b<<endl;

}

};

void main( )

{

A obj1;

const A*ptr=new A;

ptr=&obj1;

ptr->a=100;

ptr->fun( );

}


正确答案:ptr->a=100;
ptr->a=100; 解析:本题考察的是const的使用。const修饰的是指针变量的值,指针本身是可变的,但指针所指对象的值是常量,即ptr->a是不能被改变的。

第6题:

设有以下程序段:

struct MP3

{ char name[20];

char color;

float price;

}std,*ptr;

ptr=&std:

若要引用结构体变量std中的color成员,写法错误的是( )。

A.std.color

B.ptr->color

C.std->color

D.(*ptr)color


正确答案:A

本题中要引用结构体变量std中的color,要使用指针,而std.color不是一个指针类型,所以答案选择A。

第7题:

阅读下列函数说明、图和C代码,回答问题

[说明]

在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都要画出与单词列表所对应的单词查找树。

程序构造一棵二叉排序树,每个节点存储一个单词,按字典序列,较小的在左子树,较大的在右子树。

函数中使用的预定义符号如下:

typedef struct TreeNode{/*二叉排序树节点*/

char *word;

struct TreeNode *left, *right;

}BNODE;

[函数]

int getWord(FILE *fpt, char *word)

/*从文件fpt中读取单词到word中,到达文件结束时返回0*/

{

char c;

c = fgetc(fpt);

if(c == EOF)return 0;

/*跳过单词间的非字母字符*/

while(!(tolower(c) >= 'a' && tolower(c) <= 'z')){

c = fgetc(fpt);

if(c == EOF)return 0;

}

/*不区分大小写*/

while(tolower(c) >= 'a' && tolower(c) <= 'z'){

*word++ = c;

c = fqetc(fpt);

}

*word = '\0';

return 1;

}

void BTree(BNODE **t, char *word)

{

BNODE *ptr, *p;

int compres;

p = NITLL;

(1) ;

while(ptr){

compres = strcmp(word, (2) );

if(!compres){

return;

}else{

(3) ;

ptr = compres > 0 ? ptr->right : ptr->left;

}

}

ptr = (BNODE*)malloc(sizeof ptr);

ptr->left = ptr->right = NULL;

ptr->word = (char*)malloc(strlen(word) + 1);

strcpy(ptr->word, word);

if(p == NULL){

(4) ;

}else if(compres > 0){

p->right = ptr;

}else{

p->left = ptr;

}

}

int main()

{

FILE *fpt;

char word[40];

BNODE *root = NULL;

if((fpt = fopen("text.in", "r")) == NULL){

printf("不能打开文件text.in! \n");

return 1;

}

while(getWord(fpt, word) == 1){

BTree (5) ;

}

fclose(fpt);

return 0;

}


正确答案:ptr=*t ptr->word p=ptr *t=ptr &rootword
ptr=*t ptr->word p=ptr *t=ptr &root,word

第8题:

已知类A有公用数据成员a,并重载了一运算符,且有A obj2;const A*ptr=new A;则下列语句错误的是( )。

A.ptr->a=100;

B.ptr=&obj2;

C.ptr++;

D.obj2=*ptr;


正确答案:A

本题考察const修饰符的作用。注意:const位置不同,其修饰的部分也是不同的。本题中const修饰的是ptr所指的对象本身,所以,ptr是可以重新指向新的对象,而ptr->a则无法被更新。

第9题:

下面程序的输出结果是( )。 include main() {static char a[]="china"; char*ptr=a; whi

下面程序的输出结果是( )。 include<stdio.h> main() {static char a[]="china"; char*ptr=a; while(*ptr) {printf("%c",*ptr-32); ptr++; } }


正确答案:CHINA
CHINA

第10题:

下列有关指针的用法中错误的是( )。

A.int i;int *ptr=&i;

B.inti;int *ptr;i=*ptr;

C.int *ptr;ptr=0;

D.int i=5;int *ptr;*ptr&i;


正确答案:B

更多相关问题