当前位置:网站首页>初识C语言(上)
初识C语言(上)
2022-07-06 09:19:00 【犇犇犇犇犇犇】
在这里我将给大家简单介绍一下C语言我们要学的内容,大家进行初步的认知。
C语言呢是一门结构化程序设计语言,什么是结构化,也就是:顺序结构,选择结构,循环结构,生活中的所有事都是这几个结构的组合嵌套和重复。所以C语言才能通过编程解决生活中的问题。
编程语言的发展:机器语言也就是二进制–汇编语言人们通过一些助记符更好的编程–B语言–C语言,这时C语言已经是一门高级语言了。
C语言中我们要了解
- 变量
- 常量
- 数据类型
- 变量的作用域和生命周期
- 注释和转义字符
- 关键字
- 数组
- 函数
- 指针
- 选择结构
- 循环结构
- 结构体
变量和常量
看下面一段代码
//1.字面常量
//2.const修饰的常变量
//3.通过define定义的常量
//4.枚举定义的常量
enum Color
{
Red=0,
Green=0,
Blue=0,
};
#define Max 100
int main()
{
//30;
//3.14;
//'W';//字符
//"abc";
在C语言中,const修饰的a,本质是变量,但是不能直接修改,有常量的性质
//const int a = 10;
//a = 20;
//printf("%d ", a);
//const int n = 10;
//int arr[n] = { 0 };//这时会显示错误为表达式中必须含有常量值
//return 0;
//Max = 10;//当你想修改define定义的变量值时,就会报错。
//printf("%d\n", Max);
//Red = 10; //可以看到会出现和define同样的报错
printf("%d\n", Red);
return 0;
}
int main()
{
int a = 10;
a = 20;
printf("%d\n", a);
//这就是变量是可以改变的值
return 0;
}
数据类型
//数据类型有哪些
//字符
//整型 短整型 整型 长整型 更长整型
//浮点型 单精度浮点型 双精度浮点型
int main(){
printf("%d\n", sizeof(char));// 字节 --1
printf("%d\n", sizeof(short));// --2
printf("%d\n", sizeof(int));// --4
printf("%d\n", sizeof(long));// --4
printf("%d\n", sizeof(long long));// --8
printf("%d\n", sizeof(float));// --4
printf("%d\n", sizeof(double));// --8
return 0;
}
变量的生命周期和作用域
//变量的作用域
//1.局部变量
//从创建它的函数开始到这个函数结束
//2.全局变量
//全局变量的作用域是整个工程
//变量的生命周期
//局部变量:进入作用域开始,出作用域结束
//全局变量:整个程序的生命周期
int main(){
int a = 10;
{
//int a = 10;
printf("%d\n", a);
}
printf("%d", a);
return 0;
}
注释和转义字符
/* /* int main() { 这是C语言的注释风格 */
return 0;
}*/
//int main()
//{
// 这是C++的注释风格
// return 0;
//}
//现在的C语言中也引入了 //这种风格
/**/C语言的这种注释风格
缺点:不能嵌套使用
C++的注释风格
优点:方便单行注释,也可以多行注释
转义字符大家自己上网搜一下了解就可以了这里就不过多介绍,但是给大家留下一道题,看看是否能做对
int main()
{
//编译器会输出什么
printf("%s\n","C:\\test\test.c");
printf("%d\n", sizeof("C:\\test\test.c\x069"));
return 0;
}
数组
int main()
{
int arr[10] = {
0 };
// int 代表数组类型 arr表示数组名
//10--数组大小 {0}---数组内的十个元素全部赋值为零
return 0;
}
函数
//写一个两数之和
int ADD(int x, int y)
{
//int 函数的返回类型
//ADD 函数名
//int x,int y 函数的参数
//{
// return x + y; 这三行是函数体
//}
return x + y;
}
int main(){
//创建
int num1 = 0;//变量初始化
int num2 = 0;
//输入
scanf("%d %d", &num1, &num2);
//求和
//int sum = num1 + num2;
int sum = ADD(num1, num2);
//输出
printf("%d", sum);
return 0;
}
未完待续…
边栏推荐
- [算法] 剑指offer2 golang 面试题5:单词长度的最大乘积
- 【GNSS数据处理】赫尔默特(helmert)方差分量估计解析及代码实现
- Iterable、Collection、List 的常见方法签名以及含义
- [算法] 剑指offer2 golang 面试题6:排序数组中的两个数字之和
- [algorithm] sword finger offer2 golang interview question 8: the shortest subarray with a sum greater than or equal to K
- FGUI工程打包发布&导入Unity&将UI显示出来的方式
- [算法] 剑指offer2 golang 面试题8:和大于或等于k的最短子数组
- 染色法判定二分图
- Matlab读取GNSS 观测值o文件代码示例
- Wechat applet development experience
猜你喜欢

Edit distance (multi-source BFS)

MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景

Fairygui gain buff value change display

Record: the solution of MySQL denial of access when CMD starts for the first time

一文搞定 UDP 和 TCP 高频面试题!

Excel导入,导出功能实现
![[算法] 劍指offer2 golang 面試題2:二進制加法](/img/c2/6f6c3bd4d70252ba73addad6a3a9c1.png)
[算法] 劍指offer2 golang 面試題2:二進制加法

面试必备:聊聊分布式锁的多种实现!
![[算法] 剑指offer2 golang 面试题3:前n个数字二进制形式中1的个数](/img/64/0f352232359c7d44f12b20a64c7bb4.png)
[算法] 剑指offer2 golang 面试题3:前n个数字二进制形式中1的个数

rtklib单点定位spp使用抗差估计遇到的问题及解决
随机推荐
MySQL shutdown is slow
[Chongqing Guangdong education] reference materials for regional analysis and planning of Pingdingshan University
Containers and Devops: container based Devops delivery pipeline
Wechat applet development experience
How do architects draw system architecture blueprints?
【rtklib】在rtk下使用抗差自适应卡尔曼滤波初步实践
MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景
Mysql database index
[算法] 剑指offer2 golang 面试题2:二进制加法
面试必备:聊聊分布式锁的多种实现!
Error: symbol not found
Itext 7 生成PDF总结
【干货】提升RTK模糊度固定率的建议之周跳探测
Agile development helps me
MySQL backup -- common errors in xtrabackup backup
XV Function definition and call
GPS高程拟合抗差中误差的求取代码实现
How to ensure data consistency between MySQL and redis?
Mixed use of fairygui button dynamics
[algorithme] swordfinger offer2 golang question d'entrevue 2: addition binaire