c语言程序的框架以及内容

目录

一.一个c语言程序大体框架由哪几部分组成

二.认识c语言

数据类型

变量和常量   

转义字符    

语句(循环语句和选择语句等六种语句)

函数——(大都由圆括号组成,花括号代表函数的开始和结束)

数组

操作符

常见关键字

指针

结构体


什么是c语言程序?

一.一个c语言程序大体框架由哪几部分组成

#include 

预处理器指令

int main()

C语言中的主体

function a()

语句(函数构造块)

function b()

语句(函数构造快)

语句种类

  1. 标号语句
  2. 复合语句
  3. 表达式语句       都由关键字,  运算                                 符,数据等组成
  4. 选择语句
  5. 迭代语句
  6. 跳转语句

二.认识c语言

数据类型

  • int               占用4个字节的内存 整形 ——  %1d占用一个变量
  • short          占用2个字节的内存  短整型 
  • char           占用1个字节的内存   字符数据类型 ——%c
  • long           占用4个字节的内存    长整型
  • long long   占用8个字节的内存   更长的整形   
  • float           占用4个字节的内存   单精度浮点数  ——%.1lf 保留一位小数
  • double       占用8个字节的内存  双精度浮点数

变量和常量   

  局部变量和全局变量,局部变量优先

  • 字面常量
  • const 修饰的常变量  
  • #define 定义的标识符常量
  • 枚举常量        

转义字符    

  • \? 主要为了防止三字母词
  • \'
  • \"
  • \\  反斜杠
  • \a 警告蜂鸣
  • \b 退格符
  • \f  进纸符     
  • \n 换行      
  • \r 回车 
  • \t 水平制表符
  • \v 垂直
  • \ddd 八进制数字
  • \xdd 2个十六进制数字

注释

语句(循环语句和选择语句等六种语句)

函数——(大都由圆括号组成,花括号代表函数的开始和结束)

    例如:主函数 int main()等等,不仅如此,函数也可以创建和被调用,常用来调用代码较多的函数  体。

数组

    char arr2[这里为有几个元素]={这里为存放的元素}注意存放的元素可以为任何类型但是都是相同类型,并且下标是从0开始

例如:

       

#include 
int main()
{
    int arr[5]={1,2,3,4,5};
    printf("%d",arr[4]);
 return 0;

}

   这样我们就打印出了一个5

      

#define _CRT_SECURE_NO_WARNINGS 1
#include 
int main()
{
    char* arr[] = { "a","b","c" };
    printf("%s", arr[0]);
    return 0;

}

    这样就打印了一个a

char arr2[]={"a","b","c"}没有0所以他会一直检索 随机找到/0,所以他的字符长度是随机的

char arr1[]="abc" 这个是默认有/0

操作符

算术操作符  +   -    *    /    %

移位操作符

>>   << (按照二进制移位)

位操作符

&    ^     |

赋值操作符

=   +=(相当于i=i+1)   -=   *=    /=   &=   |=   >>=    <<=

单目操作符

   !逻辑反 常见!=为不等于

   -  负值

   + 正值

  & 取地址

  sizeof  计算操作数的类型长度(以字节为单位)

  ++  前置 b=++a(相等于a=a+1),先a自身++,再使用.   后置++ ,b=a++,先使用(也就是赋值  给b),再a自身++(赋值后a自增)

  --  同理

  *   间接访问操作符(解引用操作符)
  (强制类型转换)
       int a=(int)3.14
关系操作符
   >
   >=
   <
   <=
   !=   
   ==      
逻辑操作符(0代表假,1代表真)
  &&     逻辑与(相当于并且)——两者都为真才为真,否则为假
   ||           逻辑或(两者有一者为真则为真)

条件操作符

   exp ?exp2:exp3(m=(a>b?a:b)) 如果为真表达式2计算为假则表达式3计算

   exp为表达式

#define _CRT_SECURE_NO_WARNINGS 1
#include 
int main()
{
    int a = 0, b = 0;
    scanf("%d %d", &a, & b);
         if(a>b? printf("%d", a) : printf("%d", b))
    return 0;

}

c语言程序的框架以及内容_第1张图片

 逗号表达式

    例子d=(a=b-3,b=a+c,c=a-b,a=c+3)从左向右依次计算,但是最后结果以最后表达式为主

下标引用操作符

  []   ()  .   ->

     arr[10]={1,2,2,4};

     printf("%d",arr[3]);这里的3为下标

常见关键字

      auto  break   case  char  const   continue  default  do   double else  enum  
      extern float  for   goto  if   int   long  register    return   short  signed
      sizeof   static struct  switch  typedef union  unsigned   void  volatile  while
注意关键字static——可修饰局部变量,全局变量,函数
       static与const不同的是
       static 修饰局部变量时候改变了变量的存储类型,而const只是给变量拥有常量的属性,但本质  上还是给变量,这两者不能搞混

    static 修饰局部变量时候改变了变量的存储类型

    普通的局部变量是存储在栈区

    被static修饰的变量是存储在静态区的

    存储在静态区的变量,出了作用域不会销毁,依然存在,所以静态变量的生命周期就是程序的  生 命周期,程序结束的时候,静态变量才会回收空间

#define 定义常量和宏

  1.define 定义标识符常量

   #define MAX 1000

 2.define定义宏

  #define     ADD(x, y)     ((x)+(y)) 最后一个圆括号为内容 中间是圆括号的宏的名字

注意宏和函数的区别

   函数的参数有具体的类型,而宏没有,宏的内容主要在最后一个括号内

指针

指针变量 —— 简单描述为  类型* 变量 = &变量

#include 
int main()
{
     int a = 0;
     int* aa = &a;
     printf("%d", *aa = 1);
    return 0;
}

    由上看出是输出1,int*  aa  =  &a 是解引用符号指向int从而找到a的地址,

    而*aa是找到a这个变量相当于 a=1,也就是把1赋值给*aa(a),从而输出a

    注意数据在内存中是倒着放的   (涉及到原码,反码,补码) 

    原码就是二进制位,反码就是原码取反,补码就是反码加1

    其中的缘由到指针时再去细学

指针变量是4字节(32位)和8字节(64位)——(基本不会改变)

指针变量与函数

void test(double* pd)

{

*pd=5.6;

}

test(&d) 把这个&d传给*pd(指针变量)

结构体

   struct 名称 变量

   struct stu{}是类型相当于int

c语言程序的框架以及内容_第2张图片

你可能感兴趣的:(c语言,开发语言)