C语言的基本结构!刚写C语言这几行是必不可少的,先写上
int main(){
return 0;
}
解释:int是类型的意思,main()是主函数=所有代码的起点,使用大括号括起来,等于执行大括号内的内容,大括号里面的内容是,返回值为零!
1 #include
中文名字是导入的意思,每一个函数,都是属于一个头文件中的所以要看使用的函数,导入相应的头文件例如:
第一行代码:#include <stdio.h>
意思是导入<stdio.h>头文件这是一个用于输入和输出的标准头文件!
2 printf();
用于输出与打印
首先,这个函数,属于,输入输出<stdio.h>头文件内的函数!
括号内输入英文双引号,双引号内放入需要输出的内容,即可输出!
例如:
#include <stdio.h>
int main(){
printf("Hello c语言");
return 0;
}
这样即可输出Hello c语言,用处在于举例
###########3 输出转意符###########
一
\" 如果需要输出Hello "c"
可以这样写printf("Hello \"c\"")这样就可以输出Hello "c",注意不要忘了分号
二
如果这个双引号不重要的话,可以使用单引号
' ' 例如输出这个Hello 'c'
可以这样写printf("Hello 'c'")这样写也是可以的
三
\n 分行符号
可以这样写,如果需要输出的是,第一行Hello,第二行c,可以这样操作
printf("Hello\nc")
四
\\ 用于输出一个反斜杠
例如我想输出这个Hello \可以这样写
printf("Hello \\ ")
#############4 变量##############
定义的语法是:
定义的类型 变量名;
这个样子即可定义一个变量,
例如:int my_st;即可声明好,一个变量名
当然还需要赋值!它才算定义好了一个变量
有以下两种方式:
第一种:
定义的类型 变量名;
变量名=赋值;
第二种:
定义的类型 变量名=赋值;
注意点:
如果当不确定赋值的是多少?
可以先用0代替,0是C语言变量中的初始值!
如果想把0替换掉,可以?直接在下一行写变量名,等于你知道的值!
例如可以这样写:
int my_go=0;
my_go=1;
这样就可以把零的赋值改成1了,不是在0上再改,第二行代码重新复制的时候不能在前面有类型!
注意点:
现在如果有目前叫one的变量想要把这个变量的值给two怎么写?
int one=10;
int two;
two=one;
one=0;
然后把one清空就可以
可以写成这样另一种方式自己懂的!
_________&&&&&&变量输出
因为定义的是int整数类型所以使用%d占位符进行输出!
输出整数类型语法:
printf("%d",变量名);
这样即可输出整数类型
所有正常语法
printf("输出类型占位符",变量名);
可以有多个占位符和变量名!
5##############进制#############
十进制是怎么看的?怎么算的?
进制数都是从右往左看的,个,十......
本质例如:
这个十进制数:3259
最后一个是从零次方开始的,相当于,十进制每一位数字从右往左依次是十的零次方开始,到最后一个数字结束,然后,依次相加
为了方便更好的理解:举例:
3*10的三次方+2*10的2次方+5*10的1次方+9*10的0次方=结果还是3259
二次方的本质和十次方是一样的
不过就是乘的数字,十乘的数字是十的几次方,2进制的数字当然也是二的几次方了,其他的都是一样的!
###########C语言的数据类型#########
int整数类型相当于个数
例如饺子的个数用整数类型表示
int整数类型也是有规定的
取值范围:负2147483648到正2147483648
输出这个类型变量的时候,通过%d占位符来输出!就是我前面说的_________&&&&&&变量输出可以发现的出来!(使用这个东西,后方不需要任何括号之类的但最后面的分号是不是必不可少的)
char字符类型只有一个,一共有256种
相当于字符,数字,字母这些东西一共有256种
但是要注意一下和int整数类型定义一样!不过后面变成了单引号!例如:
char was_tc='F';
与这种一样,后面只有一个通过%c占位符来输出!
char类型储存的是,字符对应的整数值
因为计算机只认识0和1,所以在1963年现今通用的字符编码方案ascii所以出生了,这个里面的所有东西,相当于代替了计算机认识的零和一!因为有些东西计算机,不可能存ABC这些吧!所以有了这个把专门的,特定的,不是零和一的东西,转化成了零和一,可以用零和一代替!这个F在ascii标准中为70,不信的话,可以把%c改成%d,看一下对应的数字到底是多少!
6 如果想实际知道,某个类型在平台的长度,
sizeof()
可以用sizeof()后面括号里面放入类型的名字可以得到该类型数据在内存里被分配的字节长度
可以用%zu占位符,打印出来
例如:
printf("%zu\n"sizeof(int));
比如我想知道int类型可以这样写!
########5续写C语言的数据类型########
c语言较高精度浮点类型
分为两种:
1 float单精度浮点型
2 double 双精度浮点型
1
简单来说float单精度浮点型,一般可以精准到六到九位十进制有效数字,就包括了整数部分和小数部分,小数点,后面还可以精准到六到七位!
如果要输出,可以使用%f作为占位符,还可以,在百分号后面,写上(.号)再写位数,可以精确到那一位!
2
简单来说double 双精度浮点型,会比float更精确,除了不会像char特殊其他的能常见的都是一样的!不过想精确到哪一位和float单精度浮点型的,精确一样,不过占位符是%lf,要精的话就和上面这个一样!
C语言条件为正和条件为假都属于布尔值
C语言的bool布尔类型
这个的设计面只有两个真和假!
真可以用true表示也可以是1表示
假可以用false表示也可以是0表示
只有这两种
怎么用?怎么用这个定义变量?
首先需要用<stdbool.h>来做头文件才可以定义变量和常量!
<stdbool.h>是标准布尔头文件
举个例子:
#include <stdbool.h>
int main(){
bool goof=true;
bool good=false;
return 0;
}
7,C语言的运算符
C语言加减乘除等于(+-*/)用%d占位符来表示
例如:
printf("运算结果是%d\n",1+2*3-4);
8 定义常量
常量不像变量一样,可以随意更改,一旦复制,就不能重新赋值,要在值的基础上直接改
语法:
const 数据类型 定义的常量名字=值;
注意一下:定义的常量名字只能是大写
例如:
const int MA=1;
我定义了一个int格式的名字叫做MA的常量值为一
9 math库中的pow函数
pow()
计算圆的面积公式是PI乘以,半径的平方就可以用到这个函数!这个不经常用,看情况再换
10 注释
单行注释:使用//来表示
多行注释:/*开头*/结尾!
11 if条件语句
语法是:
if(条件判断){
条件为真时,要执行的代码内容
}
如果是单个变量,单个变量在条件判断内,,还要左右两侧都加上分号像这样
if(;变量;){
条件为真时,要执行的代码内容
}
关系运算符,判断条件
== 用来比较两边,运算符是否相等
例如;
如果双方相等,则就正确为1
如果双方比较之后不正确为0
关于“%”运算符 % 是求模运算符,它用于计算两个数相除后的余数。例如, 7 % 3 的结果是 1,因为 7 除以 3 得到商 2 余 1。在某些特定的场景或宏定义等情况下,可能会出现 %% 的写法。这通常是为了在预处理器宏定义中使用 % 符号。例如:在宏定义中,我们可能需要使用 % 符号本身,但由于宏替换的规则,直接使用 % 可能会导致宏展开时出现问题。所以,如果我们想在宏中输出一个 % 符号,就需要写成 %% ,例如: #define MODULO(X,Y) ((X)%(Y)) :这是一个普通的求模运算宏定义。 #define PERCENT_CHAR %% :这个宏定义用于在宏展开时得到一个 % 字符。
!= 不等于
>= 大于等于
<= 小于等于
> 大于
< 小于
这些都是11条件判断中的可能经常用到的东西
12 if/else条件判断语句
语法:
if(条件判断){
条件判断为真要执行的代码
}
else{
条件判断为假时要自己的代码
}
13 多个条件判断,可以使用
if/else/if/else语句
语法:
if(条件判断1){
条件判断1为真要执行的代码
}
else if(条件判断2){
条件判断2为真要执行的代码
...可以有多个else/if语言
}
else{
以上条件都不正确要执心的代码
}
说简单一点,按自己的话来说!就是,哪一个条件判断正确执行哪一个的代码!
最后一个else有时候可以省略掉
例如:
#include <stdio.h>
int main() {
float price = 35; // 套餐价格
if (price < 30) {
printf("价格非常实惠,是个不错的选择。\n");
}
else if (price < 100) { // 第二个和第三个条件交换位置
printf("价格偏高,需要谨慎决定。\n");
}
else if (price < 60) {
printf("价格较为合理,可以进一步考虑。\n");
}
else {
printf("价格过高,可能不太适合。\n");
}
return 0;
}
14 多层嵌套语句
语法:
if(条件一){
if(条件二){
语句A;
}
else{
语句B;
}
else{
}
相当于按照个人理解就是如果条件1为真,到条件二判断,如果正确执行语句A如果错误,执行语句B如果条件以判断直接为假,直接执行倒数第二行的else语句代码!
15,switch语句
标准语法:
switch(表达式){
case 常量值1:
匹配到常量值1要执行的语句;
break;
case 常量值2:
匹配到常量值2要执行的语句;
break;
......可继续
default:
匹配时要执行的语句;
}
用于在,匹配到哪个常量值,要执行的语句
表达式可以理解为(变量一个固定的数)而这个数就是匹配到的哪个常量,匹配相同的执行匹配到的语句
例如:
#include <stdio.h>
int main(){
int ws=2;
switch(ws){
case 1:
printf("电梯到了1楼\n");
break;
case 2:
printf("电梯到了2楼\n");
break;
default:
printf("没有找到该楼层\n");
}
}
学过编程这些基础,能看懂
和python的if elif else语句差不多
16 C语言逻辑运算符
与 && 用这个符号表示
或 || 用这个符号表示
非 ! 用这个符号表示
逻辑运算符的判断,只有真(true)和假(false)
运算符的优先级:
() > ! > && > ||
但是括号的优先级是最高的
17 scanf();函数
用于进行输入!
语法:
scanf(格式字符串,变量地址1,...);
相当于%d这些,意思就是变量的类型!
变量地址的前面必须加一个&才能够获取变量的值!
相当于这样写:
scanf(格式字符串,&变量地址1,...);
18 while循环
基础语法:
while(条件表达式){
//条件为真时,要执行的代码
}
//条件判断为假,要执行的代码
例如这个样子:
#include <stdio.h>
int main() {
double price = 2999.9; // 手机价格
int saved_money = 0; // 存下来的钱
while (saved_money < price) {
saved_money = saved_money + 100;
printf("现在攒了%d元了。\n", saved_money);
}
printf("攒了%d元,够钱买手机啦!\n", saved_money);
}
看不懂,白学了,不好解释
19 do while循环
do{
//循环执行的代码;
}while(条件表达式);
//最后条件为假所要执行的代码;
无论怎么样,都会先执行一遍do后面的语句
例如:
#include <stdio.h>
int main() {
double price = 2999.9; // 手机价格
int saved_money = 0; // 存下来的钱
do {
saved_money = saved_money + 100;
printf("现在攒了%d元了。\n", saved_money);
} while (saved_money < price);
printf("攒了%d元,够钱买手机啦!\n", saved_money);
}
看不懂白学了,谢谢!
20 for循环语句
语法:
for(初始化表达式;条件表达式;更新表达式){
...循环执行的代码
}
如果条件表达式为真执行,循环执行的代码!
如果条件表达式为假,退出循环!
基础例子:
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i = i + 1) {
printf("%d\n", i);
}
}
以自己的话来说:
这段代码的意思就是,初始化表达式整数变量等于i然后它的初始值等于一,中间这个相当于条件判断,i的值条件为真执行 printf("%d\n", i);
如果条件为假退出循环,最后一个,在为假之前一直执行!因为i的初始值等于1每一次循环之后加一,直到小于等于十退出循环!
21 break语句和continue语句
break语句作用是跳出循环通常用于提前结束循环,continue语句会跳过本次循环中后面剩下的代码!
两个的举例子:
<1>
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时,退出for循环
}
printf("%d\n", i);
}
return 0;
}
<2>
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // 当 i 等于 5 时,跳过本次循环的剩余部分,直接进入下一次循环
}
printf("%d\n", i);
}
return 0;
}
22 数组
定义数组语法:
数据类型 定义数组名[整数常量];
例如:
自己认同语法
数据类型 定义数组名[ 数组元素包含个数];
float ay[3];
这个样子用于定义一个浮点数名为ay的数组,有3个 数组元素!
直接赋值的语法;
数据类型 定义数组名[整数常量]{元素一,元素二,...};
不用,直接给[整数常量]先不,要给 [整数常量]赋值先,先给无素可以先给值,记完了再写数组!
数组变量在前面没必要加&号!
23 索引
和Python一样,都是从0开始的,从左到右
语法:
数组名[索引值]
修改索引语法;
数组名 [索引值]=值;
24 C语言指针
指针变量是用来储存某个变量的内存地址的
定义指针变量等语法格式:
数据类型* 指针名;
<1>在确认的时候可以这样写
#include <stdio.h>
int main(){
int a=10;
int*a_prt=&i;
}
这个相当于把普通变量定义对应的指针变量,*a_prt如果看不懂,就仔细观察!
指针变量的用处就是在于,指针变量指向一个普通变量!
<2>在不确认值的时候这样写
#include <stdio.h>
int main(){
int*a_prt=NULL
}
null是一个空的指针。相当指向一个,指正变量指向一个空的值,意思就是储存内存!,再不确认的时候可以!使用空指针!
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2401_85233504/article/details/159801168



