C语言课堂笔记(哈工大苏小红版)排版后 联系客服

发布时间 : 星期五 文章C语言课堂笔记(哈工大苏小红版)排版后更新完毕开始阅读4d78b87aeffdc8d376eeaeaad1f34693daef10fc

C语言程序设计基础笔记

C语言课堂笔记

1. 2. 3.

信息工程学院 软件技术1班 张龙彪

一个标准C程序必须有且仅有一个main函数(主函数),标准C程序总是从main开始执行,与main所在位置无关。

除复合语句外,C语句都是以分号作为结束标志。(建议一行只写一条语句)。 关键字(保留字):C语言中预先规定的具有固定含义的一些单词。用户只能按照其预定含义使用,不得擅自改变意思。此类关键字有:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while。

标识符:分为系统定义标识符和用户自定义标识符两类。系统定义标识符(允许用户赋予其新含义)如main、库函数名printf、scanf等。用户自定义标识符如add 变量x、y、sum等。

分隔符:空格 回车或换行(程序中相邻的关键字、标识符之间等形式) 逗号(相邻同类项之间的分隔)。

其他符号:花括号:{} /* */ 。 运算符的优先级: 优先级 运算符 I () [] -> . ++ -- ! ~ ++ -- - * & (类型标识符) 4.

5. 6. 7. 含义 圆括号,函数参数表 数组元素下标 指向结构体成员 引用结构体成员 后缀增1、后缀减1 运算类型 结合方向 自左向右 II Sizeof III IV V VI VII VIII 九 十 十一 十二 *、/、% + - << >> < <= >、>= & ^ | && || 逻辑非 按位取反 前缀增1,前缀减1 求负 间接寻址运算符 取地址运算符 强制类型转换运算符 计算字节数运算符 乘、除、整数求余 加、减 左移、右移 小于、小于等于 大于、大于等于 按位与 按位异或 按位或 逻辑与 逻辑或 单目运算符 自右向左 双目算术运算 双目算术运算 位运算 关系运算 关系运算 位运算 位运算 位运算 逻辑运算 逻辑运算 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 == != 等于 不等于 滨州学院 信息工程学院 软件技术一班 张龙彪

C语言程序设计基础笔记

十三 十四 ?: 条件运算符 三目运算 双目运算 自右向左 自右向左 = 赋值运算符 += -= *= /= %= 复合赋值运算符 &= ^= |= <<= >>= , 逗号运算符 十五 顺序求值运算 自左向右 附(几个概念):

8.常用运算符的优先级与结合性 【习题2】习题所涉知识点:

① 变量命名:由字母、数字和下划线组成,第一位只能为字母或下划线,不饿能和C中保

留字完全相同。 ② 逻辑值“真”“假”判断:整数值0表示假,其他true,和任何非0数值均表示真。 ③ 字符常量:’’(单引号)括起来的单个普通字符或转义字符。

常用转义序列:

字符 含义 字符 ‘\\a’ ‘\\”’ ‘\\\\’ ‘\\?’ 含义 响铃报警 一个双引号 单引号 一个反斜线 问号 ‘\\n’ 换行 ‘\\r’ 回车,但不换行 ‘\\t’ 水平制表 ‘\\v’ 垂直制表 ‘\\b’ 退格 ‘\\f’ 走纸换页 通常作为字符串结束标志 ‘\\’’ ‘\\0’ 空字符,‘\\ddd’ 1-3位八进制ASCII码值所代表的字符 ‘\\xhh’ 1-2位十六进制ASCII码所代表的字符 编程提示:每次按下Tab键,并不是从当前的光标位置向后移动一个Tab的宽度,而是移动到下一个制表位,实际移动的宽度视当前光标的位置距相邻的下一个制表位的距离而定。 ④ 字符串常量:有一对双引号括起来的一个字符序列,Eg. “qwer” “123” “w”等

等。(“a”为字符串常量,’a’才是字符常量)

注:系统对每个用双引号括起来的字符串常量都添加一个字符串结束标志’\\0’为便于C程序判断字符串是否结束,’\\0’不引起任何控制动作,也不显示。 ⑤ Char:定义字符型变量,用来存储数据。

⑥ 字符串常量“\\t\\”Name\\\\Address\\n”的长度为15。【解析】\\t为水平制表为一个字符,

\\、”、Name 、 \\\\(一个反斜线) 、 Address 。 \\n表示换行,不是字符。

9.程序源代码是静态的,只有运行起来才能发挥作用。编辑:用程序设计语言设计源代码;编译:用户只需要发出编译指令,其他由编译器完成。编译器可以把程序设计语言转化成目标代码;链接:连接器把用户程序和支持它运行的必需的其他程序都合成在一起的过程,最后形成可执行文件的过程(DOS和Win下为.exe文件)。

10.程序运行时适合数据一起保存在内存,由CPU执行,存储形式为二进制,单位是字节。内存每个单元都被分配一个唯一的整数,称为地址。

11.函数(Function)是C程序的基本单位,即C程序是由函数构成的。标准C程序有且仅有一个用main明明的函数,这个函数成为主函数。标准函数都是从main开始执行,而与他在程序中的位置无关。

滨州学院 信息工程学院 软件技术一班 张龙彪

C语言程序设计基础笔记

12.函数由函数首部和函数体两部分组成。函数首部包括对函数返回值类型、函数名、形参类型、形参名的说明。Main函数不需要在外界接受信息,但其他函数需要利用形参在外界接受参数信息。函数名后的一对花括号不可以省略。

13.标识符命名:由英文字母、数字和下划线组成,且必须以英文字母或者下划线开头。不允许使用关键字作为标识符的名字,且不允许与库函数名重复。Win通常用大小写混排方式命名,如AddChild等。Linux通常用小写加下划线命名,如add_child。建议不要将两种风格混在一起使用。

14.整形常量:在计算机中均用二进制方式存储,但表示形式可以用十进制、八进制、十六进制。编译系统会自动讲其转换为二进制形式进行存储。 15.整形常量类型的确定:长整形变量由常量值后跟L 或l来表示如-256L,1024l等等。(带理解)。

16.计算机中的实型数以浮点形式表示,即小数点位置可以浮动的。

17.C语言中字符常量用单引号括起来的字符,如’a’,’2’等。’3’表示一个字符,而3表示一个整数。为了表示某些控制字符(如回车符、换行符等),C语言引入了一种特殊形式的字符常量—转义序列。用斜线\\开头,凡是有该反斜线,编译器会自动将转义字符和下一个字符组成一个转义序列。 18.宏常量 #define N 100 这种类型,是编译预处理指令。将字符中出现的宏名替换成字符串的过程成为宏替换。

19.宏变量名一般用大写字母表示(为了与源程序中的变量名有所区别)。 20.用双引号括起来的字符串如果与宏名相同,不会被宏替换。

21.变量是在程序执行过程中可以改变、可以赋值的量,变量遵循“先定义,后使用”原则。定义形式为类型关键字 变量名1,变量名2;(多个变量定义用,分隔,用;结束)。 22.整型的类型关键字为int,但江都的实行类型关键字为float,双精度的实型类型关键字为double,字符型的类型关键字为char。

如:short max //等价于short int max; long sum //等价于long int sum;unsigned int area//定义area为无符号整型变量。Float score //定义score为单精度实型变量。Double total//定义total为双精度实型变量。Char sex//定义sex为字符型变量。可以定义的时候直接用=赋初值为0或其他想赋的值。

23.变量名标识内存中的一个具体的存储单元,变量值则是存储单元中存放的数据。

24.定义变量时,只要不指定为无符号类型,其隐含类型就是有符号类型,signed通常都是省略不写的。

25.sizeof可以获得类型或变量的字长(所占存储空间的大小)。Sizeof是一个编译时执行的运算符,不会导致额外的运行时的开销,他是在编译期间执行的,除非他的操作数是一个可变的长度数组。

26.一个字符型变量之恩能够存储一个字符,存储字符串需要用字符数组。

27.编程时注意实型变量数据的舍入误差,注意表示的值的数值溢出问题。四舍五入的写法用+0.5再取整表示。

28.常用的标准数学函数: 函数名 功能 函数名 功能 Sqrt(x) 计算x的平方根,x>=0 Fabs(x) 计算x的绝对值 Log(x) 计算lnX的值,而不是logaX Log10(X) 计算lgx的值 Exp(x) 计算e^X的值 Pow(x,y) 计算x^y的值 Sin(x) 计算sinx的值,x为弧度制 Cos(x) 计算cosx的值,x为弧度制 29.在C语言中,非“0”值均表示真,也可以不是数值,只有‘0’表示假。 滨州学院 信息工程学院 软件技术一班 张龙彪

C语言程序设计基础笔记

30.逻辑运算符:!单目逻辑非;&&双目逻辑与 ||双目逻辑或。

31.闰年的表示条件,可以被4整除,但不能被100整除 或者 被400整除。 32.赋值运算符:变量名=表达式 判等 表达式1==表达式2. 33.n*=m+2 等价于 n=n(m+2)。

34.类型强制转换运算符:使用强制转换运算符,可把表达式的结果硬性转换为一个用户制定的类型值,他是一个单目运算符,与其他单目运算符优先级相同。形式:(类型)表达式 35.表达式中的类型转换: Float Char,short Double long unsigned int 高 低 36.复合语句:用一对花括号括起来构成的语句成为复合语句,也称为语句块。 {语句1;语句2;语句3;语句4}

注:在复合语句中定义的变量只能在复合语句中使用。

37.在表达式语句中,没有人何必脑大师而只有一个分号,成为空语句。 ;//空语句。 38.字符输入输出getchar(),putchar(),是专门用于字符输入输出的函数,其中getchar()用于从键盘上读取一个字符,它等待用户击键后,将读入值返回,并自动把用户击键结果回显到屏幕上。格式:变量=getchar putchar(变量)。 39.整型输入输出 scanf(“%d”,&n); printf(“%d”,n); 40.表格1:函数printf()的格式转换说明符。 41.表格2:函数scanf()的格式转换说明符。

42.数据结构(数据的描述和组织形式)+算法(对操作或行为的描述,即操作步骤)=程序。 43.程序:有穷性、确定性、有效性、没有输入或有多个输出、有一个或多个输出。 44.流程图:

→↓(流程线) I 开始/结束框 一般处理框 判断框 输入输出框 连接符 45.顺序结构、选择结构(条件语句if-else)、循环结构。开关语句switch {case常量1}。 46.直到型循环(do{}while{}),当型循环while(){} for(表达式1;表达式2;表达式3){}。

47.switch {case1 ;case2;case3}开关语句后用break终止后面的执行。

48.循环结构 while(表达式){可执行语句序列}。Do-while用来实现直到型循环,先执行,后判断。当执行次数大于一次时,直到型循环与当型循环作用相同。当第一次就为假时,do-while会执行一次,而当型循环一次也不执行。(在第一次进入循环时条件就不为真的特殊情况下,while语句和do-while语句是不等价的。) 49.for(表达式1;表达式2;表达式3),其中表达式1的作用是初始化变量。表达式2的作用是给出循环重复执行的判断条件。表达式3的作用是给循环控制变量增值。三个表达式用“;”分隔。

50.while(表达式2){可执行语句序列,表达式3}

51.while和do-while与剧中的表达式和for语句中的表达式2都是循环继续的条件,而不是循环终止条件。如果没有能够最终将条件改变为假的条件,那么循环永远都不会终止,变

滨州学院 信息工程学院 软件技术一班 张龙彪