更多“若有定义:char ch,*p=&ch; 通过指针p给变量ch赋字符'a'的语句是______。”相关问题
  • 第1题:

    若有如下定义并赋值: char ch='a', a; 则执行语句"printf("%d",a=ch+2.6);”后的输出结果是( )

    A.c

    B.d

    C.99

    D.100


    正确答案:C

  • 第2题:

    下列对结构及其变量定义错误的是( )。

    A.struct My Struct

    B.struct MyStruct{ {int num; int num;char ch; char ch;} }My;

    C.strut

    D.struct{ {int num; int num;char ch; char ch;}My; };


    正确答案:D

  • 第3题:

    若有定义“char, *p2,*p3,*p4,ch;”,则不能正确赋值的程序语句为 ( )

    A.p1=& ch;scanf("%c",p1);

    B.p2=(char*)malloc(1);scanf("%c",p2);

    C.p3=getchar( );

    D.p4=& ch;*p4=getchar( );


    正确答案:C

  • 第4题:

    下列程序段中,不能正确赋值的是

    A.char*p,ch; p=&ch; scanf("%c,&p")

    B.char*p; p=(char*)malloc(1); scanf("%c",p);

    C.char*p; *p=getchar();

    D.char*p,ch; p=缸h; *p=getchar();


    正确答案:C
    解析: 本题考查了字符的输入函数getchax和利用scanf函数输入一个字符。用scanf输入字符时,格式说明字符应该为%c。本题选项C)因为指针P没有赋初值,所以是一个不定值,不能直接将getchar读入的字符赋给指针p所指向的字符,所以选项C错误。

  • 第5题:

    若有定义语句:double a,*P=&a;以下叙述中错误的是( )。

    A.定义语句中的*号是-个间址运算符

    B.定义语句中的木号是-个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    在变量定义doublea,*P:&a;中,}号是一个指针运算符,而非间址运算符,所以A错误。

  • 第6题:

    若有定义语句:double a,+P=&a;以下叙述中错误的是( )。A.定义语句中的*号是一个问址运算符

    若有定义语句:

    double a,+P=&;a;

    以下叙述中错误的是( )。

    A.定义语句中的*号是一个问址运算符

    B.定义语句中的*号是一个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中。P=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    指针运算符(通常称为间接引用运算符:indirectionopemlor或复引用运算符:derefereneingoperator)返回其操作数(即一个指针)所指向的对象的值。定义语句中的+号不是一个问址运算符,而是定义指针变量的说明符,因此,A项错误,B选项正确,原则上说变量P可以放double兼容性的变量地址,C选项正确,根据指针的赋值运算,可知D选项正确。故答案为A选项。’

  • 第7题:

    若有以下定义和语句: double r=23,*p=&r; *p=r;则以下正确的叙述是______。

    A.两处的*p含义相同,都说明给指针变量p赋值

    B.在“double r=23,*p=&r;”中,把r的地址赋值给了p所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量p

    D.语句“*p=r;”取变量r的值放回r中


    正确答案:D
    解析:*p=&r使p指向变量r的地址,*p=r是再取变量r的值,并放回r中。

  • 第8题:

    若有char ch[10],则下列字符串数组的赋值中不正确的是( )。

    A.ch="welcome";

    B.ch[0]='w';

    C.strcpy(ch,"welcome");

    D.char ch1[]="welcome";strcpy(ch,ch1);


    正确答案:A
    解析:ch是数组名,代表该数组的地址,是常量,不是变量,不能给其赋值。

  • 第9题:

    以下程序的输出结果是 char cchar(char ch) { if(ch>='A'&&ch<='Z') ch=ch-'A'+'a'; return ch; } main ( ) { char s [] = "ABC+abc=defDEF" , *p=s; while (*p) { *p=cchar(*p); p++; } printf { "%$\n", s); }

    A.abc+ABC=DEFdef

    B.abc+abc=defdef

    C.abcABCDEFdef

    D.abcabcdefdef


    正确答案:B
    解析:本题考核的知识点是字符型指针变量与函数的综合应用。本题首先定义了一个函数cchar(),有一个字符型参数ch。在函数中首先判断该字符是否为大写字母,如果是则把它转换成小写字符再赋值给cb,把ch作为函数值返回。在主函数中定义了一个字符数组s并初始化,然后定义了一个指针变量并使它指向数组s。接着通过一个while循环利用指针变量p,依次取出字符数组的字符(直到遇到字符串结束标志['\0'为止),并调用cchar()函数,把大写字母转换成小写字母,其他字符不变。最后输出字符数组为s中的内容,结果为“abc+abc=defdeF”。所以,4个选项中B为所选。

  • 第10题:

    在Java语言中定义了如下变量:char ch;下列赋值语句正确的是()。

    • A、ch="strtest"
    • B、ch=’2’
    • C、ch=’2345’
    • D、ch=strtest

    正确答案:B

  • 第11题:

    已定义ch为字符型变量,以下赋值语句中错误的是().

    • A、ch=’/’;
    • B、ch=62+3;
    • C、ch=NULL;
    • D、ch=’/xaa’;

    正确答案:A

  • 第12题:

    多选题
    设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是()。
    A

    switch(x+y){……}

    B

    switch(ch+1){……}

    C

    switch ch{……}

    D

    switch(a+b){……}


    正确答案: C,B
    解析: 暂无解析

  • 第13题:

    已定义ch为字符型变量,以下赋值语句中错误的是

    A.ch='\';

    B.ch=62+3;

    C.ch=NULL;

    D.ch='\xaa';


    正确答案:A
    解析:选项A)中,ch存储了字符反斜杠;选项B)中存储了ASCII码值是65对应的字符;选项D)是单撇号括起\x后跟一到两位十六进制数,表示一个转义字符。

  • 第14题:

    已知ch是字符型变量,则下面正确的赋值语句是

    A.ch='123';

    B.ch='\xff';

    C.CH='\08';

    D.ch="\";


    正确答案:B
    解析:选项A)是3个字符,而不是1个,所以错误。选项C)和D)是将转义字符赋给字符变量ch,但转义字符的表达不正确。注意:常量的表示方法。

  • 第15题:

    若有以下定义和语句:“double r=99,*p=&r;*P =r;”,则以下正确的叙述是( )。

    A.两个*p含义相同,都说明给指针变量p赋值

    B.在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量P

    D.语句“*p=r;”取变量r的值放回r中


    正确答案:B
    在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。

  • 第16题:

    已定义ch为字符型变量,以下赋值语句中错误的是( )。

    A.ch='\';

    B.ch=62+3

    C.ch=NULL;

    D.ch='\xaa';


    正确答案:A
    解析:选项A中“\”为转义字符应该用“\\”来表示,故选项A错误;选项B中将一个整数赋值给字符变量,正确:选项c将一个空值赋值给字符变量,正确;选项D将一个用十六进制数表示的转义字符赋值给字符变量,正确。所以,4个选项中选项A符合题意。

  • 第17题:

    若文件指针fp已正确指向文件,ch为字符型变量,以下不能把字符输出到文件中的语句是( )。

    A.fget(f0,ch);

    B.foutc(ch,fo);

    C.fprinff(fp,”%c”,ch);

    D.fwrite(&ch,sizeof(ch),1,fp);


    正确答案:A
    函数fgete()从文件读入一个字符到指定变量。函数fputc()将指定字符写入审文件中,函数fprinff(),fwrite()均是写入文件操作函数。因此选项B,c。D错误。答案为A选项。

  • 第18题:

    以下程序的输出结果是______。 char cchar(char ch) { if(ch>='A'&&ch<='z')ch=ch-'A'+'a'; return ch; } main() { char s[]="ABC+abc=defDEF",*p=s; while(* p) { * p=cchar(* p); p++; } printf("% s\n", s); }

    A.abe+ABC=DEFdef

    B.abc+abe=defdef

    C.abcaABCDEFdef

    D.abcabcdefdef


    正确答案:B
    解析:字符数组元素作函数参数是单向的值传递。函数cchar的功能是将大写字母转换为小写字母。主函数中while循环语句的条件是判断指针p当前指向的字符是否为空,若不为空,则调用函数cchar,即主函数中通过循环语句将字符串"ABC+abc=defDEF"中的大写字母全部转换为小写字母,因此printf的输出结果为选项B。

  • 第19题:

    若有定义语句:double a,*p=&a;以下叙述中错误的是

    A.定义语句中的*号是一个间址运算符

    B.定义语句中的*号只是一个说明符

    C.定义语句中的p只能存放double类型变量的地址

    D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p


    正确答案:A
    解析:本题中的*p=&a中,*不是间址运算符,只是一个指针说明符。间址运算符用于表示某变量是指针型数据,用于存放某个地址,例如int*p,k;p=&k;*p=2;这里的*就是间址运算符。

  • 第20题:

    若有以下定义和语句; double r=99,*p=7; *p=r; 则以下正确的叙述是( )

    A.两处的*p含义相同,都说明给指针变量P赋值3

    B.在“double r=99,*p=7;*p=r;”中,把r的地址赋给了p所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量p

    D.语句“*p=r;”把变量r的值放回P中


    正确答案:D

  • 第21题:

    若已定义ch为字符型变量,则下列赋值语句中,错误的是()。 

    • A、ch=‘/’;
    • B、ch=62+3;
    • C、ch=NULL;
    • D、ch=‘/xaa’;

    正确答案:A

  • 第22题:

    下列选项中,能有效声明一个字符的语句有()。

    • A、char ch=’a’;
    • B、char ch=’/’’;
    • C、char ch=’cafe’;
    • D、char ch="cafe";
    • E、char ch=’/ucafe’;
    • F、char ch=’/u10100’;
    • G、char ch=(char)true;

    正确答案:A,B,E

  • 第23题:

    若ch为字符型变量,则不能使ch表示字符’B’的语句是()

    • A、ch=B
    • B、ch=66
    • C、ch=’/102’
    • D、ch=’/x42’

    正确答案:A

  • 第24题:

    单选题
    若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()
    A

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量

    B

    语句①和②中的*p含义相同,都表示给指针变量赋值

    C

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p

    D

    语句①和②的执行结果都是把变量x的地址赋给指针变量p


    正确答案: B
    解析: 暂无解析