试题通
试题通
APP下载
首页
>
IT互联网
>
数学C语言复习题库
试题通
搜索
数学C语言复习题库
题目内容
(
单选题
)
在C中,设x=1, y=2, 执行表达式
(x>y)?x++:++y
以后x和y的值分别为(  )。

A、1和2

B、1和3

C、2和2

D、2和3

答案:B

解析:的表达式是 (x>y)?x++:++y,其中 x=1,y=2。这是一个条件运算符(三元运算符)的表达式,它的作用是根据条件 (x>y) 的结果来选择执行 x++ 还是 ++y。在这个表达式中,条件 (x>y) 不满足,因为 1 不大于 2。因此,执行的是 ++y,即 y 的值增加了 1。所以最终 x 的值是 1,y 的值是 3。因此,答案是 B. 1 和 3。

试题通
数学C语言复习题库
试题通
在C中,设x=1, y=2, 执行表达式
(x>y)?x++:++y
以后x和y的值分别为(  )。
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1150-c053-2053bf64dd0c.html
点击查看题目
在C中,若有说明和语句:
int a=8;
int c=++a;
此处表达式c的值是( )。
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd0b.html
点击查看题目
在C中,语句: int a=0,b=0; printf(“%d”,(a=2) && (b=-2)); 的输出结
果是 ( )。
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1538-c053-2053bf64dd1d.html
点击查看题目
在C中,设 int a=10,则执行完语句 a+=a-=a*a后,a的值是( )
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd0f.html
点击查看题目
在C中,以下正确的说明语句是( )。
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1920-c053-2053bf64dd0b.html
点击查看题目
在C中,执行下面程序片段的结果是( )。
int x=23;
do
{ printf("%2d",x--);}
while(!x);
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1150-c053-2053bf64dd1b.html
点击查看题目
在C中,已知定义:int b[]={1,2,3,4},y,*p=b;执行y=*p++后,y的值为( )。
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1150-c053-2053bf64dd00.html
点击查看题目
在C中,设有 static char str[ ]="Beijing"; 则执行
printf("%d\n", strlen(strcpy(str, "China")));
后的输出结果为( )。
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1538-c053-2053bf64dd14.html
点击查看题目
在C中,设x,y,z,t均为int型变量,则执行以下语句后,t的值为( )
x=y=z=1;
t=++x||++y&&++z;
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd10.html
点击查看题目
在C中,不能把字符串 "Hello!" 赋给数组b的语句是( )。
https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd01.html
点击查看题目
首页
>
IT互联网
>
数学C语言复习题库
题目内容
(
单选题
)
手机预览
试题通
数学C语言复习题库

在C中,设x=1, y=2, 执行表达式
(x>y)?x++:++y
以后x和y的值分别为(  )。

A、1和2

B、1和3

C、2和2

D、2和3

答案:B

解析:的表达式是 (x>y)?x++:++y,其中 x=1,y=2。这是一个条件运算符(三元运算符)的表达式,它的作用是根据条件 (x>y) 的结果来选择执行 x++ 还是 ++y。在这个表达式中,条件 (x>y) 不满足,因为 1 不大于 2。因此,执行的是 ++y,即 y 的值增加了 1。所以最终 x 的值是 1,y 的值是 3。因此,答案是 B. 1 和 3。

试题通
分享
试题通
试题通
数学C语言复习题库
相关题目
在C中,设x=1, y=2, 执行表达式
(x>y)?x++:++y
以后x和y的值分别为(  )。

A. 1和2

B. 1和3

C. 2和2

D. 2和3

解析:的表达式是 (x>y)?x++:++y,其中 x=1,y=2。这是一个条件运算符(三元运算符)的表达式,它的作用是根据条件 (x>y) 的结果来选择执行 x++ 还是 ++y。在这个表达式中,条件 (x>y) 不满足,因为 1 不大于 2。因此,执行的是 ++y,即 y 的值增加了 1。所以最终 x 的值是 1,y 的值是 3。因此,答案是 B. 1 和 3。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1150-c053-2053bf64dd0c.html
点击查看答案
在C中,若有说明和语句:
int a=8;
int c=++a;
此处表达式c的值是( )。

A. 7

B. 9

C. 10

D. 6

解析: 在给定的代码中,++a 是一个前缀递增运算符,它将 a 的值加1,并将结果赋值给变量 c。因此,c 的值将是 a 的递增后的值,即 9。所以,答案选项为 B.9。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd0b.html
点击查看答案
在C中,语句: int a=0,b=0; printf(“%d”,(a=2) && (b=-2)); 的输出结
果是 ( )。

A. 无输出

B. 结果不确定

C. -1

D. 1

解析:题目解析 这道题中,给定了一个C语句。首先定义了两个整型变量a和b,并将它们都初始化为0。然后使用printf函数打印表达式(a=2) && (b=-2)的值。在这个表达式中,使用了赋值操作符=和逻辑与操作符&&。首先,将2赋值给变量a,然后将-2赋值给变量b。然后,对表达式进行逻辑与运算。逻辑与运算符会返回两个操作数都为真(非零)时的结果,否则返回假(零)。在这个表达式中,a被赋值为2,b被赋值为-2,它们都不为零,所以表达式的结果为真(非零)。由于printf函数使用%d格式说明符打印整数值,因此程序的输出结果为1。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1538-c053-2053bf64dd1d.html
点击查看答案
在C中,设 int a=10,则执行完语句 a+=a-=a*a后,a的值是( )

A. 99

B. 110

C. 100

D. -180

解析: 在C语言中,运算符的优先级是从高到低的。根据运算符优先级,先执行a*a,得到100。然后,执行a-=100,相当于a = a - 100,所以a的值变为-90。最后,执行a+=-90,相当于a = a + (-90),所以a的最终值是-180。因此,选项D.-180是正确答案。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd0f.html
点击查看答案
在C中,以下正确的说明语句是( )。

A. int A[3.6];

B. int A[3,4];

C. int A[][];

D. int *A[10];

解析:的答案是D。这是因为选项D中的语句 int *A[10]; 定义了一个指针数组 A,其中每个元素都是指向整数类型的指针。这种语法表示了一个指针数组,每个指针元素可以指向一个整数变量或整数数组,因此是正确的定义语句。选项A、B和C都有语法错误,不能正确定义数组或指针。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1920-c053-2053bf64dd0b.html
点击查看答案
在C中,执行下面程序片段的结果是( )。
int x=23;
do
{ printf("%2d",x--);}
while(!x);

A. 打印出321

B. 打印出23

C. 不打印任何内容

D. 陷入死循环

解析:题目解析 在这道题中,程序使用了do-while循环来打印变量x的值,然后将x自减。循环的条件是!x,也就是x不等于0。初始值x为23,所以循环会执行23次,每次打印x的值并将x自减。因此,循环结束时x的值为0,所以最后打印的结果是23。因此,答案为B.打印出23。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1150-c053-2053bf64dd1b.html
点击查看答案
在C中,已知定义:int b[]={1,2,3,4},y,*p=b;执行y=*p++后,y的值为( )。

A. 1

B. 2

C. 3

D. 4

解析: 在C中,已知定义:int b[]={1,2,3,4},y,*p=b;执行y=*p++后,y的值为( )。 A.1 B.2 C.3 D.4 答案:A 解析: 这道题涉及到指针和后缀递增运算符。首先,定义了一个整型数组b,其中包含四个元素。然后,定义了一个整型变量y和一个指向数组b的指针p,指针p指向数组的第一个元素。接下来,执行y=p++操作。这个表达式的含义是将指针p所指向的元素的值赋给变量y,并且将指针p递增到下一个元素。在这个表达式中,后缀递增运算符++的优先级高于解引用运算符,所以先执行递增操作,然后再执行解引用操作。因此,y的值为指针p原来指向的元素的值,即1。所以答案为A。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1150-c053-2053bf64dd00.html
点击查看答案
在C中,设有 static char str[ ]="Beijing"; 则执行
printf("%d\n", strlen(strcpy(str, "China")));
后的输出结果为( )。

A. 5

B. 7

C. 12

D. 14

解析:题目解析 这道题涉及到C语言中字符串处理函数strcpy()和strlen()的使用。给定的程序中,首先使用strcpy()函数将字符串"China"复制到静态字符数组str中,然后使用strlen()函数计算str的长度。由于"China"有5个字符,所以复制后的字符串str的长度为5。因此,输出结果为5。因此,答案选项A是正确的。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-1538-c053-2053bf64dd14.html
点击查看答案
在C中,设x,y,z,t均为int型变量,则执行以下语句后,t的值为( )
x=y=z=1;
t=++x||++y&&++z;

A. 不定值

B. 2

C. 1

D. 0

解析: 在C语言中,逻辑运算符||表示逻辑或,逻辑运算符&&表示逻辑与。根据运算符优先级,++x会先执行,然后判断其值是否为真(非零)。由于++x的值是2,为真,所以整个逻辑表达式的值为真,即1。因此,选项C.1是正确答案。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd10.html
点击查看答案
在C中,不能把字符串 "Hello!" 赋给数组b的语句是( )。

A. char b[10]={'H','e','l','l','o','!'};

B. char b[10];b="Hello!";

C. char b[10];strcpy(b,"Hello!");

D. char b[10]="Hello!";

解析:不能把字符串 "Hello!" 赋给数组b的语句是( )。 A.char b[10]={'H','e','l','l','o','!'}; B.char b[10];b="Hello!"; C.char b[10];strcpy(b,"Hello!"); D.char b[10]="Hello!"; 答案:B 解析:在C语言中,数组名是数组的首地址,数组变量本身不能被赋值。选项A使用了初始化列表的方式初始化数组b,选项C使用了strcpy函数将字符串复制给数组b,选项D使用了数组初始化的方式。这些选项都是正确的赋值方式。但选项B尝试直接将字符串赋值给数组b,这是错误的,因为数组变量本身不能被赋值。

https://www.shititong.cn/cha-kan/shiti/0005e04d-d9af-0d68-c053-2053bf64dd01.html
点击查看答案
试题通小程序
试题通app下载