首页 > 其他分享 >C语言最重要的知识点复习资料

C语言最重要的知识点复习资料

时间:2024-10-10 21:21:22浏览次数:3  
标签:知识点 函数 int 复习资料 C语言 运算符 地址 表达式 运算

总体上必须清楚的:

 1)结构化程序的三种基本结构: 顺序结构 , 循环结构(三种循环语句), 选择结构(if 和switch)

 2)读程序从main()开始, 按从上往下顺序(main函数是程序的入口也是程序的终点,总体顺序结构,遇到循环做循环,遇到选择做选择,程序的其他函数不管其位置是在main函数的前面还是后面,都是在main函数过调用来实现其功能的)。

 3)计算机的数据在电脑中保存是以二进制(1和0)的形式.,数据存放的位置是其地址.

 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位.

5)一定要掌握二进制与十进制的相互转换的方法以与二进制与八进制、十六进制的转换方法。

概念常考到的:

  • 编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
  • 每个C语言程序中main函数是有且只有一个,但不是每一个c文件都有main函数。
  • 每一个C语言的文件或函数都可以单独编译,但只有main函数的才可以执行
  • 函数不能嵌套定义。
  • 算法可以没有输入,但一定要有输出。
  • break可用于循环结构和switch语句,但continue只用于循环结构中。
  • 逗号运算符的级别最低。
  • 语句分为表达式语句、空语句、复合语句。分号是语句完毕的标志,没有分号就肯定不能构成语句;表达式语句就是任意一个合法的表达式末尾加上分号构成的;空语句就只有一个分号前面什么都没有,表示什么也没有操作,通常很少使用;复合语句是用一对花括号括起来的若干条语句,在语法上等同于一条语句。
  • 使用typedef只是说明了一个新的类型名称,而不是定义了一个新的类型。
  • 程序中的注释语句要能读懂并会正确使用注释符号来进行注释。注释的两种方式:单行注释和多行注释。

第一章

1)标识符知识考查:

合法的标识符是由字母、数字、下划线组成,若含有其它符号均不能构成合法的标识符。

首字符必须为字母或下划线,不允许是数字。

关键字不能作为用户标识符。但main  define  scanf  printf 都不是关键字。

标识符字母大小写严格区分。例如:if和If是完全不相干的两个标识符,前者是关键字不能作为用户标识符,但后者就可以作为用户标识符,因为If中的第一个字母大写了,不是关键字。

2)实型数据的合法形式:

小数形式要注意:1.、1.0、0.1、.1均是合法的实型数表示形式。

指数形式:2.333e-1 就是合法的,其值为2.333×10-1。

考试口诀:e前e后必有数,e后必为整数(可以为正或为负)。.

3)字符数据的合法形式::

字符常量的合法表示形式单引号一个字符, '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个完毕符号)。

记住这几个常见字符的ASCII数值:'0' 的48,'a' 的97,'A'的65。

一般考试表示单个字符常量错误的形式:'65'    "1" a

字符是可以进行算术运算的,记住: '0'-0=48    '7'-'0'=7

大写字母和小写字母转换的方法: 'A'+32='a'  对应大小写字母差值32。(记住大写不大,小写不小)

4)有关字节长与其计算的问题:

  考试时候一般会说,在16位编译系统,或者是32位系统。这里主要是对于基本整型即int类型区别较大:在16位系统中是占两个字节(与短整型short相同), 32为系统中int占4个字节(与长整形long相同)。其他各个类型均不考虑其差别,字符型1字节、短整型2字节、长整形4字节、单精度4字节、双精度8字节。

5)转义字符的考查:

在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。

在程序中 int a = 06d, 是一个八进制的形式。

在转义字符中,’\x6d’ 才是合法的十六进制表示形式,0不能写,并且x是小写。

                 ‘\141’是合法的八进制表示形式, 0是不能写的。

‘\108’是非法的,因为不可以出现8。

6)算术运算符号的优先级别:(见附录部分)

要求记住常见算术运算符的优先级和结合性。理解这些例子:1+1.5、1.5+3.5、1.5-1.5、2-2、1/2、3/2、1.0/2、1/2.0、3%5、5%3的值分别为2.5、5.0、0.0、0、0、1、0.5、0.5、3、2。(注意其中的5.0和0.0,不是5和0)。而以下是表达式是错误的:1.5%3、6.0%3、6%2.0。

7)不同类型数据间的转换:

一般由低字节向高字节转换可以由系统自动完成,我们称之为自动类型转换,但由高字节像低字节转换需要强制类型转换。由整型到实型可以自动完成,而要把实型转换成整型就需要强制转换类型,如将实型数据a强制转换成基本整型,我们要这样(int)a(注意类型上一定有括号的)。

注意(int)(a+b)和(int)a+b 的区别。前是把a+b转型,后是把a转型再加b。(int)0.99的值为0

字符型和一定围的整型数是可以相互通用,我们可以用整型数来直接表示字符型常量

8)表达式的考查:

是表达式就一定有数值。

赋值表达式:赋值号在左边只能是变量,不能是常量也不能是其他表达式,注意运算符与“==”的区别。

赋值表达式的值是左边变量被赋的值,a=b=5该表达式为5

记住:= 、+=、 -=、 *= 、/= 、%= 、&=、 ^= 、|=、 <<=、 >>= 、全为赋值运算符

自加、自减运算符也是赋值运算符,但运算符在前和在后时,其表达式的值是不同的:如当a=5时,++a值为6,而 a++的值为5。

考试口诀:++在前先加后用,++在后先用后加。

逗号表达式:即用逗号隔开的若干个表达式,执行时按从左往右依次执行,但取最后一个表达式的值作为整个逗号表达式的值。注意逗号运算符的优先级别最低。

例如:(2,3,4)的表达式的数值就是4。若a,b初始值分别为6、7,表达式(a=3,b++,a++)的值为3。

9)位运算的考查:理解符号&、|、^的含义并会计算

处理方法:先把十进制变成二进制进行按位运算,再将结果变成十进制。

例1: char a = 6, b;

b = a<<2;  这种题目的计算是先要把a的十进制6化成二进制,再做位运算。

例2: 一定要记住,异或的位运算符号。0 异或 1得到1。

                                      0 异或 0得到0。两个女的生不出来。

  1 异或 1得到0。两个男的生不出来。

考试记忆方法:一男(1)一女(0)才可以生个小孩(1)。

例3: 在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。

10)整型数据:

三种合法的整型形式:十进制、十六进制(0x开头,除0~9外还有a、b、c、d、e、f六个数字符)、八进制(0开头,没有8、9两个数字符)

11)%符号两边要求必须是整数。

12) 三种取整丢小数的情况:

       1、int a =1.6;2、(int)a;  3、1/2; 3/2;    

13)字符型和整数是近亲:

char a = 65 ;

            printf(“%c”, a);  得到的输出结果:a

printf(“%d”, a); 得到的输出结果:65

第二章

1)printf函数的格式考查:

     %d对应整型;%c对应字符;%f对应单精度等等;%ld对应 long int。上机手册上面相关的练习一定要搞懂。

2)scanf函数的格式考察:

注意该函数的第二个部分是&a这样的地址,或者表示地址的指针型数据;

   scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据。

3)putchar ,getchar 函数的考查:

   char  a = getchar() 是没有参数的,从键盘得到你输入的一个字符给变量a。

   putchar(‘y’)把字符y输出到屏幕中。

4)如何实现两个变量x ,y中数值的互换(务必要求搞懂)

不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。

5)如何实现保留三位小数,第四位四舍五入的程序,(务必理解)

   (int)(a*1000+0.5)/1000.0 。这个有推广的意义,注意 x = (int)x 这样是把小数部分去掉。

第三章

特别要注意:c语言中是用0表示逻辑真的,0表示逻辑假的。

1)关系表达式:

表达式的数值只能为1(表示为真),或0(表示假)

当关系的表达是为真的时候得到1。如 9>8这个是真的,所以表达式的数值就是1;。

2)逻辑表达式:

其值只能为1(表示为真),或0(表示假)

  1. 共有&&   ||   !三种逻辑运算符号。
  2. 优先级!>&&>||  。
  3. 注意短路现象考试最常考到。
  4. 要表示 x 在a,b之间,C语言中用(0<x)&&(x<10)表示。0<x<10C语言中是错误的
  5. 3)if 语句

   else 是与最接近的if且没有else的相配对的。

4)条件表达式:

 表达式1 ?表达式2 :表达式3

 注意是当0时候是表达式2的数值,当0是就是表达式2的数值。

考试口诀:真前假后。

5)switch语句:

a) 一定要注意有break 和没有break的差别,认真研读教材上的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swiche语句。

注意如果由嵌套的swiche结构,break是跳出他所在的那层swiche结构,而不是所有的。

b) continue不能用于switch语句中,只有break可以。

c) switch(x)   x:是整型常量,字符型常量,枚举型数据。

{case 1: ….     不可以是变量。

case 2: ….

}

第四章

1)三种循环结构:

   a)for()     while()     do- while();三种。

   b)for循环当中必须是两个分号,千万不要忘记。

   c)写程序的时候一定要注意,循环一定要有完毕的条件,否则成了死循环。

   d) do-while();循环的最后一个while();的分号一定不能够丢。(当心上机改错),do-while循环是至少执行一次循环。

2) break 和  continue的差别

记忆方法:

break:是打破的意思,(破了整个循环)所以看见break就退出整个一层循环。

continue:是继续的意思,(继续循环运算),但是要完毕本次循环,就是循环体剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。

3)嵌套循环

就是循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,记住一般两层循环是处理二维数组的。

4) while((c=getchar())!=’\n’)和 while(c=getchar() !=’\n’)的差别

先看a = 3 != 2  和(a=3)!=2 的区别:

(!=号的级别高于=号所以第一个先计算 3=2第一个a的数值是得到的1;第二个a的数值是3。

考试注意点:括号在这里的重要性。

第五章

函数:是具有一定功能的一个程序块;是C语言的基本组成单位。

要求掌握函数定义方法,有关函数类型和返回值的相关知识。

要会调用函数,并能处理函数嵌套、递归调用的相关问题。

1) 函数的参数,返回数值(示意图):

2)一定要注意参数之间的传递

实参和形参之间传数值,和传地址的差别。(考试的重点)

传变量数值的话,形参的变化不会改变实参的变化。

传变量地址的话,形参的变化就会有可能改变实参的变化。

3)函数声明的考查:

一定要有:函数的返回类型,函数名,函数的参数类型。

不一定要有:形参的名称。

4)要求掌握的库函数:

sqrt()  fabs()  pow()  sin()  其中pow(a,b)是重点。23是由pow(2,3)表示的。

第六章

指针变量的本质是用来放地址,而一般的变量是放数值的。

这里*是难点,注意星号在定义指针时,和后面运算时的不同含义,前者是说明符,后者是间接运算符(即求地址运算符&的逆运算)。

int  *p 中   *p和p的差别:

*p可以当做变量来用;*的作用是取后面地址p里面的数值是

 p是当作地址来使用。

*p++ 和(*p)++的之间的差别:改错题目中很重要

         *p++是地址会变化。

(*p)++ 是数值会要变化。

三名主义:(考试的重点)

数组名:表示第一个元素的地址。数组名是地址常量,不可以自加更不可以另外赋值。(考了很多次)

函数名:表示该函数的入口地址。

字符串常量名:表示第一个字符的地址。

考试重要的话语:

指针变量是存放地址的。并且指向哪个就等价哪个,所有出现*p的地方都可以用它等价的代替。

例如:int a=2,*p=&a;

*p=*p+2;

(由于*p指向变量a,所以指向哪个就等价哪个,这里*p等价于a,可以相当于是a=a+2) 

指针变量两种初始化

方法一:int a=2,*p=&a;(定义的同时初始化)

方法二:int a=2,*p;  (定义之后初始化)

p=&a;

第七章

1)一维数组的重要概念:

掌握一维数组和二维数组的定义与其初始化、数组元素的引用

对a[10]这个数组的讨论。

1、a表示数组名,是第一个元素的地址,也就是元素a[0]的地址。

2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。

3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。 

对a[3][3]的讨论。

1、a表示数组名,是第一个元素的地址,也就是元素a[0]的地址。

2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。

3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。

4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1,a[1]+1,a[2]+1都是跳一列。

5、注意a和a[0] 、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。

2) 二维数组做题目的技巧:

如果有a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。

步骤一:把他们写成:      第一列 第二列 第三列  

a[0]à 1   2   3   ->第一行

a[1]à   4   5   6—>第二行

a[2]à   7   8   9->第三行

步骤二:这样作题目就很简单:    

*(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,所以是1。

*(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a[1][2]元素,所以是6。

一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。

3) 数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写

 int a[]={1,2} 合法。   int a[][4]={2,3,4}合法。但int a[4][]={2,3,4}非法。

4) 二维数组中的行指针

 int a[1][2];

其中a现在就是一个行指针,a+1跳一行数组元素。搭配(*)p[2]指针

     a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组元素。搭配*p[2]指针数组使用

5) 还有记住脱衣服法则:

   a[2]  变成   *(a+2)   a[2][3]变成 *(a+2)[3]再可以变成   *(*(a+2)+3)

这个思想很重要!

其它考试重点

文件的复习方法:

把上课时候讲的文件这一章的题目要做一遍,一定要做,基本上考试的都会在练习当中。

1)字符串的 strlen() 和 strcat()和strcmp()和strcpy()的使用方法一定要记住。他们的参数都是地址。其中strcat()和strcmp()有两个参数。

2)strlen 和 sizeof的区别也是考试的重点;

3)#define  f(x)(x*x)和  define   f(x) x*x 之间的差别。一定要好好的注意这写容易错的地方,替换的时候有括号和没有括号是很大的区别。

4)int  *p;

p = (int *)malloc(2);

p = (int *)malloc(sizeof(int));以上两个等价

当心填空题目,malloc的返回类型是 void *

5)还有main(int argc,char **argv) {}  这种含有参数的题目,是很呆板的题目。第一个参数是表示输入的字符串的数目,第二个参数是指向存放的字符串。

6)函数的递归调用一定要记得有完毕的条件,并且要会算简单的递归题目。要会作递归的题目

7)结构体和共用体我们要会说明并正确引用其成员。要理解typedef怎样给结构体命名新的名称(考的很多)。

要会通过结构体建立一个单向链表,并能够完成结点数据的输出、删除与插入。一定记住链表中的节点是有两个域,一个放数值,一个放指针。

8)函数指针的用法(*f)()记住一个例子:

int add(int x, int y)

{....}

 main()

{ int  (*f)();

f=add;

 }

赋值之后:合法的调用形式为1、add(2,3);

2、f(2,3);

3、(*f)(2,3)

9)两种重要的数组长度:

char a[]={‘a’,’b’,’c’};  数组长度为3,字符串长度不定。sizeof(a)为3。

char a[5]={ ‘a’,’b’,’c’}  数组长度为5,字符串长度3。sizeof(a)为5。

10)scanf 和 gets的数据:

如果输入的是 good  good  study!

那么scanf(“%s”,a); 只会接收 good. 考点:不可以接收空格。

     gets(a); 会接收 good good study! 考点:可以接收空格。

11)了解 auto、extern、static、register的含义,与基本用法

12)共用体的考查:

union TT

{ int a;

char ch[2];}

考点一: sizeof (struct TT) = 2;

考点二: TTt1 ;  t1=0x1234;

那么 ch[0]=0x 34;  ch[1]=0x12

13)能理解局部变量和全局变量:简单来说局部的就是部的,全局的就是外部的。

例题:在一个C语言源程序文件中所定义的全局变量,其作用域为:

A) 所在文件的全部围 B) 所在程序的全部围

C) 所在函数的全部围 D) 由具体定义位置和extern 说明来决定围

此题考查有关全局变量的理解,全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。只有在函数经过说明的全局变量才能使用。全局变量的说明符为extern。但在一个函数之前定义的全局变量,在该函数使用可不再加以说明。因此选择D选项

14)“文件包含”的考查点:

    no1.c                  no2.c

#include”no2.c”

main()

{ add(29 , 33);

 …….

}

int add(int a,int b)

{

return a+b;

}

这里一个C语言程序是有两个文件组成,分别是no1.c, no2.c。那么no1.c中最开始有个#include”no2.c”他表示把第二个文件的容给包含过来,那么no1.c中调用add()函数的时候就可以了把数值传到no2.c中的被调用函数add()了。

一个文件必须要有main函数。 这句话错了。 例如:no2.c就没有。

头文件一定是以.h完毕的。 这句话错了。例如:no1.c中就是#include”no2.c”以.c结尾的。

一份同行业

14)“文件操作”的考查点:

文件类型指针(FILE类型指针)。

文件的打开与关闭(fopen,fclose),尤其是打开方式要记清。

文件的读写(fputc、fgetc、fputs、fgets、fread、fwrite、fprintf、fscanf函数的应用),文件的定位(rewind、fseek函数的应用)

公共基础知识部分

一、基本数据结构与算法1.算法的基本概念:

算法是对特定问题求解步骤的一种描述,是指令的有效序列。程序编制不可能优于算法设计。

算法的五个基本特征:可行性、确定性、有穷性、零个或多个输入、一个或多个输出。

算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.了解数据结构的定义、数据的逻辑结构与存储结构、数据结构的图形表示(集合状、树状、线性、图状)。

3.线性结构与非线性结构的概念;知道线性表、栈、队列、树、二叉树分别属于什么结构。4.线性表的基本概念;线性表的顺序存储结构与其插入与删除运算。5.栈和队列:他们都是操作受限的线性表;

栈只能在栈顶进行插入和删除操作,按照“先入后出”或者“后入先出”的原则组织数据;

队列只能在队尾进行插入操作,在队首进行删除操作,按照“先进先出”或者“后进后出”的原则组织数据。

6.线性单链表、双向链表与循环链表的结构与其基本运算(插入、删除、交换位置)。  7.树和二叉树:

理解树的有关概念:结点、结点的度、叶子结点、孩子结点、双亲结点、兄弟结点、祖先结点、子结点、树的度、结点层次、深度、森林;空树、根树、二叉树、满二叉树、完全二叉树

二叉树的存储结构;掌握二叉树的前序、中序和后序遍历。

例:某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(    )
                A) n+1    B) n-1    C) 2n    D) n/2

此题考查二叉树的性质,二叉树第i层上的结点数目最多为2i-1个(i≥1)。深度为k的二叉树至多有2k-1个结点(k≥1)。二叉树中,叶子结点数为n0,度为2的结点数为n2,则n2+1=n0。答案选择A
8.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。二、程序设计基础1.程序设计方法与风格:

强调“清晰第一,效率第二”,不是越复杂越好,而应该考虑程序的可读性。2.结构化程序设计:

原则:自顶向下、逐步求精、模块化、限制使用goto语句。

基本结构:顺序结构、选择结构、循环结构。3.面向对象的程序设计:

类、对象、方法、属性。

继承、多态与封装性。

面向对象方法的优点:接近人类思维、稳定性好、可重用性好;易于开发大型软件产品、可维护性好。  三、软件工程基础1.软件工程的概念。

2.软件生命周期:软件产品从提出、实现、使用维护到停用退役的过程。

制定计划、需求分析、软件设计、软件实现、软件测试、软件的运行维护。

软件工具与软件开发环境。3.结构化分析方法常用工具:数据流图、数据字典、判定树、判定表;

理解数据流图、数据字典、软件需求规格说明书。4.结构化设计方法

总体设计又称概要设计,把软件需求转化为软件体系结构,确定系统级接口、全局数据结构或者数据库模式。

用适当方法表示算法和数据结构细节。与详细设计。5.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。6.程序的调试,静态调试与动态调试。  四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型与E-R图,从E-R图导出关系数据模型。3.关系代数运算,包括集合运算与选择、投影、连接运算,数据库规化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。

附录一:C语言中的关键字(加粗的关键字重点掌握、其他了解即可)

 auto   break   case   char   const   continue   default   do   double   else   enum   extern   float    for   goto   if   int   long   pascal   register   return   short   signed   sizeof   static   struct   switch   typedef   union    unsigned   void   volatile   while

附录二:运算符的优先级和结合性

优先级

运算符

运算符功能

运算类型

结合方向

最高

15

(  )

[  ]

->

.

小括号、函数参数列表

数组元素下标

通过地址引用结构体成员

通过变量名引用结构体成员

自左向右

14

!

~

++、--

+

-

*

&

(类型名)

sizeof

逻辑非

按位取反

自增1、自减1

求正

求负

间接运算符

求地址运算符

强制类型转换

求所占字节数

单目运算

自右向左

13

*、/、%

乘、除、求余

双目运算

自左至右

12

+、-

加、减

双目运算

自左至右

11

<<、>>

按位左移、右移

移位运算

自左至右

10

<、<=、>、>=

小于、小于等于、大于、大于等于

关系运算

自左至右

9

==、!=

等于、不等于

关系运算

自左至右

8

&

按位与

位运算

自左至右

7

^

按位异或

位运算

自左至右

6

|

按位或

位运算

自左至右

5

&&

逻辑与

逻辑运算

自左至右

4

||

逻辑或

逻辑运算

自左至右

3

?  :

条件运算

三目运算

自右至左

2

=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=

赋值运算、复合赋值运算

双目运算

自右至左

1

逗号运算(顺序求值)

顺序运算

自左至右

标签:知识点,函数,int,复习资料,C语言,运算符,地址,表达式,运算
From: https://blog.csdn.net/m0_38073539/article/details/142799074

相关文章

  • C语言计算GPS卫星位置
    1概述在用GPS信号进行导航定位以与制订观测计划时,都必须已知GPS卫星在空间的瞬间位置。卫星位置的计算是根据卫星电文所提供的轨道参数按一定的公式计算的。本节专门讲解观测瞬间GPS卫星在地固坐标系中坐标的计算方法。2卫星位置的计算1.计算卫星运行的平均角速度n根据......
  • C语言必背词汇有哪些
    auto:声明自动变量;double:声明双精度变量或函数;int:声明整型变量或函数;struct:声明结构体变量或函数;break:跳出当前循环;else:条件语句否定分支(与;if;连用);long:声明长整型变量或函数;switch:用于开关语句;case:开关语句分支;enum:声明枚举类型;register:声明寄存器变量;typedef:用以给......
  • C语言初学:常量和变量
    常量整型常量实型常量字符常量用一对单引号将一个字符括起来。字符串常量由一对双引号引起将零个或多个字符序列括起来。变量变量的输入与输出标准格式转换将标准日期格式YYYY-MM-DD转换为中国美国英国三个国家的三种日期格式代码如下:输出公民身份证号码的各组成......
  • 【趣学C语言和数据结构100例】
    【趣学C语言和数据结构100例】问题描述输入两个正整数m和n,求其最大公约数和最小公倍数输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数求Sn=a+aa+aaa+…+a…a之值,其中a是一个数字,n表示a的位数,n、a由键盘输入。例如:2+22......
  • 【视频笔记】408新增知识点信号——里昂视频
    文章目录**2.信号****3.信号的实现**4.信号的处理**①忽略信号****②执行信号的默认操作****③捕获井处理信号**几个Linux支持的典型信号:**5.信号的产生**①**通过终端按键(键盘)产生信号**例如,`Ctrl+C`发送2号信号SIGINT、`Ctrl+\`发送3号信号SIGQUIT②**程序异常时*......
  • 利用git推送或拉取代码到远程仓库-整理知识点
    1.注:1)使用gitremoteaddorigin+地址来增加远程仓库,链接远程git仓库时,使用HTTPSurl,一般会结合PAT(personnalaccesstoken)进行身份认证,而使用SSH地址,则不用。2)使用gitclone+地址来克隆远程仓库(默认远程服务器origin)到本地并默认初始化本地仓库、建立本地分支main。2.初......
  • 【Leecode 随笔】C语言版看了不后悔系列持续更新中。。。
    文章目录题目一:两数相除题目描述示例1:示例2:注意:解题思路示例代码深入剖析题目二:加一题目描述示例1:示例2:解题思路示例代码深入剖析题目三:快乐数题目描述示例1:示例2:解题思路示例代码深入剖析......
  • 实验2_C语言分支与循环基础应用编程
    task1#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5#defineN1397#defineN2476#defineN321//随机摇学号intmain(){intcnt;intrandom_major,random_no;srand(time(NULL));//以当前系统时间作为随机种子......
  • Qt知识点笔记
    C++高级概念详解一、智能指针1.概述智能指针是C++中用于自动管理内存的工具,它能够确保在适当的时候自动释放内存,防止内存泄漏。2.类型比较2.1原始指针classMyClass{public:MyClass(){std::cout<<"Constructorcalled\n";}~MyClass(){std::cout<<"D......
  • 【C语言复习】常见概念(零基础)
    【C语言复习】常见概念1、C语言是什么?2、C语言的历史和辉煌3、编译器的选择VS20223.1编译和链接3.2编译器的对比3.3VS2022的优缺点4、VS项⽬和源⽂件、头⽂件介绍5、第一个C语言程序6、main函数(主函数)7、printf和库函数8、关键字介绍9、字符和ASCII编码10、字符串......