C语言各章知识点总结
大一c语言章节知识点
大一c语言章节知识点第一章:基本概念和数据类型C语言的历史背景C语言的特点和优势关键字和标识符数据类型及其表示范围变量的定义和声明常量的定义和分类运算符的分类和优先级第二章:运算符和表达式算术运算符和表达式逻辑运算符和表达式位运算符和表达式赋值运算符和表达式关系运算符和表达式条件运算符和表达式运算符的优先级和结合性第三章:控制语句顺序结构选择结构(if语句、switch语句)循环结构(for循环、while循环、do-while循环)循环控制语句(break、continue、goto)嵌套控制语句第四章:数组和字符串数组的定义和初始化数组的访问和操作多维数组字符数组和字符串的处理字符串的输入和输出第五章:函数和递归函数的调用和返回函数的参数传递(值传递、地址传递)递归函数的原理与应用递归和迭代的比较第六章:指针指针的定义和声明指针与数组的关系指针的运算(指针的加减、指针的比较)指针与字符串的处理函数指针和指针数组第七章:结构体和共用体结构体的定义和初始化结构体中成员的访问和操作结构体的嵌套和对齐枚举类型的定义和应用第八章:文件操作文件的打开和关闭文件的读写操作(字符型文件、二进制文件)文件指针的位置控制文件的随机访问和更新第九章:动态内存管理内存分配与释放的概念malloc函数和free函数的使用calloc函数和realloc函数的使用动态分配二维数组的操作第十章:预处理指令宏定义的使用条件编译指令的应用文件包含指令的作用错误指示和行控制指令无论是在学习C语言的过程中,还是在实际应用中,以上这些章节知识点都是非常重要的。
掌握这些知识点,将帮助你深入了解C语言的基本原理和常用功能,为编写高效、健壮的程序奠定扎实基础。
在学习过程中,请务必理解并实践每个章节的知识点,并结合实际案例进行练习和应用,以加深对C语言的理解和应用能力。
祝你在学习C语言的道路上取得优异的成绩!。
C语言程序设计第1至8章复习知识点总结
printf("max=%d\n",c);
/*输出c的值*/
}
int max(int x, int y) {
int z; if (x>y) z=x; else z=y; return (z); }
/*定义max函数,函数值为整型,x、y为形参,整型*/
/*定义内部变量z*/ /*比较x,y的大小,如果x大于y,则执行z=x*/ /*否则执行z=y*/ /*将z的值返回,通过max带回调用处*/
整理课件
c语言第一至八章总结
2 基本数据类型
1、整型
2、实型
3、字符型
实型
小数形式 :3.14 指数形式:3.14*103 =3.14e003
标准化指数形式:3.14*103
对应 只有一个大于0的整数
字符
ASCII表
例:以下选项中,不能作为合法常量的是( B ) A) 1.234e04 B)1.234e0.4 C) 1.234e+4 D)1.234e0
long
注意:每一步运算都要先
unsigned
转换为同一类型 例:
低
int a=3,b=4;
int
char,short float c=3.0/4,d=b/a;
printf("%f,%f",c,d);
整理课件
c语言第一至八章总结
数据类型的强制转换
例2.8强制类型转换 #include<stdio.h> void main() {
程序设计语言 机器语言 机器语言
可执行
不可以
不可以
可以
文件名后缀
.c 整理课.o件bj
.exe
C语言各章知识点总汇
知识点总汇第一章程序设计基本概念一、本章知识点1、C语言是什么?(理解)C语言是一种语言沟通工具,跟汉语、英语是一样的,只不过适用场合不一样而已。
汉语适合中国人和中国人之间的交流,而英语适合全世界人与人之间的沟通。
但是现在,我们的信息80%来源于计算机,所以我们不仅要学会跟人交流,还要学会和计算机打交道。
但是,无论你汉语讲得多精致,英语讲得多地道,计算机它都听不懂。
鉴于此,人类发明了许多在人机交互世界里通用的语言,这些语言统称为高级语言,高级语言人能看明白,机器也能听懂,而C语言就是这些高级语言中最基础、最基本、最核心的语言。
只要学好C语言,你就可以给计算机下命令,让它替你干活了!2、C语言能干什么?(理解)人要想计算机给自己干活,首先必须让计算机听懂人的指令。
那么人用C语言把自己要解决的问题写成程序代码的形式,输入到计算机后,计算机通过分析、执行程序代码,就可以知道人给它下达的命令是什么,进而把用户要求的结果输出来。
比如:给计算机长和宽的值,让计算机给你算出面积的值。
3、从人编写程序到计算机输出结果经过几步?(掌握)从人编写程序到计算机输出结果,需要经过三步:源程序、目标程序、可执行程序。
源程序经过编译可变成目标程序,而目标程序经过连接可变成可执行程序。
源程序保存后的扩展名为.c, 目标程序的扩展名为.obj,而可执行程序的扩展名为.exe。
详见下图:源程序.c↓编译目标程序.obj↓连接可执行程序.exe二、易考题型1、C语言源程序文件的后缀是__,经过编译后,生成文件的后缀是__,经过连接后,生成文件的后缀是__。
(.c,.obj,.exe)2、源程序经过__变成目标程序,目标程序经过__变成可执行程序。
(编译,连接)3、从人编写程序到计算机输出结果,需要经过三步:__、__、__。
(源程序,目标程序,可执行程序)4、结构化程序由__,__,__三种基本结构组成。
(顺序结构,选择结构,循环结构)5、算法的五大特征是__,__,__,__,__。
C语言重要知识点
第三章
注意:C 语言中用非 0 表示逻辑真的,用 0 表示逻辑假的。 C 语言有构造类型,没有逻辑类型。 关系运算符号:注意<=的写法,==和=的区别! if 只管后面一个语句,要管多个,请用大括号! 1、关系表达式: a、表达式的数值只能为 1(表示为真) ,或 0(表示假) 。 如 9>8 这个关系表达式是真的,所以 9>8 这个表达式的数值就是 1. 如 7<6 这个关系表达式是假的,所以 7<6 这个表达式的数值就是 0. b. 考试易错: int x=1,y=0,z=2; x<y<z 是真还是假?带入为 1<0<2,从数学的角度出发肯定是错,但如果是 C 语言那 么就是正确的! 因为要 1<0 为假得到 0,表达式就变成了 0<2 那么运算结果就是 1,称 为真的了 c. 等号和赋值的区别! 2、逻辑表达式: 核心:表达式的数值只能为 1(表示为真) ,或 0(表示为假) 。 a、共有 && || ! 三种逻辑运算符号。 b、! > && > || 优先的级别。 c、表示 x 小于 0 大于 10 的方法。 0<x<10 是不行的(一定记住) 。是先计算 0<x 得到的结果为 1 或者 0;再用 0,或 1 与 10 比较得到的总是真(为 1) 。所以一定要用(0<x)&&(x<10)表示比 0 大比 10 小。 3、if 语句 a、else 是与最接近的 if 且没有 else 的语句匹配。
6、输入时候字符和整数的区别 scanf(“%d”,&x); 这个时候输入 1,注意表示的是整数 1 scanf(“%c”,&x); 这个时候输入 1,注意表示的是字符’1’,ASCLL 为整数 48. 补充说明: 1、scanf 函数的格式考查: 函数的第二部分是&a 这样的地址,不是 a; scanf(“%d%d%d%d”,&a,&b,&c); 跳过输入的第三个数据。 2、putchar,getchar 函数的考查: char a=getchar() 是没有参数的,从键盘得到你输入的一个字符给变量 a. putchar(‘y’) 把字符 y 输入到屏幕中。
C语言各章知识点总结
总体上必须清楚的:2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
4)bit是位是指为0或者1。
byte是指字节,一个字节=八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法一定要有输出的,但可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
关键字有:auto break case char const continue defaultdo double else enum extern float forgoto if int long register return shortsigned static sizeof struct switch typedef unionunsigned void volatile whileauto:声明自动变量double:声明双精度变量或函数int:声明整型变量或函数struct:声明结构体变量或函数break:跳出当前循环else:条件语句否定分支(与if连用)long:声明长整型变量或函数switch:用于开关语句case:开关语句分支enum:声明枚举类型register:声明寄存器变量typedef:用以给数据类型取别名char:声明字符型变量或函数extern:声明变量是在其他文件正声明return:子程序返回语句(可以带参数,也可不带参数)union:声明共用数据类型const:声明只读变量float:声明浮点型变量或函数short:声明短整型变量或函数unsigned:声明无符号类型变量或函数continue:结束当前循环,开始下一轮循环for:一种循环语句signed:声明有符号类型变量或函数void:声明函数无返回值或无参数,声明无类型指针default:开关语句中的“其他”分支goto:无条件跳转语句sizeof:计算数据类型长度volatile:说明变量在程序执行中可被隐含地改变do:循环语句的循环体while:循环语句的循环条件static:声明静态变量if:条件语句2)实型数据的合法形式:2.333e-1就是合法的,且数据是2.333×10-1。
C语言各章节知识点总结
C语言各章节知识点总结C语言是一种常用的编程语言,广泛应用于操作系统、嵌入式系统、网络设备等领域。
下面是C语言各章节的知识点总结。
第一章:C语言概述1.C语言的起源和发展历史。
2.C语言的特点和优势。
3.C语言的应用领域和重要性。
4.C语言的编译过程和基本语法规则。
第二章:基本数据类型和运算符1.C语言的基本数据类型,如整型、浮点型、字符型等。
2.基本数据类型的存储范围和格式化输出。
3.C语言的运算符和运算符优先级。
4.表达式和赋值语句。
第三章:控制语句1. 条件语句,如if语句、switch语句。
2. 循环语句,如for循环、while循环、do-while循环。
3. 循环控制语句,如break语句、continue语句。
第四章:数组和指针1.数组的定义和初始化。
2.一维数组和二维数组的使用。
3.字符数组和字符串的处理。
4.指针的定义和操作。
5.数组和指针的关系。
第五章:函数1.函数的定义和调用。
2.函数的参数传递和返回值。
3.局部变量和全局变量。
4.递归函数和函数指针。
5.函数库的使用。
第六章:结构体和共用体1.结构体的定义和初始化。
2.结构体的访问和操作。
3.结构体数组和结构体指针。
4.共用体的定义和使用。
第七章:文件操作1.文件的打开和关闭。
2.文件的读写操作。
3.文件指针和文件的定位。
4.随机访问文件。
5.文件的错误处理和异常处理。
第八章:预处理和编译1.C语言的预处理指令和宏定义。
2.头文件的引用和包含。
3.条件编译和预处理器的工作过程。
4.编译和链接的过程。
第九章:动态内存管理1.动态内存分配和释放。
2. malloc函数和free函数的使用。
3.内存泄漏和内存溢出的问题。
4.堆和栈的区别和管理。
第十章:指针的高级应用1.指针数组和指向指针的指针。
2.函数指针和回调函数。
3.结构体指针和链表的操作。
4.动态内存分配和指针的应用。
第十一章:位运算和位域1.位运算的基本操作,如与、或、非、移位等。
C语言各章节知识点总结
C语⾔各章节知识点总结第⼀部分“C语⾔基础知识”知识点1、C程序的基本结构C程序是由函数构成的。
每个程序由⼀个或多个函数组成,其中必须有且仅有⼀个主函数main( )。
main函数是⼀个可执⾏C语⾔程序的⼊⼝和正常出⼝,⽽不论其在整个程序中书写的位置如何。
在C语⾔中,⼤⼩写字母是有区别的。
(例如习惯使⽤⼩写字母定义变量,⽤⼤写字母定义常量)。
C程序的注释有两种⽅法,⼀种是⾏注释,使⽤“//”;另外⼀种是块注释,使⽤“/* */”,注意“/*”与“*/”不能嵌套使⽤。
C语⾔书写较为灵活,但是提倡采⽤缩进格式进⾏程序书写,以体现语句之间的层次感。
C程序每条语句以“分号”作为结束标志。
以下⼏种情况不得使⽤分号:(1)所定义的函数名称后不得使⽤分号;(2) if…else…语句是⼀个整体,中间不能使⽤分号将其分隔开;(3)预编译命令后不能使⽤分号。
2、C程序开发步骤C语⾔在计算机上的开发过程主要由以下四个步骤组成:第⼀步:编辑。
⽣成后缀名为“.c”的源⽂件第⼆步:编译。
⽣成后缀名为“.obj”的⽬标⽂件第三步:连接。
⽣成后缀名为“.exe”的可执⾏⽂件第四步:运⾏。
3、VC++6.0开发⼯具的使⽤按下功能键Ctrl+F7编译程序;按下功能键F7连接程序;按下功能键Ctrl+F5运⾏程序;若程序在编译和连接过程中有语法错误,则按下功能键F4定位错误所在⾏并根据错误提⽰信息改正错误(原则是先解决error,再解决warning)。
4、C语⾔中标识符的命名规则标识符由字母、数字、下划线组成;规定第⼀个字符必须为字母或下划线。
标识符定义的变量名、函数名、常量名等最好做到“见名知义”;⼤⼩写代表不同含义;不能使⽤关键字;最好不要与C语⾔的库函数同名。
5、C语⾔的数据类型C语⾔的数据类型由基本类型和复杂类型构成。
其中基本数据类型包括字符型(char)、整型(int,short,long)、实型(float,double);复杂数据类型包括指针类型、数组、结构体、联合体。
C语言中知识点
C语言中记忆点:第一章:P4:(C语言的特点)(1)C语言是结构化程序设计语言。
C语言程序的逻辑结构可以用顺序、选择和循环三种基本结构组成。
(2)C语言是模块化程序设计语言。
(3)C语言具有丰富的运算能力。
(4)C语言具有丰富的数据类型和较强的数据处理能力。
(5)C语言具有较强的移植性。
(6)C语言不但具有高级语言的特性,还具有汇编语言的特点。
(7)C语言具有较好的通用性。
P6:(C程序的基本结构)(1)C语言程序由函数构成。
函数是构成C程序的基本单位,即C程序由一个或多个函数组成,其中必须有且只能有一个名为main的主函数。
(2)每个函数的基本结构如下:函数名(){ 语句1;……语句n;}有的函数定义时,函数名后的小括号内有形式参数,{}内则是由若干语句组成的函数体,每个语句必须以分号结束。
C语言的书写格式较自由,一行内可以写多个语句,一个语句很长时也可以分写在多行上。
(3)各个函数的定义是相互独立的。
各函数定义的顺序无关紧要。
P6:(C语言的基本符号与词汇)1、C语言的基本符号集:(1)大小写英文字母划各26个。
(2)10个阿拉伯数字。
(3)其他特殊符号,包括以下运算符和操作符:+ - * / % (算术运算符)< <= > >= == != (关系运算符)&& || ! (逻辑运算符)& | ~ ^ (按位运算符)++ -- (自增自减运算符)?: 条件运算符<< >> (移位运算符)( ) { }[ ] . -> # sizeof() ,= += -= *= /= %= &= ^= |= (赋值运算符)2、C语言的词汇:(1)标识符是用来标识变量名、函数名、数组名、数据类型名等的有效字符序列。
简单地说,标识符就是一个名字。
(2)标识符的构成规则:●标识符只能由英文字母(A~Z,a~z)、数字(0~9)和下划线(_)三类符号组成,但第一个字符必须是字母或下划线。
c语言全部章节重要笔记
C语言作为一种通用的编程语言,广泛应用于系统软件、嵌入式系统、游戏开发等领域。
以下是一份C语言的全部章节的重要笔记,包含了该语言的基础知识和一些高级概念。
由于篇幅的限制,这里将提供每个章节的简要概括。
### **1. 第一章-基础知识**- C语言的起源和发展-第一个C程序:Hello World-编写、编译和运行C程序的基本步骤-基本的数据类型和变量-输入输出函数:printf() 和scanf()### **2. 第二章-运算符和表达式**-算术运算符和表达式-关系运算符和逻辑运算符-位运算符-赋值运算符和复合赋值运算符-运算符的优先级和结合性### **3. 第三章-控制流**-条件语句:if、else、switch-循环语句:for、while、do-while-跳转语句:break、continue、goto### **4. 第四章-函数**-函数的定义和调用-函数参数和返回值-递归函数-函数的作用域和生命周期-头文件和函数声明### **5. 第五章-数组和指针**-数组的定义和初始化-多维数组-指针的基本概念-指针和数组的关系-指针的算术运算### **6. 第六章-字符串**-字符串的定义和表示-字符串的输入输出-字符串的处理函数:strlen、strcpy、strcat 等-字符串的比较函数:strcmp### **7. 第七章-结构和联合**-结构体的定义和使用-结构体成员的访问-结构体数组-联合的概念和用法### **8. 第八章-文件操作**-文件的打开和关闭-文件的读写操作:fread、fwrite-文件的定位操作:fseek、ftell-文本文件和二进制文件的区别### **9. 第九章-动态内存分配**-内存管理函数:malloc、free、calloc、realloc-内存泄漏和内存溢出的概念-使用动态内存的注意事项### **10. 第十章-高级概念**-指向函数的指针-结构体和指针的混合使用-使用typedef 定义新的数据类型-预处理指令:#define、#include、#ifdef### **总结:**这份C语言的笔记涵盖了从基础知识到高级概念的广泛内容。
C语言知识点列表
附知识点列表:1.C语言概述本章主要介绍了C语言的特点、基本结构、基本输入输出语句和C程序的编辑、编译、运行方法,要求了解C语言的特点,掌握C程序的基本结构,熟悉C程序的编辑、编译、调试和运行过程。
1.1 C 语言出现的历史背景1.2 C 语言的特点1.3 简单的C 程序介绍1.4 C 程序的上机步骤2.程序的灵魂——算法本章主要讲了关于算法的一些问题。
要求大家了解算法的概念、表示和特性。
2.1 算法的概念2.2 简单算法举例2.3 算法的特性2.4 怎样表示一个算法2.5 结构化程序设计方法3.数据类型、运算符与表达式本章主要介绍了C语言的基本数据类型、各种运算符、以及运算符的功能、结合性和优先级。
要求掌握含有这些运算符的表达式值的判定,并且在编程中熟练运用这些运算符解决问题。
3.1 C的数据类型3.2 常量与变量3.3 整型数据3.4 实型数据3.5 字符型数据3.6 变量赋初值3.7 各类数值型数据间的混合运算3.8 算术运算符和算术表达式3.9 赋值运算符和赋值表达3.10 逗号运算符和逗号表达式4.最简单的C 程序设计--顺序程序设计本章主要讲了C语言基本输入输出语句和顺序程序设计的一般方法。
要求大家掌握赋值语句、putchar函数、getchar函数、printf函数、scanf函数和顺序程序的结构。
4.1 C 语句概述4.2 赋值语句4.3 数据输入输出的概念及在C语言中的实现4.4 字符数据的输入输出4.5 格式输入与输出4.6 顺序结构程序设计举例5.选择结构程序设计本章主要介绍了C语言提供的选择结构语句:if语句、if-else语句和switch语句。
要求大家掌握并熟练使用if语句的和switch语句。
5.1 关系运算符和关系表达式5.2 逻辑运算符和逻辑表达式5.3 if 语句5.4 switch 语句6.循环结构程序设计本章主要介绍了C语言提供的三种循环结构语句:while语句、do-while语句和for语句,介绍了循环结构中常用的语句break、continue的使用以及循环的嵌套。
C语言各章节知识点总结
C语言各章节知识点总结C语言是一种通用的高级编程语言,广泛应用于计算机软件开发。
下面是C语言各章节的知识点总结:第一章:C语言简介-C语言起源和发展-C语言的特点和优势-C语言的应用领域-C语言的编译和执行过程-编写第一个C语言程序第二章:C语言基础-C语言的基本数据类型-变量和常量-运算符和表达式- 控制语句(if语句、switch语句、for循环、while循环)-输入和输出-函数的定义和调用第三章:C语言数组-数组的定义和初始化-一维数组和多维数组-数组的应用(排序、查找、统计)- 字符串处理函数(strlen、strcpy、strcat)-字符串的输入和输出第四章:C语言指针-指针的概念和作用-指针变量和指针的运算-指针和数组的关系-指针作为函数参数-动态内存分配第五章:C语言函数高级特性-递归函数-函数指针和回调函数-变量的作用域和存储类别-预处理指令-多文件程序设计第六章:C语言结构体和共用体-结构体的定义和初始化-结构体的嵌套和数组-共用体的定义和应用-枚举类型的定义和使用- typedef的使用第七章:C语言文件处理-文件的概念和分类-文件的打开和关闭-文件的读取和写入-文件的定位和修改-错误处理和异常处理第八章:C语言位运算和位字段-位运算的概念和操作-位掩码和位移操作-位字段的定义和使用-位字段的对齐和优化-位操作的应用第九章:C语言高级编程技术-内存管理和动态内存分配-系统调用和库函数的使用-异常处理和错误处理-多线程编程和进程间通信-嵌入式系统开发技术总结:C语言是一门基础且强大的编程语言,掌握C语言的各章节知识点对于学习和使用C语言是非常重要的。
掌握C语言基础知识可以编写简单的程序,掌握指针和数组等知识可以处理更加复杂的数据结构和算法,掌握高级特性可以编写更加高效和模块化的程序。
通过学习C语言,可以为后续学习其他编程语言打下坚实的基础。
C语言_各章_重点知识_总结
C语言各章重点知识总结第一章C语言概述1、C程序的组成和形式的基本特点(P6-7)(1)C程序是由函数构成的,一个C源程序至少且仅包含一个main函数,也可以包含一个main函数和若干个其他函数。
(2)一个函数由两部分组成①函数的首部:即函数的第一行,包括函数名、函数类型、函数属性、函数参数名、参数类型例:int max (int x,int y)一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。
函数可以没有参数,如main()。
②函数体:即函数首部下面的花括号内的部分。
如果一个函数内有多个花括号,则最外层的一对花括号为函数体的范围。
函数体一般包括:声明部分、执行部分2、运行C程序的步骤及每个步骤生成文件的类型及特点(P7)第二章算法1、算法的定义一个程序应包括①数据结构即对数据的描述;②算法也就是操作步骤。
计算机算法可分为两大类:数值运算算法和非数值运算算法。
2、算法的特性(P19)1.有穷性;2.确定性;3.有零个或多个输入;4.有一个或多个输出;5.有效性。
3、描述算法的常用方法(P20-33)1.自然语言;2.用流程图表示算法。
3.N—S图4.计算机语言5.伪代码4、C程序算法的3种基本结构及其共同特点(P24-25)三种基本结构:1.顺序结构:最基本;2.选择结构:又称选取结构或分支结构;3.循环结构:又称重复结构;①当(while)型循环;②直到(until)型循环。
共同特点:1. 只有一个入口;2. 只有一个出口;3. 结构内的每一部分都有机会被执行到;4. 结构内不存在“死循环”。
5、结构化程序设计的设计原则(P34)1.自顶向下;2.逐步细化;3.模块化设计;4.结构化编码。
第三章数据类型、运算符与表达式1、C语言的基本数据类型和构造数据类型(P37)在程序中对用到所有数据都必须制定其数据类型。
数据有常量和变量之分,它们分别属于以上这些类型。
2、字面常量和符号常量(P37-38)在程序运行过程中,其值不能被改变的量称为常量,常量区分为整型常量和实型常量,常量一般从其字面形式即可判别,这种常量称为字面常量或者直接常量。
大二c语言四五章知识点总结
大二c语言四五章知识点总结C语言是一门广泛应用于计算机编程领域的编程语言,作为计算机科学专业学生,掌握C语言的基本知识是非常重要的。
在大二学习中,我们通常会学习C语言的四五章知识点,本文将对这些知识点进行总结。
一、数组和指针1. 数组数组是C语言中一种存储相同类型数据元素的方式,它能够提供连续的内存空间,以便于对数据的操作和管理。
可以通过数组名和索引来访问数组中的元素。
2. 指针指针是C语言中非常重要的概念,它保存一个变量的内存地址。
通过指针,我们可以直接访问和修改该内存地址上的数据。
指针与数组有着紧密的联系,指针可以用来表示数组的首地址。
二、函数和递归1. 函数函数是C语言中一种封装了一组语句的代码块,通过函数可以实现对一系列操作的封装和重复利用。
函数有输入参数和返回值,可以用来实现各种功能。
2. 递归递归是指函数调用自身的过程,通过递归,我们可以简化某些问题的解决方法。
递归函数必须包含一个递归终止条件,否则就会陷入无限递归。
三、结构体和共用体1. 结构体结构体用于将不同类型的数据组合在一起,形成一个新的数据类型。
通过结构体,我们可以实现对不同数据的组织和管理,提高程序的可读性和可维护性。
2. 共用体共用体类似于结构体,不同的是共用体中的成员共享同一块内存空间。
这意味着共用体的各个成员可以共同使用这块内存空间,节省了内存的使用。
四、文件操作1. 文件的打开与关闭在C语言中,我们可以通过文件指针来操作文件。
打开文件使用fopen函数,关闭文件使用fclose函数。
打开文件时需要指定文件名和打开模式,如读取模式、写入模式等。
2. 文件的读写操作通过文件指针,我们可以实现对文件的读写操作。
例如使用fscanf函数从文件中读取数据,使用fprintf函数向文件中写入数据。
总结:本文主要总结了大二C语言四五章的知识点,包括数组和指针、函数和递归、结构体和共用体以及文件操作等内容。
这些知识点是C语言编程中的基础,掌握它们对于学习和理解后续的知识有着重要的作用。
c语言前三章知识点
c语言前三章知识点C语言是一种通用的、过程式的计算机编程语言,广泛应用于各种领域。
前三章主要介绍了C语言的基本概念、基本语法和程序结构。
第一章:C语言概述1.1 C语言的历史和发展C语言起源于20世纪70年代,由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室开发。
它是一种结构化的编程语言,具有简洁、高效、可移植等特点。
C语言的发展经历了多个版本,如K&R C、ANSI C等。
1.2 C语言的特点C语言具有以下特点:- 简洁:C语言的语法简洁明了,易于学习和使用。
- 灵活:C语言提供了丰富的数据类型和运算符,可以编写各种类型的程序。
- 高效:C语言是编译型语言,运行速度快,内存占用低。
- 可移植:C语言的编译器广泛支持各种操作系统和硬件平台。
第二章:基本语法2.1 标识符和关键字标识符是用来表示变量、函数、数组等名称的符号。
C语言的标识符由字母、数字和下划线组成,且必须以字母或下划线开头。
关键字是C语言中具有特殊意义的保留字,不能用作标识符。
2.2 常量和变量常量是在程序运行过程中其值不变的量。
C语言中的常量有整型常量、浮点型常量、字符常量等。
变量是用来存储数据的标识符,其值可以在程序运行过程中改变。
2.3 运算符和表达式C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。
表达式是由运算符和操作数组成的式子,用于计算和获取值。
2.4 控制语句控制语句用于控制程序的执行流程,包括条件语句(if、switch)、循环语句(for、while)、跳转语句(break、continue、return)等。
第三章:程序结构3.1 顺序结构顺序结构是指程序按照代码的顺序逐行执行的结构。
在顺序结构中,程序从上到下依次执行每一条语句。
3.2 选择结构选择结构是根据条件判断的结果来选择不同执行路径的结构。
C语言中的选择结构主要通过if语句实现。
3.3 循环结构循环结构是重复执行某段代码的结构。
c语言大一1至6章知识点
c语言大一1至6章知识点C语言是一种程序设计语言,被广泛应用于计算机科学和软件开发领域。
在大一的学习过程中,学生通常需要学习C语言的基础知识。
本文将介绍C语言大一1至6章的知识点,帮助读者全面理解并掌握这些内容。
第一章:概述C语言的概述部分主要介绍了C语言的发展历程、特点以及应用领域。
同时,还简要介绍了C语言程序的结构和运行过程。
第二章:数据类型与运算符在C语言中,数据类型和运算符是基础的概念和工具。
这一章节主要包括以下几个方面的知识点:1. C语言的基本数据类型,如整型、浮点型、字符型等;2. 数据类型的声明和定义方式;3. C语言的运算符,包括算术运算符、关系运算符、逻辑运算符等;4. 运算符的优先级和结合性规则。
第三章:控制语句控制语句是程序设计中用于控制程序执行流程的关键部分。
在C语言中,常用的控制语句包括:1. 条件语句(if语句和switch语句),用于根据条件执行相应的代码块;2. 循环语句(while语句、do-while语句和for语句),用于重复执行一段代码块;3. 跳转语句(break语句、continue语句和goto语句),用于改变程序的执行顺序。
第四章:数组与字符串数组和字符串是C语言中常用的数据结构和数据类型。
该章节主要包括:1. 数组的概念和基本操作,包括数组的声明、初始化和访问;2. 多维数组的定义和使用;3. 字符串的概念和表示方法,以及常用的字符串函数。
第五章:函数函数是C语言中组织代码的重要工具。
在这一章节中,主要介绍:1. 函数的定义和声明,以及函数的调用过程;2. 函数参数传递的方式,包括按值传递和按引用传递;3. 递归函数的概念和使用方法。
第六章:指针与动态内存管理指针是C语言中的重要特性,也是较难理解和掌握的部分。
该章节主要涵盖:1. 指针的概念和基本操作,包括指针的声明、初始化和使用;2. 指针和数组之间的关系,指针的运算和指针的比较;3. 动态内存管理,包括动态内存的分配和释放。
C程序设计复习资料知识点总结C语言
C程序设计知识点都懂了;一定过第1章 C语言概述1.1.C语言属高级语言;区分字母的大小写;以函数为基本单位采用模块化程序设计;可直接访问内存;进而对硬件进行操作..1.2.用C语言编写和程序称作C源程序;简称C程序;C程序可由若干个文本文件组成;文件扩展名为C使用C++编译器时默认扩展名为CPP..C源程序经编译、连接后得到扩展名为EXE的可执行文件目标程序..预处理编译、连接执行若干个C程序文件----→C程序------→目标程序文件--→1.3.C程序从主函数开始执行;每个C程序有且仅有一个主函数;因此;每个C程序文件中至多有一个主函数..1.4.C语句以分号结尾;用{}括起来的一组语句称作复合语句;复合语句可省略花括号之后的分号..1.5.允许一行内写多个C语句;也允许一个C语句占用多行;但保留字和标识符不可拆行..1.6.在C集成环境VC++ 6.0中;新建工程、保存当前程序文件、编译当前程序、执行当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5..第2章 程序设计的灵魂——算法2.1. 解决问题的方法和步骤称作算法..算法和数据结构是程序的两个主要要素.. 2.2. 算法具有确定性、有穷性、有效性等特点..2.3. 算法可用自然语言、流程图、N-S 图、计算机语言、伪代码等描述..伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法..2.4. 算法的基本结构分为:顺序结构、选择结构、循环结构..↓↓↓↓←- --Y ┌ 条件 ┐N 条件 ┐N││││条件┘Y--- ← ┘ ↓N图2.2 顺序结构 图2.3 选择结构 图2.4 当循环 图2.5 直到循环图直到循环2.5.由三种基本结构组成的程序称作结构化程序;结构化程序中的每个模块只有一个入口和一个出口..结构化程序设计通常采用“自顶向下、逐步细化”的设计方法..第3章数据类型、运算符与表达式3.1.C的数据类型如下所示:表3.1 C语言的数据类型3.2.字母或下划线开头;由字母、数字、下划线组成;超出32个字符部分被忽略最好不超过8个字符..3.3.以0开头的整数为八进制整数;以0X或0x开头的整数为十六进制无符号整数..3.4.-32768~32767为int型;0U~65535U为unsignedunsigned long型;-~-32769、32768~和-L~L为long型..后缀U和L不区分大小写和次序..3.5.数据的存储字节数可用运算符sizeof查询;括号内可是数据、表达式或类型名..3.6.有符号整数int和long3.7.定点数含小数点数和浮点数统称C实型常量;浮点数的一般形式为:尾数e除码或尾数E除码其含义为:尾数×10除码其中;尾数为定点数或整数;除码为整数..标准浮点数的小数点在第1位非0数字之后..后缀L或l的实型常量为长双精度;无后缀实型常量为双精度..3.8.用一对单引号括起来的单个字符称作C字符常量;其值为该字符的ASCII码1字节无符号整数..3.9.转义字符'\n'、'\t'、'\\'、'\''、'\"'分别表示回车符、制表符、反斜杠、单引号、双引号..3.10.转义字符'\整数'、'\x整数'或'\X整数'中的整数分别为八进制、十六进制;表示以此整数为ASCII码的字符..3.11.用双引号括起来的一串字符称作C字符串型常量;串中字符数称作串长;可以为0..字符串的存储形式为:依次存储字符串中字符的ASCII码;并追加一个空字符'\0'1字节无符号整数0..3.12.字符型、整型、实型数据统称数值型数据;不同类型的数值型数据可以混合运算;低精度数据被自动强制转换为高精度数据后方参与运算..另外;字符常量为有符号短整数;两个字符型数据间的运算按有符号短整数处理..3.13.如果将数值型数据赋给不同类型的数值型变量;则数值型数据将被自动强制转换为变量的数据类型..3.14.C允许定义变量的同时赋初值..3.15.C运算符及其优先级、结合性如附录C教材第365页所示..3.16.强制数据类型转换的一般形式为:类型名数据3.17.自增++、自减--运算只能作用于变量;作用于右侧时;返回变量自增、自减前的值..3.18.赋值表达式的格式为:变量=表达式或变量op=表达式其中;op为运算符 +、-、、/、%、>>、<<、&、^、| 中某一个..前者将右边表达式的值赋给左边的变量;后者将左边变量的当前值与右边表达式的值作相应运算后仍赋给左边的变量..整个赋值表达式取左边变量所赋的新值..3.19.用逗号分隔的一组表达式称作逗号表达式;其一般形式为:表达式; 表达式; …; 表达式其功能为:从左至右依次计算各表达式的值;并以最后一个表达式的值为整个逗号表达式的值..3.20.将数学式改为C表达式时应注意:(1)乘号不可省略;(2)正确改写脚码、运算符、括号等;(3)正确书写函数名;(4)把握好运算优先级;分数线改为/时;分子、分母相应加括号;(5)正确拆分不等式组;(6)区分整数除法和实数除法..第4章顺序结构程序设计4.1.表达式后缀分号称作表达式语句;即;表达式;4.2.putchar、getchar、printf、scanf等输入输出函数的原型在头文件stdio.h中..4.3.函数putchar和getchar的格式和功能如下:(1)putchar格式:putchar表达式功能:向标准输出设备输出以指定表达式的值为ASCII码的字符;并以该值为函数值自动强制转换为int型..(2)getchar格式:getchar功能:从标准输入设备输入一个字符;并以该字符为函数值..注意:getchar可提取空格及回车、Tab等部分控制字符;而且只提取输入中相应位置上的一个字符;因此;输入字符间无须分隔;否则也被视为输入字符..4.4.printf函数的格式和功能如下:格式:printf格式控制串; 输出表列功能:(1)从右至左依次计算输出表列中各表达式的值;(2)从左至右依次输出格式控制串中的字符;其中;%引导的格式控制符由输出表列中相应表达式的值所取代..输出表列是一组用逗号分隔的表达式又称输出项;可以为0项..格式控制串为字符串型数据可以是表达式..其中;格式符用于控制输出表列中相应表达式的输出格式..格式符及其功能如下表所示:表4.1 printf格式字符4.5.格式:scanf格式控制串; 地址表列其中;格式控制串为字符串型数据可以是表达式;地址表列是一组用逗号分隔的地址..功能:(1)右至左依次计算地址表列中各表达式的值;(2)从标准输入设备提取数据;并从左至右依次存储到所指定的存储单元..(3)地址表列中的地址可用表达式表示;通常形式为:&变量其中&是地址运算符;它表示取其后变量的存储起始地址..说明:(1)scanf函数格式符与printf函数的格式符的功能相似..scanf的合法格式符不区分大小写、实型格式符均等效;另外;表4.2 scanf的附加格式符说明(2)符;且被跳过;这为指定数据间分隔符提供了方便..(3)printf和scanf格式控制串中的每对%%从左至右结合按一个普通字符%对待..第5章选择结构程序设计5.1.C逻辑值为短整数int;真、假分别为1、0..另外;字符、数、指针作为逻辑量时;非0、非空为真即1;0、空为假即0..逻辑运算如下表所示:表5.1 逻辑运算真值表5.2.□||□||…的逻辑式;从左至右计算□的逻辑值;遇到真则提前终止..5.3.对于形如□&&□&&…的逻辑式;从左至右计算□的逻辑值;遇到假则提前终止..5.4.算术、关系、逻辑运算的优先级参见附录C教材第365页..5.5.if语句的格式和功能如下:(1)格式一:if条件语句功能:如果条件成立;方执行语句..(2)格式二:if条件语句1 else 语句2功能如果条件成立;执行语句1;否则执行语句2..注意:else不可独立使用;它与其前最近一个尚未配对的if配对;为避免歧义;通常只在else中嵌套if语句..5.6.条件表达式的格式和功能如下:格式:条件表达式1:表达式2功能:如果条件成立;取表达式1的值;否则取表达式2的值..说明:条件表达式可以嵌套;与其前最近一个尚未配对的if配对..5.7.switch语句的格式和功能如下:格式:switch表达式{…case 常量i: 语句组i…default: 语句组n+1}功能:如果表达式的值等于常量i;则从语句组i开始执行;否则执行语句组n+1..说明:(1)“表达式”的值和“常量”为整型包括字符型..(2)switch中的每个语句组称作一个分支;为使各分支独立;通常以break、return、exit等语句结尾..另外;“default: 语句组n+1”可以缺省..5.8.break语句的格式和功能如下:格式:break;功能:结束本层switch语句或本层循环语句..说明:break语句只能用于switch语句和循环..第6章循环结构程序设计6.1.while语句的格式和功能如下:格式:while表达式循环体功能:当表达式的值为真时;重复执行其后循环体..说明:循环体是循环语句的内嵌语句;可以是空或复合语句下同..6.2.do-while语句的格式和功能如下:格式:do 循环体 while表达式功能:重复执行循环体;直到表达式的值为假..说明:do-while循环至少执行一次循环体..6.3.for语句的格式和功能如下:格式:for表达式1; 表达式2; 表达式3 循环体功能:(1)计算表达式1;(2)当表达式2的值为真时;重复执行循环体和计算表达式3..说明:表达式1、表达式2、表达式3均可缺省;但保留分号..6.4.continue语句的格式和功能如下:格式:continue;功能:跳过循环体中其后程序段结束本次循环..说明:continue语句只能用于循环..6.5.掌握以下算法:累加、阶乘、判断素数、分解整数数字、递推数列、打印字符图形..第7章数组7.1.同一类型数据的序列称作数组;数组中数据用相应下标变量访问;因此;数组亦可视为由下标变量组成的序列..7.2.定义数组语句的一般格式和功能为:格式:数据类型名数组名第1维长度…第n维长度功能:为数组分配连续内存单元;用于存储数组中的下标变量低维优先;并将起始地址又称基址赋给数组名..说明:数组长度只能为整型常量或整型常量表达式..7.3.数组的要素有:数据类型、数组名、维数及各维的长度..各维的长度必须是常量;可用常量表达式表示;其值的整数位有效——截断取整..7.4.下标变量的格式为:数组名第1维下标…第n维下标7.5.下标从0开始;可用表达式表示;其值的整数位有效..下标最大值比长度小1..7.6.下标变量的使用与普通变量相同..7.7.定义数组的同时可对数组中的下标变量赋初值..格式:数据类型名数组名第1维长度…第n维长度={数据表}功能:定义数组的同时将数据表中数据依次赋给数组中下标变量;未赋值下标变量的初值为相应数据类型的0..说明:数据表中的数据必须是常量;可用表达式表示..第1维长度可省略;如果省略;其长度由数据表和其它维长度确定——存储所需的最小长度..7.8.以字符为数据元素的数组称作字符数组;它由一组字符型下标变量组成..除赋值外;字符数组名的使用与字符串变量相似..字符数组也可用字符串初始化..7.9.标准函数库提供许多用于处理字符串的函数..表7.1 常用字符串处理函数后的字符..7.10.掌握冒泡排序..第8章函数8.1.自定义函数的格式为:函数值类型函数名带类型声明的形参表列{函数体}8.2.函数值的默认数据类型为int..8.3.如果函数有返回值;则用return语句返回;其格式为:return 表达式; 或 return表达式;8.4.如果函数无返回值;即函数值类型为void;亦可用格式:return;结束本函数并返回调用者..8.5.函数一般调用格式为:函数名实参表列其中;实参表列为一组逗号分隔的表达式..实参按从右至左的次序计算并传递给相应形参..8.6.如果函数调用在其定义之前;调用前应作相应声明;声明格式为:函数值类型名函数名形参及其类型声明表列;其中;形参可省略..8.7.函数不可嵌套定义;但允许嵌套调用;亦可直接或间接调用自身称作递归函数..8.8.递归函数的函数体的一般格式为:B班同学不作要求if递归条件语句1 /递归时;如何递归/else 语句2 /非递归时;如何处理/或if递归条件语句1 /非递归时;如何处理/else 语句2 /递归时;如何递归/8.9.形参及函数内定义的变量称作局部变量;它从定义处生效;且只在该函数内有效..因此;不同函数中的局部变量可以同名;但同名不同义..8.10.在所有函数之外定义的变量称作全局变量;它从定义处生效..8.11.如果局部变量与全局变量同名;则同名全局变量被屏蔽..8.12.局部变量的存储方式分为:自动auto;默认、静态static、寄存器register..8.13.存储方式和数据类型是变量的两个重要属性;必须在定义变量时一并声明;关键字的排列顺序没有限制..变量的默认数据类型为int;默认存储方式为auto;但关键字auto和int不可同时缺省..8.14.auto型局部变量占用动态数据区;当函数调用结束时释放所占内存..register占用CPU中的寄存器;但寄存器不够用时;占用动态数据区..8.15.全局变量和static型局部变量占用静态数据区;默认初值为相应数据类型的0..8.16.static型局部变量的声明和初始化只执行一次..8.17.如果全局变量被声明为static型;则其它程序文件不能使用该全局变量..否则;其它程序文件也可使用该全局变量;但使用前应作extern声明..8.18.被声明为static型的函数;只在本程序文件中有效;不能被其它程序文件调用..否则;其它程序文件也可调用此函数;但调用前应作extern声明..8.19.常用数学函数在头文件math.h中..掌握基本初等函数..第9章预处理命令9.1.预处理命令在程序编译前执行;其主要功能是“文本置换”..9.2.不带参数宏定义的格式和功能如下:格式:define 宏名文本功能:在预处理时;将程序中宏名用相应的文本置换..9.3.带参数宏定义的格式和功能如下:格式:define 宏名形参表列文本功能:在预处理时;将程序中带参数的宏用相应的文本置换;且文本中的形参被相应的实参所置换..注意:形参无须且做类型声明..9.4.终止宏定义的格式如下:格式 undef 宏名9.5.宏定义可以引用已有的宏;亦可重新定义所代表的文本..9.6.预处理命令无须以分号结尾;否则分号也参与置换..9.7.include命令的格式和功能如下:格式一:include "文件名"格式二:include <文件名>功能:在预处理时;用指定文件置换本命令——加载文件..置换后;被包含文件成为本文件的一部分;其函数、全局变量等均可在本文件中直接使用;无须作extern声明..前一种格式先在当前目录中找指定文件;如果未找到;方到存放C头文件的目录中查找..后一种格式直接到存放C头文件的目录中查找指定文件..9.8.条件编译命令的格式和功能如下:格式一:ifdef 宏名程序段1 else 程序段2 endif功能:在预处理时;如果指定的宏名已定义;则用程序段1置换本命令;否则用程序段2置换本命令..当程序段2为空时;else可省略下同..格式二:ifndef 宏名程序段1 else 程序段2 endif功能:在预处理时;如果指定的宏名未定义;则用程序段1置换本命令;否则用程序段2置换本命令..格式三:if 常量表达式程序段1 else 程序段2 endif功能:在预处理时;如果指定常量表达式的值为真非0;则用程序段1置换本命令;否则用程序段2置换本命令..9.9.注释命令在预处理时被删除;不影响源程序和目标程序..注释命令的格式如下:/注释内容/第10章指针10.1.内存的基本单位是字节;每个字节都有相应的编号;称作地址或指针..借助于指针;C语言可以直接访问内存;从而对硬件进行操作..10.2.变量所占用内存的大小由其数据类型决定;变量所占用内存的第1个字节的地址称作该变量的地址或指针;表为:&变量名10.3.指针所指向数据的类型称作该指针的基类型;它所指向数据用指针访问;可作为普通变量使用..10.4.指针本身也是一种数据类型;占用2字节内存;可作为无符号整数输出和参与关系运算、逻辑运算;但指针的其它运算不同于整数运算..10.5.指针运算可简单地分为以下五类:(1)单目运算有六个:、&、、++、--、sizeof..(2)双目运算有四种:-、关系运算、逻辑运算、赋值运算..(3)指针与整数间的运算有三个:+、-、 ..(4)强制类型转换运算: ..(5)结构体成员运算:->..其中;+、-、++、--、+=、-=均以基类型数据为基本单位..10.6.一维数组的数组名可作为指针调用;它指向数组中的第一个元素;以数组中元素的类型为基类型..数组名的值不可修改;且sizeof数组名的值为整个数组所占内存的字节数..10.7.对于一维数组来说;基址+i 和 &基址i均指向数组中的第i+1个元素i>=0;基址+i 和基址i均表示数组中的第i+1个元素i>=0..10.8.n维数组可看作是以n-1维数组为元素的一维数组;数组名可看作是指向数组中的第一个n-1维数组的指针..10.9.下标变量可作为实参;但不可作为形参;实际上;它被误认为指针..10.10.※ C源程序经编译后;系统为源程序中的每个函数均分配一个入口地址;称作函数指针..在C源程序中;函数指针用函数名表示;其值不可修改..以函数指针为值的变量称作函数指针变量;其定义格式为:函数类型名函数指针变量名 ;可用下述格式代替函数名:函数指针10.11.※1函数返回值可以是指针;定义函数的一般格式为:基类型函数名形参列表{函数体}10.12.不允许将非0数直接赋给指针变量;须做强制转换..当指针变量的值为0时;称之为空指针..10.13.※以指针为元素的数组称作指针数组..10.14.※以指针为基类型的指针称作指向指针的指针;以指向指针的指针为值的变量称作指向指针的指针变量;其定义格式为:存储方式关键字基类型名指向指针的指针变量名10.15.※ C源程序经编译、连接所得目标程序exe文件可作为DOS外部命令使用;命令行的一般式为:路径\目标程序文件名参数1 参数2 …参数n10.16.※ C主函数main可带两个形参;前者为int型;用于接收命令行中字符串个数;后者为字符串指针数组;用于接收命令行中各字符串..带参主函数的格式为:void mainint 形参1;char 形参2 {函数体}其中;形参1=参数个数+1形参20="路径\目标程序文件名"形参2i="参数i";i=1;2;…;n1标注※表示此部分为非考试内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总体上必须清楚的:2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法一定要有输出的,但可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
关键字有:auto break case char const continue defaultdo double else enum extern float forgoto if int long register return shortsigned static sizeof struct switch typedef unionunsigned void volatile whileauto :声明自动变量double :声明双精度变量或函数int:声明整型变量或函数struct:声明结构体变量或函数break:跳出当前循环else :条件语句否定分支(与 if 连用)long :声明长整型变量或函数switch :用于开关语句case:开关语句分支enum :声明枚举类型register:声明寄存器变量typedef:用以给数据类型取别名char :声明字符型变量或函数extern:声明变量是在其他文件正声明return :子程序返回语句(可以带参数,也可不带参数)union:声明共用数据类型const :声明只读变量float:声明浮点型变量或函数short :声明短整型变量或函数unsigned:声明无符号类型变量或函数continue:结束当前循环,开始下一轮循环for:一种循环语句signed:声明有符号类型变量或函数void :声明函数无返回值或无参数,声明无类型指针default:开关语句中的“其他”分支goto:无条件跳转语句sizeof:计算数据类型长度volatile:说明变量在程序执行中可被隐含地改变do :循环语句的循环体while :循环语句的循环条件static :声明静态变量if:条件语句2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
5)转义字符的考查:在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。
在程序中 int a = 065, 是一个八进制的形式。
6)算术运算符号的优先级别:同级别的有的是从左到右,有的是从右到左。
7)强制类型转换:一定是(int)a 不是int(a),注意类型上一定有括号的。
注意(int)(a+b)和(int)a+b 的区别。
前是把a+b转型,后是把a 转型再加b。
8)表达式的考查:是表达式就一定有数值。
赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。
自加、自减表达式:假设a=5,++a(是为6), a++(为5);运行的机理:++a 是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6,再放到变量a中。
进行了++a和a++后在下面的程序中再用到a的话都是变量a 中的6了。
考试口诀:++在前先加后用,++在后先用后加。
逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。
(2,3,4)的表达式的数值就是4。
9)位运算的考查:会有一到二题考试题目。
总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。
一定要记住,在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。
10)018的数值是非法的,八进制是没有8的,逢8进1。
11)%符号两边要求是整数。
不是整数就错了。
12) 两种取整丢小数的情况:1、int a =1.6;2、(int)a;第二章1)printf函数的格式考查:%d对应整型;%c对应字符;%f对应单精度等等。
宽度的,左对齐等修饰。
%ld对应 long int;%lf 对应double。
2)scanf函数的格式考察:注意该函数的第二个部分是&a 这样的地址,不是a;Scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据。
3)putchar ,getchar 函数的考查:char a = getchar() 是没有参数的,从键盘得到你输入的一个字符给变量a。
putchar(‘y’)把字符y输出到屏幕中。
5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)这个有推广的意义,注意 x = (int)x 这样是把小数部分去掉。
第三章特别要注意:c语言中是用非0表示逻辑真的,用0表示逻辑假的。
1)关系表达式:表达式的数值只能为1(表示为真),或0(表示假)当关系的表达是为真的时候得到1。
如 9>8这个是真的,所以表达式的数值就是1;2)逻辑表达式:只能为1(表示为真),或0(表示假)a) 共有&& || !三种逻辑运算符号。
b) !>&&>|| 优先的级别。
c) 注意短路现象。
考试比较喜欢考到。
(表达式1)&&(表达式2) 如果表达式1为假,则表达式2不会进行运算,即表达式2“被短路”(表达式1)||(表达式2) 如果表达式1为真,则表达式2不会进行运算,即表达式2“被短路”3)if 语句else 是与最接近的if且没有else的相组合的。
4)条件表达式:表达式1 ?表达式2 :表达式35)switch语句:a)一定要注意有break 和没有break的差别,书上(34页)的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swiche语句。
b)switch只可以和break一起用,不可以和continue用。
第四章1)三种循环结构:a)for(); while(); do- while()三种。
b)for循环当中必须是两个分号,千万不要忘记。
c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。
-d) do-while()循环的最后一个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。
考试注意点:括号在这里的重要性。
第五章函数:是具有一定功能的一个程序块;2)一定要注意参数之间的传递实参和形参之间传数值,和传地址的差别。
(考试的重点)传数值的话,形参的变化不会改变实参的变化。
传地址的话,形参的变化就会有可能改变实参的变化。
3)函数声明的考查:一定要有:函数名,函数的返回类型,函数的参数类型。
不一定要有:形参的名称。
第六章*p++ 和(*p)++的之间的差别:改错题目中很重要*p++是地址会变化。
(*p)++ 是数值会要变化。
三名主义:(考试的重点)数组名:表示第一个元素的地址。
数组名不可以自加,他是地址常量名。
(考了很多次)函数名:表示该函数的入口地址。
字符串常量名:表示第一个字符的地址。
第七章1一维数组的重要概念:对a[10]这个数组的讨论。
1、a表示数组名,是第一个元素的地址。
2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。
3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。
对a[3][3]的讨论。
1、a表示数组名,是第一个元素的地址。
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]是不同的,它们的基类型是不同的。
前者是一行元素,后三者是一列元素。
二维数组做题目的技巧:如果有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]元素,所以是2。
*(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。
那么这里就是a[1][2]元素,所以是6。
一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。