c语言---知识点总结1

变量:

1.变量的定义

变量类型 变量名;

int score;

2.变量的赋值

score = 100;

score = a;

score = b = 100;

3.变量的输出

int a = 200;

printf("%i", a);

常用格式符:

1> %d\%i 整数(int)

2> %f  小数(float、double)

3> %c  字符(char)

变量使用注意:

1.变量的作用域

从定义变量的那一行代码开始,一直到所在的代码块结束

2.代码块的作用

及时回收不再使用的变量,为了提升性能

交换变量:

a = 10

b = 11

交换之后

a -> 11

b -> 10

1.利用第三方变量(工作,掌握)

int temp = a;

a = b;

b = temp;

2.不利用第三方变量(面试,有印象)

a = b - a;

b = b - a;

a = b + a;

C程序从开发到运行需要哪些步骤?

1> 编写.c源文件

2> 编译.c源文件为.o目标文件

3> 链接.o目标文件为可执行文件

4> 运行可执行文件

拓展名为.c、.o、.out分别是什么文件?在C程序开发的哪个阶段产生的?

1> .c是C语言源文件,在编写代码的时候创建

2> .o是目标文件,在编译成功的时候产生

3> .out是可执行文件,在链接成功的时候产生

变量内存:

1.内存寻址由大到小,优先分配内存地址比较大的字节给变量

2.变量越先定义,内存地址就越大

3.取得变量的地址:&变量名

4.输出地址:%p

5.一个变量一定先进行初始化,才能使用

scanf函数使用:

1.定义一个变量,用来保存用户输入的整数

2.scanf函数只接受变量的地址

3.scanf函数是一个阻塞式的函数,等待用户输入

4.用户输入完毕后,就会将用户输入的值赋值给number变量

5.函数调用完毕

1.输入字符

2.一次性输入多个数值,并且以某些符号隔开

3.如果scanf参数中以空格隔开,实际输入可以以空格、tab、回车作为分隔符

4.scanf中不能写\n

算法运算:

1.取余运算(模运算)

2.%两边都是整数

3.%取余结果的正负性只跟%左边的数值有关

4.自动类型转换(double->int)

int a = 10.8;

强制类型转换(double->int)

int b = (int) 10.5;

printf("%d\n", a);

自动类型提升(int->double)

double c = 10.6 + 6;

5.sizeof函数,sizeof(10) , sizeof 10, sizeof(10.9),sizeof 10.9,sizeof(int),sizeof(char)

6.关系运算

条件成立就返回1,真

条件不成立就返回0,假

7.逻辑与 条件1 && 条件2

逻辑或 条件1 || 条件2

逻辑非 !条件  如果条件成立,就返回0;如果条件不成立,就返回1

8.三目运算符  条件 ? 数值1 : 数值2  条件真,取数值1;条件假,取数值2

9.比较大小时,常量值放左边,变量放右边,这样可以防止写错,尤其是写比较是否等于情况

(写if(a==0),可能会写成if(a=0),这样写错了可能出现警告,而不是错误,

但是若if(0=a),少写了就会提示错误的,应该写成if(0==a)  )

10.注意赋值运算符,不要写成两个=

11.if语句后面不要写;

12.如果要在if后面的语句中定义新的变量,必须用大括号{}

13.if与switch

if (条件)

{

}

switch (数值)

{

case 数值1:

语句1;

break;

case 数值2:

语句2;

break;

default :

语句3;

break;

}

1.break:退出整个switch语句

2.如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止

3.如果要在case后面定义新的变量,必须用大括号{}包住

4.if和switch异同

1> if语句能完成的功能,switch并不一定能完成

int a = 10;

if (a>100)

{

}

2> 在有些情况下,if语句和switch语句可以互换

3> switch能完成的功能,if语句都能完成

scanf注意:

scanf中必须传入变量的地址,而不是直接传入变量的值

scanf中不要包含\n,\n对scanf有特殊含义

注意项:

// 10是常量,不能进行++运算

// 因为10++相当于10 = 10 + 1

//int a = 10++;

// %两侧必须是整数

if和while

if (条件)

{

}

while (条件)

{

循环体

}

运行原理

1.如果一开始条件就不成立,永远不会执行循环体

2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......

break

直接结束整个while循环

continue

结束当前的循环体,进入下一次循环体的执行

1.先确定需要重复执行的操作

2.再确定约束条件

3.最简单的死循环 while(1);

while与do-while

while (条件)

{

}

do {

} while(条件);

while和do-while的区别

1.很多情况下,while和do while可以互换

2.while特点:如果一开始的条件不成立,永远不会执行循环体

do while特点:不管一开始的条件是否成立,至少会执行一次循环体

3.最好使用while

for循环:

for (语句1; 条件; 语句2)

{

循环体

}

语句1:初始化语句

语句2:增量语句(执行完循环体后再执行的语句)

1.for一开始就会执行一次语句1(整个for循环只会执行一次)

2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立

不要随便在for()后面写分号

for (int i=0; i<5; i++);

{

printf("哈哈\n");

}*/

/* 错误:变量a的作用域不明确

如果要在循环体中定义新的变量,必须用大括号{}包住

最简单的利用for循环实现死循环  for(;;);

break和continue:

break:

1.使用场合

1> switch语句:退出整个switch语句

2> 循环结构:退出整个循环语句

* while

* do while

* for

2.注意点

只对最近的循环结构有效

continue:

1.使用场合

循环结构:结束当前这次的循环体,进入下一次循环体

* while

* do while

* for

2.注意点

只对最近的循环结构有效

函数:

1.什么情况下定义函数:添加一个常用的新功能

2.函数的定义格式

返回值类型  函数名(形式参数列表)

{

函数体

}

3.定义函数需要明确的东西

1> 起一个有意义的函数名

2> 确定函数的形参个数

3> 确定函数的返回值

参数注意点

1.形式参数:定义函数时函数名后面中的参数,简称形参

2.实际参数:调用函数式传入的具体数据,简称实参

3.实参个数必须等于形参个数

4.函数体内部不能定义和形参一样的变量

5.如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值

6.一个函数可以没有形参,也可以有无限多个形参

形式参数,简称形参

return的作用:

1> 退出函数

2> 返回一个具体值给函数调用者

返回值注意点

1> void代表没有返回值

2> 如果没有明确说明返回值类型,默认是返回int类型

3> 就算明确声明了返回值类型,也可以不返回任何值

默认情况下,C语言不允许两个函数的名称一样

函数情况注意:

1.默认情况下,不允许有函数的名称一样

2.函数不能嵌套定义

3.函数不能重复定义,但是可以重复声明

4.如果有函数的声明,没有函数的定义

1> 编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义

2> 链接报错,因为链接的时候会检测函数是否定义

include

1> 作用:拷贝右边文件的所有内容到#include所在的位置

2> 自定义的文件用"",系统自带的文件用<>

3> #include <stdio.h>的目的:拷贝printf函数的声明

\n是一个转义字符

\t tab键

\" 一个双引号

printf函数返回的字符串常量的字符数,并不是字数

1个汉字占据3个字符

1.函数的定义放.c文件,函数的声明放.h文件

2.如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件

3..h文件的作用:被别人拷贝。编译链接的时候不需要管.h文件

4.cc xx.o xxx.o 将多个目标文件链接在一起

cc xx.c xxx.c 将多个源文件编译、链接

void表示没有返回值,因此不应该return一个整数  省略return也可用

返回值是int类型,因此return后面应该跟上一个整数 return 0 这个0仅仅是随便写的,具体返回什么值,应该根据业务逻辑

函数不能嵌套定义

不允许有函数同名,除非,它们函数的形参个数和类型不同

部分总结:

一、选择结构

1.if

1> 结构

if (条件) {

} else if (条件2) {

} else if (条件3) {

} else {

}

2> 特点

* 同一时刻,只有一个大括号里面的代码会被执行

2.switch

1> 结构

switch (数值)

{

case 数值1:

break;

case 数值2:

break;

case 数值3:

break;

default:

break;

}

2> 特点

1> 默认情况下,只有一个case后面的代码会被执行

2> 如果一个case后面没有break,而且这个case成立,就会按顺序执行后面所有case中的语句,直到遇到break为止

3> 如果要在case后面定义一个新的变量,必须用大括号{}包住

二、循环结构

1.while

1> 特点:如果一开始条件不成立,永远不会执行循环体

2.do while

1> 特点:不管条件是否成立,至少会执行一次循环体

3.for

4.选择

1> 一般优先使用for循环

2> 然后再考虑while

3> 最后再考虑do while

时间: 2024-10-18 13:49:04

c语言---知识点总结1的相关文章

C语言 知识点

1:多维数组参数 1 2 3 4 5 实参 所匹配的形式参数 数组的数组 char c[8][10]; char(*c)[10]; 数组指针 指针数组 char *c[15]; char **c; 指针的指针 数组指针 char (*c)[64]; char (*c)[64]; 不改变 指针的指针 char **c; char **c; 不改变 你之所以能在main()函数中看到char **argv这样的参数,是因为argv是个指针数组(char *argv[]).这个表达式被编译器改写为指向

[iOS]C语言知识点系列视频整理

C语言知识点系列视频 目录 C语言技术视频-01-变量的定义 C语言技术视频-02-程序分支结构(if...else) C语言技术视频-03-程序分支结构(switch) C语言技术视频-04-程序循环结构(while{}) C语言技术视频-05-程序循环结构(do{}while();) C语言技术视频-06-程序循环结构(for{}) C语言技术视频-07-函数的定义 C语言技术视频-08-结构体的定义 C语言技术视频-09-枚举的定义 C语言技术视频-10-指针变量 C语言技术视频-11-指

C语言-知识点及学习路线

最近进行了为期两周的C语言培训,把几年前学过的C语言又重新学习了一遍,然后根据学习的内容和过程,总结了一下学习路线.这是基本的C语言学习路线,相当于编程语言类的基础,再根据自己究竟是要做单片机开发,还是linux驱动开发,还是WEB.移动的软件开发,还是其他的开发,然后去学习对应的知识,并根据以后要从事的领域去加强对应的C语言相关方面. C语言学习路线(根据我自己的学习过程绘制的): Ps:转载请说明出处.

C语言知识点2

C语言中标识符的命名规则 标识符由字母.数字.下划线组成:规定第一个字符必须为字母或下划线. 标识符定义的变量名.函数名.常量名等最好做到“见名知义”:大小写代表不同含义:不能使用关键字:最好不要与C语言的库函数同名. C语言的数据类型         C语言的数据类型由基本类型和复杂类型构成.其中基本数据类型包括字符型(char).整型(int,short,long).实型(float,double):复杂数据类型包括指针类型.数组.结构体.联合体.         char型占1个字节.sh

进军OC之必备C语言知识点

C语言第一节  数据类型 1). 基本数据类型: int 4, short 2, char 1, long 4/8, float 4 double 8. 2). 常量:整形常量: 0,1,-1: 浮点型常量 :1.2 ,-1.2: 字符型常量:’0’-‘9’对应48-57,’a’-‘z‘对应97-122,’A’-‘Z’对应65-90 字符串常量:“zhaoashen” 3). 变量:变量的定义:数据类型  变量名 = 初值: 命名规范:①.字母,数字,下划线,不能数字开头; ②.不能和系统关键字

C语言知识点总结

在这里对C语言利用思维导图的方式进行总结一下,写的不算太深,主要是能让大家知道复习时应该搞清楚的问题.思维导图后续仍然会补充,如果需要思维导图文件,请发邮件到[email protected] 对于编程的学习,咱们应该多总结,多积累,反复阅读,反复看,影响才会更深,后续会不定时绘制C++的思维导图,敬请期待!

uc os相关的C语言知识点1-函数指针

开始读uc os的代码了,发现很多C语言的东西,之前没搞懂的,慢慢积累. 就象某一数据变量的内存地址可以存储在相应的指针变量中一样,函数的首地址也以存储在某个函数指针变量里的.这样,我就可以通过这个函数指针变量来调用所指向的函数了. 形式1:返回类型(*函数名)(参数表) ,例子如下: #include<stdio.h> void (*funp)(int); //定义一个函数指针,注意函数的返回类型和参数类型和指针的一致,才可以用. void print(int n); //函数申明 int

20171129 C语言知识点梳理

**C语言程序的基本结构**```c#include <stdio.h>           // #include 预处理指令 void main(){ printf("Hello World!\n");}```- 预处理器指令非必须,若有,放在程序开始处- 以.h结尾的文件是头文件- stadio.h文件包含有关输入输出语句的函数- main()函数是C语言程序处理的起点- main()函数可以返回一个值,也可以不返回.没有返回值时,前面关键字时viod- printf

C语言知识点(4)

一.while.    dowhile. 1.while while (表达式) { 语句: - 语句: } 2.while do { printf("%d/n,I);-}while (i<=10);return 0;} 二. 1.分清while 与do while 的相同点和不同点. 2.熟记每条语句的含义及作用. 3.最尝试,有想法就实施,要会提问,提有意义的问题. 4.细致认真,每条语句用心打,注意标点和字符.

STM32——C语言知识点:指针、结构体

1 /* 2 ============================================================================ 3 Name : Cyuyanfuxi.c 4 Author : 5 Version : 6 Copyright : Your copyright notice 7 Description : Hello World in C, Ansi-style 8 ======================================