首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言】指针笔试

✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 ---- 简单回顾一下,我们上一篇内容:主要介绍了指针与数组笔试题目。...这一篇,我们继续趁热打铁,主要介绍——8道指针笔试题,不说多,直接开整 文章目录 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第八题 总结 第一题 #include int...2,c+2指向point地址,第二*得到point *–*++cpp+3:++cpp指向c+1地址,解引用找到c+1,–就把c+1变成了c,c指向ENTER地址,在解引用,得到ENTER,+3就是ENTER...c+2,-1得到c+1,c+1就是NEW地址,在解引用得到NEW,+1得到EW。...至此,这个代码解析就到这里结束了 我们可以来测试运行一下结果: 总结 实际上,如果我们对指针知识有了基础之后,这些就是水到渠成,这上面八道题目的练习,更是让你锦上添花,如虎添翼,训练并巩固了C指针核心知识点

51120

C语言经典笔试

A: main()函数里i是一个未定义值 B: main()函数i为1 C: 编译器不允许这种写法 D: main()里i值为0 解答:当笔试者看到此代码时,可能会觉得古怪。...虽然在C++中编译是可以通过(显然是不合理)。当main()函数里i从定义开始,外部全局变量i就已经被屏蔽掉,所以main()函数里作为右值i值不会0也不会是1,与外部i无关。...而是一个未定义符号。 答案:A 2.以下程序输出结果是什么? A:13 13 B:112 13 C :12 12 D:12 13 解析:本题主要考察指针以及栈概念 。...以下代码说法正确是: A:一定输出-120 B:一定不能输出-120 C:可能输出-120 D:输出%d 解答:本题乍一看,-120木有问题!...没错,那就是大小端存储导致问题,即-120这个数字对应八个位二进制码是放到int变量高位还是低位,所以结果自然不必多说了。 答案:C C语言(clang.cc)研究中心

2K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言】指针与数组笔试题详解

    ✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改 ---- 文章目录 前言 一维数组 字符数组 1 2 3 二维数组 总结...前言 前面我们学习过了指针全部相关知识点,从指针概念开始,学习指针类型意义,进行指针运算,随后还有指针数组,以及数组名意义,还有数组指针,函数指针,函数指针数组等。...char arr[] = { 'a','b','c','d','e','f' }; printf("%d\n", sizeof(arr)); printf("%d\n", sizeof(arr +...)); return 0; } 代码解析: #include #include int main() { char arr[] = { 'a','b','c'...#include #include int main() { char arr[] = "abcdef"; //a b c d e f \0 printf

    59320

    C语言经典笔试题 附试题详解!

    A: main()函数里i是一个未定义值 B: main()函数i为1 C: 编译器不允许这种写法 D: main()里i值为0 解答:当笔试者看到此代码时,可能会觉得古怪。...虽然在C++中编译是可以通过(显然是不合理)。当main()函数里i从定义开始,外部全局变量i就已经被屏蔽掉,所以main()函数里作为右值i值不会0也不会是1,与外部i无关。...而是一个未定义符号。 答案:A 2.以下程序输出结果是什么? A:13 13 B:112 13 C :12 12 D:12 13 解析:本题主要考察指针以及栈概念 。...以下代码说法正确是: A:一定输出-120 B:一定不能输出-120 C:可能输出-120 D:输出%d 解答:本题乍一看,-120木有问题!...没错,那就是大小端存储导致问题,即-120这个数字对应八个位二进制码是放到int变量高位还是低位,所以结果自然不必多说了。 答案:C

    3.4K00

    c语言面试笔试题_c语言面试题库

    大家好,又见面了,我是你们朋友全栈君。 121、为了避免嵌套条件语句if-else二义性,C语言规定:else与(B )匹配。...5 D)6 125、假设int a, b, c, w;且a, b均已经被赋值,同时满足条件ab,执行以下程序后要把c值赋值给w,从键盘上输入c值不应取范围是(B ) scanf...(“%d”, &c); w=b; if(w<=c) printf(“%d”, w); else w=c; A)b>c B)ba&&c 126、执行下面的程序后数学户结果为( )...–); printf(“y=%d”,Y); } A)Y=0 B)Y=1 C)Y=随机值 D)Y=-1 129、C语言中,下列说法正确是( )...B) do…while语句构成循环必须用break语句才能退出。 C) do…while语句构成循环,当while语句中表达式值为非0结束循环。

    1.2K10

    c++面试选择题_C语言经典笔试

    malloc与free是C++/C语言标准库函数,new/delete是C++运算符。 它们都可用于申请动态内存和释放内存。...因此C++语言需要一个能完成动态内存分配和初始化工作运算符new,以及一个能完成清理与释放内存工作运算符delete。注意new/delete不是库函数。...这个唯一选择很关键,它说明了引用重要性以及无可替代性,也许这就是C++语言中引入引用这个概念原因吧。...它们不能返回引用,Effective C++[1]Item23详细讨论了这个问题。...sizeof(p),p为指针得到是一个指针变量字节数,而不是p 所指内存容量。C++/C 语言没有办法知道指针所指内存容量,除非在申请内存时记住它。

    1.1K10

    我被这道c语言笔试题整不会了

    我那时候也就顺便给他找了一些C语言、Linux等等笔试题,后面也教他稍微修改过几次简历。 总体来说,这位同学能有现在三个比较好offer很大原因在于他自身基础不错,肯付出、肯努力结果。...前几天和我分享了他参加面试遇到一道c语言笔试题,他说当时有点整不会了,竟然做错了,然后面试官也让他自己回去想想。因为大部分题做还可以,最后也通过了面试。...题目是这样: 一般而言,我们都会认为任何指针p,对其*操作*p意思就是对p解引用,也就是取p目标,对于指针知识在文章(看完还不会指针,锤自己!)...说实话这完全是坑爹不实际笔试题,不过这样坑爹笔试题还有很多!...但是在c/c++中,函数指针解引用还是会当成函数指针处理,所以函数指针可以不限次数解引用,效果和不解引用是一样,可以换句话说:*操作对它是无效

    25020

    C语言】动态内存管理及相关笔试

    本文我们就详细介绍一下动态内存管理相关函数和知识点 二、malloc和free    C语言动态内存分配是通过库函数实现,该节我们就来讲解其中malloc函数和free函数作用及用法,使用这两个库函数需要包含头文件...,我们就需要打印一下开辟失败原因,然后给出一个错误返回,结束程序,这是一个好习惯,我们可以在每次开辟空间时都判断一下,避免出错    如果不会perror函数,可以参考文章:【C语言】字符和字符串函数...所以如果使用第11个整型空间,那么程序就会报越界访问错误 对⾮动态开辟内存使⽤free释放:这样操作是C语言标准未定义,不同编译器可能有不同处理结果,也可能报错,所以如果没有使用动态内存开辟函数开辟空间...五、动态内存经典笔试题 题1    运行以下代码会发生什么?...str)执行后,str就成了野指针,所以后面的拷贝就是非法访问 六、总结C/C++中程序内存区域划分    在动态内存管理最后,我们将C/C++中程序内存区域划分拿来总结一下C/C++程序内存分配

    8510

    C语言之指针详解(5)(含有易错笔试题)

    一、sizeof和strlen对比 有一个很神奇现象,就是在C语言中sizeof和strlen是两个毫不相干东西一个是操作符,一个是库函数。但是对于初学者来说就是很容易把两者弄混淆。...printf("%d\n", sizeof a); printf("%d\n", sizeof(int)); return 0; } 代码运行结果如下: 1.2 strlen strlen是C语言库函数...,统计是\0之前字符个数 3.不关注内存中存放什么数据 3.关注内存中是否有\0,如果没有\0,就会持续往后找,可能会越界 对于下面的笔试题,有少部分我做了讲解。...如果有其它疑问地方可以在底下评论区问我,我会尽可能帮助大家。 二、数组和指针笔试题 在下面的题目中sizeof情况比较简单,对于strlen有些地方稍微有点难度,我会为大家做出相应解释。...] = { "ENTER","NEW","POINT","FIRST" }; char** cp[] = { c + 3,c + 2,c + 1,c }; char*** cpp = cp; printf

    4110

    C语言基础】:动态内存管理(含经典笔试题分析)

    有时候我们需要空间大小在程序运行时候才能知道,那数组编译时开辟空间方式就不能满足了。 C语言引入了动态内存开辟,让程序员自己可以申请和释放空间,就比较灵活了。...2. malloc函数和free函数 2.1 malloc函数 C语言提供了⼀个动态内存开辟函数: void* malloc (size_t size); 这个函数向内存申请⼀块连续可用空间,并返回指向这块空间指针...【示例】:内存申请 2.2 free函数 C语言提供了另外⼀个函数free,专门是用来做动态内存释放和回收,函数原型如下: void free (void* ptr); free函数用来释放动态开辟内存...3. calloc函数和realloc函数 3.1 calloc函数 C语言还提供了⼀个函数叫 calloc, calloc 函数也用来动态内存分配。...三、C/C++中程序内存区域划分 栈区(stack):在执行函数时,函数内局部变量存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。

    15910

    C语言进阶篇】动态内存常考笔试

    鸽芷咕:个人主页 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活理想,就是为了理想生活!...⛳️今天就来看看这些经典笔试题你会做吗?而这需要一些基本C/C++程序内存分配几个区域这些知识,今天就给大家一起讲一讲! 本期文章收录在《C语言进阶篇》,大家有兴趣可以看看呐!...注:本笔试题出自《高质量C/C++编程》林锐博士这本书 《高质量C/C++编程》《动态内存管理》《位段 联合 枚举》 C/C++程序内存开辟   ⛳️大家在学习C语言过程中不知道思没思考过这个问题...代码段: 可执行代码 和 只读 常量 几个经典笔试题:   ⛳️好了这些C/C++内存分布我们懂了下面的经典笔试题就可以做一做了看一下你是否真的理解了 题目1: void GetMemory...C++内存分布 和 动态内存管理笔试题就全部讲解完毕啦!

    11610

    C语言】初识C语言(常见C语言概念)

    语言大致可以分为自然语言和计算机语言,自然语言就是人与人日常交流语言,如汉语、英语、日语等等,计算机语言又可以分为机器语言、汇编语言、高级语言C语言就是一个高级语言 机器语言:就是由二进制01组合起来计算机可以直接识别的程序语言是一种面向机器语言...,比起低级语言易懂易学,可移植性好,编程效率高,但是执行效率没有低级语言高,需要经过编译或解释,C语言就是采用编译一种高级语言 二.为什么选择C语言 C语言常年霸榜各类高级语言前三,属于基础必学语言...,其功能强大,而且许多语言都很相似,如果学好C语言,对学习其他语言也有很大帮助 三.编译器选择 C语言是一门编译型语言,需要依赖编译器将计算机语言转换成机器能够执行机器指令 常见编译器有:msvc...将后缀名.cpp改为.c就可以了,创建好后就可以开始写我们第一个C语言程序了 注意:其中.c文件叫源文件,.h文件叫头文件(head),后面会慢慢讲到 五.第一个C语言程序 注:只需要跟着操作,后面会一一解释它们代表着什么...,按ctrl+k,ctrl+u可以取消注释 总结 以上就是今天所要讲C语言常见概念,下次讲C语言数据类型和变量,如果今天内容有不懂还请在评论区留言,当然,还有许多不足地方也请大家多多指正,谢谢

    9510

    全国计算机二级C语言笔试样卷

    全国计算机等级考试二级笔试样卷C语言程序设计 一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题2分,共70分)   下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确...进行中序遍历结果是   A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG   (11)下列叙述中错误是   A)一个C语言程序只能实现一种算法   B)C程序可以由多个程序文件组成...()函数位置是固定   CC程序中所有函数之间都可以相互调用,与函数所在位置无关   D)在C程序函数中不能定义另一个函数   (13)下列定义变量语句中错误是   A)int _int;...B)double int_; C)char For; D)float US$;   (14)若变量x、y已正确定义并赋值,以下符合C语言语法表达式是...  A)a+b=10 B)a+b=30 C)30 D)出错   (20)在嵌套使用if语句时,C语言规定else总是   A)和之前与其具有相同缩进位置

    78920

    C语言】常见C语言概念

    什么是C语言 人和人交流使用是自然语言,就像是汉语、英语、日语。 那人和计算机是怎么交流呢? 使用计算机语言。...目前已知已经有上千种计算机语言,人们们是通过计算机语言程序,给计算机下达指令,让计算机工作C语言就是众多计算机语言⼀种,当然C++/Java/Go/Python都是计算机语言。...2.C语言历史 C语言最初是作为Unix系统开发工具而发明。 像windows、Linux这些都是操作系统 3. 编译器选择VS2022 为什么要有编译器先来了解一下编译和链接。...3.1 编译和链接 C语言是一门编译型计算机语言C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器链接,生成二进制可执行文件,可执行文件才能执行。...C语言把 .c 为后缀文件称为源文件,把 .h 为后缀文件称为头文件。 5.

    8510

    C语言进阶篇】关于指针八个经典笔试题(图文详解)

    鸽芷咕:个人主页 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活理想,就是为了理想生活!...文章目录 前言 指针笔试笔试题 1: ✅ 代码解析 ⁉️ 检验结果: 笔试题 2: ✅ 代码解析 ⁉️ 检验结果: 笔试题 3: ✅ 代码解析 ⁉️ 检验结果 笔试题 4: ✅ 代码解析...这篇文章让你融汇贯通 本期文章收录在《C语言进阶篇》,大家有兴趣可以看看呐! ⛺️ 欢迎铁汁们 ✔️ 点赞 收藏 ⭐留言 !...main() { char *c[] = {"ENTER","NEW","POINT","FIRST"}; char**cp[] = {c+3,c+2,c+1,c}; char***cpp = cp...这时看这我们上面画图就简单多了!而这时又进行了俩次解引用不就找到 c[2]嘛! printf(“%s\n”, **++cpp); 结果为 POINT。

    42910

    C++】C 语言C++ 语言关系 ( C 语言发展 | C 语言缺陷 | C 语言 + 面向对象 + 高级语言特性 | C++ 语言增加内容 | C 语言C++ 语言应用场景 )

    C99 , C11 , C17 等标准 , 以满足新编程需求 ; 二、C 语言缺陷 C 语言有如下缺陷 : C 语言 没有经历过 缜密 设计过程 , 都是根据需求逐渐完善 , 出现了很多缺陷和漏洞...+ 高级语言特性 1、C 语言衍生高级语言 鉴于 上述 面向过程 C 语言 设计缺陷 , 在 C 语言 基础上 , 引入 面向对象 设计方法 , 同时加入 高级语言特性 , 开发出了 高级面向对象...2、C 语言C++ 语言关系 C 语言C++ 语言 并 不是 竞争关系 ; C++ 语言 是 以 C 语言为基础 加强版本编程语言 , 可以看作是更好 C 语言 , 在 C++ 语言...中 , 可以使用 C 语言语法 , 对 C 语言完全兼容 ; C++ 语言 包含 C 语言 , 在 C++ 代码中可以使用 C 语言语法 , 但是在 C 语言中不能使用 C++ 语法 ; 3、C++...语言应用场景 C 语言C++ 语言应用场景 : C语言 应用场景 : 系统软件、操作系统、编译器等 底层系统级应用 ; C++ 语言 应用场景 : 大型应用程序、游戏 等更 高级应用 ; 在不同

    27820
    领券