1、电脑任务栏的显示和隐藏
教你个简单的方法:按下 Ctrl+Alt+Del 键,打开任务管理器->”进程”选项卡->找到 explorer.exe ->点结束进程->点“文件”->在新建任务中输入“explorer.exe ”,再点“确定”。

2、数据类型的作用:指定解析方式,指定解析内存块的大小
简单的猜数游戏

/*========while的使用 return的使用 头文件的添加  分号============*/
#include <stdio.h>
#include <stdlib.h>int main(void)
{int price,num=0,time=0;price=rand()%100+1;printf("Please guess a number:");while(num!=price){scanf("%d",&num);if (num==price){printf("Right!\n");/*return 0;*/}else if(num<price){printf("Please input a bigger number:");}else if(num>price){printf("Please input a smaller number:");}time++;}printf("The total time is:%d\n",time);return 0;
}

循环语句;for(初始条件;循环判断;其他操作)
{ }
while(循环判断)
{ }
do
{ }
while(循环判断)
goto语句;一般不用

/*实现1+...+100*/
#include <stdio.h>
int main(void){int i,sum=0;i=1;loop: if(i<=100){sum=sum+i;i++;goto loop;}printf("%d\n",sum);return 0;
}

跳出循环
break:跳出switch语句;跳出当前循环语句
return 主要用于函数的返回,其实质就是根据条件相应提前结束函数的运行,当然也就能结束函数题的运行
continue 提前结束本次循环 进入下一次循环

3、根据编译器的不同 int占据内存的大小不同
51单片机的C语言中int 代表2字节(16位) 同理32位的RAM处理器的C语言中 int 代表4字节
PC端软件的编译器则会根据操作系统或处理器定义为 4字节或8字节
数组 结构体

重要内容

4、函数——一个输入输出的工具

/*=====函数的语法======*/
[] fun_name(argument)
{statement(s);return [];
}//[]表示可由可无

C语言中函数的分类:库函数和自定义函数
库函数:
1、Standard C I/O 标准的输入输出函数
2、Standard C String &Character 处理的是字符和字符串
3、Standard C Math 数学相关的函数
4、Standard C Time & Date 时间和日期相关的函数
5、Standard C Memory 内存相关的函数
6、Other Standard C Function 其他一些标准C函数

函数的声明和定义

形参的作用是什么 就是向编译器的一种解释 函数调用时候需要遵循的规则 否则会报错或警告

形参可以不用参数名 直接写参数类型就好了

指针
指针所占的内存与操作系统有关 32位windows是4字节 64-8

程序的内存分配
一个有c/c++编译的程序占用的内存分为以下几个部分:
栈区(stack) 堆区(heap)全局区(静态区) 文字常量区、程序代码区
内存的分配和释放 内存的存储方式 存储效率

char **a[3] [4] ;printf(“%d”,sizeof(a));
a为一个指针数组 每个指针占4个字节(32位),则4*3*4=48;

C语言动态数组的分配及实现 见收藏夹

Exit() 是电脑函数。
函数名: exit()
所在头文件:stdlib.h
功 能: 关闭所有文件,终止正在执行的进程。
exit(1)表示异常退出.这个1是返回给操作系统的。
exit(x)(x不为0)都表示异常退出
exit(0)表示正常退出
exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
stdlib.h: void exit(int status);
参 数 : status //程序退出的返回值.

int j = 0;
int a[10];
a[++j]=j++;int j = 0;
int a[10];
a[++j]=++j;int j = 0;
int a[10];
a[j++]=j++;int j = 0;
int a[10];
a[j++]=++j;上面四个式子执行后,数组a的值分别是什么
a[1]=0 j=2
/*Problem B:请写一个程序,对于一个m行m列的(1<m<10)的方阵,求其每一行,每一列及主副对角线元素之和,最后按照从大到小的顺序依次输出。输入说明:共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。输出说明:从大到小排列的一行整数,每个整数后跟一个空格,最后换行。输入样本:4 15 8 -2631 24 18 71-3-9 27 1317 21 38 69输出样本:159 145 144 13581 60 44 32 2827*/
/*
time 7.11 problem
*/
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>int m,*array = 0,*result = 0;void aInput()
{int i=0,j=0,num=0;scanf("%d",&m);//分配空间array = (int *)malloc(sizeof(int)*m*m);result = (int *)malloc(sizeof(int)*m+2);if(array == 0){printf("quit!------");exit(0);}//动态输入数组for(i = 0;i<m;i++){for(j = 0;j<m;j++){scanf("%d",&array[i*m+j]);}}
}void aCount()
{int i = 0,j = 0,xsum = 0,ysum = 0;for(i = 0;i<m;i++){for(j = 0;j<m;j++){xsum +=array[i*m+j]; ysum +=array[i+j*m];}result[i*2] = xsum;xsum = 0 ;result[i*2+1] = ysum;ysum = 0;}for(i = 0;i<m;i++){xsum += array[i*m+i];ysum += array[i*m+(m-i-1)];}result[2*m]=xsum;result[2*m+1]=ysum;
} void aOutput()
{int i,j,temp;for(i = 0;i<2*m+2;i++){int flag=0;for(j = 0;j<2*m+2-i;j++){if(result[j]>result[j+1]){temp = result[j];result[j] = result[j+1];result[j+1] = temp;flag=1;}}if (flag==0){return ;}}
}int main(void)
{int i;aInput();//输入数据aCount();//数据计算aOutput();//数据排列for(i=2*m+1;i>=0;i--){printf("%d ",result[i]);}return 0;free(array);
free(result);
}

标识符的作用域:局部作用域 、全局作用域、块作用域、文件作用域
生命周期:生命周期与变量在内存中的存储区有很大关系
存储区分为:栈区 堆区 全局区 代码区
存储类型:控制变量存储在哪里 相应的有四个关键字
auto 默认 在栈区
static 全局区(静态区)
register 建议性的知识编辑器将变量直接安排在寄存器上
extern:告诉编译器 这个变量是在外部文件定义的,这里只是引用

循环语句的几种退出方式的注意点
break 退出当层循环 常与if联用 ; 退出switch语句
return 暴力退出
continue 提前结束本次循环 进入下一次循环
设置flag:当满足一定条件时,设置flag的值,在外层判断就可以很轻松的跳出循环,这个方法很常用
goto语句

C编程的基本框架包含相应的头文件、宏定义、全局变量、函数声明、主函数的编写

C语言的核心是指针
C++的核心是面向对象、模板和泛型编程

计算机位数 CPU位数 操作系统位数

关于指针的9个必须弄懂的问题
http://www.cjjjs.com/paper/bcyy/6232015151112874.html

为什么会产生数据结构这门学科;因为内存在计算机中的地址是线性排列的 计算机的所有指令和数据都是经过内存到CPU的,也就是说,所有的数据都要在内存中存放,而我们现实生活中很多非线性结构不能由内存结构直接表示出来,因为内存是线性的,只能表示线性的,所有有了数据结构这门学科,我们要想办法把非线性的转变成线性的。

数组按行排列

函数名、函数类型、函数地址、函数指针
http://www.cjjjs.com/paper/bcyy/624201541100810.html

strlen到尾0结束
sizeof字符串内存大小

strcpy函数原型

char strcpy(char *a,char *b){while(*(a++)=*(b++))!=0)return a;
}

debug和release版本的区别

结构体内存分配对齐深入理解

/*32位系统下的说明*/
struct a
{ int b;/*本身占用4个字节,但是因为下面最宽数据类型是double,要让它整除,所以占用8个字节,编译器自动对齐(参考第一点)*/ double c;/*这个就是最宽数据类型,占用字节就是它本身8个字节*/ char d[9];/*本身每个char占用1个字节,定义了9个char所以大家认为一共用9个字节,但是其实是16个字节,因为要被double整除(参照第二点)*/
};
void main()
{ prinf("%d",sizeof(struct a));//所以最后输出为32
}

动态链表的建立

#include <stdio.h> #include <stdlib.h> #define len sizeof(struct student) struct student { int num; float score; struct student *next; }; int n; struct student *creat(void) { struct student *head,*p1,*p2; n=0; p1=p2=(struct student *)malloc(len); scanf("%d%f",&p1->num,&p1->score); head=NULL; while(p1->num!=0) { n=n+1; if(n==1)head=p1; else p2->next=p1; p2=p1; p1=(struct student *)malloc(len); scanf("%d%f",&p1->num,&p1->score); } p2->next=NULL; return(head);
} int main() { struct student *pt; pt=creat(); printf("%d\n%f\n",pt->num,pt->score); return 0; }自创程序如下#include <stdio.h> #include <stdlib.h> #define len sizeof(struct student) struct student { int num; float score; struct student *next; }; struct student*creat(void) { struct student *head,*p1,*p2; head=p1=p2=(struct student *)malloc(len); scanf("%d%f",&p1->num,&p1->score); while(p1->num!=0) { p1=(struct student *)malloc(len); scanf("%d%f",&p1->num,&p1->score); p2->next=p1; p2=p1; } p2->next=NULL; return(head); } void main() { struct student *pt; pt=creat(); printf("%d\n%f\n",pt->num,pt->score); }

散——TIPS(C语言)相关推荐

  1. 【829】【02检索语言】【理解】

    文章目录 [一] 检索语言的含义 检索语言的特点 检索语言的功能 检索语言的功能/性能 检索语言的分类 [二]检索语言的理论基础 概念逻辑 知识分类 术语学 [三]分类检索语言 体系分类法 体系分类发 ...

  2. PTA 查找(散列查找)

    散列查找: 根据散列函数确定关键词key的存储位置,将key存储在一张hash哈希表内,然后根据一定的规则(线性探测,平方探测,分离链接等)来规避相同key的数据之间的冲突. 如上图,散列表的性能和装 ...

  3. 学习笔记(java)

    ztips tips 赛百空间 赛百空间是由计算机和网络组成的一个信息世界,它是对现实世界的高度浓缩与映射.人们进入赛百空间无非是获取信息与提供信息. tips applet(小应用程序) 小应用 程 ...

  4. 给测试小姐姐的第三封信 | ORACLE存储过程知识分享和测试说明

    1 兵马未动 粮草先行 1.1 引言 文章基于Oracle数据库简单介绍了存储过程(以下简称存过)的定义,调试,运维等相关知识,使能达到对存过的总体认知及部分掌握.文章主体共分为三部分,即存过的相识相 ...

  5. 《Hive系列》Hive详细入门教程

    目录 1 Hive基本概念 1.1 什么是Hive Hive简介 Hive:由FaceBook开源用于解决海量结构化日志的数据统计工具 Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据 ...

  6. Linux rc 含义全称

    文章目录 总结: rc 究竟是什么单词的缩写? 历史衍变 含义 实例 参考 What does rc mean in bashr, zshrc, vimrc etc? CTSS(Compatible ...

  7. R语言ggplot2可视化分组散点图、使用scale_shape_manual函数、scale_color_manual函数、scale_size_manual函自定义设置分组散点的形状、大小、颜色

    R语言ggplot2可视化分组散点图.使用scale_shape_manual函数.scale_color_manual函数.scale_size_manual函数自定义设置分组散点的形状.大小.颜色 ...

  8. R语言ggplot2可视化散点图、并以与y=0为界绘制基于散点包围的多边形(ploygon)、对于y=0坐标轴的上方和下方的多边形分别使用不同的颜色进行填充

    R语言ggplot2可视化散点图.并以与y=0为界绘制基于散点包围的多边形(ploygon).对于y=0坐标轴的上方和下方的多边形分别使用不同的颜色进行填充 目录

  9. R语言gganimate包创建可视化gif动图、可视化动图:ggplot2可视化静态散点图、gganimate包创建动态散点分面图(facet_wrap)动画基于transition_time函数

    R语言gganimate包创建可视化gif动图.可视化动图:ggplot2可视化静态散点图.gganimate包创建动态散点分面图(facet_wrap)动画基于transition_time函数 目 ...

最新文章

  1. js ~取非运算符的妙用,将-1转为0(或假值)
  2. 互联网思维-产品思维(1)
  3. 基于NopCommerce的开源电商系统改造总结
  4. boundingRect函数
  5. UVA - 1606 Amphiphilic Carbon Molecules
  6. Python—实训day7上—Nmupy数值计算基础
  7. 入门前端学习路线图【送书】
  8. rails generator
  9. 企业千人千面管理模式_金山云助力新零售:如何让零售企业实现“千人千面”...
  10. python 制定识别图片的某些区域_python批量识别图片指定区域文字内容
  11. JavaScript对象的创建之外部属性定义方式(基于已有对象扩充其属性和方法)
  12. python oracle orm_Python - ORM(数据库相关)
  13. 32位与4G内存限制
  14. 用python画三角函数
  15. python 科学计算思维导图
  16. java中同步代码块具体步骤,Java同步块
  17. winrar压缩软件弹出广告解决办法
  18. Linux系统搭建FTP服务器教程
  19. 亲爱的,对不起,我要和别人结婚了
  20. TypeScript 安装及基础运行环境搭建 -- 原文来自博客园用户[长岛冰茶。](https://www.cnblogs.com/gaoyd/p/13529026.html)【未修改完成】】...

热门文章

  1. Python3中StringIO
  2. axure7.0下载安装教程
  3. 优惠券使用条件全解析
  4. Java毕设项目:房屋租赁管理系统(java+SSM+Maven+Mysql+Jsp)
  5. windows下配置安装 Mycat详细步骤
  6. pip安装报错ValueError: check_hostname requires server_hostname
  7. 推出Linux操作系统Inspur KOS,浪潮信息意欲何为?
  8. js在指定的td中插入html元素,js在指定位置增加节点函数insertBefore()用法实例
  9. mysql vchar 最大长度_mysql VARCHAR的最大长度到底是多少
  10. 机器视觉必知工业相机50问