C语言基础总结 二、

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


C语言基础学习总结 第二部分

仅供参考

例如:前面总结了标识符、关键字以及三大结构部分,本章总结一下数组与字符数组。


`

一、拓展

a:三元运算符

    //? :;条件表达式 如果条件为真?则值为x:否则值为y
(a,b)?a:b;
int main()
{
	int a=3,b=2;
	int max=0;
	max=a>b?a:b;
	printf("%d\n",max);
	return 0;
}

b:局部变量
局部变量是在一个函数或方法内部定义的变量。它的作用范围仅限于该函数或方法内部,外部无法访问。局部变量在函数或方法被调用时被创建,当函数或方法执行完毕后,局部变量会被销毁。局部变量可以临时存储和处理数据,提供了更加灵活和安全的编程方式。

c:全局变量
全局变量是在程序中定义的变量,可以被任意地方访问和使用。与局部变量不同,全局变量不是在特定的函数、代码块或作用域中定义的,而是在整个程序中都可以被访问。

#include<stdio,h>

//全局变量
int g;
int main()
{
//局部变量
int a,b;
//初始化
a=10;
b=20;
g=a+b
printf("%d"",g);
return 0;
}

局部变量和全局变量名字一样,会使用局部变量值
continue:结束当前当次循环,继续下一次循环
break:跳出循环
return: 结束方法
宏定义
#define 名字 大小

//定义
#define max 100
...
//使用
int stu[max]

注意
宏定义只代入,不运算

//以下程序的输出结果是         。
#define M(x,y,z) x*y+z   1+2 *2+3 +3+1=12
main()  
{ 	int a=1,b=2, c=3;    
	printf("%d\n", M(a+b,b+c,c+a)); 
}
1+2 2+3 3+1 

二、数组

1.一维数组

定义一维数组的一般形式为:
类型符 数组名 [常量表达式]
例如

int student[10];//表示数组student[]有10个元素,分别是student[0]...student[9];

1、数组名的命名规则和变量名相同,遵循标识符命名规则
2、一维数组 表示数组长度的常量表达式可以省略
3、数组下标从0开始
4、常量表达式可以包括常量和符号变量,但是不能包括变量
1.1一维数组初始化
为了让程序简洁,我没常常在定义数组的同时,给个数字元素赋值,这就是数组的初始化。

//全部赋初始值
int a[10]={0,1,2,3,4,5,6,7,8,9};//a[0]=0,a[1]=1,...a[9]=9;
//部分赋初始值,为赋值部分系统自动赋值0;
int a[10]={0,1,2,3}//a[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=0,a[5]=0,...a[9]=0;

例题:数组初始值8,7,4,6,2,正、逆序输出

#define SIZE 5
#include <stdio.h>
int main()
{
	int su[SIZE]={8,7,4,6,2};
	for(int i=0;i<5;i++){
		printf("%d ",su[i]);//8 7 4 6 2
	}
	printf("\n");
	for(int i=4;i>=0;i--){
		printf("%d ",su[i]);//2 6 4 7 8
	}
}

冒泡排序:
例题:终端获取8个数,从小到大排序。
1 3 6 10 3 1 1 21 13 0
在这里插入图片描述
在这里插入图片描述

2.二维数组

定义二维数组的方式和一维数组类似,其一般形式为:
类型说明符 数组名 [常量表达式][常量表达式]

float a[3][4];

c语言中,二维数组在内存中存放的顺序是按行存放的,即在内存中先顺序存放第一行元素,接着再来存放第二行元素。
二维数组可以省略行


二维数组的初始化
1、分行给二维数组赋初值.

         int a[3][4]={{1,2,3,4},
         {15,6,7,8},
         {9,10,11,12}
         };

2、可以将所有的数据放在一个花括号内

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

3、可以对部分元素赋初值。

int a[3][4]={{1},{3},{5}};

这样赋值只给各行第0行的元素赋初值,其他元素默认为0.

1 0 0 0
3 0 0 0
5 0 0 0

例题:用二维数组解决三个班,每个班有六名学生,求每个班学生的平均分并输出,求三个班平均分并输出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打擂台法求极值

在这里插入图片描述

三、字符数组

字符数组是指由多个字符组成的数组。在C语言中,字符数组以字符串的形式存储,并以一个空字符(‘\0’)作为字符串的结束标志。字符数组可以用来表示文本信息,如姓名、地址、电话号码等。在C语言中,可以使用字符数组来进行字符串的操作和处理。

注意:

C语言中没有字符串类型,字符串都是存储在字符型数组中;

字符数组的定义
定义字符数组的方法与定义数值型数组的方法类似

char c[10];//定义了c[]为字符数组,包含10个元素

字符数组的初始化
把各个字符以此赋给数组中的各元素。

char c[10]={'I',' ','a','m',' ','h','a','p','p','y'};

花括号内提供的初值个数等于数组长度,如果初值个数大于数组长度,则会出现语法错误,倘若初值个数小于数组,则只将这些字符赋给数组中前面的那些元素,其余部分自动定为空字符;

在定义数组时可以省略数组长度,系统会自动提供数组个数确定数组长度。

char c[]={'I',' ','a','m',' ','h','a','p','p','y'};

例题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字符串外部输入读取
scanf(“%s”,s);把\n和空格作空白,当分隔符处理不作为字符串内容

总结

数组:C语言支持数组,可以用来存储多个相同类型的数据。数组可以通过下标访问元素,下标从0开始。
C语言中没有字符串类型,字符串都是存储在字符型数组中;

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值