static关键字的作用:
(1)设置局部变量的存储域,static局部变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;

(只执行一次,延长局部变量的声明周期直至程序结束)

(2)限制全局变量的作用域,static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;

(3)限制函数的作用域,static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;

局部变量和全局变量是否可以重名:

能, 局部会屏蔽全局. 要用全局变量, 需要使用"::"

程序的内存分配:

代码段,数据段(数据区、bss),堆,栈

注:数据区:初始化的全局变量

bss:静态变量和未初始化的全局变量/初始化为0的

堆和栈的区别:

一、堆栈空间分配区别:

1、栈空间:由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;
2、堆空间: 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
二、堆栈缓存方式区别:
 1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放;
 2、堆是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用 这些对象的速度要相对来得低一些。
三、堆栈数据结构区别:
  堆(数据结构):堆可以被看成是一棵树,如:堆排序;
  栈(数据结构):一种先进后出的数据结构。

程序阅读题:

#include<stdio.h>
#include<string.h>
int inc(int a)
{
return(++a);
}

int multi(int*a, int *b, int*c)
{
return(*c = (*a) * (*b));
}

typedef int(FUNC1)(int in);
typedef int(FUNC2) (int*, int*, int*);

void show(FUNC2(fun), int arg1, int*arg2)
{
FUNC1 *p = &inc;
int temp = p(arg1);
fun(&temp, &arg1, arg2);
printf("%d\n",*arg2);
}

int main()
{
int a;
show(multi, 10, &a);
return 0;
}

答案:110

#include<stdio.h>
#include<string.h>
void test2()
{
char string[10], str1[10];
int i;
for(i = 0; i < 10; i++)//i < 9
{
str1 = 'a';//错误:赋值时类型不兼容
}

//string[10] = '\0';
strcpy(string, str1);
printf("%s\n",string);
}
int main()
{
test2();
return 0;
}

修改的方法:

红色标识处

编程题:

写一个函数,判断单链表是否存在环:

struct  listtype

{

int data;

struct listtype * next;

}list;

int find_cicle(list *head)

{

list *pFast=head;

list *pSlow=head;

if (pFast==NULL)

{

printf(“链表是空的\n”);

return -1;

}

while(pFast && pFast->next)

{

pFast=pFast->next->next;

pSlow=pSlow->next;

if (pFast==pSlow)

{

Printf(“链表存在环!~\n”);

return 1;

}

}

Printf(“链表不存在环!~\n”);

return 0

}

N个人排成一圈,顺序排好,从第一个开始报数(1-3),凡是报的3的退出圈子,问最后剩下哪个?

#include <stdio.h>

int main()
{
int a;
int i,j=0;
int count = 0, x = 0, all = 1;
printf("请输入人数:\n");
scanf("%d",&a);

x = a;
int b[x][2];

for(i = 0; i < x; i++)
{
b[i][0] = i+1;
b[i][1] = 1;
}//初始化

while(1)
{
if(b[j%x][1] == 0)
{
j++;
continue;
}

count++;
if(count%3 == 0)
{
b[j%x][1] = 0;
count = 0;
++all;
}
j++;
if(all == x)
{
break;
}
}//去除死亡者

for(i = 0; i < x; i++)
{
if(b[i][1] == 1)
{
printf("幸存者是%d ",i+1);
}
}
printf("\n");//输出幸存者
return 0;
}

笔试训练1 知识点整理相关推荐

  1. 【笔试】计算机网络知识点整理

    1. OSI与TCP/IP各层的结构与功能,都有哪些协议. OSI模型 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻 ...

  2. 【笔试】操作系统知识点整理

    一. 操作系统概述 1. 操作系统的主要功能 进程与处理机管理:作业和进程调度.进程控制和进程通信: 存储管理:内存分配.地址映射.内存保护和内存扩充: 设备管理:缓冲区管理.设备分配.设备驱动.设备 ...

  3. JavaScript笔试知识点整理

    JavaScript笔试知识点整理 2018.09.28 2018.09.29 2018.09.30 定义函数 在Javascript定义一个函数f有三种方式:第1种最常用,后两种都是把一个匿名函数复 ...

  4. 程序员笔试知识点整理

    程序员笔试知识点整理 0.常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法: B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. 链 ...

  5. [知识点整理]中科院/国科大 自然语言处理nlp 期末考试知识点整理

    本文为2022秋网安学院的自然语言处理课程期末复习知识点整理,水平有限,整理的答案可能有错误或遗漏,欢迎大家指正. 文章的第二部分内容参考了学校学姐的文章,文章写的很好,大家可以关注她:(133条消息 ...

  6. Android 笔试/面试,常见问题整理

    Android 笔试/面试,常见问题整理 Android学习书籍下载的网址:http://pan.baidu.com/s/1slCSUcP 上面网盘里面的书籍都是PDF格式的,有面试宝典,疯狂java ...

  7. 优达学城java_优达学城数据分析师纳米学位——P4项目知识点整理及代码分析

    #P4项目知识点整理 ##P4项目概述 ##R语言知识点汇总 ##数据分析实例解析 #P4项目概述 使用R+EDA(exploratory data analysis探索性数据分析)(探索式数据分析是 ...

  8. 知识点整理,Java基础面试题(一)

    写在前面 整理了一些互联网大厂的面试题,这些面试题经常会被问到,也是作为Java工程师需要掌握的一些知识点,毕竟理论和实践的结合,才是王道,分片整理,每天嗑些知识点,快乐每一天,如果对你有帮助,记得点 ...

  9. 山东大学软件学院2022-2023数据科学导论知识点整理【软工大数据课组】

    每年考点变化较大,仅供参考 CSDN的排版能力有限,因此留pdf版本,祝大伙全部95+,呼呼 山东大学软件学院2022-2023数据科学导论知识点整理[软工大数据课组]-统计分析文档类资源-CSDN文 ...

最新文章

  1. insight切换窗口 source_Source Insight函数调用关系显示设置
  2. OSChina 技术周刊第二十九期 —— HTTP 有时候比 HTTPS 好?
  3. 修改cockpit端口
  4. uniapp 统计_“uni统计”震撼来袭 - 1份报表,掌握全景数据(App及各种小程序)
  5. SpringCloud Consul Config 配置中心(一)
  6. 用函数模板实现选择排序算法_干货|STL容器和算法
  7. css按钮大小固定,在CSS中创建一个固定宽度的按钮
  8. Windows10右键没有新建文本文件
  9. python使用try语句捕获处理异常_Python使用try except处理程序异常的三种常用方法分析...
  10. DPDK-VPP 学习笔记-03 Load Balancer plugin
  11. opencms mysql_[转]OpenCms for MySql 安装图解
  12. ubuntu18.04配置静态ip和动态ip
  13. 装完金蝶电脑无限重启_电脑一直自动重启的原因与解决方法
  14. 自己组装nas服务器万兆,万兆网络、装M.2 SSD的NAS服务器
  15. <i> vs <em> vs <cite>
  16. deprecate node-sass@4.9.0 › request@~2.79.0 request has been deprecated, see https://github.com
  17. 谷歌面试题-单位换算
  18. 计算机二级考试准考证打印指南 计算机二级考试准考证打印入口
  19. Mac清理系统用什么软件?
  20. 怎么给自己的电脑连接打印机

热门文章

  1. c++求矩阵的秩_Matlab:矩阵的秩,简化梯形矩阵和线性方程组
  2. centos7 VNC-Server-6.7.2
  3. html元素一行显示不完收缩_这些常用的HTML标签,你还不知道吗?
  4. mysql数据库制定位置_MySQL数据库在指定位置增加字段
  5. 大学物理实验试卷1到8_物理实验在绝对的“理论”面前就是“纸老虎”
  6. android javamail获取邮件太多太慢_java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)
  7. JAVA链表返回子表_基于java的链表反转
  8. linux写程序四则运算,Shell编程之变量及四则运算
  9. mysql二维数组vb_VBA链接MYSQL的帮助类
  10. 密码学之hill密码