c语言入门
C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。
C语言是一门计算机语言
计算机语言是人和计算机交流的语言
语言的发展:
二进制语言
01100110 0111100001001100000-手册
10001101 -add-助记符 --汇编语言
B语言
C语言、c++ --高级语言
早期的相机(复杂)--》现在的相机(傻瓜式)
C语言 --》早期不是很成熟--》成熟--》流行
标准不一 --》国际标准ANSI-C89、C90
C99、c11并不流行--不少的编译器不支持
写c代码
1创建工程
2添加源文件
text.c
3写代码
c代码 .c-文件源文件 .h-文件头文件
hello,world
#include<stdio.h>
int main()
{
/*在双引号中间输入Hello World*/
printf("Hello World");
return 0;
}
注:在最新的C标准中,main函数前的类型为int而不是void
c语言的具体结构
简单来说,一个C程序就是由若干头文件和函数组成。
数据类型
计算机语言- 写程序-解决生活中问题
必须有能力来描述生活中问题
购物商城 - 上架商品,价格 -15.6元- 小数
C语言 -浮点数
年龄 -50 -整型
Sizeof 单位是字节
计算机中的单位:
Bit - 比特位 -
Byte -字节 = 8bit
Kb - 1024byte
Mb - 1024kb
Gb - 1024mb
Tb - 1024gb
Pb -1024tb
注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值
类型的使用
Char ch = 'a'
生活中的数据:
有些数据不能变:血型,性别,圆周率
可变:工资,年龄,体重
C语言怎么描述:
常量:不能改变的量;
变量:能改变的量
Char ch = 'a'
变量的分类
局部变量
全局变量
作用域和生命周期
常量:
字面常量
Const 修饰的常变量
#define定义的标识符常量
枚举常量
字符串和转义字符
字符串就是一串字符 - 用双引号括起来的一串字符
scanf()函数用于读取键盘的输入。 和p中的input差不多
//void xiao(void);
//int main()
//{
// xiao();xiao();xiao();
// printf("\n");
// xiao();xiao();
// printf("\n");
// xiao();
// return 0;
//}
//
//void xiao()
//{
// printf("Smile!");
//}
以十进制显示数字,使用%d;以八进制显示数字,使用%o; 以十六进制显示数字,使用%x。另外,要显示各进制数的前缀0、0x和0X, 必须分别使用%#o、%#x、%#X
char broiled; /* 声明一个char类型的变量 */
broiled = 'T'; /* 为其赋值,正确 */
broiled = T; /* 错误!此时T是一个变量 */
broiled = "T"; /* 错误!此时"T"是一个字符串 */
----------------------------------------------------------------------------
本章介绍以下内容: 函数:strlen() 关键字:const 字符串 如何创建、存储字符串 如何使用strlen()函数获取字符串的长度 用C预处理器指令#define和ANSIC的const修饰符创建符号常量 本章重点介绍输入和输出。与程序交互和使用字符串可以编写个性化的 程序,本章将详细介绍C语言的两个输入/输出函数:printf()和scanf()。学会 使用这两个函数,不仅能与用户交互,还可根据个人喜好和任务要求格式化 输出。最后,简要介绍一个重要的工具——C预处理器指令,并学习如何定 义、使用符号常量。
之间的交流产生一个返回值(蛋炒饭)
int Add(int x,int y)
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d%d",&num1,&num2);
int sum = Add(num1,num2);
printf("%d\n",sum);
return 0;
}
数组
int main()
{
//数组 - 一组相同类型的元素集合
//10个整型1-10存起来
//数组是用下标来访问的
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
char ch[5] = {'a','b','c'}; //不完全初始化, 剩余的默认为0
int i = 0;
while(i<10)
{
printf("%d",arr[i]);
i++;
}
return 0;
}
操作符
算数操作符 + - * / % %-取余数
移位操作符:>> <<
位操作符 & 按位与 | 按位或 ^按位异或
赋值操作符
单目操作符
A+b ; +有两个操作数 ,双目操作符
单操作符:只有一个操作数
int main()
{
//int a = 9 /2; //4
//float a = 9 / 2; //4.00000
//float a = 9 / 2.0; //4.50000
int a = 9 % 2; //取模 (余数)
printf("%d\n",a);
return 0;
}
左移操作符 - 移动的是二进制位 a - 2 有4个字节 32位 所以用二进制表示就是
00000000 00000000 00000000 00000010
向左移动一位之后
00000000 00000000 00000000 00000100