如题目或答案有误,请通过BUG反馈告知我们修正,谢谢!

1、循环语句while(!E)中的表达式!E等价于:

E!=0

E!=1

E==0

E==1

2、设a为5,执行下列语句后,b的值不为2的是:

b=a/2

b=6-(--a)

b=a%2

b=a>3?2:1

3、若有以下的定义:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a
则值为3的表达式是

p+=2,*(p++)

p+=2,*++p

p+=3,*p++

p+=2,++*p

4、若有以下说明和语句,则输出结果是?
(strlen(s)为求字符串s的长度的函数)
char sp[]="\t\v\\\0will\n";
printf("%d",strlen(sp));

14

3

9

字符串中有非法字符

5、若执行完成下列语句:
int a=3,b=6,c;
c=a∧b<<2;
则变量c的二进制值为:

00011100

00010100

0001000

00011011

6、正确的标识符是:

?a

a=2

a.3

a_3

7、以下关于typedef的叙述中错误的是:

用typedef可以增加新的类型

用typedef可以定义各种类型名,但不能用来定义变量

用typedef只是将已有的类型用新的标识符来代表

使用typedef有利于程序的通用和移植

8、已知有共用体变量data1定义如下:
union data
{ int i;
char ch;
float f;
} data1;
则变量data1所占的内存存储空间可表示为:

sizeof(int)

sizeof(char)

sizeof(float)

sizeof(int)+sizeof(char)+sizeof(float)

9、以下对枚举类型名的定义中正确的是:

enum s={a,b,c}

enum s {a=9,b=2,c}

enum s={'a', 'b', 'c'}

enum s {'a', 'b', 'c'}

10、设有以下定义或语句,则输出的结果是?
(用small模式编译,指针变量占2个字节)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf("%d",sizeof(too));

20

16

14

12