首页 > 其他分享 >初识C语言

初识C语言

时间:2022-12-19 15:35:39浏览次数:39  
标签:生命周期 int C语言 初识 操作符 printf static 全局变量

C语言——>早期不成熟——>成熟——>流行

国际标准

ANSIC——C89/C90

C99/C11并不流行--不少编译器不支持

%d——打印整型
%c——打印字符
%f—打印浮点数字—打小数
%p—以地址的形式打印
%x—打印16进制数字

变量的分类

  • 局部变量
  • 作用域:变量所在的局部范围
  • 生命周期:进入作用域生命周期开始,出作用域生命周期结束。
  • 全局变量
  • 作用域:整个工程
  • 生命周期:整个程序的生命周期。

数据类型

char       //字符数据类型   1
short //短整型 2
int //整型 4
long //长整型 4
long long //更长的整型 8
float //单精度浮点数 4
double //双精度浮点数 8

常量

  • 字面常量 :直接写出来的。
  • const修饰的常变量:

#include<stdio.h>
int main()
{
const int num=10;
printf("%d\n",num);
}

  • #define定义的标识符常量

#define MAX 10

  • 枚举常量

#include<stdio.h>
enum Sex
{
MALE,
FEMALE
};
int main()
{
printf("%d\n",MALE);
}

字符串:用双引号括起来引起来的一串字符

注意:结束标志\0

char arr[] = "abc";
char arr1[] = { 'a','b','c' };
printf("%s\n", arr);
printf("%s\n", arr1);
return 0;
arr输出结果:abc
arr1输出结果:abc烫烫烫
arr结束后自动有\0 arr1结束需要手动补\0

操作符:

  • 算术操作符:+ - * / %
  • 移位操作符:>>   <<
  • 位操作符:& (按位与)  | (按位或)  ^(按位异或)
  • 赋值操作符: =  +=   -=   *=   /=   &=  ^=  |=   >>=   <<=
  • 单目运算符:!- + & sizeof ~(按位取反) -- ++ *
  • 逻辑操作符:&&(逻辑与) ||(逻辑或)
  • 条件操作符:exp1 ?exp2 :exp3
  • 逗号表达式:exp1,exp2,exp3,...expN
  • 下标引用、函数调用和结构成员:[](下标引用操作符) ()(函数调用操作符) . ->

常见关键字

auto、break、case、char、const、continue、default、double、do、else、enum、extern、float、for、goto、if、int、long、register(寄存器关键字)、return、short、signed(有符号的)、unsigned、sizeof、static(静态的)、struct、switch、typedef(类型重命名)、union(联合体/共用体)、void(空)、volatile、while

define、include不是关键字,是预处理指令

static(静态的):

  • static修饰局部变量,改变了局部变量的生命周期(本质上改变了变量的存储类型)
  • static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部使用,其他源文件不能使用(全局变量在其他源文件内部可以使用,是因为全局变量具有外部链接属性,但是被static修饰后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量)
  • static修饰函数
int text()
{
static int a = 1;
a++;
printf("%d ", a);
}
int main()
{
int i = 0;
while (i<10)
{
text();
i++;
}
return 0;
}
输出结果:2 3 4 5 6 7 8 9 10 11
static修饰的a不销毁

计算机中数据可以存在哪里?

  • 寄存器 小
  • 高速缓存 几十MB
  • 内存 8G-16G
  • 硬盘 500G
  • 网盘 2T


标签:生命周期,int,C语言,初识,操作符,printf,static,全局变量
From: https://blog.51cto.com/u_15910619/5952686

相关文章

  • 所有的坑都要一一蹚过(C语言)
    一昧追求速度的结果只能制造更多的BUG,更多的麻烦,从而变得比原来更慢,不如一开始就稳扎稳打C语言报错:error:expected‘:’,‘,’,‘;’,‘}’or‘attribute’......
  • 【C语言】进阶指针Ⅵ 指针和数组练习。
     ......
  • 使用C语言编写一个简易审计插件
    使用C语言编写扩展PostgreSQL是一个强大的开源关系型数据库管理系统。它使用额外的特性以扩展SQL语言。一个DBMS(数据库管理系统)并不仅仅由它的性能和开箱即用的特性所决......
  • 【Java面试指北】反射(1) 初识反射
    如果你被问到:什么是反射?为什么需要反射、以及反射的应用?你会如何回答呢?本篇会带大家初识反射,了解反射概念和基本应用。反射的原理以及深入源码的探究将会在后面几篇介绍。......
  • day6-2022.12.17-flex布局初识(三)
    一、作业完成如下设计图的布局   二、作业需掌握知识点1、理解模型盒子1.1<imgsrc="../assets/boxModel.png"alt="" 解释:img标签用来引入图......
  • (转载)C语言中volatile关键字的作用
    一.前言编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,1)在硬件上:引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并......
  • 初识C语言(了解)
    计算机语言的发展什么是C语言?计算机语言是人与计算机交流的语言,C语言是计算机语言。此外计算机语言还有c++、jave、py等语言。计算机语言的发展二进制语言电脑是硬件,只能识......
  • go语言20小时从入门到精通(一、初识Go语言)
    1.1Go语言介绍1.1.1Go语言是什么2009年11月10日,Go语言正式成为开源编程语言家庭的一员。Go语言(或称Golang)是云计算时代的C语言。Go语言的诞生是为了让程序员有更高的生产......
  • C语言车辆销售系统
    C语言车辆销售系统这三道题基本是一个逻辑,都是我们做一个项目。这个项目可以做到提供一个为销售公司提供方便的系统。为不同身份访问提供不同的服务,经理可以更改额外车辆......
  • C语言《程序设计课程设计》[2022-12]
    C语言《程序设计课程设计》[2022-12]程序设计课程设计说明书一、设计任务与要求《程序设计课程设计》是在完成《C语言程序设计》课程学习后进行的一门专业实践课程,是培......