参考答案和解析
正确答案:A
更多“若有说明:char*lang[]={"F0RTRAN","BAS”相关问题
  • 第1题:

    若有说明char t;,下列表达式不正确的是______。

    A.t=97

    B.t='a'

    C.t="a"

    D.t='a'+'b'


    正确答案:C
    解析:选项A将97作为ASCII码值(小写字母a的ASCII码值)赋给字符变量t。选项D将字符a和字符b的ASCII码值的和赋给变量t。选项B是将字符a的 ASCII码值赋给变量t,也是正确的。选项C中的“a”是字符串常量,不是字符常量。

  • 第2题:

    若有下列说明,则( )不是对strcpy库函数的正确的调用。strcpy库函数用于复制一个字符串:char*strl="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析: 本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。
    第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p= p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第3题:

    若有定义: char *st= "how are you "; 下列程序段中正确的是

    A.char a[11], *p; strcpy(p=a+1,&st[4]);

    B.char a[11]; strcpy(++a, st);

    C.char a[11]; strcpy(a, st);

    D.char a[], *p; strcpy(p=&a[1],st+2);


    正确答案:A

  • 第4题:

    若有说明:char*language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};则表达式*language[1]*language[3]比较的是()。

    A.字符F和字符P

    B.字符串BAS1C和字符串JAVA

    C.字符B和字符J

    D.字符串FORTRAN和字符串PASCAL


    正确答案:C

  • 第5题:

    若有

    char x=32,y=3

    则表达试~x&y的值为【 】。


    正确答案:3
    3

  • 第6题:

    程序中若有如下说明和定义语句

    Char fun(char *);

    main()

    {

    char *s="one", a[5]={0}.(*f1)()=fun, ch;

    }

    以下选项中对函数fun的正确调用语句是

    A.(*f1)(A) ;

    B.*fl(*s);

    C.fun(&A) ;

    D.ch=*fl(s);


    正确答案:A
    解析:在C语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这种地址.其定义形式为:函数类型(*函数指针名)(函数参数列表);其中,函数参数列表可以省略。通过函数指针调用函数的形式为:(*函数指针)(函数参数列表)调用时函数的参数列表是不能省略的。所以本题的正确答案为选项A。

  • 第7题:

    下列程序段的输出结果为()。includemain(){static char a[]="language"; char*p; p=a;

    下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char*p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析: 本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。
    第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p= p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第8题:

    若有char s[3][3]=={"AAA","BBB","CCC"};说明语句,则与它等价的语句是( )。

    A.char**s={"AAA","BBB","CCC"};

    B.char*s[3]={"AAA","BBB","CCC"};

    C.char s[][5]={"AAA","BBB","CCC"};

    D.char s[][3]={"AAA","BBB","CCC"};


    正确答案:D

  • 第9题:

    char类型被封装在( )中。

    A.java.lang.Integer

    B.java.lang.Char

    C.java.lang.Boolean

    D.java.lang.Character


    正确答案:D
    D。【解析】Java语言中,char类型被封装在java.lang.Character中。

  • 第10题:

    若有以下说明,则对初值中字符a的引用方式为( )。 static struct { char ch; double x; char a(); }c[2] [3]={ { {'a',3.5,"bc"}, {'c',4.5,"de"}, {'m',8.6,"abc"} }, { {'d',8.5,"ic"}, {'b',5.5,"dc"}, {'n',8.6,"anc'} }};

    A.c.ch

    B.c[0][0].ch

    C.c[1][1].ch

    D.a[0]


    正确答案:B
    解析:二维数组c是结构体类型的数组。字符a在第一个数组元素c[0][0]中,它是字符型数据,只有选项B符合题意。

  • 第11题:

    若有下面的说明和定义: struct test { char m2; float m3; union uu{ char u1[5]; float u2; }ua; }MyStruct; 则sizeof(MyStruct)的值是( )。

    A.10

    B.11

    C.12

    D.9


    正确答案:A
    解析:C++中,联合体变量所占内存字节数与其成员中占字节数最多的那个成员相等。联合体中,浮点变量u2占4个字节,字符型数组u1占5个字节,所以联合体u1占5个字节。整个结构体所占字节数为10。

  • 第12题:

    单选题
    若有说明和语句:char str[]=Hello, *p; p=str;则此时*(p+5)中的值为(  )。
    A

    '\0'

    B

    'o'

    C

    'o'的地址

    D

    不确定的值


    正确答案: B
    解析:
    定义字符数组并为其初始化,str数组前5个元素为Hello,第六个元素自动赋值为'\0'。定义指针使等于字符串首地址,p+5指向字符串第六个元素。答案选择A选项。

  • 第13题:

    若有以下类型说明语句: char w;int x;float y, z; 则表达式w*x+z-y的结果为______类型。

    A.float

    B.char

    C.int

    D.double


    正确答案:A
    解析:在进行运算时,不同类型的数据参加运算;需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,shor→int→unsigned→long→double←float,故结果为float型。

  • 第14题:

    若有以下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

    若有以下程序段:

    include <iostream>

    using namespace std;

    int main()

    {

    char*p="abcdefgh",*r;

    long*q;

    q=(long*)p;q++;

    r=(char*)q;

    cout<<r<<end1;

    return 0;

    }

    该程序的输出结果是【 】。


    正确答案:efgh
    efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量qo首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“F(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

  • 第15题:

    若有下面的说明和定义

    struct test

    { int ml; char m2; float m3;

    union uu {char ul[5]; int u2[2];} ua;

    } myaa;

    则sizeof(struct test )的值是

    A.12

    B.16

    C.14

    D.9


    正确答案:A

  • 第16题:

    下列程序段的输出结果为()。includemain(){ static char a[]="language";char *p;p=a;f

    下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析:本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第17题:

    若有以下类型说明语句char a; int b; float c; double d; 则表达式a*bd-c的结果类型为( )。

    A.Float

    B.char

    C.int

    D.double


    正确答案:D

  • 第18题:

    有以下程序中若有如下说明和定义语句; char fun(char*); main() { char * s="one",a[5]={0},(*f1)()=fun,ch; … } 以下选项中对函数fun的正确调用语句是 ______。

    A.(*f1)(a);

    B.*f1(*s);

    C.fun(&a);

    D.ch=*f1(s);


    正确答案:A
    解析:(*f1)()=fun可以理解为将fun函数的函数名称用(*f1)()来代替了,因此高调用fun时就可以用(*f1)()来代替,因此只有A是正确的。

  • 第19题:

    若有如下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

    若有如下程序段:

    include <iostream>

    using namespace std;

    int main()

    {

    char *p="abcdefgh",*r;

    long *q;

    q=(long *)p;q++;

    r=(char *)q;

    cout<<r<<end1;

    return 0;

    }

    该程序的输出结果是______。


    正确答案:efgh
    efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给小然后执行“q++”,地址值增加了4,执行语句“r=(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

  • 第20题:

    若有定义:char*st=”how are you”;,下列程序段中正确的是( )。A. B. C. SX

    若有定义:char*st=”how are you”;,下列程序段中正确的是( )。

    A.

    B.

    C.

    D.


    正确答案:A
    本题综合考查字符数组的赋值和strcpy函数的用法。C语言不允许用赋值表达式对字符数组赋值,如strcpy函数的结构是:strcpy(字符数组1,字符串2)其中,需要注意的是,字符数组l的长度不应小于字符串2的长度,”字符数组1”必须写成数组名形式,如(strl),”字符串2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。

  • 第21题:

    若有以下的说明语句,则与它等价的说明是char s[3][5]={"aaaa","bbbb","cccc"};

    A.char**s1={"aaaa","bbbb","cccc"};

    B.char*s2[3]={"aaaa","bbbb","cccc"};

    C.char s3[][5]={"aaaa","bbbb","cccc"};

    D.char s4[][4]={"aaaa","bbbb","cccc"};


    正确答案:C
    解析:本题中的s数组是一个二维字符数组,选项A)是一个双重指针,但字符串的长度没有限制;选项B)是一个元素为字符指针的数组,同样的也是字符串的长度没有限制;选项D)中,每个字符串的长度限制为4,不正确。注意:用字符数组作为字符串和用指针指向的一个字符串之间的区别。

  • 第22题:

    若有下面的说明和定义: struct test { int m1; char m2; float m3; union uu {char ul[5]; int u2[2];} ua; }myaa;则sizeof(struct test)的值是( )。

    A.12

    B.16

    C.14

    D.9


    正确答案:A
    解析:结构体变量所占内存长度是各成员所占内存长度之和,而共用体变量所占内存长度等于最长成员的长度。本题中,structtest结构体类型共有4个成员,其中int型变量占用2个字节,char型变量占用1个字节,float型变量占用4个字节,共用体变量占用5个字节,共用2+1+4+5=12个字节。

  • 第23题:

    单选题
    若有说明语句:char c='\72';则变量c中存放的是(  )。
    A

    2个字符

    B

    1个字符

    C

    3个字符

    D

    说明语句不合法


    正确答案: A
    解析:
    用一对单引号括起来的单个字符为字符常量,以“\”开头的转义字符也是字符常量。“\”后可以为单个字符,也可以为八进制或十六进制数字,故变量c中存放的是一个字符。答案选择B选项。