C语言--每日五道选择题--Day14

第一题

1、已知函数的原型是: int fun(char b10, int *a); ,设定义: char c10;int d;

正确的调用语句是( )
A: fun(c,&d);

B: fun(c,d);

C: fun(&c,&d);

D: fun(&c,d);

答案及解析 A

在C语言中是无法对数组直接传参的,调用数组全部都是调用数组的首元素的地址,别看形参是数组的形式,本质上就是个指针,所以实参传的是数组名,因为数组名代表首元素地址。而int*是指针,实参应该传的也是指针,就是&d;

所以选A

第二题

2、请问下列表达式哪些会被编译器禁止【多选】( )

cpp 复制代码
int a = 248, b = 4;
int const *c = 21;
const int *d = &a;
int *const e = &b;
int const * const f = &a;

A: *c = 32;

B: *d = 43

C: e=&a

D: f=0x321f

答案及解析 ABCD

这里考察的是const对于*的位置,分别有不同的影响;

const在* 左侧,限制的是指针指向的对象,也就是解引用不可以被修改,但是指针可以改

const在*右侧,限制的是指针本身,指针不可以修改,指向的对象可以修改

所以选ABCD

第三题

3、以下程序的输出结果为( )

cpp 复制代码
#include <stdio.h>
int i;
void prt()
{
    for (i = 5; i < 8; i++)
        printf("%c", '*');
    printf("\t");
}
int main()
{
    for (i = 5; i <= 8; i++)
        prt();
    return 0;
}

A: ***

B: *** *** *** ***

C: *** ***

D: * * *

答案及解析 A

**注意:**i是全局变量,所以只要程序中++了,就会改变的!

所以就进入了2次prt函数,第一次i=5,进入函数++到7,退出函数;

第二次i=8,进入函数不符合循环,只打印了一个水平制表符(相当于几个空格,看自身编译器);

所以答案选A

第四题

4、下面代码段的输出是( )

cpp 复制代码
int main()
{
    int a=3;
    printf("%d\n",(a+=a-=a*a));
    return 0;
}

A: -6 B: 12 C: 0 D: -12

答案及解析 D

表达式相当于 a = a + ( a = a - a*a);

第五题

5、下列不能实现死循环的是( )
A: while(1){} B: for(;1;){} C: do{}while(1); D: for(;0;){}

答案及解析 D

非0为真,0为假

循环条件非0就可以死循环

相关推荐
liangshanbo12151 分钟前
手写 Function.prototype.call 与 Function.prototype.apply 面试题满分答案
开发语言·javascript·原型模式
Zenova EdgeOS4 分钟前
C++ 工业边缘 libcurl HTTP 客户端实战
开发语言·c++·网络协议·边缘计算
lvwangshu10 分钟前
图论:LCA、树的直径、树的重心、二分图与 Tarjan 缩点
算法·图论
爱吃苹果的日记本14 分钟前
数据结构第一课
c语言·数据结构·数据库·学习·c#
Jackson_GJH28 分钟前
Qt 右键自定义菜单的实现
开发语言·c++·qt
CoderYanger1 小时前
前端基础——JavaScript(WebAPI)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展
302wanger1 小时前
干与湿:AI 拿走脑力之后,人剩下什么
算法
计算机编程-吉哥2 小时前
脑肿瘤MRI智能识别系统:基于深度学习的像素级脑肿瘤语义分割平台【计算机毕业设计选题推荐】
人工智能·python·深度学习·算法·毕业设计·课程设计·大数据毕业设计选题推荐
小木_.2 小时前
Python 离线识别滑块缺口距离,项目推荐
开发语言·python·滑块识别·人机验证·滑块缺口·缺口识别
liliangcsdn2 小时前
因子权重矩阵处理-因子权重收缩Shrinkage算法的探索
开发语言·python·机器学习