C数据类型及语句
一、我的第一个c语言程序
#intclude<stdio.h> //头文件
int main()//main:主函数,任意一个c语言程序中必须有且只有一个主函数,是程序的入口函数
{
printf("Hello World!\n"); //使用printf函数输出括号里面的字符串
return 0;
}
1.#include<stdio.h> 头文件包含,一定要有
2.每一个c语言的程序有且只有一个main函数,这是整个程序的开始位置
3.C语言中()、[]、{}、“”、‘’、都必须成对出现,必须实施英文符号
4.C语言中语句要以分号结束
5.//为注释
/*
*/为多行注释
1.2编译代码
点击运行或者Ctrl+r
二、关键字
关键字就是c语言已经定义好的名字,直接可以拿过来使用,不需要再次定义
1.1数据类型相关的关键字
用于定义变量或者类型
定义变量的语法结构:
类型 变量;
拓展:变量名属于标识符(变量名、函数名、重命名和取别名),标识符有命名规则
标识符的命名规则:
标识符只能以数字、字母和下划线命名
首字母不能是数字
不能与关键字相同
char、short、int、long、float、double
struct、union、enum、signed、unsigned、void
1、char 字符型,用char定义的变量是字符型变量,占1个字
有符号:-2^7~2^7-1
无符号:0~2^8-1
char ch=‘a’; =为赋值号
char ch1= ‘1’; 正确
char ch2= "1234"; 错误的
2.short 短整型,使用short定义的变量是短整型变量,占2个字符
有符号:-215~215-1
无符号:0~2^16-1
short int a=11; -32768 – --32767
3.int 整形,用int定义的变量是整形变量,在32位系统下站4个字符,在16平台下占2个字符
有符号:-2^31-1~2^31-1
无符号:0~2^32-1
int a=44, -20亿------20亿
4.long长整形用long定义的变量是长整形的,在32位系统下占4个字节,在64位系统下占8个字符
5.float 单浮点型(实数),用float定义的变量是单浮点型的实数,占8个字节
6.double 双浮点型(实数),用double定义的变量是双浮点型的实数,占8个字节
7.struct 这个关键字是与结构体类型相关的关键字,可以用来定义结构体类型,以后将结构体时候再讲
8.union 这个关键字是与共用体(联合体)相关的关键字,以后再讲
9.enum与枚举类型相关的关键字
10.signed有符号(正负)的意思
在定义char、整形(short、int、long)数据的时候用signed修饰,代表咋们定义的数据是有符号的,可以保存正整数,也可以保存负整数
列如:signed int a=10;
signed int b=-6;
注意:默认情况下signed可以省略即int=-10l;//a就是有符号类型的数据
11.unsigned 无符号的意思
在定义char 整形(short、int、long)数据的时候用unsigned修饰,代表我们定义的数据是无符号类型的
只能保存正数和0
列如:unsigned int a=101
unsigned int a=-101, //错误
12.void 空类型的关键字
char、int、float都可以定义变量
void 不能定义变量,没有void类型的变量
void是用来修饰函数的参数或者返回值,代表函数没有参数或者返回值
列:void fund(void)
{
}
1.1.2存储相关关键字
register、static、const、auto、extern
1、register是寄存器的意思,用register修饰的变量是寄存器变量,
即:在编译的时候告诉编译器这个变量是寄存器变量,尽量将其存储空间分配在寄存器中。
注意:
(1):定义的变量不一定真的存放在寄存器中。
(2):cpu取数据的时候去寄存器中拿数据比去内存中拿数据要快
(3):因为寄存器比较宝贵,所以不能定义寄存器数组
(4):register只能修饰 字符及整形的,不能修饰浮点型
(5):因为register修饰的变量可能存放在寄存器中不存放在内存中,所以不能对寄存器变量取地址。因为只有存放在内存中的数据才有地址。
2、static 是静态的意思
static可以修饰全局变量、局部变量、函数
使用static修饰的变量,此变量保存在内存的静态区空间中
3、const
const 是常量的意思
用const修饰的变量是只读的,不能修改它的值
const int a=101;//在定义a的时候用const修饰,并赋初值为101
从此以后,就不能给a赋值了
a=111;//错误
const可以修饰指针,这个在以后课程中重点讲解
4、auto
auto int a和int a是等价的,auto关键字现在基本不用
5、extern是外部的意思,一般用于函数和全局变量的声明,这个在后面的课程中,会用到
1.1.3控制语句相关的关键字
if、else、break、continue、for、while、do、Switch、case、goto、default
条件控制语句:
if语句:if else
swtich:swtich case default
循环控制语句:for while do goto
for while do go
辅助循环语句:
break continue
1.1.4其他关键字
sizeof、tyedef、volatile
1、sezeof
使用来测量、数据的占用存储空间的大小(字节数)
列:
int a = 10;
int num;
run = sizeof(a);
2、typedef 重命名相关的关键字
关键字,作用是给一个已有的类型,重新起个类型名,并没有创造一个新的类型
unsigned short int a =10;
tyedef定义方式:
1、用想起名的类型定义一个变量
short int a;
2、用新的类型名替代变量名
short int INT16;
3、在最前面加typdef
typedef short int INT16;
4、就可以用新的类型名定义变量了
INT16 b 和short int b是一个效果
3、volatile 易改变的意思
用volatile定义的变量,是易改变的,即告诉cpu每次用volatile变量的时候,重新去内存中取保证用的是最新的值,而不是寄存器中的备份
volatile 关键字现在较少使用
三、数据类型
3.1基本数据类型
char、short 、int、long 、float、double
#include <stdio.h>
//基本数据类型的学习和使用
//char short int long float double
int main(int argc, char *argv[])
{
//定义一个char类型的变量并赋值,输出字符使用%c
char a = ‘w’;
printf(“a = %c\n”,a);
//定义一个short类型的变量并赋值
short b = 100;
printf(“b =%d\n”,b);
//定义一个int类型的变量并赋值,输出int类型变量的值使用&d
int c = 9999;
printf(“c =%d\n”,c);
//定义一个long类型的变量并赋值,输出long类型的值使用%ld
int d = 5555555;
printf(“d =%ld\n”,d);
//定义一个float类型的变量并赋值,输出float类型变量的使用%f
//默认保留小数点后六位,并且可以四舍五入
float e = 3.1412598;
printf(“e =%f\n”,e);
//定义一个double类型的变量并赋值,输出double类型变量的值使用%lf
double f = 3.12456928854544;
printf(“f =%lf”,f);
return 0;
}
//
执行结果
总结
以上就是今天要讲的内容,本文仅简单学习了C数据类型及语句
。好了今天的内容就到这里了,下一篇再见