初识C语言一
1. main 函数的注意点
-
main 函数叫主函数
#include<stdio.h>//包含头文件 //stdio -> standard input output 标准输入输出的头文件,用于下面的printf库函数。 int main() { printf("hehe\n");//在屏幕上打印hehe return 0; }
-
主函数是程序的入口
-
主函数在一个文件当中有且只能有一个
-
在一个工程项目中多个.c文件当中,只能有一个main函数
2. 数据类型
为什么会有数据类型呢?
答:本质上是写代码是解决生活中的实际问题的,生活中有整数,小数,字符等一系列的数据,需要给它们进行有效管理、存储,所以需要对于不同的数据进行不同的操作,采用不同的数据类型。
-
char //字符型数据类型 1B short //短整型 2B int //整型 4B long //长整型 4B/比int大 long long //更长的整形C99 8B float //单精度浮点数 4B double //双精度浮点数 8B //我们需要知道每个数据类型的空间大小,需要sizeof这个操作符,计算的结果单位为字节
-
数据类型用在哪里呢?
答:用在创建变量的时候
char ch='w';
short r=2;
float weight=69.5f;
double pai=3.14;
3.变量和常量
不变的值,C语言中用**常量来表示,变的值C语言中用变量**来表示
- 变量在创建的时候要尽量初始化,赋初值
- 变量名的定义需要一定的规则
-
变量的分类:局部变量和全局变量
4.变量的作用域和生命周期
局部变量的作用域为局部变量的所在的局部范围,生命周期为进入作用域创建,离开作用域销毁
全局变量的作用域为整个工程,生命周期为整个程序的生命周期
5.常量
- 字面常量
100,3,3.14 ,‘a’,"avddd"
不能修改 - const 修饰的常变量 —> 不能被修改的变量
const int num=100;//const修饰的num在初始化的时候被赋予了一个初值,之后就不能修改了,但是num本质上还是变量,不是常量
num=200;//这个赋值操作时错误的
- #define 定义的标识符常量
#define M 100 //M本质上就是100,也就是常量,它与100的区别---》M在使用者看来更加有含义,而100更多的是数字,没其他的显示含义
int main () //M不能被修改
{
printf("%d",M);
return 0;
}
- 枚举常量 -->一 一列举的取值
enum Color // RED,BLUE,GREEN里面的是可能的取值,这些值时常量,不能被修改
{
RED,//0
BLUE,//1
GREEN//2
};
int main()//主函数,程序的入口
{
enum Color c = RED;
printf("%d\n", RED);
printf("%d\n", BLUE);
printf("%d\n", GREEN);
return 0;
}
6.字符串
- 字符串的结束标志是**
'\0'
** 转义字符 - \0对于字符串来说十分重要,在==计算长度和打印输出==的时候,都是very important
- %s 打印字符串, 从开始打印到\0停止
- strlen为C语言提供的计算字符串长度的库函数,从开始到\0为止,不算\0
include<string.h>//strlen函数的头文件
include<stdio.h>
int main()//主函数,程序的入口
{char ch = 'w';//单个字符 char ch1[] = { 'a','b','c' };//可以单个分别赋值 char ch2[] = "abc333";//可以用一个字符串字面量来赋值 printf("%s\n", ch1);//ch1中有abc printf("%s\n", ch2);//ch2中有abc'\0' printf("chlen1=%zd\n", strlen(ch1)); printf("chlen2=%zd\n", strlen(ch2)); return 0;
}
7.转义字符
本质上还是转义字符,也就是一个字符
\?
->就是? ,为了在书写连续多个问号时使用,防止他们被解析成三字母词\'
就是 ` **用于表示字符常量 ’ **
printf("%c\n",'\'');
\“
用于表示一个字符串内部的双引号
printf("%s\n","\"");
\a
警告字符,蜂鸣\n
换行\r
回车\t
水平制表符\v
垂直制表符\ddd
ddd表示1~3个八进制的数字。 如: \130 里面的数为0~7\xdd
dd 表示2个十六进制的数字 。 如:\x46\\
就是一个真实的\\0
的ASCII值就是0- ASCII 中的值
数字0本质上就是'\0'
字符‘0’本质上就是48
- ASCII 中的值