c语言 day01
第一季:C语言语法
基本上大学一个学期学的就是C语言语法方面;
第二季:C语言在Linux下的应用
第三季:利用Arduino进行开发
未完待续...
第一季:C语言语法
第一个程序
编译型语言与解释型语言
C语言属于编译型语言,编译型语言还有汇编语言等;
编译过程: C语言 ---> 汇编语言 --->机器语言,最后由CPU执行;
其他高级语言如:Java语言属于解释型语言
解释过程:Java语言 ---> 字节码--->解释器, 最后由CPU执行;
由此可以看出
编译型语言比解释型语言的执行效率高;但是解释型语言凭着中间的“解释器”实现了跨平台的特点;
C语言的灵魂“指针”
后续学习补充...
第一个程序
#include
int main()
{
printf("Hello world!\n");
return 0;
}
执行结果如下图所示:

可以使用Dev-c++、Clion等;
这里简单说明一下自己搭建环境出现的几个问题:
-
Dev-c++,在下载后,第一次编译是无法编译的,这里需要自己这是一个编译器,之后才可以编译代码并运行;(推荐使用)
步骤:
第一步,找到“工具”,然后点击编译选项;

第二步,设置编译器,在小加号中进行添加;

-
Clion第一次使用,需要进行一些插件工具的配置,才能进行代码的编译;
详细教程:浏览下面博客文章
Clion安装Toolchains配置make、C/C++compiler、debugger无法找到_nekoCon的博客-CSDN博客
注:Cygwin GDB 的安装一定选择8.xx的版本吗,为避免后期出现问题;
![]()
打印(printf)
打印就是打印(输出)一个指定内容;使用printf函数;
代码如下:
运行结果:

可以看出是character引起的报错;
更改后的代码:
运行结果:

原因:
C语言一串长字符串想要换行输出需要转义字符行 "\n" ;
\n\的作用是将一个长字符串换行打印;两行属于一段文字;\是起连接作用的;
C语言的转义字符

变量
变量的意义就是确定一个目标并提供存放的空间。变量名即给创建的变量提供一个名字(代号),方便使用;
变量名的命名规则
-
变量名只能是英文字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成;如abc_123;
-
第一个字母必须是字母或者下划线开头;
-
变量名区分大小写; 如:ABC ≠ abc;
-
不能使用关键字命名;
关键字
C语言中一些关键字

声明变量
数据类型 变量名
如 int a; char b;float c; double d;
代码演示
代码如下:
运行结果

%d 指将后面参数作为整型数据打印出来;
%c 指将参数作为字符型数据打印出来;
%f 表示浮点型 ; %9.7f 指一个总位数为9的浮点型数据,.7指精确到7位。
常量和宏定义
常量
常量**用来赋值给定义的变量;

定义符号常量
格式: #define 标识符 常量 ;
代码如下
运行结果

\0 空字符在字符串的作用
编译器在读取一个字符串时,如何判断一个字符串的大小?读取的时候在什么时间结束?
\0 空字符的作用就是解决这个问题。当编译器读取到这个空字符时就表示这一个字符串结束了;

数据类型
数据类型

基本数据类型

整形数据类型大小
short int > int > long int > long long int
查看数据所占字节,代码如下;
运行结果

数据范围
即一个数据类型所能表示的数据大小;
代码如下
编译错误:

运行结果:

问题,数据溢出(overflow);原因,int类型默认是有符号类型数据;改为无符号数据类型即可解决这个问题;
更改为无符号数据类型后代码运行如下图

出现问题,结果不是我们想要的;原因无符号整型变量的转义字符需要有 %u ;
更改后代码
运行结果

常见基本数据类型范围


字符和字符串
字符
了解ASCII字符表
查看字符Z的ASCII码值
#include
int main(){
char a = 'Z';
printf("%c的ASCII码值为%d",a,a);
return 0;
}
运行结果:

注意 unsigned对字符串定义的影响;
字符串
格式
char 变量名 [数量];
变量名[索引号]=字符;
声明字符串
char name[5];
给字符串赋值:
name[0]='z';
name[1]='h';
name[2]='a';
name[3]='n';
name[4]='g';
char name[5]={'z','h','a','n','g'};
代码书写可以分为用数组和字符串直接赋值
#include
int main(){
char name[6]={'z','h','a','n','g','\0'};
char sex[] = "boy";
printf("name=%s \n",name);
printf("sex=%s",sex);
return 0;
}
运行结果:

注:
-
如果利用数组进行字符串赋值,字符串数量太长,[]的字符数量也可以不写;
-
使用字符串进行赋值,最后一定要加上\0,来表示字符串结束;
---未完待续---

浙公网安备 33010602011771号