所在位置下标 c语言,C语言部分概念.doc

C语言部分:

1.写一个宏, 求两个整数的最大值.

#include

#define MAX a>b?a:b;

Void main{

Int a ,b;

Printf(“请输入两个数:”);

Scanf(“%d %d”,&a,&b);

Printf(“max = %d”,MAX);

}

2.内存如何划分(地址从高到低), 每个分区的特点是什么?

内存分为五大区,分别是:栈区、堆区、静态区、常量区、代码区

1.栈区:内存为8M,地址从高到低排列,函数调用时,在栈区开辟内存,函数调用结束时就会立马被系统回收

2.堆区:开辟内存用函数malloc calloc给开辟的内存清零 realloc重新分配内存

生命周期为从程序开始一直到程序结束

3.静态区:静态区关键字为static,在主函数外定义的变量是全局变量,可被改写,作用域在整个程序,他的生命周期重程序开始一直到程序结束

4.常量区:存储常量数字 ,字符或字符串,是立即数,立即使用立即释放,存储在CPU中,在使用是通常从常量区拷贝到栈区开辟的变量空间中

5.代码区:存储代码,生命周期从程序开始到程序结束

3.变量定义三要素__变量类型___、__变量名____和__变量值____

4.编写程序,实现两个整数的交换

#include

Void main {

Int a, b;

Int temp = a;

A = b;

B = temp;

}

5.逻辑运算符包括__&&____、__||____和__!____

6.分支结构的分类和格式;

If(条件){表达式}

Else{表达式}

Switch:

Case1:表达式1;

Case2:表达式2;

...,

Default:表达式

7.编写程序, 输入一个年份, 判断该年份是否是闰年

#import

Void main {

Printf(“请输入年份:”);

Scanf(“%d”,&a);

If(a % 4 ==0 || a & 100 == 0){

Printf(“该年是闰年”)

}

Else

printf(“该年不是闰年“);

}

8.for循环包含__循环变量初值____、__循环条件____、__循环步长____和__循环体____四部分

9.break和continue的作用

Break是结束本次循环

Contiue是跳出本次循环,直接进入下次循环

10.sizeof和strlen的区别

Sizeof是指变量所占空间 字节长度

Strlen是指字符串的长度

11.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

#import

#define second 365*24*60*60;

12.static的作用

Static 静态变量的关键词,定义静态变量,作用域是整个程序

13.堆和栈的区别

(1)栈区是由编译器自动管理,一旦函数调用结束内存有系统自动的回收,无需手动释放,其进栈方式是先进后出,进栈出栈有指令进行,效率较高,当内存空间超过8M时,会出现溢出。其分配方式有静态分配(由编译器完成)和(alloc函数完成)动态分配

(2)堆是高地址扩展的数据结构,不是连续的内存空间,遍历方向是由低地址向高地址,其释放是由程序员控制,容易产生内存泄漏;其内存大小受限于计算机系统的中有效虚拟内存,数据的存入提取均由函数库完成。堆得分配方式是动态分配(alloc函数完成)有程序员手动释放。

14.堆区常见的内存问题

堆是一种经过排序的树形数据结构,每个结点都有一个值。通常所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小,且根结点的两个子树也是一个堆。由于堆的这个特性,常用来实现优先队列,堆的存取是随意,这就如同在图书馆的书架上取书,虽然书的摆放是有顺序的,但是想取任意一本时不必像栈一样,先取出前面所有的书,书架这种机制不同于箱子,可以直接取出想要的书。

15.􏲧􏵽􏵾􏵿指出下述变量a的含义:

int a[10] :数组名

int *a :变量名

int (*a)(int) :函数变量

16.变量名的命名规范是什么?

1).以字母 下划线开头

2).非系统关键字

3).包含字母、数字、下划线

17.指针和地址是什么关系?

指针就是地址

18.局部变量能否和全局变量重名?

19.请写出下列代码的输出内容

#include  

int main(void)

{

int a,b,c,d;

a=10;

b=a++;

c=++a;

d=10*a++;

printf("b,c,d:%d,%d,%d",b,c,d);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值