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

1、有以下程序段
int k;=0
while(k=1)k++;
while 循环执行的次数是

无限次

有语法错,不能执行

一次也不执行

执行1次

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

sizeof(int)

sizeof(char)

sizeof(float)

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

3、为表示关系x大于等于y大于等于z,应使用C语言表达式

(x>=Y)&&(Y>=z)

(x>=Y)AND(y>=z)

(x>=Y>=z)

(x>=Y)&(Y>=z)

4、以下程序执行后sum的值是
main()
{ int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}

15

14

不确定

0

5、设有定义:struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是

(*p).data.a

(*p).a

p->data.a

p.data.a

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

14

3

9

字符串中有非法字符

7、设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a, * p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是

*((*prt+1)[2])

*(*(p+5))

(*prt+1)+2

*(*(a+1)+2)

8、下面哪一项是不正确的字符串赋值或赋初值的方式

char *str; str="string";

char str[7]={'s','t','r','i','n','g'};

char str1[10];str1="string";

char str1[]="string",str2[]="12345678";

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

E!=0

E!=1

E==0

E==1

10、设有定义int x=1; int y='a'<'A'?x--:x++;,则变量y的值是:

0

2

1

3