文章目录
前言
将进行数组,函数,指针,分支语句中的if,switch语句笔记记录
一、数组
1.关于数组
数组是将具有相同个若干变量按有序形式排列的工具(类似于数学中的集合)。
基本格式:数据类型 数组名(要有意义) [数组大小]
例:int a[10] 则此数组就只能有整型数据
2.数组须知
①int a[ ]中数组大小不能为0,-1等负数 。
②不许对数组大小做动态定义,即[ ]中不放变量。、
3.数组应用
(一)初始化(在定义时赋值)
1.int a[10]={1,2,3,4,5,6,7,8,9,10};
2.int a[10]={1,2,3};(剩下的默认为0)
3.int a[ ]={1,2,3……}({ }中有多少元素决定数组大小)
(二)数组的引用
基本格式:数组名[下标]
下标从0开始
例如:int a[10]={1,2,3,4,5,6,7,8,9,10}中想要取到3就要输入
a[2];
printf(“%d”,a[2]);
(三) 输入与输出
输出:for循环
int a [10];
for (i=0;i<10;i++)
{
printf(%d,a[i]);
}
输入:
int a[10];
for(i=0;i<10;i++)
{
scanf(“%d”,a[i]);
}
二、函数
1、函数的概念
在 C 语言中,函数是一组执行特定任务的语句集合。函数可以接受输入参数(也称为形参),并可以返回一个值。函数的使用可以使程序更加模块化、易于维护和扩展。
2、函数的定义
函数的一般形式如下:
返回值类型 函数名(参数类型 参数名1, 参数类型 参数名2,...) {
// 函数体
return 返回值;
}
- 返回值类型:指定函数返回值的数据类型。如果函数不返回任何值,则返回值类型为 void。
- 函数名:函数的名称,用于在程序中调用函数。
- 参数类型和参数名:函数接受的参数的数据类型和名称。可以有多个参数,用逗号分隔。 .函数体:包含执行特定任务的语句集合。
- return语句:用于返回函数的结果。如果函数返回值类型为 void,则可以省略 return 语句
例如,下面是一个计算两个整数之和的函数定义:
int add(int a, int b) {
return a + b;
}
3、函数的调用
函数的调用是通过函数名和实际参数(也称为实参)来实现的。实际参数是在调用函数时传递给函数的具体值。
例如,下面是调用上面定义的 add 函数的示例:
int main() {
int result = add(3, 5);
printf("3 + 5 = %d\n", result);
return 0;
}
4、函数的参数传递
- C 语言中函数的参数传递有两种方式:值传递和地址传递。
-值传递:将实际参数的值复制一份传递给函数的形参。在函数内部对形参的修改不会影响到实际参数的值。
-地址传递:将实际参数的地址传递给函数的形参。在函数内部通过形参可以修改实际参数的值。
例如,下面是一个通过值传递和地址传递实现交换两个整数的值的函数:
void swapByValue(int a, int b) {
int temp = a;
a = b;
b = temp;
}
void swapByAddress(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
5、函数的返回值
函数可以返回一个值,返回值的类型由函数的定义决定。
如果函数的返回值类型为 void,则函数不返回任何值。
例如,下面是一个返回两个整数中较大值的函数:
int max(int a, int b) {
return (a > b)? a : b;
}
6、函数的声明
在使用函数之前,需要对函数进行声明。函数声明告诉编译器函数的名称、参数类型和返回值类型。
函数声明的一般形式如下:
返回值类型 函数名(参数类型 参数名1, 参数类型 参数名2,...);
例如,下面是对上面定义的 add、max 函数的声明:
int add(int a, int b);
int max(int a, int b);
7、函数的作用
提高代码的可读性和可维护性:将一个复杂的任务分解为多个小的函数,可以使代码更加清晰易懂,便于维护和修改。
提高代码的可重用性:函数可以在不同的地方被调用,避免了重复编写相同的代码。
提高代码的可扩展性:可以通过添加新的函数来扩展程序的功能,而不需要修改现有的代码。
8、注意事项
函数的参数和返回值的数据类型要匹配,否则会导致编译错误。
函数的名称要具有描述性,以便于理解函数的功能。
函数的参数数量不宜过多,否则会影响函数的可读性和可维护性。
函数的内部实现要尽量简洁,避免过于复杂的逻辑。
三,指针
1.前引
先谈电脑内存:在电脑中,内存被分成一块一块的,使得大内存有更好地使用,每个内存单元为1个字节,每个也都进行编号。
例如常见的32位电脑就有32位bit
0000 0000 0000 0000 0000 0000 0000 0000
当和1组合起来时,便认为有2的32次方种可能
2得32次方=4294967296byte=4GB
这也是32位电脑的硬盘内存*
2.地址
编码中
int a=10;//认为向内存申请4个字节,来存储10
&a;//为取a的地址
在vs中查看地址:①CTRL+F10(热重载调试)②调试 -> 窗口 -> 内存 -> 监视 -> 输入a (查看内存时输入&a)
2进制中10为0000 0000 0000 0000 0000 0000 0000 1010 16进制中10为0 0
0 0 0 0 0 a =0*00 00 00 0a
故当查看时是以16进制显示地址,所以以上述结果为标准
3.取地址,输出地址
printf(“%p”,&a);//%p打印地址
int*p=&a//将地址存入p
则p就是指针变量
而关于为什么是int,因为其指向的是&a,而a是int类型所修饰的。故认为*前面加什么由指向的是什么类型所决定
注意:int * 并非类型 ,*只说明p是指针变量
4.解引用
*p;//意为通过p中地址找到p指向的对象
*p=20;//将a改掉,通过10找到地址,在将地址中的数改掉
5.指针大小
不管是什么类型的指针,都是在创建指针变量,指针是用来存地址的,所以其大小取决于一个地址所需空间
32位电脑就是4
64位电脑就是8
这同样是通过sizeof()得到的
四,分支语句中的if语句
1、简介
在编程语言中,if语句是一种条件判断语句,用于根据特定条件执行不同的代码块。它是控制程序流程的重要工具之一。
2、语法
if condition:
# 如果条件为真执行的代码块
else:
# 如果条件为假执行的代码块
或多种条件
if condition1:
# 如果条件1为真执行的代码块
elif condition2:
# 如果条件2为真执行的代码块
else:
# 如果以上条件都为假执行的代码块
3、使用要点
(一)条件表达式
条件表达式可以是一个布尔值(True 或 False),也可以是一个返回布尔值的表达式。
例如:
x > 5,y == "apple"等
可以使用比较运算符(如 ==、!=、<、>、<=、>=)、逻辑运算符(如 and、or、not)等来构建复杂的条件表达式。
(二)代码块缩进
在 Python 等语言中,if语句后的代码块需要通过缩进进行标识。
通常使用四个空格或一个制表符进行缩进,保持代码的一致性和可读性。
(三)else 子句
else子句是可选的,当 if 条件为假时执行。
如果有多个条件需要判断,可以使用 elif(在某些语言中也称为 else if)子句。
(四)应用场景
用于根据用户输入、程序状态或其他条件来决定程序的执行路径。
例如,在一个游戏中,可以根据玩家的得分来决定是否显示胜利或失败的消息。
在数据处理中,可以根据数据的特征进行不同的操作。
4、示例
以下是一个 Python 示例,根据输入的数字判断是正数、负数还是零:
num = int(input("请输入一个数字:"))
if num > 0:
print("这是一个正数。")
elif num < 0:
print("这是一个负数。")
else:
print("这是零。")
五,分支语句中的switch语句
1、简介
在编程语言中,switch语句是一种多分支选择结构,用于根据不同的条件执行不同的代码块。它可以替代多个if-else语句的嵌套,使代码更加简洁易读。
2、语法
不同编程语言的switch语句语法略有不同,但通常具有以下形式:
switch (expression) {
case value1:
// 当 expression 的值等于 value1 时执行的代码块
break;
case value2:
// 当 expression 的值等于 value2 时执行的代码块
break;
...
default:
// 当 expression 的值与任何 case 都不匹配时执行的代码块
}
3、使用要点
(一)表达式和值
expression是一个表达式,其结果通常是一个整数、字符或枚举类型。
value1、value2等是与expression进行比较的值。
(二)case 语句
每个case后面跟着一个值和一个代码块。当expression的值与case后面的值相等时,对应的代码块将被执行。
可以有多个case语句,用于处理不同的情况。
(三)break 语句
在每个case代码块的末尾,通常需要使用break语句来跳出switch语句,防止继续执行下一个case。
如果没有break语句,程序将继续执行下一个case,直到遇到break或switch语句结束。
(四)default 语句
default语句是可选的,当expression的值与任何case都不匹配时,default代码块将被执行。
可以将default放在switch语句的任何位置,但通常放在最后。
4、应用场景
当需要根据一个变量的不同取值执行不同的操作时,switch语句非常有用。
例如,根据月份打印不同的季节、根据用户输入的操作码执行不同的功能等。
5、示例
以下是一个示例,根据输入的数字打印相应的星期几:
import java.util.Scanner;
public class SwitchExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字(1-7):");
int dayOfWeek = scanner.nextInt();
switch (dayOfWeek) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入错误,请输入 1-7 之间的数字。");
}
}
}
总结
笔记又暂且到这里,下次学习完毕将更新