C语言学习笔记w3d1
文章目录
- 二维数组/多维
- 二维字符数组
- 函数
- 练习
- 数组参数
- 作业
二维数组/多维
- 定义
int a [n] [n]n[] - 赋值定义
int b[n] [2] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , ... , 2n }
int b[n] [n] = { { } , { } , { } , ... }
int int b[ ] [n] = { { } , { } , { } , ... }
int b[ ] [2] = { 1 , 2 , 3 , ... }
可缺省:值、除末维的其他维大小
- 访问
a [i] [i]
二维字符数组
char a [ ] [ ]
char a[5][5]={{'a','b','c'},{'a','b',...},...}
char a[5][10]={"hello","world"}
scanf("%s",a[n])
函数
定义:
返回类型 函数名 ( 参数列表 ){ 函数体 ; return 值}
可以无返回类型、参数列表、return 值调用:
函数名(参数)void类型
void 函数(void){//无return值,要结束只写一个return}注意
有参数必须要传参
练习
编写一个函数,输入一个数,返回绝对值
#include<stdio.h>int abso(int);
int main(){int a;int b;scanf("%d",&a);b=abso(a);printf("%d",b);return 0;
}
int abso(int a ){if(a<0)a=a*-1;return a;
}
传入两个数,判断两个数的大数,返回大数
#include<stdio.h>
int compare(int ,int);
int main(){int a,b;scanf("%d %d",&a,&b);int c=compare(a,b);printf("%d\n",c);return 0;
}
int compare(int a ,int b){if(a>=b)return a;elsereturn b;
}
数组参数
形参写 a[10] 或 a[ ] ,传值写 a
传递过去的是数组的地址,所以
实参会随形参改变
断点调试以下代码可看出s作为地址被指针指向,改变s[0]的值实际上是改变地址为&s[0]的值,但该地址也为a[0]的值,所以改变值是改变该地址上的值,与作用域无关
#include<stdio.h>
void changearr(int s[]){s[0]=5;
}
int main(){int a[5]={1,2,3,4,5};changearr(a);return 0;
}
作业
- 传⼊⼀个数组,获取数组中的最⼤值,返回最⼤值
#include<stdio.h>
int mysort(int a[]){int flag=a[0];for(int i=0;i<5;i++){for(int j=i;j<5;j++){if(flag<a[j]){i=j;flag=a[j];}}}return flag;
}
int main(){int a[5]={5,5,5,5,5};int max = mysort(a);printf("max:%d",max);return 0;
}
- 编写⼀个函数计算字符串的⻓度(到’\0’为止)如:str[] = “hello world”;
注意:scanf输入空格会自断。
#include<stdio.h>
int posnum(char a[]){int cout=0;for(int i=0;a[i]!='\0';i++){cout++;}return cout;}
int main(){char a[100]="hellow world";int num=0;//scanf("%s",a);num=posnum(a);printf("%d",num);return 0;
}
C语言学习笔记w3d1相关推荐
- 梓益C语言学习笔记之链表&动态内存&文件
梓益C语言学习笔记之链表&动态内存&文件 一.定义: 链表是一种物理存储上非连续,通过指针链接次序,实现的一种线性存储结构. 二.特点: 链表由一系列节点(链表中每一个元素称为节点)组 ...
- 6.方法(go语言学习笔记)
6.方法(go语言学习笔记) 目录 定义 匿名字段 方法集 表达式 1. 定义 方法是与对象实例绑定的特殊函数. 方法是面向对象编程的基本概念,用于维护和展示对象的自身状态.对象是内敛的,每个实例对象 ...
- 梓益C语言学习笔记之指针
梓益C语言学习笔记之指针 一.32位平台下,地址是32位,所以指针变量占32位,共4个字节 二.内存单元的地址即为指针,存放指针的变量称为指针变量,故:"指针"是指地址,是常量,& ...
- c语言中void arrout,c语言学习笔记(数组、函数
<c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...
- c语言float二进制输出代码_C语言学习笔记——学前知识概述
将我大一学习C语言时做的笔记拿来与大家分享,内容比较浅显,比较适合初学者,如有错误还请见谅,提出改正,谢谢! 前言:此C语言笔记是本人在自学时记录的一些重点或初学者常犯的错误,希望我的这本笔记能够对大 ...
- c语言学习笔记【结构体02】结构体指针变量与结构体变量的函数参数,C语言学习笔记结构体02结构体指针变量与结构体变量的函数参数.docx...
C 语言学习笔记[结构体02]结构体指针变量与结构体变量 的函数参数 C 语言学习笔记之结构体指针变量一提指针,那可 是 C 语言的核心了,有多少学子曾拜倒在指针的脚下.单纯的说指针,其实并不难,但是 ...
- C语言学习笔记---001C语言的介绍,编译过程原理,工具等
C语言学习笔记---001C语言的介绍,编译过程原理,工具等 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技术交流平台:cre.i ...
- go get 拉取指定版本_go语言学习笔记-基础知识-3
相关文档 go语言学习笔记-目录 1.简介 1.1 什么是GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易.Go是从2007年末由Robert Griesemer, Rob ...
- 安装成功配置环境变量_go语言学习笔记-Windows10开发环境安装和环境变量配置
相关文档 go语言学习笔记-目录 1.安装 1.1.访问 https://golang.google.cn/dl/ 或 https://golang.org/dl/ 下载官方安装包 1.2.选择Win ...
最新文章
- linux安装用户名,Linux_Linux下用户名修改法, 
在安装系统的时候填写 - phpStudy
- 一文看懂5G和AI融合的5个要点
- py2数据分析_利用数据
- ArcGIS实验教程——实验三十七:基于ArcGIS的太阳辐射分析案例教程
- linux命令创建硬链接,Linux终端命令接口(十一)硬链接与软连接
- 写出gradle风格的groovy代码
- Python Pandas –操作
- Two Strings Swaps(CF-1006D)
- linux查看jar包内容命令,【达内Java教程】用linux查看jar包内文件命令
- 使用管理员账户远程连接WMQ7.5的“AMQ4036”错误
- python程序双向链表_Python 实现双向链表(图解)
- idea下载源代码报错提示Connection refused to host: 127.0.0.1;
- linux课程设计tiny6410,Tiny6410开发板上Linux系统的安装
- 天池竞赛——工业蒸汽量预测(完整代码详细解析)
- 最新全国姓名报告出炉!
- 【超详细】Docker从入门到干活,就看这一篇文章
- c语言停车场的收费管理系统,c语言停车场管理系统
- 问题 A: xiaoping学构造函数
- linux基于此语言的密码,Impost3r:一款针对Linux的密码提取工具
- SRPG游戏开发(五十二)第十一章 地图动作与地图事件 - 一 初始化地图动作(Initialize Map Action)