C语言基础1

关键字

存储类型:auto static  extern register

数据类型:char short int long float double signed unsigned

构造类型:struct(结构体) union(共用体)  enum(枚举)

选择结构:if else switch  case  default

循环结构:for while  goto do  break  continue

其他:void(空类型)、typedef(重定义)、const(常量化)、sizeof(计算数据所占空间大小)

volatile(防止编译器优化)、return(返回值)

运算符:

算术运算符:+ - * / % ++ --

逻辑运算符:&&  || !

       逻辑或运算中:如果前面的表达式为真,则后面的表达式不执行

       逻辑与运算中:如果前面的表达式为假,则后面的表达式不执行

位运算符:& | ^ ~ << >>      

        置一公式:a|(1<<n)

        置零公式:a&(~(1<<n))

关系运算符:>     <     >=  <=  == !=

赋值运算符:= += -= *= /=

三目运算符:表达式1?表达式2:表达式3;

       运算法则:先判断表达式1是否成立,如果成立就执行表达式2;否则就执行表达式3;

运算符优先级:单算移关与 异或逻条赋

变量:

概念:在程序运行中变化的量

分类:局部变量,全局变量

局部变量、全局变量的区别?

局部变量全局变量
定义位置函数体内函数体外
初值随机值0
存储位置栈区全局区
生命周期同函数体共存亡同整个程序共存亡
作用域作用于函数体内部作用于整个程序

常量:

概念:程序运行中不会发生变化的量

分类:

字符型常量:用' '括起来

字符串常量:用" "括起来

整形常量:int

浮点型常量:float

指数常量:2*10^-12  ->2e-12

标识常量:宏定义

函数三要素:功能、参数、返回值

垃圾字符回收

1.通过空格回收:可以回收一个或多个的空格、回车、tab

2.%*c:只能回收任意一个字符

3.getchar():只能回收任意一个字符,一般用于循环里面

循环

for循环

for(表达式1;表达式2;表达式3)

表达式1:赋初值

表达式2:循环的终止条件

表达式3:增值或减值

while循环

while(判断条件)

死循环

for(;;){}   while(1){}   while(1);

循环控制语句

break:直接结束循环

continue:结束本次循环,继续下一次循环

数组

概念:具有一定顺序的若干变量的集合

定义格式:存储类型   数据类型   数组名[元素的个数]

特点:

      数据类型相同

      内存连续

分类:

一维数组 :只有一个下标的数组

格式:存储类型          数据类型              数组名[元素个数];

数组的大小:

  1. 数据元素个数*数据类型大小
  2. sizeof(数组名)

数组遍历:把数组下标作为循环变量,用for循环遍历

字符数组:元素的数据类型为字符型的数组

字符数组的输入输出:

1.scanf:输入单个字符

2.for:用for循环循环输入字符串(scanf中需要带&)

3.gets:从终端获取字符串

4.puts:向终端输出字符串

计算字符串实际长度:

1.for循环遍历数组,直到\0为止:for(n=0;buf[n] != '\0';n++);

2.strlen

sizeof和strlen的区别?

sizeofstrlen
sizeof是关键字strlen是函数
sizeof是计算数据所占空间大小strlen计算字符串的实际长度
sizeof计算包括\0,strlen计算不包括\0

冒泡排序:

for(i=0;i<N-1;i++)//轮数

{

       for(j=0;j<N-1-i;j++)//比较的次数

       {

              if(a[j] > a[j+1])//交换

              {

                  temp = a[j];

                  a[j] = a[j+1];

                  a[j+1] = temp;

               }        

          }

}

 选择排序:

for(i=0;i<n-1;i++)

{

       k=i;

       for(j=i+1;j<n;j++)

       {

              if(a[j] < a[k])

              k=j;

        }

        if(i != k)

       {

        a[i]和a[k]交换;

       }

}

 二维数组

格式:存储类型  数据类型  数组名[行数][列数]

行数可以省略,列数不能省略

二维数组大小 = 数据类型大小*行数*列数

二维数组的遍历

for循环嵌套,外层行数,内层列数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值