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


相关文章
|
1月前
|
存储 自然语言处理 编译器
【C语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
|
3月前
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
102 1
|
3月前
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
122 1
|
3月前
|
编译器 C语言 计算机视觉
C语言实现的图像处理程序
C语言实现的图像处理程序
149 0
|
1月前
|
存储 文件存储 C语言
深入C语言:文件操作实现局外影响程序
深入C语言:文件操作实现局外影响程序
|
2月前
|
安全 程序员 编译器
C语言框架的优缺点如下
C语言框架的优缺点如下
59 1
|
2月前
|
存储 编译器 程序员
C语言程序的基本结构
C语言程序的基本结构包括:1)预处理指令,如 `#include` 和 `#define`;2)主函数 `main()`,程序从这里开始执行;3)函数声明与定义,执行特定任务的代码块;4)变量声明与初始化,用于存储数据;5)语句和表达式,构成程序基本执行单位;6)注释,解释代码功能。示例代码展示了这些组成部分的应用。
95 10
|
3月前
|
自然语言处理 编译器 C语言
C语言程序的编译
C语言程序的编译
64 2
|
4月前
|
前端开发 C语言 C++
C语言03----第一个程序HelloWorld(vs版)
C语言03----第一个程序HelloWorld(vs版)
|
5月前
|
自然语言处理 C语言 C++
程序与技术分享:C++写一个简单的解析器(分析C语言)
程序与技术分享:C++写一个简单的解析器(分析C语言)