C语言之数组和函数
数组
一维数组
定义:类型符 数组名 [常量表达式] int a[]={1,2,3,4,5,};
#include<stdio.h>
#define NUM 6
void main()
{
int a[NUM];
printf("输入NUM个整数:\n");
for(int i=;i<NUM;i++)
{
scanf("%d",&a[i]);
} for(i=;i<NUM;i++)
{
for(int j=;j<NUM-i;j++)
{
if(a[j]<a[j+])
{
int t=a[j];
a[j]=a[j+];
a[j+]=t;
}
}
}
for(i=;i<NUM;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
二维数组
定义:类型说明符 数组名 [常量表达式] [常量表达式] int a[3][4]={{1},{4,2}};
字符数组
char c[]=”china”;
输出 Puts(字符数组) 输入 Gets(字符数组)
连接 stract(字符数组1, 字符数组2)
复制 strcpy(字符数组1, 字符串2) strnpy(字符数组1, 字符串2,n)
比较 strcmp(字符串1, 字符串2)
测长 strlen(字符数组)
函数
函数:定义、声明、调用(在以下的实例中均有体现)
函数递归
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少桃子。
#include <stdio.h>
Int tao(int n)
{
Int c;
If(n==) C=;
Else c=(tao(n-)+)*;
Return(c);
}
Void main()
{
Int z;
Z=tao();
Printf(“%d\n”,z);
}
数组做参数
选择法对数组中10个数由小到大排序
#include <stdio.h>
void sort(int b[],int n)
{
int i,j,k,t;
for(i=;i<n-;i++)
{
k=i;
for(j=i+;j<n;j++)
{
if(b[i]<b[k])
k=j;
t=b[k];b[k]=b[i];b[i]=t;
}
}
}
int main ()
{
int a[],I;
for(i=;i<;i++)
scanf(“%d”,&a[i]);
sort(a,);
for(i=;i<;i++)
printf(“%d”,a[i]);
printf(“\n”);
}
其它
自动变量(auto) 寄存器变量(register)
静态局部变量(static)
内部函数 static类型名 函数名(形参表) static int fun (int a,int b)
外部函数 extern int fun (int a,int b)
C语言之数组和函数的更多相关文章
- C语言中数组做函数参数的问题
数组做函数参数,会退化成为一个指针变量.因此在进行数组参数传递的同时,需要传递一个数组长度的参数变量. 数组长度可以通过sizeof(arr)/siezof(arr[0])来得到.关于这个sizeof ...
- Ubuntu的多文件编译以及c语言的数组、函数
闲言少叙,直接切入主题. 一.Linux下的多文件编译(Ubuntu系统). 对于小程序来说,往往一个.c文件就足够了,里面包含了各种主函数和功能函数,以及函数的声明等等.但是这样的弊端主要有两点,一 ...
- 【C语言】数组名作函数参数,完成数据的升序排列
#include<stdio.h> void sort(int x[],int n); int main() { ] = { ,,,,,,,,, },i; sort(arr, ); pri ...
- C语言数组和函数实例练习(一)
C语言的数组和函数部分的知识,在语法上和Java语法是有所相似的,这里只通过实例总结一些自己感觉需要理解的部分知识. 1.数组 数组中的元素具有相同的数据类型:数组一旦创建,不能被改变:数组中元素在内 ...
- C语言中如何将二维数组作为函数的参数传递
今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不 ...
- C语言 数组做函数参数退化为指针的技术推演
//数组做函数参数退化为指针的技术推演 #include<stdio.h> #include<stdlib.h> #include<string.h> //一维数组 ...
- iOS开发环境C语言基础 数组 函数
1 求数组元素的最大值 1.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为10的数组,数组内放置10个0~99之间(包含0,包含99)的随机数作为数组内容,要求查询出数组中的最 ...
- 小学生都看得懂的C语言入门(3): 数组与函数
#include <stdio.h> int main() { int x; ; ; scanf("%d",&x){ sum+=x; cnt++; scanf( ...
- 第二十三节:Java语言基础-详细讲解函数与数组
函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...
随机推荐
- Asp.Net MVC Identity 2.2.1 使用技巧(二)
之前我们看到了新生成的项目中跟identity有关的有四个文件,这些文件是基础功能,并未开启identity的全部功能.现在我们先启用角色功能. 1.在App_Start文件夹中的IdentityCo ...
- xss challenges平台学习
虽然在很早之前就接触过xss,有一段时间还就着一本书研究过,但是始终没有实感,掌握的也不够系统,所以现在借着这几个平台再学习一遍 首先来玩一玩xss challenge平台 第一关:http://xs ...
- T-SQL批处理
批处理简介 批处理是作为一个逻辑单元的T-SQL语句.如果一条语句不能通过语法分析,那么不会运行任何语句.如果一条语句在运行时失败,那么产生错误的语句之前的语句都已经运行了. 为了将一个脚本分为多个批 ...
- codeforces 156D Clues(prufer序列)
codeforces 156D Clues 题意 给定一个无向图,不保证联通.求添加最少的边使它联通的方案数. 题解 根据prufer序列,带标号无根树的方案数是\(n^{n-2}\) 依这个思想构建 ...
- https nginx 设置
https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubunt ...
- BZOJ 1191 超级英雄Hero 二分图匹配
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1191 题目大意: 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主 ...
- mvc數據遷移
在本节中,我们将使用Entity Framework Code First 数据迁移功能将模型类的改变应用到数据库中. 默 认情况下,当我们使用Entity Framework Code First ...
- linux各种压缩包的压缩和解压方法
.tar/.war(tar是打包,不是压缩) 解包:tar xvf FileName.tar / FileName.war 打包:tar cvf FileName.tar DirName .gz 解压 ...
- Luogu_4197 Peaks
P4197 Peaks 并不会克鲁斯卡尔重构树,于是就写了离线算法. 使用了最小生成树,启发式合并treap 在最小生成树,克鲁斯卡尔算法 时 ,将询问一块处理.便可以保证询问时边的要求.然后利用平衡 ...
- iOS:位置相关(18-03-09更)
1.定位设置 2.定位页面逻辑 1.定位设置 2.定位页面逻辑 1).第一次进入该VC,在 viewDidLoad 调用刷新页面 refreshLocationView .这时用户还没决定,会刷出“正 ...