C语言数组和函数实例练习(一)
C语言的数组和函数部分的知识,在语法上和Java语法是有所相似的,这里只通过实例总结一些自己感觉需要理解的部分知识。
1.数组
数组中的元素具有相同的数据类型;数组一旦创建,不能被改变;数组中元素在内存中是连续依次存在的;使用时需要随时注意下标越界的问题。
例1:输入数量不确定的[0,9]范围内的整数,统计每个数字出现的次数,输入-1时结束程序。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int num[]={};
scanf("%d",&i);
while(i!=-){
if(i>=&&i<=){
num[i]++;
}
scanf("%d",&i);
}
for(i=;i<;i++)
{
printf("%d出现了%d次\n",i,num[i]);
}
return ;
}
例2:在一组给定的数据中,找出某个数据是否存在。
#include <stdio.h>
#include <stdlib.h>
int search(int key,int a[],int length)
{
int ret=-;
int i;
for(i=;i<length;i++)
{
if(a[i]==key)
{
ret=i;
break;
}
}
return ret;
}
int main()
{
int a[]={,,,,,,,,,};
int x;
int loc;
printf("请输入一个数字:");
scanf("%d",&x);
loc=search(x,a,);
if(loc!=-)
{
printf("%d在第%d个位置上。\n",x,loc);
}else{
printf("%d不存在!");
}
return ;
}
二维数组:int a[i][j];//i行j列的数组
例3:将一个二维数组行和列的元素互换,存到另一个二维数组中。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[][]={{,,},{,,}};
int b[][],i,j;
printf("array a:\n");
for(i=;i<=;i++)
{
for(j=;j<=;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");
for(i=;i<=;i++)
{
for(j=;j<=;j++)
{
printf("%5d",b[i][j]);
}
printf("\n");
}
return ;
}
2.函数
C语言中的函数和Java中的方法是一个道理的,都是一段实现某种功能的代码块,也都要注意返回值、形参实参等。
***注意:若函数有返回值,必须使用带值的return。
C语言在调用函数时,永远只能传值给函数,不能传变量。
C语言不允许函数嵌套定义。
例1:求1-10,20-30,45-60三个区间数字的总和。
#include <stdio.h>
#include <stdlib.h>
int sum(int a,int b)
{
int i;
int sum;
for(i=a;i<=b;i++)
{
sum=sum+i;
}
return sum;
}
int main()
{
int x,y,z,result;
x=sum(,);
y=sum(,);
z=sum(,);
result=x+y+z;
printf("这三组数的和为%d",result);
}
例2:swap()无法实现交换两个变量的值。
#include <stdio.h>
#include <stdlib.h>
void swap(int a,int b)
{
int t;
t=a;
a=b;
b=t;
}
int main()
{
int a=;
int b=;
swap(a,b);
printf("a=%d,b=%d",a,b);
return ;
}
原因是:C语言在调用函数时,永远只能传值给函数,不能传变量。
C语言数组和函数实例练习(一)的更多相关文章
- C语言数组和函数实例练习(二)
1.C语言中不允许函数的嵌套定义,但可以使用函数的嵌套调用. 例1:输入4个整数,找出其中最大的数. #include <stdio.h> #include <stdlib.h> ...
- GO语言数组和切片实例详解
本文实例讲述了GO语言数组和切片的用法.分享给大家供大家参考.具体分析如下: 一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. (1)数组的创建. 数组有3种创建方式: ...
- C语言 数组做函数参数退化为指针的技术推演
//数组做函数参数退化为指针的技术推演 #include<stdio.h> #include<stdlib.h> #include<string.h> //一维数组 ...
- php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
本文实例总结了php常用数组array函数.分享给大家供大家参考,具体如下: array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 案例: <?php ...
- C语言 数组做函数参数不传数组个数的遍历方法
//数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void ...
- C语言数组作为函数参数
数组可以作为函数的参数使用,进行数据传送. 数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用:另一种是把数组名作为函数的形参和实参使用. 数组元素作函数实参 数组元素就是下标变量, ...
- R语言数组array函数
数组是一个可以在两个以上的维度存储数据的R数据对象.例如 - 如果创建尺寸(2,3,4)的数组,那么创建4个矩形矩阵每2行3列.数组只能存储数据类型. 使用 array()函数创建数组.它需要向量作为 ...
- 小学生都看得懂的C语言入门(3): 数组与函数
#include <stdio.h> int main() { int x; ; ; scanf("%d",&x){ sum+=x; cnt++; scanf( ...
- 5_PHP数组_3_数组处理函数及其应用_5_数组遍历语言结构
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 数组遍历语言结构 1. foreach ( array as $value ) 程序: <?php $int ...
随机推荐
- C - New Year Candles
Problem description Vasily the Programmer loves romance, so this year he decided to illuminate his r ...
- springmvc 中将MultipartFile转为file,springboot 注入CommonsMultipartResolver
第一种方法: MultipartFile file = xxx; CommonsMultipartFile cf= (CommonsMultipartFile)file; DiskFileItem f ...
- dubbo之分组聚合
按组合并返回结果 ,比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项. 相关代码可以参考 dubbo 项目 ...
- OAuth密码模式说明(resource owner password credentials)
用户向客户端(third party application)提供用户名和密码. 客户端将用户名和密码发给认证服务器(Authorization server),向后者请求令牌(token). 认证服 ...
- Functor and Monad in Swift
I have been trying to teach myself Functional Programming since late 2013. Many of the concepts are ...
- C# 根据空格数截取
#region --根据空格数截取 ; ; //循环截取 , }; while (!sr.EndOfStream) { ; i < strTest.Length - ; i++) { ).Tri ...
- 分治FFT模板
题目链接:https://www.luogu.org/problemnew/show/P4721 总结了一下蒟蒻FFT/NTT容易写错的地方: 1.rev数组求错. 2.cdq注意顺序:先递归 ...
- 被遗忘的 Logrotate
转自: http://huoding.com/2013/04/21/246 被遗忘的 Logrotate 发表于 2013-04-21 我发现很多人的服务器上都运行着一些诸如每天切分 Nginx 日志 ...
- [Ynoi2016]谁的梦
题目大意: 给定$n$个序列,要你从每个序列中选一个非空子串然后拼起来,拼成的序列的贡献为不同元素个数. 支持单点修改,在开始时和每次修改完后,输出所有不同选取方案的贡献和. 解题思路: 窝又来切Yn ...
- case...when...then if 用法
select case when if 的一些用法 概述:sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作. 首先,让 ...