C语言基础知识
1.一个简单的程序
一个简单的程序如下`。
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("C语言");
system(pause);
return 0;
}
主函数的五种写法
2.数据类型
数据类型分为基本数据类型、构造类型以及指针
基本数据类型:1.数字类型(整型和浮点型)2.字符类型(字符、字符数组、字符串)
构造类型:1.数组 2.结构体 3.联合 4.枚举
指针:1.基本数据类型的指针 2.二级指针 3.数组与指针 4.函数指针 5.结构体指针
基本数据类型
强制类型转换是通过定义类型转换运算来实现的,通常方法为(数据类型)(表达式)例如
float a;
int b,c;
c=(int)(a)+b:
1.整型
short
int
long
long long
2.浮点型
float
double
log double
3.字符型
char
4.字符数组
char str[];
5.字符串
char str []={ ‘a’,‘a’,‘a’,‘a’,‘a’,’/0’};
构造类型
1.数组
2.结构体
3.联合体
多个变量共用一个空间,改变一个成员,其他成员也会改变。当你要表达的东西本质上是互斥的时候:比如人的性别:男或者女,不会出现既是男又是女的情况;黑或白,不会出现既是黑又是白的情况;运行和睡眠,不会出现一个进程既正在运行又正在睡眠的情况。这些时候,使用联合体不仅可以节省代码尺寸,更为重要的是使得程序更具有可读性。
union test
{
int a;
short b;
char c;
}t1,t2;
4.枚举
枚举的本质是一组有名字的int 常数。为制定的依次增加
enum{red=1,green,blue,white,black};
//1,2,3,4,5
enum{red,green,blue=10,white,black};
//0,1,10,11,12
enum{red=23,green=56,blue=19,white=20,black=89};
//23,56,19,20,89
指针
指针是一种数据类型,装的是地址型数据
3.运算符
※ 算术运算符
加法: +减法: -乘法: *除法: /模:%自增自减 :++,- -
※ 赋值运算符
简单赋值和复合赋值即:=和+= 或-=就是赋值之前进行一次运算
a+=5;等价于a=a+5;
※ 关系运算符
关系运算符是二目运算符> >= < <= == !=
※ 逻辑运算符
逻辑运算符有三种 与&&都为真才真, 或|| 有一个真就真,非!真变假,假变真
※ 三目运算符
三目运算符格式为 表达式1 ?表达式2 :表达式3;
执行过程为先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
※ 运算优先级
4.流程结构
note
while, do-while和for三种循环在具体的使用场合上是有区别的,如下:
1.在知道循环次数的情况下更适合使用for循环;
2.在不知道循环次数的情况下适合使用while或者do-while循环:
3.如果有可能一次都不循环应考虑使用while循环
4.如果至少循环一次应考虑使用do-while循环。
但是从本质上讲,while,do-while和for循环之间是可以相互转换的。
note
break是跳出当前整个循环,continue是结束本次循环开始下一次循环。
1.if(表达式)
{}
2.while(表达式)
{}
3.do
{
“code”
}while;
4.for(表达式1;表达式2;表达式3)
{
“code”
}
它的执行过程如下:
执行表达式1,对循环变量做初始化;
判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;
执行表达式3,(i++)等对于循环变量进行操作的语句;
执行for循环中执行代码块后执行第二步;第一步初始化只会执行一次。
循环结束,程序继续向下执行