第一天

C语言特点:

  1. 语言简洁、紧凑。使用方便、灵活。
  2. 运算符丰富。
  3. 数据类型丰富。
  4. 具有结构化的控制语句。
  5. 语法限制不严格,程序设计自由度大。
  6. C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件直接操作。
  7. 用C语言写的程序可移植性好。
  8. 生成目标代码的质量高,程序执行效率高。

    概念

    | %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个字节) |

代码练习

  1. #include<stdio.h>//这是编译预处理指令
  2. int main()//定义主函数,函数类型为整型
  3. {//函数开始的标志
  4. printf("你好,岩哥\n");//输出所指定的一行信息
  5. return 0;//函数执行完毕时返回函数值0
  6. }//函数结束的标志
  1. #include<stdio.h>
  2. int main(){
  3. int a = 123;
  4. int b = 123;
  5. int sum = a+b;
  6. //%d表示,输出一个整型的结果
  7. printf("a+b= %d",sum);
  8. return 0;
  9. }
  1. #include<stdio.h>
  2. int main(){
  3. int a = 5;
  4. int b = 4;
  5. //事先定义好自定义函数
  6. int max(int x,int y);
  7. printf("最大值为:%d",max(a,b));
  8. return 0;
  9. }
  10. int max(int x,int y){
  11. if(x>y){
  12. return x;
  13. }else{
  14. return y;
  15. }
  16. }
  1. 注意:这里的1/3 = 0; 1.0/3 = 0.333……
  2. #include<stdio.h>
  3. int main(){
  4. float a;
  5. float b;
  6. float c;
  7. a = 1.0/3;
  8. c = 33;
  9. b = a*(c-32);
  10. printf("最终计算结果为:%f\na的值为:%f\nc的值为:%f",b,a,c);
  11. return 0;
  12. }

第二天

概念

/t 水平制表符
/ 转义字符

1、常量

  1. 普通常量
  2. const修饰的常量

    1. //const修饰的常变量,类似于java中的final
    2. #include<stdio.h>
    3. int main(){
    4. const int num = 4;
    5. printf("%d\n",num);
    6. num = 8;
    7. printf("%d\n",num);
    8. return 0;
    9. }
  3. define定义的标识符常量

    1. #include<stdio.h>
    2. #define MAX 10
    3. int main(){
    4. printf("%d\n",MAX);
    5. return 0;
    6. }
  4. 枚举常量

    1. #include<stdio.h>
    2. //枚举常量
    3. enum sex{
    4. body,
    5. gril,
    6. secret
    7. };
    8. int main(){
    9. enum sex s = body;
    10. printf("%d\n",s);
    11. return 0;
    12. }

    2.字符串

  5. ‘\0’:是字符串结束的标志,在计算字符串的长度的时候\0是结束标志,不算作字符串内容

  6. 一些字符对应一些ASCII码,如:(a:97)、(\0:0)、(A:65)……
  7. 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; }

  1. <a name="E9Ri5"></a>
  2. #### 3.选择语句
  3. ```c
  4. #include<stdio.h>
  5. int main(){
  6. int input;
  7. printf("你想好好学习吗?(1/0)>:");
  8. scanf("%d",&input);
  9. if(input == 1){
  10. printf("你将走上人生巅峰");
  11. }
  12. if(input == 0){
  13. printf("回家卖红薯吧");
  14. }
  15. return 0;
  16. }

4.循环语句

  1. #include<stdio.h>
  2. int main(){
  3. int a = 0;
  4. while(a<10){
  5. a++;
  6. printf("执行了%d\n",a);
  7. }
  8. printf("执行完了");
  9. return 0;
  10. }

5.循环遍历数组

  1. #include<stdio.h>
  2. int main(){
  3. int i = 0;
  4. int arr[10] ={1,2,3,4,5,6,7,8,9,10};
  5. while(i<10){
  6. printf("数组的内容%d\n",arr[i]);
  7. i++;
  8. }
  9. printf("执行完了");
  10. return 0;
  11. }

6.算术运算符

  1. #include<stdio.h>
  2. int main(){
  3. int a = 7;
  4. int num = 7%3;
  5. printf("取余运算结果为:%d",num);
  6. return 0 ;
  7. }
  1. #include<stdio.h>
  2. int main(){
  3. int b = 1;//整型1站4个字节,32个bit位
  4. //00000000 00000000 00000000 00000001
  5. //将1向左或者右移1位或几位
  6. printf("左位移结果为:%d\n",b<<2);
  7. printf("右位移结果为:%d\n",b>>2);
  8. return 0 ;
  9. }

三目运算符