公务员-计算机类 C语言程序设计知识点
- 格式:doc
- 大小:45.50 KB
- 文档页数:6
c 语言程序设计知识点C 语言程序设计知识点C语言是一种广泛应用于计算机科学和编程领域的程序设计语言,它具有简洁、高效、灵活的特点。
在学习和应用C语言时,掌握一些重要的知识点非常关键。
本文将针对C语言程序设计的知识点进行详细介绍,以帮助读者更好地理解和运用C语言。
一、数据类型1. 基本数据类型C语言中的基本数据类型包括整型、浮点型、字符型和布尔型。
整型可以进一步分为短整型、整型和长整型,浮点型可以分为单精度浮点型和双精度浮点型。
了解各种数据类型的范围和表示方式对于正确使用和处理数据非常重要。
2. 数组和指针数组是一种用于存储多个相同类型数据的结构,而指针则是用于存储变量地址的变量。
了解如何声明、初始化和使用数组,以及指针与数组之间的关系,对于处理大量数据和灵活地管理内存非常有帮助。
二、控制结构1. 顺序结构顺序结构是程序中最基本的结构,即按照代码的书写顺序逐行执行。
熟练掌握C语言的语法规则能够正确地编写顺序结构的程序。
2. 分支结构分支结构根据条件的真假来选择不同的执行路径,通常使用if语句或switch语句。
理解条件表达式、逻辑运算符和比较运算符的用法,以及防止悬挂else的技巧,对于编写高效的分支结构非常重要。
3. 循环结构循环结构可以重复执行指定的代码块,通常使用while循环、do-while循环和for循环。
了解循环控制变量的初始化、循环条件的判断和循环体的更新,能够编写出正确而高效的循环结构。
三、函数和模块化1. 函数的定义和调用函数是一段完成特定任务的代码块,可以提高代码的复用性和可维护性。
了解如何定义函数、函数参数的传递方式和函数调用的过程,能够更好地组织和管理程序代码。
2. 递归递归是一种将大问题分解为小问题并通过调用自身来解决的方法。
掌握递归的原理和应用场景,能够解决一些具有递归结构的问题。
3. 模块化编程模块化编程是将程序分解为多个相互独立的模块,每个模块负责完成一个特定的功能。
C语言程序设计知识点总结C语言程序设计是学习编程语言中的一门基础课程,它是从事计算机相关工作的学生必须掌握的一门重要知识。
在学习C语言程序设计过程中,我们需要掌握一些必要的基本知识点,下面是一些关于C语言程序设计的知识点总结。
1.C语言基础知识-C语言的发展历程,C语言的特点,C语言的编译过程等等。
-C语言的关键字和标识符的规则。
-C语言的数据类型,包括整型、浮点型、字符型等。
2.C语言基本语法-C语言的注释的规则,包括单行注释和多行注释。
-C语言的变量的定义和使用方法。
-C语言的常量的定义和使用方法。
-C语言的表达式和运算符的使用方法。
-C语言的流程控制结构,包括顺序结构、选择结构和循环结构等。
3.C语言的函数-C语言的函数的定义和结构。
-C语言的函数的参数传递方式,包括值传递和引用传递。
-C语言的函数的递归调用以及递归函数的实现。
4.C语言的数组和字符串-C语言的一维数组和多维数组的定义和使用方法。
-C语言的字符数组和字符串的定义和使用方法。
-C语言的数组和字符串的输入输出操作方法。
5.C语言的指针-C语言的指针的定义和使用方法。
-C语言的指针的运算和指针与数组的关系。
-C语言的指针作为函数参数的传递方式。
6.C语言的结构体和共用体-C语言的结构体的定义和使用方法。
-C语言的共用体的定义和使用方法。
-C语言的结构体与指针的关系。
7.C语言的文件操作-C语言的文件的打开和关闭操作。
-C语言的文件的读取和写入操作。
-C语言的文件指针的基本操作方法。
8.C语言的动态内存管理- C语言的动态内存分配函数的使用方法,包括malloc、calloc和realloc等。
- C语言的动态内存释放方法,包括free函数的使用。
9.C语言的预处理器-C语言的宏定义和宏调用的规则。
-C语言的条件编译指令和宏定义的使用。
10.C语言的错误处理和调试技巧-C语言程序中的常见错误类型和调试技巧。
- C语言程序的错误处理方法,包括使用errno常量和perror函数等。
《C语言程序设计》基本知识点第一章C语言基本知识1.C源程序的框架尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。
2.C语言源程序的书写规则:(1)C源程序是由一个主函数和若干个其它函数组成的。
(2)函数名后必须有小括号,函数体放在大括号内。
(3)C程序必须用小写字母书写。
(4)每句的末尾加分号。
(5)可以一行多句。
(6)可以一句多行。
(7)可以在程序的任何位置加注释。
3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。
(1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。
其中后两种结构要用特定的流程控制语句实现。
(2)表达式语句表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。
表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。
最常见的表达式语句是赋值语句。
(3)函数调用语句函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。
(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。
(5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。
注意复合语句中最后一个语句末尾的分号不能少。
复合语句右大括号后面没有分号。
4.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
01.C程序基本结构一、C语言的特点:1、C语言源程序的基本组成单位是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。
,2、C程序的执行总是由main()函数的第一个可执行语句开始,到main()函数的最后一个可执行的语句结束;而其他函数都是在main()函数开始执行以后,通过其他函数的调用才得以运行。
3、C语言系统提供了丰富的库函数,用户在程序中需要调用某个库函数时,必须用#include编译预处理命令将描述该库函数的头文件包含进去。
二、C程序的书写格式:1、语句可从分开放在任意多行内;如:printf(“To C,”);printf(“ or not to C:”);与printf(“To C , or not to C:”);是等价的2、一行中可以有若干个语句;如:a=123;b=345;3、每个语句和数据定义的最后必须有一个分号;三、C语言程序的运行:1、编译(Compile):将C源程序文件翻译成能被计算机识别的二进制形式的“目标”文件;编译时,编译器将检查源程序每一条语句的语法错误。
2、建造(Bulid):C语言程序示例:显示“Hello”#include<stdio.h>int main(void){printf(“Hello.\n”);return 0;}说明:#include<stdio.h> 是必不可少的,它包含了C语言标准输入输出库的相关信息;printf函数来自”标准输入输出库”,可以产生格式化输出;\n 告诉printf函数执行完信息显示后要进行换行操作;return 0 表明程序终止时会向操作系统返回值0;{ }来标出main()函数的起始和结束。
02.数据类型一、C语言的特点:1、C语言源程序的基本组成单位是函数;一个C程序可由若干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。
《C程序设计》复习资料知识点总结C程序设计复习资料知识点总结C程序设计是计算机科学与技术专业中的一门基础课程,掌握好相关知识点对于学习和实践都具有重要的意义。
本文将对C程序设计的一些重要知识点进行总结和归纳,旨在帮助读者更好地复习和掌握相关内容。
一、基础概念1. 编程语言:简述编程语言的作用和分类,并着重介绍C语言的特点和优势。
2. 算法与流程控制:详细介绍算法的概念、设计方法和常见的流程控制结构,如顺序结构、分支结构和循环结构。
二、数据类型与运算符1. 数据类型:介绍C语言中的基本数据类型,如整型、浮点型和字符型,以及数组和指针等扩展数据类型。
2. 运算符:列举C语言中常用的算术运算符、逻辑运算符和关系运算符,并给出相应的使用示例。
三、函数与模块化编程1. 函数定义与调用:详细介绍函数的定义、声明和调用方法,并说明函数的重要性和作用。
2. 函数参数传递:介绍传值与传址的区别和应用场景,并对函数参数传递的相关知识进行解析。
3. 模块化编程思想:强调模块化编程的优点和原则,并介绍如何将程序分解为多个模块以便于维护和管理。
四、数组与字符串1. 数组的定义与使用:详细介绍一维数组和多维数组的定义、初始化和操作方法,并给出相应的示例代码。
2. 字符串的处理:介绍字符串的定义、初始化和常见操作方法,如字符串长度计算、字符串拷贝和字符串连接等。
五、文件操作1. 文件的打开与关闭:介绍如何在C语言中打开和关闭文件,并说明不同打开方式的区别。
2. 文件读写操作:详细介绍文件的读取和写入方法,并给出读写文件的示例代码。
六、指针与动态内存管理1. 指针的概念与应用:详细介绍指针的定义和使用方法,以及指针与数组、字符串之间的关系。
2. 动态内存分配:介绍动态内存分配的概念和原理,并说明动态内存分配的优势和注意事项。
七、结构体与文件操作1. 结构体的定义与使用:详细介绍结构体的定义和使用方法,并说明结构体与数组、指针之间的关系。
C语言程序设计知识点1. 基本数据类型:C语言支持多种基本数据类型,包括整数类型(int、short、long)、浮点类型(float、double)、字符类型(char)以及引入了布尔类型(bool)。
2. 变量与常量:在C语言中,变量是用于存储数据的标识符,需要在使用之前声明并分配内存空间。
常量是固定的数值,可以通过const关键字来定义。
3.运算符:C语言支持多种运算符,包括算术运算符(+、-、*、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&,!)等,用于进行各种数值计算和逻辑判断。
4. 控制语句:C语言提供了多种控制语句,包括顺序结构、分支结构(if-else、switch-case)和循环结构(while、do-while、for),用于控制程序的执行流程。
5.函数:函数是C语言的基本组成单元,可以封装一段特定的代码逻辑,并且可以在程序中多次调用。
C语言中可以定义自己的函数,并且可以使用标准库中提供的函数。
6.数组:数组是一组相同类型的数据元素的集合,可以通过下标访问其中的元素。
C语言支持一维和多维数组,并且提供了一些数组操作的函数。
7.字符串:字符串是由字符组成的序列,在C语言中,字符串以字符数组的形式存储,并且以特殊字符'\0'作为结束标记。
C语言提供了一些常用的字符串处理函数。
8.指针:指针是C语言的重要特性,它是一个用来存储内存地址的变量。
通过指针,可以访问和操作内存中的数据,以及实现动态内存分配和释放。
9.结构体:结构体是一种自定义的数据类型,可以将若干不同类型的数据组合在一起,形成一个新的数据类型。
通过结构体,可以更好地组织和管理数据。
10.文件操作:C语言提供了一些文件操作的函数,可以实现对文件的读写操作。
通过文件操作,可以实现数据的持久化存储和读取。
11.预处理指令:预处理指令是在程序编译之前由预处理器处理的。
c 程序设计知识点C 程序设计是计算机科学中一门重要的编程语言,广泛应用于系统软件、嵌入式系统以及科学计算等领域。
掌握 C 程序设计的基本知识点对于想要成为一名合格的程序员来说是必不可少的。
本文将介绍一些 C 程序设计的核心知识点。
一、基本数据类型C 语言提供了几种基本数据类型,包括整型、浮点型、字符型和布尔型等。
掌握这些基本数据类型的使用方法是编写 C 程序的基础。
1. 整型整型是用来表示整数的数据类型,包括有符号整型和无符号整型。
常用的有 int、long 和 short 等。
在声明整型变量时,可以指定变量的字节长度。
2. 浮点型浮点型用来表示带有小数部分的数值,包括单精度浮点型和双精度浮点型。
常用的有 float 和 double 等。
3. 字符型字符型用来表示单个字符,用单引号括起来。
例如,'A' 表示字符 A。
4. 布尔型布尔型用来表示真或假的值,只能取两个值:true 或 false。
在 C 语言中,用整型数据类型 int 来表示布尔型,0 表示假,非零值表示真。
二、运算符和表达式C 语言提供了多种运算符,可以用于变量的赋值、数学运算、逻辑运算等。
掌握这些运算符的使用方法是编写 C 程序的关键。
1. 算术运算符算术运算符用于进行数学运算,包括加法、减法、乘法、除法和取模等。
例如,+、-、*、/ 和 %。
2. 关系运算符关系运算符用于比较两个值的大小关系,返回 true 或 false。
常用的关系运算符有大于、小于、等于、不等于、大于等于和小于等于等。
例如,>、<、==、!=、>= 和 <=。
3. 逻辑运算符逻辑运算符用于组合多个条件,返回 true 或 false。
常用的逻辑运算符有与、或和非等。
例如,&&、|| 和 !。
4. 赋值运算符赋值运算符用于给变量赋值。
常用的赋值运算符有等于、加等于、减等于、乘等于和除等于等。
例如,=、+=、-=、*= 和 /=。
C程序设计期末复习知识点1.C语言基础-了解C语言的历史和发展。
-了解C语言的特性,例如:面向过程、可移植性、高效性等。
-理解C语言的编译过程,包括预处理、编译、汇编和链接。
-掌握C语言的基本语法,包括变量定义、标识符命名规则、注释、运算符等。
2.数据类型-理解C语言的基本数据类型,包括整型、浮点型、字符型和布尔型。
-知道各种数据类型的取值范围和存储大小。
-理解数据类型之间的转换规则。
3.控制结构- 掌握条件语句,包括if语句、switch语句。
- 掌握循环结构,包括for循环、while循环和do-while循环。
- 了解循环控制语句,包括break和continue语句。
4.数组和指针-理解一维和多维数组,包括如何定义、初始化和访问数组元素。
-掌握指针的概念,包括如何定义和使用指针变量。
-理解指针和数组的关系,包括指针和数组之间的相互转换。
5.函数-理解函数的概念和作用,包括函数的定义、声明和调用。
-理解参数传递的方式,包括传值和传引用。
-理解局部变量和全局变量的作用域和生命周期。
-理解递归函数的原理和应用。
6.文件操作-了解文件的概念和类型。
-掌握文件的打开、关闭、读取和写入操作。
-知道如何创建文件、删除文件和改变文件属性。
-理解文件指针的使用,包括定位文件读写位置等。
7.结构体和联合体-理解结构体的概念,包括如何定义和使用结构体。
-掌握结构体成员的访问方式。
-了解联合体的概念和用途。
-知道结构体和联合体的区别。
8.动态内存分配- 了解动态内存分配和释放的方法,包括malloc、calloc和realloc函数。
-理解内存泄漏和内存溢出的概念和原因。
-知道如何使用指针来管理动态分配的内存。
9.字符串处理-理解字符串的概念,包括如何定义和使用字符串变量。
- 掌握字符串的输入和输出操作,包括fgets、fputs和printf函数。
- 掌握字符串的处理函数,包括strlen、strcpy、strcat、strcmp 等。
C语言程序设计重点知识C语言是一种通用的编程语言,广泛应用于嵌入式系统和操作系统开发。
在学习C语言程序设计时,有一些重点知识点是需要重点掌握的。
1.数据类型和变量:C语言提供了多种数据类型,包括整型、浮点型、字符型和指针等。
了解各种数据类型的使用方法和区别非常重要,以便正确地定义和使用变量。
2.运算符和表达式:C语言提供了多种运算符和表达式,包括算术运算符、逻辑运算符和位运算符等。
了解这些运算符的优先级和使用方法,可以编写出更加高效和灵活的代码。
3.控制结构:C语言提供了多种控制结构,包括条件语句、循环语句和跳转语句等。
了解这些控制结构的使用方法,可以编写出更加灵活和可读性强的代码。
4.数组和字符串:C语言提供了数组和字符串的支持。
了解如何定义和操作数组和字符串,可以进行更加高效和灵活的数据处理。
5.函数:C语言通过函数来组织代码。
了解如何定义和调用函数,以及函数的参数传递和返回值,可以进行更加模块化和可维护的程序设计。
6.指针:指针是C语言的重要特性之一、了解指针的概念和使用方法,可以进行更加灵活和高效的内存管理和数据操作。
7.文件操作:C语言提供了文件操作的支持。
了解如何打开、读取和写入文件,以及文件指针的使用方法,可以进行更加灵活和高效的文件处理。
8.结构体和联合体:C语言提供了结构体和联合体的支持,用于定义复杂的数据类型。
了解如何定义和使用结构体和联合体,可以进行更加灵活和可扩展的数据处理。
9.预处理器和宏:C语言提供了预处理器和宏的特性。
了解如何使用宏定义常量和函数,可以进行更加灵活和可配置的代码编写。
10.程序调试和错误处理:学习C语言程序设计还需要掌握如何进行程序调试和错误处理。
了解如何使用调试工具和技巧,以及如何处理程序中可能出现的错误和异常情况。
通过对这些重点知识的学习和掌握,可以编写出更加高效、灵活和可维护的C语言程序。
同时,也需要不断实践和运用这些知识,通过实际编程来提升自己的C语言编程能力。
(完整版)《C语言程序设计》知识点总结,推荐文档《C语言程序设计》知识点总结C语言是一门古老而又经典的编程语言,广泛应用于软件开发、嵌入式系统等领域。
掌握C语言的基本知识和技巧对于初学者而言至关重要。
本文将对C语言程序设计的基本知识点进行总结,并推荐几个学习C语言的优质文档。
一、基础知识点1. 数据类型:C语言提供了多种数据类型,包括整型、浮点型、字符型等。
了解各种数据类型的特点和使用方法是编写有效程序的基础。
2. 变量和常量:变量是存储数据的容器,常量则是不可改变的值。
学习如何声明和使用变量,以及如何使用常量对程序进行控制是学习C语言的重要一步。
3. 运算符:C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。
理解运算符的优先级和使用方法,能够更灵活地进行计算和逻辑操作。
4. 控制语句:控制语句包括顺序结构、选择结构和循环结构。
熟练掌握if语句、switch语句和for循环、while循环等,可以编写出更加灵活和可控制的程序。
5. 函数:函数是C语言中最基本的组织单位,能够实现特定的功能并可以反复调用。
学习如何定义和调用函数,以及如何传递参数和返回值,对于模块化程序设计至关重要。
二、进阶知识点1. 数组:数组是相同数据类型的元素集合,可以按照下标访问其中的元素。
了解如何声明和使用一维数组和多维数组,可以处理更复杂的数据结构和算法。
2. 指针:指针是C语言的一大特色,可以直接访问内存地址。
熟悉指针的概念、声明和使用方法,能够更加高效地进行内存操作和数据传递。
3. 结构体和联合体:结构体可以将不同类型的数据组合在一起,联合体则共用同一块内存存储不同类型的数据。
学习如何定义和使用结构体和联合体,可以更好地组织和管理复杂的数据结构。
4. 文件操作:C语言提供了一系列的文件操作函数,可以进行文件的读写和管理。
了解如何打开、读取和写入文件,可以处理更多实际应用场景。
5. 动态内存分配:动态内存分配是指在程序运行期间动态地分配内存空间。
C语言最重要的知识点复习资料!保及格!C语言最重要的知识点复习资料!要学的都来看看。
保你及格!总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.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中的第一个字母大写了,所以不是关键字。
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 = 06d, 是一个八进制的形式。
在转义字符中,’\x6d’ 才是合法的,0不能写,并且x是小写。
‘\141’ 是合法的, 0是不能写的。
‘\108’是非法的,因为不可以出现8。
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)位运算的考查:会有一到二题考试题目。
总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。
例1:char a = 6, b;b = a<<2; 这种题目的计算是先要把a的十进制6化成二进制,再做位运算。
例2:一定要记住,例3:在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。
10)018的数值是非法的,八进制是没有8的,逢8进1。
11)%符号两边要求是整数。
不是整数就错了。
12) 三种取整丢小数的情况:1、int a =1.6;2、(int)a;3、第二章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输出到屏幕中。
4)如何实现两个变量x ,y中数值的互换(要求背下来)不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。
5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)这个有推广的意义,注意 x = (int)x 这样是把小数部分去掉。
第三章特别要注意:c语言中是用非0表示逻辑真的,用0表示逻辑假的。
1)关系表达式:表达式的数值只能为1(表示为真),或0(表示假)当关系的表达是为真的时候得到1。
如 9>8这个是真的,所以表达式的数值就是1;2)逻辑表达式:只能为1(表示为真),或0(表示假)a) 共有&& || !三种逻辑运算符号。
b) !>&&>|| 优先的级别。
c) 注意短路现象。
考试比较喜欢考到。
d) 要表示 x 是比0大,比10小的方法。
0<x<10是不可以的(一定记住)。
是先计算0<x 得到的结果为1或则0;再用0,或1与10比较得到的总是真(为1)。
所以一定要用 (0<x)&&(x<10)表示比0大比10小。
3)if 语句else 是与最接近的if且没有else的相组合的。
4)条件表达式:表达式1 ?表达式2 :表达式3注意是当非0时候是表达式2的数值,当为0是就是表达式2的数值。
考试口诀:真前假后。
5)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。
考试注意点: 括号在这里的重要性。
第五章函数:是具有一定功能的一个程序块;1) 函数的参数,返回数值(示意图):main(){int a = 5,b=6,c;c = add(a,b);printf(“%d”,c);}调用函数a,b是实参整个函数得到一个数值就是Add函数的返回数值。
int add ( int x, int y){int z;z=x+y;return z;}被调用函数x,y是形式参数函数返回数值是整型z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。
程序是在从上往下顺序执行,当碰到了函数add后,把a,b的数值穿给调用函数,程序暂时中断等待返回数值。
当得到了返回数值后,再顺序的往下执行2)一定要注意参数之间的传递实参和形参之间传数值,和传地址的差别。
(考试的重点)传数值的话,形参的变化不会改变实参的变化。
传地址的话,形参的变化就会有可能改变实参的变化。
3)函数声明的考查:一定要有:函数名,函数的返回类型,函数的参数类型。
不一定要有:形参的名称。
第六章指针变量的本质是用来放地址,而一般的变量是放数值的。
int *p 中 *p和p的差别:*p可以当做变量来用;*的作用是取后面地址p里面的数值p是当作地址来使用。
*p++ 和(*p)++的之间的差别:改错题目中很重要*p++是地址会变化。
(*p)++ 是数值会要变化。
三名主义:(考试的重点)数组名:表示第一个元素的地址。
数组名不可以自加,他是地址常量名。
(考了很多次)函数名:表示该函数的入口地址。
字符串常量名:表示第一个字符的地址。
第七章1一维数组的重要概念:对a[10]这个数组的讨论。
1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。
2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。
3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。
对a[3][3]的讨论。
1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。
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]元素,所以是1。