若有定义:int a=0,b=0,c=0,d=0;以下关于C语言表达式:(++a‖++b)? ++c:++d执行顺序的叙

题目
单选题
若有定义:int a=0,b=0,c=0,d=0;以下关于C语言表达式:(++a‖++b)? ++c:++d执行顺序的叙述正确的是(    )。
A

先执行++a,表达式++a的值为1;再执行++b,表达式++b的值为1,由此可确定(++a‖++b)值为1,因此执行++c

B

先执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++c

C

先执行++b,表达式++b的值为1;再执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++c

D

先执行++a,++b,++c,++d,使得a,b,c,d的值都为1,由此可确定(++a‖++b)值为1,因此执行++c

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a 数组的第 10 个元素是

A ) a[0][4]

B)a[1][3]

C)a[0][3]

D)a[1][4]


正确答案:B

第2题:

若有定义int a=5,b=7;,则表达式a%=(b%2) 运算后,a的值为( )。

A.0

B.1

C.11

D.3


正确答案:A
解析:本题考查“%”运算符的使用。运算符“%”要求两个运算对象都为整型,其结果是整数除法的余数。本题中表达式a%=(b%2) 等价于a=a% (b%2)=5%(7%2)=5%1=0。

第3题:

若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x++) : (y++) 中的条件表达式 (x-y) 等价的是

A)(x-y>0)

B)(x-y<0)

C)(x-y<0||x-y>0)

D)(x-y==0)


正确答案:D
答案 D
解析 : 此条件表达式的执行顺序是先求解表达式 “ x-y ” 的值 , 若值为非 0 , 则再求解表达式“ x++ ” ,其值就是条件表达式的值;若表达式 “ x-y ” 的值为 0 ,则再求解表达式 “ y++ ” ,其值就是条件表达式的值。因此本题的答案为选项 D 。

第4题:

若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。

A.int a[5]={0;

B.int b[]:{0,0,0,0,0};

C.int c[2+3];

D.int i=5,d[i];


正确答案:D
解析:选项A中,其他元素会自动以0填充。选项C中维数是常量表达式,故没错。

第5题:

若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是

A.0X0

B.0x0

C.0

D.0XABC


正确答案:C
解析:格式字符x或x是以十六进制无符号形式输出整型数(不带前导0x或OX)。对于x用abc输出,X用ABC输出。

第6题:

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是A ) p=a;B)p[0]=a; C) p[0]=&am

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是

A ) p=a;

B)p[0]=a;

C) p[0]=&a[1][2];

D)p[1]=&a;


正确答案:C

                                           

第7题:

若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。A.4B.8C.0D.2

若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。

A.4

B.8

C.0

D.2


正确答案:B
2的二进制数为010,移两位后的二进制数为01000,转成十制数为8,(3||2)为真即1,8/ 1=8,所以结果为8。

第8题:

若有定义: int w[3][5]; ,则以下不能正确表示该数组元素的表达式是

A)*(*w+3)

B)*(w+1)[4]

C)*(*(w+1))

D)*(&w[0][0]+1)


正确答案:C

答案C
解析:在 C 语言中,二维数组的名字表示的是二维数组的地址,表达式 * ( w+1 )表示的是二维数组的第 1 行的第 2 元素。在其前面再加上 * ( * ( w+1 ) )就是错误的表达式。

第9题:

若有以下程序段: int m=0xabc, n=0xabc; m-=n; printf("% X\n", m); 执行后的输出结果是______。

A.0X0

B.0x0

C.0

D.0XABC


正确答案:C
解析:“%X”以十六进制无符号形式输出整数,变量m和n的初始值都是十六进制数,m=m-n=0xabc-oxabc=0x0,所以输出结果为0。

第10题:

以下对一维数组c进行正确的定义初始化的语句是A.int c[10]=0; B.int c[10]={0}*10; C.int c[1]={0,0,0,0,0,0,0}; D.int c[10]={0};


正确答案:D
本题主要考查数组的定义和初始化。在本题中,考查的是一维数组的定义和初始化操作。一维数组的定义格式为:
     数据类型说明 数组名[n];
一维数组的初始化格式为:
     数据类型说明 数组名[n]={元素1,元素2,……,元素n};
     或者
     数据类型说明 数组名[]={元素1,元素2,……,元素n};
另外,在定义数组和初始化数组时需要注意:
(1)定义数组时的n值只能使用常量,不能使用变量。
(2)定义数组时可以不标明数组元素的个数,而是通过赋初值的方式确定。
(3)数组初始化时,数组的元素类型必须与定义的类型一致,当初值的个数小于整型常量n时,编译系统会自动补0。一旦给定初值数超过n,编译系统将报错。
综上所述,不难找出本题正确的答案为D,在选项A和B中,数组的定义方式都是正确的,但初始化的方法不正确;在选项C中,赋值的元素个数超过了数组定义的大小,在编译时系统会报错。

更多相关问题