目录
一、简单介绍C语言
二、认识一个简单的C程序
三、数据类型
四、常量、变量
五、字符串、转义字符和注释
六、选择语句
七、循环语句
八、函数
九、数组
十、关键字
十一、指针
一、简单介绍C语言
1.关于C语言
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
2.C语言的特点
(1)简洁的语言(2)具有结构化的控制语句(3)丰富的数据类型(4)丰富的运算符(5)可对物理地址进行直接操作(6)代码具有较好的可移植性(7)可生成高质量、目标代码执行效率高的程序
3.C语言的基本构成
数据类型、常量与变量、数组、指针、字符串、文件的输入输出、运算……
二、认识一个简单的C程序
用程序输出一个“hello world!”
#include
//这是一个头文件
int main()
//main 函数是程序的入口,程序从main函数第一行开始执行
//一个工程中main(主)函数有且只有一个
{
printf("hello world!\n");
//printf 为输出打印的库函数,库函数的使用必须要包含一个头文件
return 0;
}
三、数据类型
char 字符数据类型 | long long 更长的整型 |
---|---|
short 短整型 | float 单精度浮点数 |
int 整型 | double 双精度浮点数 |
long 长整型 |
简单介绍各数据类型
1.char(字符数据类型):char用于C或C++中定义字符型变量,只占一个字节,就是8位。
2.short(短整形):类型说明符为short int或short。所占字节和取值范围均与int相同。
3.int(整型):类型说明符为int,在内存中占4个字节。
4.long(长整型):类型说明符为long int或long,在内存中占4个字节。
5.long long(更长的整型):在内存中占8个字节。
6.float(单精度浮点数):浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。
7.double(双精度变量):双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,占8 个字节(64位)内存空间。
用sizeof计算各数据类型占字符
由此可以看出:char占1个字节;int占4个字节;
short占2个字节;long占4个字节;
long long 占8个字节;float占4个字节;
double占8个字节。
sizeof:C语言中用来计算变量或者使用类型创建变量的大小,单位是字节。
%d:打印一个10进制整数。
四、常量、变量
“常量”的广义概念是:‘不变化的量’(例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量)换言之,常量,在计算机技术方面虽然是为了硬件、软件、编程语言服务,但是它并不是专门为硬件、软件、编程语言而引入的概念。常量可区分为不同的类型,如:25、0为整型常量,6.8为实型常量,‘a’、‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。
“变量”的广义概念是:变化的量,来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念,变量可以通过变量名访问。在指令式语言中,变量通常是可变的。
常量
对各常量的代码演示
int main()
{
120;//字面常量
10;//字面常量
//const 修饰常变量
const int num = 10;//num是const修饰的常变量
//num的值不可被改变,但本质还是一个变量
//#define的标识符常量
#define MIN 100
printf(" = %d\n", MIN);
//枚举常量
printf("%d\n", MALE);
printf("%d\n", FEMALE);
return 0;
}
定义变量的方法
int size=100;
float height=182.5f;
char ch='a';
变量的分类
当局部变量与全局变量名冲突
由此代码可知:当局部变量与全局变量冲突时,局部变量优先输出。
变量的使用
#include
int main()
{
int a, b, sum;//对变量的定义
//输入
scanf("%d %d", &a, &b);
//&取地址操作符
sum = a + b;
//输出
printf("%d\n", sum);
return 0;
}
变量的作用域和生命周期
作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用 的
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。
五、字符串、转义字符和注释
"hello wrold !"
像这样的用双引号引起来的一组字符,称为字符串。
转义字符顾名思义就是转变原来的意思
\? | 在书写连续多个问号时使用,防止被解析成三字母词 | \' | 用于表示字符常量 |
\" | 用于表示一个字符内部的双引号 | \\ | 用于表示一个反斜杠,防止被解释为一个转义序列符 |
\a | 警告字符,蜂鸣 | \b | 退格符 |
\f | 进纸符 | \n | 换行 |
\r | 回车 | \t | 水平制表符 |
\v | 垂直制表符 | \ddd | ddd表示1~3个八进制数字 |
\xdd | dd表示2个十六进制的数字 |
1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
注释的方法
使用 ://不想要的代码;
/*不想要的代码*/
六、选择语句
选择语句有if语句、switch语句。
选择语句解释:要么选A,要么选B。
#include
int main()
{
int input = 0;
printf("你要成为一位程序开发工程师吗?(1/0):");
scanf("%d", &input);
if (input == 1)
{
printf("迎娶白富美,走上人生巅峰\n");
}
else
{
printf("回家种田、养猪、放牛\n");
}
return 0;
}
七、循环语句
while语句
while(表达式)
循环语句;
#include
int main()
{
int i = 1;//初始化
while (i <= 10)//判断
{
printf("%d\n", i);
i++;//调整部分
}
return 0;
}
for语句
for(表达式1;表达式2;表达式3)
循环语句;
#include
int main()
{
int i = 0;
//for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
do while语句
do
循环语句;
while(表达式);
#include
int main()
{
int i = 10;//初始值
do
{
if (5 == i)
break;
printf("%d\n", i);
}
while (i<10);//判断
return 0;
}
八、函数
计算两数之和
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
用函数写出计算两数的和
#include
int Add(int x, int y)//定义函数
{
int z = x + y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = Add(num1, num2);
printf("sum = %d\n", sum);
return 0;
}
九、数组
一组相同类型元素的集合
十、关键字
常见的关键字
auto | 声明自动变量,缺省时编译器一般默认为auto;最宽宏大量的关键字 |
int | 声明整型变量 |
double | 声明双精度变量 |
long | 声明长整型变量 |
char | 声明字符变量 |
float | 声明浮点型变量 |
short | 声明短整形变量 |
signed | 声明有符号类型变量 |
unsigned | 声明无符号类型变量 |
struct | 声明结构体变量;结构体所占内存大小是其成员所占内存之和 |
enum | 声明枚举类型变量 |
union | 声明联合数据类型变量 |
static | 声明静态变量;最名不符实的关键字 |
switch | 用于开关变量 |
case | 用于语句分支 |
default | 开关语句中的其他分支 |
break | 跳出当前循环;表示终止本层循环 |
continue | 结束当前循环,开始下一轮循环 |
register | 声明寄存器变量;最快的关键字 |
const | 声明只读变量,其修饰的只读变量必须在定义的同时初始化 |
volatile | 说明变量在出现执行中可被隐含地改变 ;最易变的关键字 |
typedef | 用以给数据类型取名 |
extern | 声明变量是在其他文件中声明;最会带帽子的关键字 |
return | 子程序返回语句,用来终止一个函数并返回后面跟着的值 |
void | 声明函数无返回值或者无参数,声明空类型指针 |
do | 循环语句的循环体 |
while | 循环语句的循环条件 |
for | 一种循环语句 |
if | 条件语句 |
else | 条件语句否定分支 |
goto | 无条件跳转语句 |
sizeof | 计算对象所占内存空间大小 |
注:关键字不能自己创建;关键字不是变量名
十一、指针
指针即为地址
结构体使得C语言有能力描述复杂类型
#include
struct Stu
{
//结构体成员
char name[10];
int age;
char sex[10];
char love[20];
};
int main()
{
//创建结构体变量并初始化
struct zhangsan = { "张三", 20,"男", "篮球" };
struct lisi = { "李四", 18,"女", "足球" };
//打印结构体数据
printf("%s\n %d\n %s\n %s\n", zhangsan.name, zhangsan.age, zhangsan.sex, zhangsan.love);
printf("%s\n %d\n %s\n %s\n", lisi.name, lisi.age, lisi.sex, lisi.love);
return 0;
}
好了,小白初识C语言之启程篇就结束了,历经一天的时间终于把初始C语言介绍完毕,希望大家多多支持一下,蟹蟹!!!