第一天
C语言特点:
- 语言简洁、紧凑。使用方便、灵活。
- 运算符丰富。
- 数据类型丰富。
- 具有结构化的控制语句。
- 语法限制不严格,程序设计自由度大。
- C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件直接操作。
- 用C语言写的程序可移植性好。
- 生成目标代码的质量高,程序执行效率高。
概念
| %d | 打印整型十进制格式的数据 | | —- | —- | | %f | 打印浮点型格式的数据(打印小数) | | %c | 打印字符格式的数据 | | %p | 以地址的形式进行打印 | | %x | 打印16进制数字 | | /n | 换行 | | 库函数 | C语言提供给我们使用的函数,使用#include来引入 | | main()函数 | 程序的入口,有且只有一个 | | char | ‘A’,字符类型; | | 数据类型 | 用于向计算机内存中申请一片存储空间 | | 变量 | 局部变量(代码块内的变量),全局变量(定义在代码块外的变量);局部变量和全局变量不要相同,若相同,则和局部变量优先。 | | 计算机中的单位 | bit(比特位)byte(字节)kb mb gb tb pb | | bit(比特位) | 计算机中最小的单位,用于存放二进制。记录计算机的通电状态 | | byte(字节) | 1byte = 8bit | | kb | 1kb = 1024byte | | 输入函数scanf() | scanf(“%d%d”,&numb1,&numb2)//将输入的链各个数值放入numb1和numb2中; | | 输出函数printf() | printf(“%d%d”,numb1,numb2)//将numb1和numb2的值输出到控制台 | | extern | 声明外部变量 | | 数据类型 | 整型、浮点型、void型、enum枚举、指针类型、数组类型、结构体类型、共用体类型、函数类型、 | | 基本整型int | (开辟4个字节 232-1) | | 短整型short int | (开辟2个字节,2^16^ ) | | 长整型 long int | (开辟4/8个字节) | | 字符型 char | (开辟1字节) | | 单精度浮点型 float | (开辟4个字节) | | 双精度浮点型 double | (开辟8个字节) |
代码练习
#include<stdio.h>//这是编译预处理指令
int main()//定义主函数,函数类型为整型
{//函数开始的标志
printf("你好,岩哥\n");//输出所指定的一行信息
return 0;//函数执行完毕时返回函数值0
}//函数结束的标志
#include<stdio.h>
int main(){
int a = 123;
int b = 123;
int sum = a+b;
//%d表示,输出一个整型的结果
printf("a+b= %d",sum);
return 0;
}
#include<stdio.h>
int main(){
int a = 5;
int b = 4;
//事先定义好自定义函数
int max(int x,int y);
printf("最大值为:%d",max(a,b));
return 0;
}
int max(int x,int y){
if(x>y){
return x;
}else{
return y;
}
}
注意:这里的1/3 = 0; 1.0/3 = 0.333……
#include<stdio.h>
int main(){
float a;
float b;
float c;
a = 1.0/3;
c = 33;
b = a*(c-32);
printf("最终计算结果为:%f\na的值为:%f\nc的值为:%f",b,a,c);
return 0;
}
第二天
概念
/t | 水平制表符 |
---|---|
/ | 转义字符 |
1、常量
- 普通常量
const修饰的常量
//const修饰的常变量,类似于java中的final
#include<stdio.h>
int main(){
const int num = 4;
printf("%d\n",num);
num = 8;
printf("%d\n",num);
return 0;
}
define定义的标识符常量
#include<stdio.h>
#define MAX 10
int main(){
printf("%d\n",MAX);
return 0;
}
枚举常量
#include<stdio.h>
//枚举常量
enum sex{
body,
gril,
secret
};
int main(){
enum sex s = body;
printf("%d\n",s);
return 0;
}
2.字符串
‘\0’:是字符串结束的标志,在计算字符串的长度的时候\0是结束标志,不算作字符串内容
- 一些字符对应一些ASCII码,如:(a:97)、(\0:0)、(A:65)……
- strlen()函数:用来计算字符串长度的函数 ```c
include
//使用srtlen函数需要引入字符串头文件
include
int main(){ char arr1[] = “abc”; printf(“arr1 = %d\n”,strlen(arr1));//输出3 char arr2[] ={‘a’,’b’,’c’}; printf(“arr2 = %d\n”,strlen(arr2));//输出随机值,因为没有\0 return 0; }
<a name="E9Ri5"></a>
#### 3.选择语句
```c
#include<stdio.h>
int main(){
int input;
printf("你想好好学习吗?(1/0)>:");
scanf("%d",&input);
if(input == 1){
printf("你将走上人生巅峰");
}
if(input == 0){
printf("回家卖红薯吧");
}
return 0;
}
4.循环语句
#include<stdio.h>
int main(){
int a = 0;
while(a<10){
a++;
printf("执行了%d\n",a);
}
printf("执行完了");
return 0;
}
5.循环遍历数组
#include<stdio.h>
int main(){
int i = 0;
int arr[10] ={1,2,3,4,5,6,7,8,9,10};
while(i<10){
printf("数组的内容%d\n",arr[i]);
i++;
}
printf("执行完了");
return 0;
}
6.算术运算符
#include<stdio.h>
int main(){
int a = 7;
int num = 7%3;
printf("取余运算结果为:%d",num);
return 0 ;
}
#include<stdio.h>
int main(){
int b = 1;//整型1站4个字节,32个bit位
//00000000 00000000 00000000 00000001
//将1向左或者右移1位或几位
printf("左位移结果为:%d\n",b<<2);
printf("右位移结果为:%d\n",b>>2);
return 0 ;
}
三目运算符