黑马程序员技术交流社区
标题:
co及c基础知识
[打印本页]
作者:
小钦
时间:
2016-2-24 17:53
标题:
co及c基础知识
4.c语言有哪五大数据类型?
"基本数据类型 / 构造类型 / 指针类型 / 空类型 / 定义类型/
5.常见的运算有哪些?"算数 关系 逻辑 赋值 位运算 条件运算
6.逻辑运算有哪几种?判断原则是什么?"与或非 与运算:有假为假 或运算:有真为真 非:真假互换
7.存在多个运算符时,运算顺序由什么决定的?"优先级和结合律"
8.计算机存储的数据本质上是什么?"2进制"
9.流程控制有哪几种?"顺序结构/选择结构/循环结构
10.选择结构有哪几种?"至少4种 if else if
11.switch语句如果case里没有break的执行流程是什么?"会一直执行,遇到break结束,没有就到作用域结束 如果没有break会一直穿透 不做case判断
12.循环结构有哪些?"for /while/ do while
13.什么时候适合用for什么时候适用用while?"确定循环次数的时候 不确定用while
14.for与while能不能相互转换?"可以
15.do while与while的区别是什么?"先执行一次再判断 第2个是先判断
16.continue与break的作用及区别是什么?"1先跳出再循环,而且只能用于循环 2是直接跳出整个循环结束,还能在switch用
17.什么是进制?"计数的一个方法
18.计算机中常见的进制是有哪些?怎么表示?"2 8 10 16 // 8进制0开头 2进制0b 16进制0x
19.2进制有2吗?16进制每位最大是多少?"1没有 2.F]]
20.常见的位运算有哪几种?判断逻辑是什么?"^相同为0不同为1 &有0为0 |有1为1 !取反
21.函数可以分为哪几类?使用步骤是什么?"有参有返 无参.. 4种 定义 声明 使用
22.函数的作用域是什么?"从函数声明到整个文件结束
23.函数声明的作用是什么?可以没有声名吗?"为了告诉编译器我这是函数,如果在上面定义可以不用声明
24.函数的参数会开辟空间吗?"必须会开辟空间 开始在代码区,用时在栈区
25.函数的参数传递的是实际是什么?"值传递 指针也是值传递
26.如果用函数改变一个局部变量的值?"用指针地址 int *p=&a
27.什么是数组?什么时候用数组?"把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。需要管理多个相同数据的时候用数组
28.数组常见的排序算法有哪些?"当冒泡和选择, 俩俩比较--冒泡 最值冒出来 选择--让一个数和每一个数都做比较 把最值选出去
29.数组的元素的个数可以改变吗?"不可以,因为长度定死了
30.定义数组时可不可以不写长度?什么时候必须写长度?"就是数组在定义的那一刻起就给他批量赋值,就可以不用,反之
31.数组批量赋值要注意什么问题?什么情况下才可以批量赋值?"1.赋值的值不能超过数组长度,2在定义的时刻去赋值"
32.指针是什么?"是一个储存地址的变量,而且是一种数据类型
33.指针可以进行什么运算?"只能进行加减运算
34.指针加1或减一时移动的字节数由什么决定?"指针加1或者减一 由指针类型决定的,这个类型占多少字节数移动就是多少
35.如何确定一个指针的类型?"去掉变量名 和一个星星
36.如何给一个数据类型定义指针?"吧数据类型原封不动拷下来 把变量名干掉,再加个星括起来
37.什么叫野指针?"C里面这个指针定义好之后没有赋值,局部里面是个随机值 OC部分指向僵尸对象的就是野指针
38.什么叫常量指针?什么叫指针常量?"当前这个指针指向的空间是个常量, 常量指针不能改变空间的值 //指针常量:就是个常量,这个类型是指针 同时这个指针存的地址不能改变
39.数组名代表什么?什么叫指针数组?什么叫数组的指针?"代表数组的首地址和首元素的地址 /指针数组,本质是个数组,元素是指针类型 数组的指针:是个指针,这个指针指向的空间是个数组 指向int空间就是个int类型
40.C语言字符串有哪几种定义方式?各有什么区别?"2种,一个用数组 一个用指针 一个字符数组 一个字符指针 区别:一个变量一个是常量 数组的可以改变 指针的不能
41.什么叫结构体?"结合体就是可以存储不同类型的容器,称为结构体
42.结构体的内存分配原则是什么?"1.当前结构体任意一个元素的首字节的偏移量是当前字节数的整数倍 2.整个结构体的内存占用的字节数是最大一个元素的字节的整数倍
43.结构体名含有首元素的地址吗?"结构体不含首元素地址
44.枚举是什么?有什么作用?"枚举是一种数据类型,是构造类型,给一些整数常量取别名,便于识别
45.typedef有什么作用?其与宏定义的区别?"给一个复杂的数据类型取别名 typedef定义的别名有类型的含义 而宏定义纯粹是替换的含义 一个是编译前处理 一个是编译时
46.C预处理指令是什么?有哪几类?"是编译器吧代码编译成2进制之前的操作,文件包含,include defean 条件编译
47.防止重复包含与交叉包含的方法是什么?"宏定义加条件编译 防止交叉: 这个宏如果没有定义,我们就去定义
48.static与extern的区别是什么?"修饰函数和修饰变量 "修饰函数":static修饰的只能在本文件访问 extern既可以在本类也可以在外部,声明就可以 static声明了也不能用 默认是extern
""修饰变量:"static修饰局部变量延长局部变量的生命周期直到程序结束 函数在第一次执行的时候创建. 全局变量在程序启动就创建 extern修饰局部变量,是声明一个变量, 不能给他变量赋值
49.文件操作的步骤是什么?"打开 操作 关闭
50.文件操作的输入与输出怎么区分?是相对于什么而言?"把2个文件中放一个操作者 输入 输出 相当于操作者而言
作者:
w83144378
时间:
2016-2-24 17:57
写的很好,丹尼斯都自愧不如
作者:
x_starry
时间:
2016-2-24 18:57
总结的不错,赞一个
作者:
从心开始のBean
时间:
2016-2-24 23:21
感觉好深奥的样子
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2