1、C语言构成
/*
* 1.C语言程序是由函数组成的
* 2.C语言程序启动时,系统就会自动调用名称叫做main的函数
* 3.C语言规定了函数定义的固定格式
* int main(){return 0;}
* 4.C语言中定义其它函数的格式和main函数一样, 只不过函数名称不能相同
* 5.系统不会自动调用除main函数以外的其它函数,但是我们可以在main函数中自己调用
* 6.调用函数的格式: 函数名称();
*/
#include <stdio.h> // 告诉系统去哪查找printf函数
int call(){
return 0;
}
int main(){
call();
/*
* 1.系统提供了专门用于往屏幕上输出内容的函数, 这个函数叫做printf
* 2.可以在调用函数时在()中指定需要往屏幕上输出的内容
* 3.由于printf不是我们定义的, 所以还需通过##include <stdio.h>告诉C语言程序去哪查找这个函数的实现代码
*/
printf("hello world!!!");
return 0;
}
2、基本代码规范
#include <stdio.h>
int main()
{
/*
* 1.公司的代码规范中会规定阅读性优先还是性能优先
* 2.第一种实现方式是阅读性优先
* 3.第二种实现方式是性能优先
* 4.一般情况下为了方便同事之间沟通和提升代码的可维护性都是阅读性优先
* 5.初学者在编写代码时尽量先以阅读性优先的方式来编写
*/
// printf(" *** *** \n");
// printf("*********\n");
// printf(" ******* \n");
// printf(" *** \n");
// printf(" * \n");
// printf(" *** *** \n*********\n ******* \n *** \n * \n");
return 0;
}
3、main函数、中文问题
#include <stdio.h>
int main()
{
/*
* 1.C语言中,每条完整的语句后面都必须以分号结尾
* 2.C语言中,除了注释和双引号引起来的地方以外都不能出现中文
* 3.C语言中,必须有一个main函数
* 4.C语言中,有且只能有一个main函数
*/
printf("0&&1改变世界\n");
return 0;
}
//int main()
//{
// return 0;
//}
4、小插曲、利益的纷争
#include <stdio.h>
/*
* 1.标准的推行需要各大厂商的支持和实施,由于各大厂商利益、理解等问题,
* 导致了实施结果发生了变化
* 2.大家需要了解和知道的就是下面的三种写法也是正确的,
* 但是no zuo no die, 编写C语言程序的时候一定要按照最标准的写法来编写
*/
//int main()
//{
// printf("Hello World!\n");
// return 0;
//}
//void main()
//{
// printf("Hello World!\n");
// return 0;
//}
//main()
//{
// printf("Hello World!\n");
// return 0;
//}
main()
{
printf("Hello World!\n");
}
5、注释
#include <stdio.h>
int main()
{
/*
* 1.单行注释格式: //
* 2.单行注释有效范围:
* 从第二个斜杠到这一行的末尾
*
* 1.多行注释格式: /星 星/
* 2.多行注释有效范围:
* 从第一颗星直到第二颗星之间
*
* 1.多行注释和单行注释的注意点:
* 注释是写给人看的, 不是写给机器看的, 所以编译器在编译代码的时候, 不会将注释的内容编译成0和1
*/
// 我是被注释的内容
/*
我是被注释的内容
我是被注释的内容
*/
printf("Hello World!\n");
return 0;
}
#include <stdio.h>
int main()
{
// 1.单行注释可以嵌套单行注释
// 被注释的内容 // 被注释的内容
// 2.多行注释可以嵌套单行注释
/*
// 被注释的内容
*/
// 3.单行注释可以嵌套多行注释, 但是被嵌套的多行注释必须在同一行
// /**/
// 4.多行注释不能嵌套多行注释
// /*
// /*
// */
// */
return 0;
}
6、关键字、标识符等
#include <stdio.h>
/*
1.只能由字母(a~z、 A~Z)、数字、下划线组成
不能包含除下划线以外的其它特殊字符串
2.不能以数字开头
3.不能是C语言中的关键字
4.标识符严格区分大小写, test和Test是两个不同的标识符
*/
int daDianHua(){
return 0;
}
int test(){
printf("test1!\n");
return 0;
}
int Test(){
printf("test2!\n");
return 0;
}
int main()
{
Test();
printf("Hello World!\n");
return 0;
}
#include <stdio.h>
int main()
{
// 1.整型常量
1;
2;
3;
10;
// 2.实型常量(小数)
// 单精度/双精度, 默认情况下所有的实型常量都是双精度
3.14; // 双精度
6.66;
10.1f; // 单精度
2.31F;
// 3.字符型常量
// 注意点:
// 3.1字符型常量的单引号中只能放一个字符
// 3.2特殊情况: \n \t \\ (转义字符)
'a';
'1';
'.';
'ab'; // 错误
'12'; // 错误
'王'; // 错误
'\n';
'\t';
// 4.字符串型常量
"a";
"ab";
"12";
"王";
return 0;
}
7、变量
#include <stdio.h>
int main()
{
// 1.定义变量的格式: 数据类型 变量名称;
// 2.为什么要指定数据类型?
// 为了告诉操作系统 ,定义的变量对应的存储空间中, 将来能够存储什么样的数据
// 为了告诉操作系统需要分配多大的存储空间
// 3.为什么要指定变量名称?
// 为了我们将来能够找到开辟好的存储空间,使用这块存储空间
int intValue; // 整型变量
float floatValue; // 实型变量 单精度
double doubleValue; // 实型变量 双精度
char charValue; // 字符变量
// 0 bit
// 00000000 byte(字节)
// 1024个byte 1KB
// 1024KB 1M
// 1024M 1GB
return 0;
}
#include <stdio.h>
int main()
{
// 1.定义变量
int num;
// 2.使用变量
// 下面这句代码, 我们称之为给变量num赋值
// 第一次给变量赋值, 我们又称之为初始化
// 注意点: 在C语言中 ,想要使用变量, 必须先给变量初始化
// 如果变量没有被初始化, 那么变量中保存的都是一些垃圾数据
num = 10;
num = 998;
printf("num = %i\n", num);
return 0;
}
#include <stdio.h>
int main()
{
// int num;
// int value;
// 同时定义多个变量
// 注意点: 必须是相同类型的变量, 才可以这样写
// int num,value;
// 先定义再初始化
// int num;
// num = 10;
// 定义的同时初始化
// int num = 10;
// 完全初始化
// int num = 10,value = 998;
// 部分初始化
int num = 10,value;
return 0;
}
#include <stdio.h>
int call(){
value = 999;
printf("value = %i\n", value);
return 0;
}
int value; // 全局变量
int main()
{
/*
* 1.什么是局部变量
* 定义在大括号中的变量, 我们称之为局部变量
* 作用域:
* 从定义变量的那一行开始, 直到遇到return或者遇到}结束为止
* 1.什么是全局变量
* 定义在大括号外面的变量, 我们称之为全局变量
* 作用域:
* 从定义变量的那一行开始, 直到文件末尾
*/
/*
// num = 10;
// printf("num = %i\n", num);
// int num; // 局部变量
// num = 10;
// printf("num = %i\n", num);
// {
// int num = 998;
//// printf("num = %i\n", num);
// }
// printf("num = %i\n", num);
*/
value = 666;
printf("value = %i\n", value);
call();
return 0; // 结束函数
// num = 10;
// printf("num = %i\n", num);
}
#include <stdio.h>
int value;
int value; // 不报错
int main()
{
/*
* 1.变量只能在作用域范围内使用, 超出作用域范围就不能使用了
* 2.局部变量:
* 2.1在同一个作用于范围内, 不能出现相同名称的变量
* 2.2如果想要出现相同名称的局部变量, 必须在不同的作用域范围内
* 2.全局变量:
* 2.1在同一个作用于范围内, 可以出现相同名称的变量
*/
int num; // Ctrl + / 注释快捷键
// int num; // 报错
{
int num;
}
return 0;
}
网友评论