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 <stdio.h>
int main()
{
    int arr[5]={1,2,3,4,5};
    printf("%d",arr[4]);
 return 0;
}

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

     

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
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 <stdio.h>
int main()
{
    int a = 0, b = 0;
    scanf("%d %d", &a, & b);
         if(a>b? printf("%d", a) : printf("%d", b))
    return 0;
}

逗号表达式

   例子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 <stdio.h>
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语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
215 1
|
编译器 C语言 计算机视觉
C语言实现的图像处理程序
C语言实现的图像处理程序
|
12月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
353 5
|
12月前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
372 4
|
12月前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
331 2
|
12月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
510 2
|
12月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
413 1
|
12月前
|
程序员 C语言
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门。本文深入探讨了指针的基本概念、声明方式、动态内存分配、函数参数传递、指针运算及与数组和函数的关系,强调了正确使用指针的重要性,并鼓励读者通过实践掌握这一关键技能。
237 1
|
存储 编译器 程序员
C语言程序的基本结构
C语言程序的基本结构包括:1)预处理指令,如 `#include` 和 `#define`;2)主函数 `main()`,程序从这里开始执行;3)函数声明与定义,执行特定任务的代码块;4)变量声明与初始化,用于存储数据;5)语句和表达式,构成程序基本执行单位;6)注释,解释代码功能。示例代码展示了这些组成部分的应用。
838 10
|
安全 程序员 编译器
C语言框架的优缺点如下
C语言框架的优缺点如下
312 1