0
点赞
收藏
分享

微信扫一扫

一、C语言基本内容(1)

1.什么是c语言

c语言是一门计算机语言(人和计算机交流的语言),包括c/c++/java/python

(1)语言的发展:

二进制语言(1/0),操作对应二进制代码,写代码过于复杂

10100001 - ADD(助记符) - 汇编语言

汇编语言简化 →B语言 → C语言

(2)C语言的发展:

国际标准语法

ANSIC(89年推出,被称为C89) - C89/C90

后来推出的C99/C11并不流行 - 不少编译器不支持

2.第一个c语言程序

创建工程 - 添加源文件 - 写代码

写c代码时:.c - 源文件    .h - 头文件

(1)程序(例1)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf("hehe\n");
return 0;
}

(例1)中 ,main(主函数,也叫程序的入口)快捷键win+F10 =代码执行

main前面的 int 是整形的意思,即表示main函数调用返回一个整形值

return 0 即代表返回的整形值为0

printf是打印函数,拆开为print function,printf是一种库函数,库函数由C语言本身提供,当我们使用库函数时,需要一个引用函数声明----即 #include 表示以下函数包含……(某函数文件)。

stdio.h --- std(standard )i(input)o(output)标准输入输出文件

(2)程序(例2)

int main()
{
float f = 2.0;
printf("%f\n", f);
return 0;
}

(例2)中,float f = 2.0表示,向内存申请空间存储创建单精度浮点数 f ,变量f=2.0。

类似还有

char //字符数据类型

short //短整型 int //整形 long //长整形

float //单精度浮点数

double //双精度浮点数

可以利用单目运算符计算各个数据类型所申请的容量大小,单目运算符size(尺寸) of=求出对象在计算机内存中所占用的字节(byte)数,最终计算为 1244848

int main()
{
printf("%lld\n",sizeof(char));
printf("%lld\n",sizeof(short));
printf("%lld\n",sizeof(int));
printf("%lld\n",sizeof(long));
printf("%lld\n",sizeof(long long));
printf("%lld\n",sizeof(float));
printf("%lld\n",sizeof(double));
return 0;
}

(3)单位

字节

计算机中的单位

bit - 比特位,byte - 字节,kb,mb,gb,tb,pb

计算机是硬件 -- 通电

正电 负电

1 0

bit,一个比特位,存放一个二进制位,即存放1或0

byte,一个字节存放8个bit(比特位)

1pb=1024tb=1024gb=1024mb=1024kb=1024字节

short的容量是2个字节,即16个bit,共2^16个数,最大表示2^16-1

那么其存放的数如下:

0000000000000000=0

0000000000000001=1

0000000000000010=2

0000000000000011=3

......

111111111111111110

111111111111111111=1*2^0+1*2^1+……+1*2^15=2^16-1=65535

3.常量和变量

(1)变量

int main()
{
short age = 20;//向内存申请2个字节(即16bit位),用来存放20
return 0;
}

①变量定义方式:类型+变量名+赋值

int age = 150;

float weight = 45.5f;

char ch = 'w';

②变量分类:局部变量,全局变量

int num1 = 20;//全局变量-定义在代码块({})之外的变量
int main()
{
int num1 = 10;//局部变量-定义在代码块之内(大括号内部的变量都叫局部变量)
printf("%d\n",num1);
return 0;
}

局部变量和全局变量相同时,局部变量优先级高。但最好不要相同,容易bug。

③变量的使用

如计算两个数的和(scanf函数,为输入函数,可在代码运行后,手动输入数值)

int main()
{
int num1 = 0;
int num2 = 2;
int sum=0;
scanf("%d%d",&num1,&num2);//&取地址符号(num1和num2存放在内存的某个地址中),scanf-库函数,使用输入数据
sum=num1+num2;
printf("sunm=%d\n",sum);
return 0;
}

④作用域(变量起作用的范围)scope

全局变量的作用域是整个工程,局部变量的作用域是其所在的局部范围(大括号内)

⑤生命周期(类似作用域)

(2)常量

分为字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量

1)字面常量和const修饰的常变量

int main()
{
const int num=4;//(诺没有const这是一个变量,赋值后可变化为8,但是加了const后便成为了常量)
printf("%d\n",num);//(const为常属性,num成为了const修饰的变量,叫常变量)
num=8;//(常变量无法修改,但无法作为常量来使用)
int arr[10]={0};//(这是一个创建数组的方式,10代表数组含有10个元素,这里10无法用num代替,因为[]里面必须是常量,而num不是常量])
printf("%d\n",num);
3;//字面常量
3.14;//字面常量
return 0;
}

2)#define定义的标识符常量

#define MAX 10
int main()
{
int arr[MAX]={0};//(MAX是常量,所以数组代码可以跑起来)
printf("%d\n",MAX);
return 0;
}

3)枚举常量

枚举:是一一列举出来

例如三原色:红,黄,蓝

枚举关键字=enum

enum Sex
{
MALE,
FEMALE,
SECRET//(保密)
};//(MALE,FEMALE,SECRET为枚举常量)
int main()
{
enum Sex s=FEMALE;//(用FEMALE给前面的s赋值)
s=MALE;//(s是变量,可以改,枚举常量指的是MALE,FEMALE,SECRET的值不变)
printf("%d\n",MALE);//默认为0
printf("%d\n",FEMALE);//默认为1
printf("%d\n",SECRET);//默认为2,默认值不可改变
return 0;
}


举报

相关推荐

测试基本内容

shell基本内容

Javascript基本内容

CSS基本内容

数组基本内容

HTML基本内容

Java基本内容(集合框架)

0 条评论