C语言学习笔记(新手向)

本篇主要讲 

1.c语言知识大纲

2.学习过程遇到的问题和思考

一.数据类型

这里写了人生第一个c语言程序hello world

#include 
 
int main()
{
    printf("Hello, World");
    return(0);
}

hello world hello c语言!

额外没什么好讲的,熟记每种数据需要对应的符号即可

二.变量,常量

数据有两种表现形式:常量和变量

如图,常量分为:整形常量,实型常量,字符常量

变量

  • 变量是用来存储数据的容器,可以在程序执行过程中被赋予不同的值。
  • 变量的声明通常指定了数据类型,例如整型(int)、浮点型(float)等。

常量

  • 常量与变量类似,但一旦被初始化赋值后,其值就不能被改变。
  • 常量通常用于存储那些在程序执行过程中不会改变的值。

整型常量

  • 整型常量是没有小数部分的数字,例如1110和198。

小数类型

  • 小数类型是包含小数点的数字,例如1.98。

实型常量

  • 实型常量是更广义的术语,包括了小数类型和其他可能的数值类型。

指数类型

  • 指数类型常量使用科学记数法表示,例如3.12e8,表示3.12乘以10的8次方。

字符常量

  • 字符常量是单个字符,通常用单引号包围,例如'a'或'1'。

转义字符

  • 转义字符是特殊的字符序列,用来表示那些无法直接输入的字符,例如换行符(\n)、制表符(\t)等。

     转义字符

    (注意使用反斜线防止误识)

    int main() {
        // 故意不转义双引号
        printf("He said, "Hello, World!"\n");
        
        return 0;
    #include <stdio.h>
    
    int main() {
    
    
    
        // 正确的转义字符使用
    
        printf("He said, \"Hello, World!\"\n");
    
       
    
        return 0;
    
    }

字符串

字符串是由字符组成的序列,可以包含一个或多个字符,通常用双引号包围,例如"Hello, World!"。

三.运算符的使用

#include <stdio.h>

int main()
{
	int a = 21;
	int b = 10;
	int c;

	c = a + b;
	printf("Line 1 a + b= %d\n", c);
	c = a - b;
	printf("Line 2 a - b= %d\n", c);
	c = a * b;
	printf("Line 3 a * b= %d\n", c);
	c = a / b;
	printf("Line 4 a / b= %d\n", c);
	c = a % b;
	printf("Line 5 a % b= %d\n", c);
	c = a++;  // 赋值后再加 1 ,c 为 21,a 为 22
	printf("Line 6 a++的值是 %d\n", c);
	c = a--;  // 赋值后再减 1 ,c 为 22 ,a 为 21
	printf("Line 7 a--的值是 %d\n", c);

四.函数

函数由一个函数头和一个函数主体组成,可分为返回类型,函数名称,函数主体,参数

调用加法函数示例:

#include <stdio.h>

// 定义一个函数,用来计算两个数的和
int addNumbers(int a, int b) {
    return a + b;
}

int main() {
    // 调用函数
    int result = addNumbers(3, 4);
    printf("结果是: %d\n", result);
    return 0;
}

2.学习过程的问题和思考

1.变量必须先声明再使用
函数给出样本函数需要的变量十return
eg:int add(int a,int b)
{return a十b}
add       printf可以打印整形占位符%d 而%d可在后方解释

/n跟在变量之后,可使输出结果换行
 

证明字符串中/0的存在

在看书时书上提到每一个字符串后都跟了个/0
那么该如何证明呢f
先用char数组放一个bit如图
使用监视窗口看我们使用的char数组
可见

#include <stdio.h>

int main() {
    char arr[] = "hello"; // 定义并初始化字符数组

    // 打印数组内容
    for (int i = 0; arr[i] != '\0'; i++) {
        printf("%c", arr[i]);
    }
    printf("\n"); // 打印换行符

    return 0; // 程序正常退出
}


/0似乎就是生物中的终止密码子
申明一个变量之前可以使它初始化 eg    int input=0 
strlen(测字符串长度)

→随机值(未用/0结束字符串)

puts函数


puts自带结尾换行,但不可包括太长
puts函数可以按顺序输出作为实参的字符串,并在结尾换行。也就是说,puts(".")与
printf("\n")的功能基本相同

#include <stdio.h>

int main() {
    char arr[] = "hello"; // 定义并初始化字符数组

    // 打印数组内容
    for (int i = 0; arr[i] != '\0'; i++) {
        printf("%c", arr[i]);
    }
    puts("hello");
    printf("world");
    printf("I am....");

    return 0; 
}

V

FLOAT


用(.float)将整名型运算浮点型运算从而保留小数点后的部分


将表达式a+b括起来的(),是优先运算的标记。如果该表达式是
a+b/2就变成了求a和b/2的和
 


引入add时,add前要加了个int这规定了add函数的返回类型只能是整型
左移右移操作符指的是二进制数向左/右移动一位0
00010→000100
 


typedef一一重命名

#include <stdio.h>

int main() {
  
    typedef unsigned int u_int;
    return 0; 
}

(int此时也可以使用,但u_int表示int)

void test() {
    static int a = 1;
    printf("%d", a);
    a++;
}

int main() {
    int i = 0;
    while (i < 10) {
        test();
        i++;
    }
    return 0;
}

i表示的是运行次数
static可使局部变量退出函数时免于销毁
eg:static int a(a免于销毁)
申明函数:函数名称 函数返回类型 参数类型
eg:extern(可选,引入的外部的)int Add (int,int)


Static即是扩音器又是笼子


 


if/else只能控制一句话


(打印出结果并展示)

添加大括号{}后可控制一段语句
 

return0;是函数结束标志,故printf和return并不执行.

下一期我会讲分支语句,算法,指针

大家一起进步
ps:因为是第一篇博客,做得很粗糙,见谅【抱拳】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值