提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
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语言中没有字符串类型,字符串都是存储在字符型数组中;