c语言的数据类型,运算符,存储类型

hehu 2019-09-21 原文

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 aint 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小于实际位宽时,按原样输出
+:输出符号
-:左对齐,默认右对齐
返回值:输出字符的个数

发表于
2019-09-21 21:44 sunny_daily 阅读() 评论() 编辑 收藏

 

版权声明:本文为hehu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hehu/p/11564988.html

c语言的数据类型,运算符,存储类型的更多相关文章

随机推荐

  1. 深圳房价5个月内暴涨50% 10人抢1套房很平常 – .net 世界

    http://bj.house.sina.com.cn 2007年06月28日07:34  第一财经日报    […]...

  2. NLP 语义相似度计算 整理总结

    更新中 最近更新时间: 2019-12-02 16:11:11   写在前面: 本人是喜欢这个方向的学生一枚, […]...

  3. CTF–HTTP服务–SSI注入

    开门见山     1. 扫描靶场ip,发现VM 192.168.31.160         2. 扫描主机服 […]...

  4. [DEFCON全球黑客大会] CTF(Capture The Flag)

    copy : https://baike.baidu.com/item/ctf/9548546?fr=alad […]...

  5. Linux—用户新建目录和文件的默认权限设置:umask详解

    本文主要叙述Linux—用户新建目录和文件的默认权限设置:umask详解。 关注微信公众号:CodingTec […]...

  6. nginx免费SSL证书申请及配置

    Let\’s Encrypt是一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小, […]...

  7. IIS批量建站工具的使用说明

    前言 说明一下,本工具的使用是在服务器配置,单个模板建站都成功的情况下来进行的,如果中间有错误,那么批量工具是 […]...

  8. [导入][转帖]服务器DNS设置

    [导入][转帖]服务器DNS设置 好了我们言归正传,今天给大家将的是域名服务器(DNS),在大多数情况下,为了 […]...

展开目录

目录导航