如果定义有short,s;byte,b;char,c,则表达式s

题目

如果定义有short,s;byte,b;char,c,则表达式s*b+c的类型为()

  • A、char
  • B、short
  • C、int
  • D、byte
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列定义变量错误的是( )。

A.char s="23";

B.short i=100;

C.double d;

D.String str=-"wh are me!";


正确答案:A

第2题:

自动类型转换是按优先关系从低级数据转换成高级数据,规定的优先次序是( )。

A.byte, short, char→int→long→float→double

B.float→int→long→byte, short, char→double

C.int→long→float→double→byte, short, char

D.double→int→float→long→byte, short, char


正确答案:A

第3题:

若已定义char s[10]则在下面表达式中不表示s[1]地址的是()。

A.s+1

B.s++

C.&s[0]+1

D.&s[1]


答案:B

第4题:

设有定义:char s[12]={"hello"},则cout<<strlen(s)的输出是 ______。

A.5

B.6

C.11

D.12


正确答案:A

第5题:

若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是______。

A.7

B.8

C.9

D.10


正确答案:A
解析:strlen(字符数组)是测试字符串的长度的函数。函数的值为字符串的实际长度,不包括'\0'在内。 C语言中字符串是以'\0'字符结束的,且salen()函数计算的是'\0'字符前的所有字符的个数,所以本题strlen(s)的值是7。需要与其区分的是sizeof()函数,它的功能是计算变量或数组所分配到的内存空间的大小。如果本题要求计算sizeof(s)的话,则其值应为10。

第6题:

若有以下定义,则不能代表字符。的表达式是______。 char s[20]="programming",*ps=s;

A.ps+2

B.s[2]

C.ps[2]

D.ps+=2,*ps


正确答案:A
解析:ps是指针变量,ps+2是地址值,表示s[2]的地址,并不能代表s[2]的值‘o’;选项B、C、D均能代表s[2]的值‘o’。

第7题:

有以下程序(说明:字母A的ASCIl码值是65): #include<stdio.h> void fun(char*s) {while(*s) {if(*s%2)printf("%C",*s); s++; } } main( ) {char a[]="BYTE"; 。 Fun(a);printf("\n"); } 程序运行后的输出结果是( )。

A.BY

B.BT

C.YT

D.YE


正确答案:D
fun函数的意思是当*s%2==0的时候就输出并且s自加l次,然后判断。所以可知只有第2和第4个位置上的才符合要求,所以答案为D。

第8题:

已知如下定义: String s = "story"; 下面哪些表达式是合法的?()

A.s += "books";

B.char c = s[1];

C.int len = s.length;

D.String t = s.toLowerCase();


正确答案:AD

第9题:

有定义语句int b;char c[10];,则正确的输入语句是 ______。

A.scallf("%d%s",&b,&c);

B.scallf("%d %s",&b,c);

C.scanf("%d %s",b,c)

D.scanf("%d%s",b,&c);


正确答案:B
解析:scanf函数中的“格式控制”后面应当是地址,而不是变量名。对于变量,通过地址运算符“&”求出内存中的地址;对于数组c[10],数组名c即为数组在内存中的地址。

第10题:

有以下程序(说明:字母A的ASCII码值是65)

#include<stdio.h>

void fun(char*S)

{while(*s)

{if(*s%2)printf(“%c”,*s);

S++;

}

}

main()

{char a[]=“BYTE”:

fun(a);printf(“\n”);

}

程序运行后的输出结果是

A.BY

B.BT

C.YT

D.YE


正确答案:D