c语言,下列表达式不能表示‘E’字符的是

   更新日期:2024.06.05

答案是:B

数组名代表数组首元素的地址,所以s即为&s[0],s+1即为&s[1],那么**(s+1)和*s[1]即为数组元素s[1][0]即为'E'。

#include <stdio.h>
#include <string.h>
int main()
{
    char s[2][40] = {"China","English"};
    //选项A
    putchar(s[1][0]);
    printf("
");

    //选项C
    putchar(**(s + 1));
    printf("
");

    //选项D
    putchar(*s[1]);
    printf("
");
    
    //选项B
    putchar(*(s + 1));
    return 0;
}

程序运行结果:



选B
字符'E'所在的元素是s[1][0],所以A肯定正确。
s[1]表示的是第二行的首地址,这个地址存放的就是字符'E',那么对这个地址取值就能得到字符'E'。*s[1]正确,即D正确。
s[1]的另一种表示方式是*(s+1),那么*s[1]也等效于**(s+1),所以C也正确。

B
ACD选项的效果一致,都是s[1][0]
B等效于s[1]

C

选B

  • 18173233910 :c语言,下列表达式不能表示‘E’字符的是
    饶炊震994 :答:答案是:B 数组名代表数组首元素的地址,所以s即为&s[0],s+1即为&s[1],那么**(s+1)和*s[1]即为数组元素s[1][0]即为'E'。include <stdio.h>#include <string.h>int main(){ char s[2][40] = {"China","English"}; //选项A putchar(s[1][0]); printf("\...
  • 18173233910 :以下选项中不能作为C语言合法常量的是A.’Fab’ B.0.7e+9 C.' b...
    饶炊震994 :答:常量是指程序在运行过程中,其值不能被改变的量。C语言中常见的常量主要有整型常量、实型常量、字符型常量。整型常量包括十进制整数,如456;八进制整数,以0开头,如0456;十六进制整数,以0x开头,如0x456。实型变量包括十进制小数形式,如.456;指数形式,如456e0,字母e前面必须有数字,e后面的数...
  • 18173233910 :1.下列数据中,不合法的C语言实型数据是( )(A)0.123 (B)123E3 (C)2.1...
    饶炊震994 :答:下列数据中,不合法的C语言实型数据是:C、2.1e3.5。在C语言中,实数有两种表示形式。即十进制数形式和指数形式,在指数形式中,字母e的前面必须有数字,且e的后面必须是整数。e3,2.1e3.5,e3,e等都是不合法的指数形式,而123e3或123E3都代表123乘以10的3次方。实型数据也称为浮点数或实数。
  • 18173233910 :C语言问题
    饶炊震994 :答:019不符合,0开头代表8进制数,不能出现9。0x1e符合,十六进制数。“ab\n"不符合,同第三个。1.e5符合,(2+3)e(4-2)不符合,5e4是可以的,但e被括号分开后会被理解成一个标识符。5.2e2.5不符合,因e后的数字不能出现小数点。
  • 18173233910 :c语言中为什么 (2+3)e(4-2) 不符合语法?为什么5e2就可以?两者有什么区 ...
    饶炊震994 :答:e前后要的是数,不是表达式。C语言中的指数型常数,作为常数,其构成部分也必须是常数,而不能是表达式。2+3和4-2都是表达式,无法构成指数型常数。这是因为 '\ 及 \" 是两个转义字符,所以前2个的后面缺少一个' 或 "1.5e ---e的后面必须有一个整数 (2+3)e(4-2) e的前面或后面必须...
  • 18173233910 :c语言 多项选择题
    饶炊震994 :答:BC AC BD BD AB ABD CD BCD AC ACD
  • 18173233910 :C语言中,e是什么意思
    饶炊震994 :答:如果是单独的e,那么只能是某个自定义标识符, 可能的变量,函数,或者宏定义。在C中, e作为固定作用的, 只有两处。一个是用在浮点常量, 表示科学计数法。 比如1e10 表示1乘10的10次幂。即aeb的形式, 表示a乘10的b次幂。另一个是用在输入输出中 %e,表示科学计数法方式输入输出。
  • 18173233910 :在C语言中,关于表达式,下列说法不正确的是___。
    饶炊震994 :答:答案D 2.参考代码 include<stdio.h>void main(){int a=1,b=2,c=2;if(a+b>c){printf("比较表达式中可以包含算术表达式\n");}}输出结果 比较表达式中可以包含算术表达式
  • 18173233910 :以下不符合C语言语法的实型常量是 A.1.2E0.5 B.3.14159E C..5E...
    饶炊震994 :答:2、B错误,指数不能省略,不符合C语言语法的实型常量。3、C正确,符合C语言语法的实型常量。4、D错误,底数不能省略,不符合C语言语法的实型常量。e与E,表示以10为底数的幂数,且e与E后面必须跟整数,若是小数,也是错误的,例如3.2e1.5 ,这里1.5是小数,所以错的。
  • 18173233910 :在下列给出的表达式中,与whⅡe(E)中的(E)不等价的表达式是( )。
    饶炊震994 :答:【答案】:B 在while(E)中,表达式E可以是C语言中任意合法的条件表达式,但不能为空,由它来控制循环体是否执行。在选项B 中表达式E>0||E<0是一个逻辑表达式。
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网