本文介绍: 答案解析 B第二题(易错题)答案解析 D第三题3. 以下程序运行输入:123456789↙,则程序运行结果是( )答案解析 C第四题答案解析 B第五题答案解析 D

第一题

1.  i  = ()

int i = 1;
int j = i++;
if((i > j++) && (i++ == j)) 
{
    i += j;
}

A:3

B:5

C:6

D:7

答案解析 B

本题考查你对后置++的认识,后置++返回的是++之前的值,之后再++;

所以在进入if语句之前,j = 1, i = 2;

i > j++,2 > 1 为真,此时i = 2,j = 2;

i++ == j 为真,i = 3,j = 2

所以 i += j, i = 5;

第二题(易错题)

2. 在 32 位编译器上,下面输出结果为()

char *str1 = "Hello", str2[] = "Hello"; 
 printf("%d %d", sizeof(str1), sizeof(str2));

A:5 6

B:5 5

C:6 6

D:4 6

答案解析 D

首先要知道sizeof求的是你的变量数据类型字节

str1是char*类型,是一个字符指针,并不是数组,所以指针字节为4或者8字节题目说了为32位,所以为4字节

str2是一个字符串,sizeof(数组名)求的是整个数组的空间,但是字符串还有一个隐藏的,所以结果为6字节

第三

3. 以下程序运行输入:123456789↙,则程序运行结果是( )

#include <stdio.h>
int main()
{
    int x, y;
    scanf("%2d%*4s%2d", &x, &y);
    printf("%d", y - x);
    return 0;
}

A:44

B:55

C:66

D:88

答案解析 C

本题一个比较少见的题;

%*4s表示读取一个长度为四个字符字符串,中间的*表示读取到的字符串忽略,不赋给变量表中变量

%2d代表读取2个整数

所以x = 12,y = 78

y – x = 66;

第四题

4. 在标准C中,while(){}和do{}while()的功能完全相同。请问这句话的说法正确的吗?

A:正确

B:错误

答案及解析 B

while循环是先进行条件判断进入循环

do-while是先进入循环体,后条件判断

所以在条件相同时,do-while永远比while执行一次循环

第五题

5. 在C语言程序中,若对函数返回值类型未加显式说明,则函数返回值隐含类型为()

A:void

B:double

C:char

D:int

答案及解析 D

若对函数类型未加显式说明,则函数的隐含类型int

原文地址:https://blog.csdn.net/2302_76941579/article/details/134769539

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_36906.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注