c 定义结构体时提示应输入声明_C/C++程序员面试基础知识(一)

3d39a6d76b3c79d3f13408d73f14f8be.png

1问题:Stdio.h 的主要作用?

回答:stdio .h头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。C语言

2问题: n 、r 与t什么意思?

回答:'n' 换行, 将当前位置移到下一行开头;

r是回车, 将当前位置移到本行开头;

t水平制表(HT) (跳到下一个TAB位置。

3问题:|与|| 、&与&&的区别?

回答:首先 &和|称为位运算符(按位进行与或),&&和||(按结果真假或0/1进行与或)称为逻辑运算符;逻辑运算符性能比较好。他检查第一个操作数的值,再根据该操作数的值进行操作,可能根本就不处理第二个操作数。使用&&和||运算符来代替&和|,性能会有一定提高。

595c56da3b4695eb0103978df7a5ab55.png

4问题: 后缀名为.c与.cpp?

回答:.c是c语言的源程序格式,.cpp是c++语言的源程序格式;C89规定,在任何执行语句之前,在块的开头声明所有局部变量。在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。

5问题: 不使用任何中间变量如何将a/b的值进行交换?

回答:①使用加减运算实现交换,a=a+b; b=a-b; a=a-b;(在a+b与a-b可能数据溢出)

②使用局部变量,int temp=a; a=b; b=temp;

③使用异或运算,a^=b; b^=a; a^=b;

6问题:c和c++有什么不同?

回答:C是一个结构化的语言,重点在于算法和数据结构,对语言本身C是C++的子集。

C程序的设计首先考虑的是如何通过一个过程实现对输入进行运算后输出,对于C++考虑的是如何构造一个对象模型,让这个模型能够匹配对应的问题,通过获取对象的状态信息得到输出或实现过程控制。

因此,C与C++的最大区别在于,他们解决问题的思路方法是不一样的。

C实现了C++中过程化控制及其他相关功能,而在C++中相对于C还有所加强,引入了重载、内联函数、异常处理等,同时拓展了面向对象的设计内容,如类、继承、虚函数、模板等。

附:C是面向过程的、C++面向对象(在C++中一样可以写出与C一样过程化的程序,所以只能说C++具有面向对象的特性)、Java是真正面向对象化的程序。

2f126a0ca15e98f3d340f79c01c420d8.png

7问题: 为什么标准头文件都有#ifndef _xxxxxx; #define _xxxxxx #endif?

回答:这样定义是为了避免重复定义。重复声明可以,但是重复定义是不可以的。重复声明只要名称完全相同即可。但是重复定义会出现编译错误的,即使同名也不可以。

8问题: #include<head.h>与#include “head.h”的区别?

回答:尖括号< >表明这个文件是一个工程或标准的头文件,在预处理查找过程中会首先检查系统预定义的目录,如果没有找到就报错。

双引号" "表明这是一个用户自定义的头文件,查找文件的时候会先在当前文件目录中查找,如果没有找到再去系统预定义的目录中查找,如果没有找到再报错。

需要学习编程或者为了入行、转行学习编程的伙伴可以关注.工.众.号:【速学C语言】公众号回复“1024” 领取全套200G免费C/C++学习资料、视频!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值