目录:
1.初识C语言
2.编写第一个C语言程序
3.数据类型
4.变量、常量
5.字符串+转义字符+注释
6.选择语句
7.循环语句
8.函数
9.数组
1.初识C语言
1.1 什么是C语言
C语言是一门通用计算机编程语言,广泛应用于底层开发。
计算机语言的发展:低级--->高级
二进制指令--->汇编指令--->B语言--->C语言(高级语言)
2.编写第一个C语言程序
2.1 使用vs2019
打开----创建新项目---空项目---选择路径、名次进行创建
创建源文件:c++文件 文件名改成***.c .c源文件 .h头文件
.cpp 编译器按照c++的语法编译代码
.c 编译器按照C的语法编译代码
在vs安装路径下有一个文件:
newc++file.cpp的文件
在vs工程中创建新的.c或者.cpp文件的时候,都是拷贝newc++file.cpp这个文件
2.2 第一个程序代码
#include <stdio.h>
int main( )
{
printf("hehe\n");
return 0;
}
C语言代码中一定要有main函数 main函数是程序的入口,有且只有一个
int 整形类型,return 0 0:整数
printf是一个库函数,专门用来打印数据
打招呼 : #include <stdio.h> std-标准 i-input o-output
编译:ctrl+F5
3.数据类型
char 字符数据类型
short 短整型
int 整形
long 长整形
long long 更长的整形
float 单精度浮点型
double 双精度浮点型
int main( )
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
运行结果:
计算机中的单位:
bit - 比特位
byte - 字节
kb mb gb tb pb
计算机能理解二进制 c语言规定 sizeof(long)≥sizeof(int)
类型的使用:
int main()
{
int age = 20;
double price = 66.6;
return 0;
}
打印字符:%d-打印整形 %c-打印字符
%s-打印字符串 %f-打印float类型的数据
%lf-打印double类型的数据
%zu-打印sizeof的返回值
4.变量、常量
生活中有些值是不变的(性别、身份证号码、血型等)
有些值是可变的(年龄、体重等)
不变的值为用常量表示,变的值用变量表示
4.1 定义变量的方法
int b = 20;
int a = 20;
int main()
{
short age = 20; //年龄
int high = 180; //身高
float weight = 88.5; //体重
int a = 10;
return 0;
}
局部变量:{}内部定义的变量 名字不能相同
全局变量:{}外部定义的变量 名字可以相同,局部优先
4.2 变量的使用
写一个代码,计算2个整数的和
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0; //初始化
//输入两个整数
scanf("%d %d", &num1, &num2);
//求和
int sum = num1 + num2;
//输出
printf("sum=%d\n", sum);
return 0;
}
4.3 变量的作用域和生命周期
作用域:哪里可以使用,哪里便是作用域
变量的作用域
局部变量:局部变量的作用域是变量所在的局部范围
全局变量:全局变量的作用域是整个工程
变量生命周期
局部变量:进入作用域生命周期开始,出作用域生命周期结束
全局变量:整个程序的生命周期
4.4 常量
C语言的常量分为以下几种
- 字面常量
- const修饰的常变量
- #define定义的常量
- 枚举常量
1:字面常量
30 3.14 ‘w’ 字符 "abc"字符串
2.const修饰的常变量
const修饰后无法再修改
在C语言中,const修饰的a,本质是变量,但是本质不能被修改,有常量的属性
3.define定义的标识符常量
#define MAX 100
int main()
{
printf("%d\n", MAX);
int a = MAX;
printf("%d\n", a);
return 0;
}
运行结果
4.枚举常量
enum Color
{
RED,
GREEN,
BLUE
};
int main()
{
//三原色
//red green blue
int num = 10;
enum Color c = RED;
return 0;
}
能够一一定义的
5.字符串+转义字符+注释
5.1字符串
char 字符类型
char ch = 'w'
存入字符串: char arr[10] = "abcdef";
字符串的结束标志: \0 转义字符
最后有\0
此时没有\0
运行调试:
arr1:abcdef\0
arr2: abcdef
5.2 转义字符
什么是转义字符:转变原来字符的意思
如 printf("abcn"); 与printf("abc\n");
在“0”前面添加“\”,变成\0为截止
C语言中的转义字符
\? 书写连续多个问号时,防止他们被解析成三字母词
\' 表示字符常量,打印出单引号
\'' 表示一个字符串内部的双引号
\\ 防止后面的被解释为转义序列符
\a 警告字符,蜂鸣
\n 换行
\r 回车
\t 水平制表符(类似于按table的效果)
\ddd 表示1-3个八进制的数字
打印出X
8进制的:130
10进制:88→ASCII值对应X
\xdd 表示2个十六进制的数字
打印出C
数字符:\t \62 \t转义字符
5.3 注释
// 注解解释,对代码的描述
/* */
6.选择语句
int main()
{
int input = 0;
printf("加入比特\n");
printf("是否好好学习(1/0)\n");
scanf("%d" ,& input);
if (input == 1)
{
printf("好offer\n");
}
else
{
printf("卖红薯\n");
}
return 0;
}
调试结果
7.循坏语句
//20000行有效代码积累
int main()
{
int line = 0;
printf("加入比特\n");
line ++;
while (line<20000)
{
printf("写代码%d\n",line );
line++;
}
if (line >= 20000)
{
printf("好offer\n");
}
else
{
printf("继续加油\n");
}
return 0;
}
代码运行
8.函数
求2个任意函数和
int main()
{
int n1 = 0;
int n2 = 0;
//输入
scanf(" %d %d", &n1, &n2);
//求和
int sum = n1 + n2;
//打印
printf("%d\n", sum);
return 0;
}
代码运行
使用函数类:
Add(int x, int y)
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int n1 = 0;
int n2 = 0;
//输入
scanf(" %d %d", &n1, &n2);
//求和
int sum = Add(n1, n2);
//打印
printf("%d\n", sum);
return 0;
}
9.数组
当想存储一组数据的时候,使用数组(一组相同类型元素的集合)
定义:
int main()
{
int arr[10] = {0,1,2,3,4,5,6,7,8,9};
return 0;
}
每一个元素都有一个序号,成为数组的下标,从0开始标,即第一个元素的下标为0
例:找到第八个元素:
代码运行
通过循环的方式将数字全部打印出来:
int main()
{
int arr[10] = {0,1,2,3,4,5,6,7,8,9};
int i = 0;
while (i < 10)
{
printf("%d ", arr[i]);
i = i + 1;
}
return 0;
}
代码运行
10.课后作业
10.1 代码题
1.
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf(" **\n");
printf(" **\n");
printf("************\n");
printf("************\n");
printf(" * *\n");
return 0;
}
代码运行截图