攻破c语言笔试与机试难点,如何攻破C语言学习、笔试与机试的难点.doc
如何攻破C语言学习、笔试与机试的难点
第一节??C语言编程中的几个基本概念1.1? ?? ?#include< >与#include" "?
1.? ?#include< >和#include" "有什么区别?
这个题目考查大家的基础能力,#include< >用来包含开发环境提供的库,
#include" "用来包含.c/.cpp文件所在目录下的头文件。注意:有些开发环境可以在当前目录下面自动收索(包含子目录),有些开发环境需要指定明确的文件路径名。
1.2? ?? ?switch()
1.? ?switch(c) 语句中 c 可以是 int, long, char, float, unsigned int 类型?
其实这个题目很基础,c应该是整型或者可以隐式转换为整型的数据,很明显不能是实型(float、double)。所以这个命题是错误的。
1.3? ?? ?const
1.? ?const有什么用途?
虽然const很常用,但是我相信有很多人仍然答不上来。
(1) 欲阻止一个变量被改变,可以使用const 关键字。在定义该 const 变量时,通常需要对它进行初 始化,因为以后就没有机会再去改变它了;
(2) 对指针来说,可以指定指针本身为 const,也可以指定指针所指的数据为 const,或二者同时指定为 const;
(3) 在一个函数声明中,const 可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4) 对于类的成员函数,若指定其为 const 类型,则表明其是一个常函数,不能修改类的成员变量;
(5) 对于类的成员函数,有时候必须指定其返回值为 const 类型,以使得其返回值不为“左值”。
1.4? ?? ?#ifndef/#define/#endif
1.? ?头文件中的 #ifndef/#define/#endif 干什么用?
其实#ifndef、#define、#endif这些在u-boot、linux内核文件中经常见到,在这么大型的程序中大量使用,可见它的作用不可小觑。
这些条件预编译多用于对代码的编译控制,增加代码的可裁剪性,通过宏定义可以轻松的对代码进行裁剪。
#ifndef/#define/#endif最主要的作用是防止头文件被重复定义。
1.5? ?? ?全局变量和局部变量
1.? ?? ?? ?全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈。 其实,由于计算机没有通用数据寄存器,则函数的参数、局部变量和返回值只能保存在堆栈中。提示:局部变量太大可能导致栈溢出,所以建议把较大数组放在main函数外,防止产生栈溢出。
思考:如程序清单1. 1所示。会出现怎样的情况?
程序清单1.?1??大数组放在main函数中导致堆栈溢出
int main(int argc, char *argv[])
{
? ? int iArray[1024 * 1024];
? ? return 0;
}
第二节??数据存储与变量2.1? ?? ?变量的声明与定义
1.? ?? ?? ?如程序清单2. 1所示会不会报错?为什么?如果不会报错,又是输出什么结果?
程序清单2.?1??变量的声明与定义
#include
static int??a? ?;
static int??b[] ;
int main( int argc , char *argv[] )
{
? ? printf( "%d??%d \n" , a , b[0] ) ;
? ? return 0 ;
}
static int? ?a = 8 ;
static int? ?b[4]??;
这个程序是不会报错的,并且连警告都不会出现。输出的结果是:8??0
static int a ,这句程序是声明全局变量a;static int b[],这句程序是声明全局数组变量b,并且是不完全声明,也就是可以省略数组下标。static int a = 8,这里才是定义全局变量a,static int b[4],这里是定义全局变量b。
2.2? ?? ?局部变量与全局变量的较量
1.? ?? ?? ?请问如程序清单2. 2所示输出什么?
程序清单2.?2??局部变量与全局变量
#include
static int a = 8 ;
int main( int argc , char *argv[] )
{
? ? int a = 4 ;
? ? printf( "%d \n" , a ) ;
? ? return 0 ;
}
C语言规定,局部变量在自己的可见范围内会“挡住”同名的全局变量,让同名的全局变量临时不可见。即在局部变量的可见范围内不能访问同名的全
攻破c语言笔试与机试难点,如何攻破C语言学习、笔试与机试的难点.doc相关推荐
- python的难点是什么_总结学习python的29个操作难点
初学Python的人总会遇到这样或者那样的问题,在我学习Python的这段时间我总结了自己的29个问题,具体如下: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的 ...
- 华为OD机试 - 相对开音节(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 【独家】华为OD机试 - 英文输入法(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 【独家】华为OD机试 - 猜字谜(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 华为OD机试 - 简易压缩算法(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 【独家】华为OD机试 - 去重求和(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 华为OD机试 - GPU 调度(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 华为OD机试 - 能力组队(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 华为OD机试 - 内存池(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
最新文章
- 报错解决:undefined reference to `snappy::MaxCompressedLength(unsigned long)'
- Android init.rc如何启动service去执行sh脚本
- python第二章上机实践_第二章上机实践报告
- 如何使用busybox编译和生成最简linux根文件系统(rootfs)
- Server Tomcat Server at localhost failed to start解决方案
- 金三银四大厂面经总结,java模块化打包
- MFC PreTranslateMessage介绍
- Android图形之HWC(二十四)
- 【学习】如何用jQuery获取iframe中的元素
- LayuiAdmin 滚动条设置问题解决
- 以业务流程为框架的企业组织设计
- 软件测试知识点和面试题--性能测试篇
- SLAM建图精度评估 by EVO
- office2019word2019excel2019ppt2019关闭自动更新设置步骤
- Linux内核4.14版本——SPI NOR子系统(2)——spi-nor.c分析
- 阿里云国际站实名认证上传材料填写样例(域名持有者为组织)
- SEO不应该忽视的9个谷歌排名因素
- Windows 经典桌面背后的故事
- 区块链3.0在2018年爆发?不要讲颠覆世界的故事,耐心做好区块链应用……
- 腾讯管家强制粉碎文件功能右键添加
热门文章
- No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer解决方法
- 用iframe设置代理解决ajax跨域请求问题
- mybatis 调用 oracle 存储过程 select into 无记录时NO_DATA_FOUND异常处理分析
- 安装kafka过程及出现的问题解决
- eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法
- nuxt 脚手架创建nuxt项目中不支持es6语法的解决方案
- SpringMVC 静态资源CSS,JS访问不了 解决方法
- python解决四舍五入问题
- 【翻译】【linux设备驱动】linux地址类型
- sql server 2008数据复制