C#初学者每日分享,每一步都算数。(2)

数组

数组的定义:

数组是一组具有相同类型的变量的集合,它是一种顺序存储、随机访问的顺序表结构。

构成数组的 每个数据项被称为数组元素。

C程序通过数组的下标实现的数组元素的访问。

int arr[10]={1,2,3,4,5,6,7,8,9,10}; //定义一个整形数组,最多放10个元素

注:C语言中数组的下标都是从0开始。

一维数组:   

格式: 类型  数组名[元素个数]

良好的编程习惯是把数组的长度用宏常量或const常量来定义。

例:int score[SIZE]:

       #define SIZE 5

注:在定义数组时不能使用变量定义数组的大小

#include<stdio.h>
#define SIZE 5
int main()
{
	int score[SIZE];
	int totalScore = 0;
	int i;
	printf("Input the scores of five students:\n");
	for (i = 0; i < 5; i++) {
		scanf_s("%d", &score[i]);
		totalScore = totalScore + score[i];
	}
	printf("The average score is %f\n", totalScore / 5.0);
	return 0;

	
}

 二维数组:

格式 :  类型  数组名[第一维长度][第二维程度]

二维数组用两个下标确定各元素在数组中的顺序,可用排列成i行j列的元素表示。

#include <stdio.h>

int main() {
    // 1. 定义并初始化一个 3 行 4 列的二维数组(存储学生成绩)
    int scores[3][4] = {
        {90, 85, 92, 88},   // 第 1 行(学生1的4科成绩)
        {78, 91, 83, 95},   // 第 2 行(学生2的4科成绩)
        {89, 76, 93, 80}    // 第 3 行(学生3的4科成绩)
    };

    // 2. 遍历二维数组(双重循环:行循环 + 列循环)
    printf("二维数组(学生成绩表):\n");
    for (int i = 0; i < 3; i++) {  // i 表示行索引(0~2)
        for (int j = 0; j < 4; j++) {  // j 表示列索引(0~3)
            printf("%d\t", scores[i][j]);  // 输出第 i 行第 j 列的元素
        }
        printf("\n");  // 一行结束后换行
    }

    // 3. 访问单个元素(例如:第2行第3列的成绩,索引从0开始)
    printf("\n第2行第3列的成绩:%d\n", scores[1][2]);

    return 0;
}

注:数组第二维的长度声明(列)永远都不能省略。

一维数组在内存中占用的字节数为:数组长度*sizof(基类型)

二维数组在内存中占用的字节数为:第一维长度*第二位长度*sizof(基类型)

操作符

算数操作符

+    -    *    /    %(取余)

移位操作符

>>:右移 ——所有位右移n位,左边补符号位

<<:左移——所有为左移n位,右边补0

位操作符

&(按位与)——对应位都为1则为1,否则为0

| (按位或)——对应位有1则为1,否则为0

^ (按位异或)——对应位不同则为1,相同位0

赋值操作符

=    +=    -=    *=    /=    &=    ^=    |=    >>=    <<=

a=a+b;  =  a+=b;

单目操作符

! ——逻辑反操作

& ——取地址

~ ——对一个数的二进制按位取反

sizeof ——操作数的类型长度

前置 后置(++  --)⬇️

#include<stdio.h>
int main( )
{
    int a = 10;
    int b = a++; //后置++:先使用,后++
    //int b = a; a=a+1;
    printf("%d\n",b); //10
    printf("%d\n",a); //11


    int b = ++a; //前置++:前++,后使用
    //int a = a+1; b = a;
    printf("%d\n",b); //11
    printf("%d\n",a); //11


   return 0;
}

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值