C语言假期学习笔记——6

数组

  • 主要学习了一位数组和二维数组。
  • 数组是一组具有相同类型的变量的集合。C语言程序通过元素的下标来访问数组中的元素。(下标从0开始)
一位数组
  • 类型 数组名[元素个数]

二维数组

  • 类型 数组名[第一维长度][第二维长度]
  • 第一维长度在某些时刻可以省略(当形参被声明为二维数组时),第二维长度永远不可以省略
  • 存储的元素总量=第一维长度*第二维长度

向函数传递数组

  • 先对数组的容量进行限制例如下面限定数组最多存储40个元素。
#define N 40
void PassArray(int arr[])
{
int i=-1;
do
{
i++;
scanf("%d",&arr[i]);
}while(条件);
}
void PassArray(int arr[],int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
}
int PassArray(int arr[])
{
int i=-1;
do
{
i++;
scanf("%d",&arr[i]);
}while(条件);
return i;
}

在数组内进行查找

int FindArr(int arr[],int n,int score)
{
int i;
for(i=0;i<n;i++)
{
if(score==arr[i])
{
return i;
break;
}
}
return -1;
}
  • 折半查找
    int binary_research(int arr[],int left,int right,int element)
{
while(left<=right)
{
int mid = (left+right)/2;
if(arr[mid]>element)
{
right = mid - 1;
}
else if(arr[mid]<element)
{
left = mid + 1;
}
else
{
return mid;
}
}
return -1;
}

排序

  • 主要是冒泡排序;
 int i,j;
for(j=0;j<COUNT-1;j++){
for(i=0;i<COUNT-1-j;i++){ if (arr[i]>arr[i+1]){
int tmp=arr[i]; arr[i]=arr[i+1];arr[i+1]=tmp;
} }
for(i=0;i<COUNT;i++){
printf("%d,",arr[i]); }

易错点

-在这章的代码编写中总是有一些小问题出现

  1. 调用函数时max=FindMax(score[],n);编译错误
  2. max=FindMax(int score[],int n);编译错误;
  3. int ReadScore(int score[][],int num[]);编译错误。省略了长度声明

# C语言假期学习笔记——6的更多相关文章

  1. R语言可视化学习笔记之添加p-value和显著性标记

    R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline   上篇文章中提了一下如何通过ggpubr ...

  2. swift语言的学习笔记

    swift参考了OC,Rust,Haskell,Ruby,Python,C#等语言的特性.首先,学习这门语言是速学的,我不想浪费太多时间在笔记这门语言和其他语言的哪里不同,特性你自己亲自实践就知道了. ...

  3. 《手把手教你学C语言》学习笔记(2)---学习C语言的目标和方法

    一.学习C语言的目标主要是: 熟练掌握C语言的关键字,语法规则,程序控制等: 掌握基本的数据结构,数组.链表.栈和队列等: 掌握C语言中指针和内存.数组与指针.函数与指针.变量和指针.结构体和指针.硬 ...

  4. 从零开始系列-R语言基础学习笔记之二 数据结构(二)

    在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...

  5. go语言程序设计学习笔记-1

    https://www.jb51.net/article/126998.htm go标准库文档https://studygolang.com/pkgdoc 1. 如果想要再本地直接查看go官方文档,可 ...

  6. Linux C语言编程学习笔记 (1)进程控制入门

    想进行Linux系统开发已经很久了,一直没有付诸实践.今日终于开始学习Linux下的C语言编程,研究一天,终于大概弄明白了Linux系统进程管理的一些基本概念和编程方法,总结下来以方便大家学习和自己实 ...

  7. R语言的学习笔记 (持续更新.....)

    1. DATE 处理 1.1 日期格式一个是as.Date(XXX) 和strptime(XXX),前者为Date格式,后者为POSIXlt格式 1.2 用法:as.Date(XXX,"%Y ...

  8. 《手把手教你学C语言》学习笔记(4)---代码规范

    编程过程中需要遵守编译器的各种约定,例如以下代码: 1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4 { 5 print ...

  9. 《手把手教你学C语言》学习笔记(1)---C语言的特点

    学习C语言的原因,主要是需要使用C语言编程,我用故我学,应该是最主要的原因了. C语言的定位:C语言严格意义上只能算是中级语言,是面向过程编程语言的集大成者,虽然这种语言有很多的问题,但总体而言是瑕不 ...

随机推荐

  1. mysql安装linux_二进制包安装

    1.下载(本地下载www.mysql.com ----->DOWNlOADS------>Archives----->MySQL Community Server---->Li ...

  2. 【node.js】REPL(交互式解释器)

    Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中. 执行 - 执行输入的数据结构 打印 - 输出结果 循环 - 循环操作 ...

  3. [Python 网络编程] makefile (三)

    socket.makefile(mode ='r',buffering = None,*,encoding = None,errors = None,newline = None )返回一个与套接字相 ...

  4. SpringBoot实战(一)之构建RestFul风格

    RestFul风格是一种非常流行的架构风格,相关实战可以参考我的这篇博客:SSM框架之RestFul示例 论文可参考:https://www.ics.uci.edu/~fielding/pubs/di ...

  5. Linux开启路由的方法

    Linux开启路由的命令很简单,只需要一条命令即可: [root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 这个只是临时修改,如果 ...

  6. CSP 试题编号201803-2 Java实现

    package HB; import java.util.Scanner; public class Test_06 { public static void main(String[] args) ...

  7. Xcode 提交APP时遇到 “has one iOS Distribution certificate but its private key is not installed”

    解决办法:登录Apple开发证书后台,把发布版证书.cer文件下载到本地,双击安装即可.若还没有设置发布证书文件,则创建一个后下载. Ref: https://blog.csdn.net/dingqk ...

  8. OO第三次博客作业——规格

    OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...

  9. 【js】 ajax 与 axios 区别

    ajax 与 axios区别 Ajax: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发 ...

  10. (Oracle)DBMS_SYSTEM工具-01[20180510]

    分析描述:     使用DBMS_SYSTEM分析SQL语句执行,并且获取SQL会话中的绑定变量.等待事件.消耗资源和执行计划等等. 环境介绍:     Oracle 11.2.0.4.0     L ...