c语言的数据类型,运算符,存储类型
【1词法符号】
1. 关键字:32个
1) 存储类型:决定(设备)变量的存储位置
auto(自动型).extern(外部引用) static(静态型) register(寄存器类型)
2) 数据类型:决定设备在对应位置所占的空间大小
char (字符型) int(整型) short(短整型) long(长整型) float(单精度浮点类型) double(双精度浮点类型) signed(有符号)
unsigned(无符号)
3)控制语句:if ,else ,switch , case ,break ,default ,for , while ,do
Goto(跳转) ,continue ,return
4)构造函数类型:struct(结构体) union(共用体) enum(枚举)
5)杂项:const(常量化) sizeof(计算数据所占空间大小) typedef(重定义) ,void(空,修饰指针,不能修饰变量;作为函数的返回值;作为函数的参数 ) volatile(防止被编译器优化)
2.标识符:用于定义宏名,变量名,函数名和自定义的类型名
1)标识符由一个或者多个字母,数字,或者下划线组成
2)标识符的第一个字符必须是字母 或者下划线
3)不能与任何关键字相同
变量:在程序运行期间值可以发生变化的量
格式:存储类型 数据类型 变量化
Int a =4;
没有被初始化的的全局变量存储在.bss段 ,存储在该段的初值都为0
局部变量存储在栈区,由系统自动分配并释放
Int a=10 //定义变量的时候并初始化
2. 算数运算:
1):+ - * / % ++ --
Int a=5/2; =2
除号:向下取整
%:运算符左右两侧只能是整数
#include<stdio.h>
Int main()
{
Int a=5;
Printf(“%d\n”,a++); 结果是5(先取值,再自加)
Printf(“%d\n”,++a); 结果是7 (先自加,再取值)
return 0;
}
答案: 5 ,7
2)关系运算 > >= < <= == !=
3) 赋值运算:+= -= *= /= &= =
sum+=i; sum=sum+I;
4) 逻辑运算:&&(逻辑与) ||(逻辑或) !(逻辑非)
&&:全真为真 ,一假则假
//串联:有一假,则后面的表达式将不被执行
Int a =3 ,b=4 ,b=4;
Int c =a>b && b++;
结果:c=0 ,b=4;
||:一真则真,全假则假
//并联:有一真,则后面的表达式将不被执行
!:取反
遵循截断法则
【1】
1.存储类型:决定变量的存储位置
1)
auto int aint a 两边等价
auto修饰的局部变量,不初始化的时候,初值为随机值(修饰全局变量不初始化的时候初值为0)
auto只能修饰局部变量
2)
extern外部引用
外部引用变量,编译时需要多个文件同时编译
3)
Static :静态型
只初始化一次
修饰的变量如果没有初始化,初始值为0
存放在静态区
限制作用域,修饰局部变量时限制再在局部,修饰全局变量,限制在本文件中
只初始化一次,修饰的变量,下面使用的值,时上面运算后的值
1.未初始化的全局变量和静态变量放在.BSS段,已初始化但初始化的值为0的全局变量和静态变量也放在.bss段
2.已初始化为0的全局变量和静态变量放在.bss段
3.data存储已初始化的全局变量和静态变量,但是初值不是0
【3常量】
整型常量
浮点常量
指数常量
字符常量:单引号引起来的一个字符
‘a’ ‘b’
字符串常量:双引号引起来的一串字符
“hello” 6个
字符串常量始终以‘\0’结尾,‘\0’是系统自动补,不需要程序员写,程序员要考虑‘\0’必须要有空间去存放
标识常量:符号常量
格式:#define 宏名 标识符
例子:
#define M 3
#define N M+M
Printf(“%d\n”,N*3+1);
展开 M+M*3+1=13
单纯的替换(不能加括号)
【4】格式输入输出语句:
1.printf:
int printf(const char *format, ...);
功能:按照指定的格式向终端输出
参数:多参
format:向终端输出的内容
%d -- int 整型
%ld -- long 长整型
%c -- char 字符型
%e -- 指数形式
%f -- float
%lf -- double
%s -- 字符串
%p -- 地址
%0m.nf
0:在左侧补0
m:指定的位宽,
m大于实际位宽时,按m输出
m小于实际位宽时,按原样输出
+:输出符号
-:左对齐,默认右对齐
返回值:输出字符的个数
c语言的数据类型,运算符,存储类型的更多相关文章
- C#-语言基础+数据类型+运算符
一.C#语言基础 新建项目:文件→新建→项目→Visual C#(默认.NET Framework 4.5)→控制台应用程序 1.项目结构 (1)项目后缀 .config ——配置文件(存放配置参数文 ...
- C语言中变量的存储类型
在C语言中,对变量的存储类型说明有以下四种: auto 自动变量register 寄存器变量extern 外部变量static 静态变量 自动变量和寄存器变量属于动态存储方式,外部变量和静态变 ...
- c语言学习笔记.关键字.存储类型关键字等
关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...
- c语言基本数据类型及存储方式
; ; ; ; ; ; ; ; float a9 = 109.23; float a10 = 111.23; double a11 = 113.113; double a12 = 115.113; c ...
- Sqlite3中存储类型和数据类型结合文档解析。
sqlite3是个很小的数据库,运行在手机,机顶盒上....那它就不可能像musql,sqlserver那么规范,有很多的数据类型,之前我也以为它定义了很多数据类型,其实不是他就5个存储类,那么多数据 ...
- C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
Technorati 标签: C,标识符,作用域,命名空间,链接属性,生命周期,存储类型,scope,name space,linkage,storage durations,lifetime 无论学 ...
- C语言存储类型及各存储类型作用域和生存域比较
c语言中的存储类型有`auto`, `extern`, `register`,`static` 这四种,存储类型说明了该变量要在进程的哪一个段中分配内存空间,可以为变量分配内存存储空间的有数据区.BB ...
- 【C语言学习】存储类型
C语言中的存储类型主要有四种:auto.static.extern.register ★auto存储类型 默认的存储类型.在C语言中,假设忽略了变量的存储类型,那么编译器就会自己主动默认为auto型 ...
- C语言存储类型
看c专家编程,有说存储类型一直不太清楚.看到一篇文章讲解c的存储类型,讲解了c语言中的各种变量的存储类型,而且是从进程.内存的角度讲解的,以前从没有这样理解过,觉得挺有用的,在这里转载过来. 首先要来 ...
随机推荐
- 通过Blazor使用C#开发SPA单页面应用程序(4) - Ant Design Button
前面学习了Blazor的特点.环境搭建及基础知识,现在我们尝试的做个实际的组件. Ant Design是蚂蚁金服是基于Ant Design设计体系的 UI 组件库,主要用于研发企业级中后台产品.目前官 ...
- notepad 写html乱码,已解决
写一些简单基础的html文件时,突然发现新建的demo2,在浏览器打开乱码,而昨天的demo1打开没乱码,真奇怪,开始排查原因. 1.检查代码,,设了charset=UTF-8,看不出毛病. 2.索性 ...
- Mina各组件介绍
Mina各组件介绍 上一篇文章已经系统的介绍了Mina的运行流程,Apache推出的Mina性能上很是高效,上章节我们知道内部有很多的类,各个类之间的依赖也是很多,他们之家都是相互依赖. 下面主要看看 ...
- Java 从入门到进阶之路(二)
之前的文章我们介绍了一下用 IDEA 编辑器创建一个 Java 项目并输出 HelloWorld,本章我们来看一下 Java 中的变量和基本数据类型. 在这之前我们先来看一下 Java 中的关键字,这 ...
- Python之变量、常量以及注释
Python之变量.常量以及注释 一.什么是变量 变量,是用于在内存中存放程序数据的容器,怎么理解呢? 计算机的最核心的功能j就是"计算",计算需要数据源,数据源存在在内存里,比如 ...
- MySQL数据库安装步骤
目录 MySQL数据库安装 MySQL数据库安装 MySQL Windows下载地址:https://dev.mysql.com/downloads 我们这里选择5.6.45版本下载,下载zip. 点 ...
- 安装Python及各种包/库——没有网络的电脑上
我们做项目时可能会遇到,一些电脑只能联内网或者无法联网,这种情况怎样在电脑上安装Python及各种第三方包/库呢? 1.首先,在有网络的电脑上在python官网下载好python安装包,地址:http ...
- Python基础学习笔记(一)python发展史与优缺点,岗位与薪资
相信有好多朋友们都是第一次了解python吧,可能大家也听过或接触过这个编程语言.那么到底什么是python呢?它在什么机缘巧合下诞生的呢?又为什么在短短十几年时间内就流行开来呢?就请大家带着疑问,让 ...
- hihocoder #1609 : 数组分拆II(思维)
题目链接:http://hihocoder.com/problemset/problem/1609 题解:就先拿一个数组最多分成两部分来说吧 8 1 2 3 4 5 1 2 3 显然 输出时2 3 可 ...
- CodeForces 86 D Powerful array 莫队
Powerful array 题意:求区间[l, r] 内的数的出现次数的平方 * 该数字. 题解:莫队离线操作, 然后加减位置的时候直接修改答案就好了. 这个题目中发现了一个很神奇的事情,本来数组开 ...