目录
前言:
在了解了安装后,就要开始了解一些基本知识
比如printf函数
scanf scanf是C语言中用于从标准输入中读取数据的函数(从键盘输入值)(在Visual Studio2013 2019 上使用这个函数会报错 请务必将define _CRT_SECURE_NO_WARNNING
这个写在第一行 在#include<>上面 )
int a, b;
printf("Enter two integers: ");
scanf("%d %d", &a, &b);
输入两个数一个在a里 一个在b里
//注释符
/*
这是一个多行注释,
可以放很多行文字。
*/
int a = 1; // 这是一行单行注释
\ 取消符号特殊含义、
\n换行
1.一般格式(第一节)
在C语言中,通常将程序的声明和定义分离为两个文件来进行管理:头文件和源文件,其中头文件通常使用“.h”作为后缀名,源文件则使用“.c”作为后缀名。
头文件主要用于声明变量、函数和结构等类型的定义 。 头文件(header file)
源文件则包含了头文件中声明的各种函数、变量及其详细实现。 源文件(source file)
在C语言中,int main()
函数是一个程序的主函数,是程序执行入口点,也是每个可执行程序都必须含有的一个函数。
在程序运行时,操作系统会首先执行main()
函数中的代码。main()
函数用来处理程序中的一些初始化工作,比如声明变量,初始化数据,打开文件等等。然后,它通常要调用其它的函数或子程序来完成具体的任务。最后,通过return
语句指定函数返回值为0(表示程序运行成功)(上面都是官方的)
#include <stdio.h>
int main() {
xxxxxxxxxx;
return 0;
}
基本框架
#include <stdio.h>
int main() {
return 0;
}
int为函数的返回类型 main叫函数名 {}里的都叫函数体 (主函数是固定的所以对于其他的才有左边的定义比如; int sum(){}(定义函数)
int main 这个是主函数 一个工程里只会有一个(有俩就会报错)
\n 换行
2.数据类型(第一节)
计算机服务人类,用来解决各种实际问题。
所以需要表达生活中的各种数据一下列出比较常用的几个类型:
int 整数 1 4 2
char 字符串 "cahrr" "sum" "bei1"
long 长整数 可以放更大或更小的数(物理意思)
float 单精度浮点数 2.4 -2.7
double 双精度浮点数 精度更高的浮点数(物理意思)
浮点数的字面意思就是小数点可以浮动,有点抽象 789 7.89 78.9 0.789这样就是会浮动。
3.计算机存储的大小(第一节)
首先计算机只认识二进制 二进制:00001010 一个0或者一个1代表一个bit(比特)
八个bit代表一个字节 (byte)
那么int a; 的a 有多少大小呢?以下sizeof函数判断数据类型占内内存的大小。
#include<stdio.h>
int main()
{
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
}
1
4
4
4
8
%d
是 C 语言和其他一些编程语言中的占位符(格式说明符)之一,用于格式化输出整数类型(int)的变量或常量。(官方)
(当然14448这几个数是手打的)
8bit=1byte
1024byte=1kb 1024kb=1mb
1024mb=1gb 1024gb=1tb 1024tb=1pb
二的十次方就是1024, 二的三次方就是8。1024/8就是2^10/2^3=128=2^7 指数相减 10-7=3
4.变量和常量(第一节)
int a=10; 的a 就是一个变量,你下次还可以给他赋上别的一个值
后面跟上int a=20; 或者 a= a+10;
全局变量和局部变量
全局变量:(官方)
全局变量是定义在函数外部的变量,它可以被程序中的任何函数访问和使用。在 C 语言中,全局变量通常定义在 main 函数之外,在所有函数之前。全局变量的生命周期与程序的运行期相同,即从程序开始执行到程序结束都存在。这意味着,如果在一个函数中对全局变量进行了修改,在其他函数调用时这个变量的值会保持已经被修改后的状态。另外,在默认情况下,全局变量的初始值为 0。如果要给全局变量指定一个初始值,则需要初始化。
全局变量是写在int main()上面的,第一行的不要动(#include<stdio.h> 这个不能动)。
不声明的话默认是0 也可以写成int a, b; 看个人习惯。
局部变量:(官方)
它被定义在一个函数或代码块内,只能在该函数或代码块内部使用,并且其作用域仅限于该函数或代码块。一旦这个函数或代码块执行完毕,该变量就会被销毁,占用的内存空间也会被释放。
局部变量在包含它的第一个大括号里生效和被使用。如图a 和b就是被两个黄色括号包含。
常量
1. 字面常量 3; 5; 这样的数字不会变。(意义不大)
2.用#define 定义常量
#define max=10000 跟全局变量写在一起或者写在主函数的上面。
#define:是C语言中的一个预处理指令,用于定义预处理宏。它可以将一个标识符定义为一个常量或一个字符串。
#define PI 3.14 // 定义Pi为一个浮点型常量
#define sa "Hello" // 定义sa为一个字符串常量
3.const:是C语言中的一个关键字,用于定义常量变量,被const修饰的变量不能被修改。
const int a = 1; // 定义一个整型常量a,其值不能被修改
注意被conet修饰后,a的本质没有变只是不能再被修改
整型常量 :整数常量 实型常量:浮点常量 字符常量 一个单个字符 (意义不大)
4.枚举常量(不做展开)
5.定义函数(第一节)
以下是一个简单的函数定义,该函数接收两个整型参数。(也写在主函数上面)(例子里写在下面,写上面比较规范)
add 这个可以改成你喜欢的。
如果你只想求一个变量的值可以写在renturn 0 ; 的0 这个地方
可以写return x+y; return 2; return a;
#include <stdio.h>
int add(int a, int b); // 函数声明
int main() {
int x = 1, y = 2;
int result = add(x, y);
printf("The result is: %d\n", result);
return 0;
}
int add(int a, int b) { // 函数定义
int sum;
sum = a + b;
return sum;
}
6.运算符号(第一节)
-
算术运算符:用于执行基本的数学计算,包括加、减、乘、除和取余操作。通常使用“+”、“-”、“*”、“/”和“%”表示。
-
关系运算符:用于比较两个值之间的关系,包括等于、不等于、大于、小于、大于等于和小于等于操作。通常使用“==”、“!=”、“>”、“<”、“>=”和“<=”表示。
-
逻辑运算符:用于对表达式中的布尔值进行操作,包括与、或和非操作。通常使用“&&”、“||”和“!”表示。
-
赋值运算符:用于将某个值赋给变量,通常使用“=”、“+=”、“-=”、“*=”、“/=”、“%=”等表示。
-
自增自减运算符:用于将变量的值加1或减1,通常使用“++”和“--”表示。
-
位运算符:用于处理二进制数据中的单个位,包括按位与、按位或和按位异或等操作。通常使用“&”、“|”、“^”等表示。
-
条件运算符:用于根据条件选择不同的值。通常使用“?:”表示,格式为“条件?值1:值2”。
-
指针运算符:用于对指针类型的变量进行操作,包括取地址、解引用和指针运算等操作。通常使用“&”、“*”、“->”等表示。
当然前期学习不用了解这么多,简单了解一下几个就差不多了
&&表示逻辑与运算符,当且仅当两个表达式都为真(非0)时,结果为真;否则结果为假(0)。
|表示逻辑或运算符,当两个表达式中有至少一个为真(非0)时,结果为真;只有两个表达式都为假(0)时,结果为假。
int a = 1;
int b = 0;
if (a || b) {
printf("a和b中至少有一个为真\n");
} else {
printf("a和b都为假\n");
}
输出至少一个为真
!表示逻辑非运算符,作用是取反表达式的真假,即如果表达式为真(非0),则结果为假(0);如果表达式为假(0),则结果为真(非0)。
= 代表赋值
== 代表比较 错就是fales, 对就是true
(整数 / 整数 ) 的数也是整数
(整数 \ 整数 ) 的数也是整数
#include <stdio.h>
int main()
{
int a = 7;
int b = 2;
printf("%d\n", a / b);
float c = 7;
float d = 2;
printf("%f\n", c / d);
return 0;
}
第一个答案就是 3 因为输出只能是整数所以是3
第二个答案就是 3.500000 后面有好几个0
++i 的意思就是先增加一再赋给i
i++ 的意思是先赋值再加上一 (毕竟i在前面嘛)
#include <stdio.h>
int main() {
int i = 1;
while (i < 100)
{
i++;
if (1 == i%2)
{
continue;
}
printf("%d ", i);
}
return 0;
}
补充说明:(第一讲后面是不是还有第二讲,有道理)
本人刚刚学习,如有错误请及时私信更改。(不要忘记关注!!!!这对我很重要)(威胁.jpg)
更改在以下下划线进行补充说明。