大学C语言笔记
第一章 概述
1. C语言的特点
①语言简洁、紧凑,使用方便、灵活。共有32个关键字,9种控制语句. ②运算符丰富,公有34种运算符。
③数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。 ④具有结构化的控制语句(如if…else、while、do…while、switch、for) ⑤语法限制不太严格,程序设计自由度大。
⑥允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件操作。 ⑦生成目标代码质量高,程序执行效率高。 ⑧可移植性好。
2. C语言的用途
C虽不擅长科学计算和管理领域,但对操作系统和系统实用程序以及对硬件进行操作方面,C有明显的优势.现在很多大型应用软件也用C编写。
Top of Page
第二章 数据类型、运算符与表达式
1. C的数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2. 常量与变量
常量其值不可改变,符号常量名通常用大写。变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3. 整型数据
整型常量的表示方法:十进制不用说了,八进制以0开头,如0123,十六进制以0x开头,如0x1e。
整型变量分为:基本型(int)、短整型(short int)、长整型(long int)和无符号型。不同机器上各类数据所占内存字节数不同,一般int型为2个字节,long型为4个字节.
4. 实型数据
实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点),如:0.12、.123、123 0.0等。指数形式如123e3代表123×10的三次方。
实型变量分为单精度(float)和双精度(double)两类。在一般系统中float型占4字节,7位有效数字,double型占8字节,15~16位有效数字。
5. 字符型数据
字符变量用单引号括起来,如’a',’b’等。还有一些是特殊的字符常量,如’\\n’,'\\t'等。分别代表换行和横向跳格. 字符变量以char 来定义,一个变量只能存放一个字符常量。
字符串常量是由双引号括起来的字符序列。这里一定要注意’a'和”a”的不同,前者为字符常量,后者为字符串常量,c规定:每个字符串的结尾加一个结束标志'',实际上\
6. 数值型数据间的混合运算
整型、字符型、实型数据间可以混合运算,运算时不同类型数据要转换成同一类型再运算,转换规则: char,short —> int —> unsigned -〉 long —> double 〈— float
7. 运算符和表达式
c运算符包括:
算数运算符( + - * / % ) 关系运算符( > 〈 == 〉= 〈= != ) 逻辑运算符( ! && || ) 位运算符( << >〉 ~ | ^ & ) 赋值运算符( = ) 条件运算符( ? : ) 逗号运算符( , ) 指针运算符( * & )
1 / 7
大学C语言笔记
求字节数( sizeof ) 强制类型转换(类型) 分量运算符( . —〉 ) 下标运算符( [ ] )
其它运算符( 如函数调用运算符( ) )
自增自减运算符( ++ -— )注意:++i和i++的不同之处,++i使用i之前先使i加1,i++使用i之后,使i加1。 逗号表达式的求解过程:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值。
Top of Page
第三章 最简单的c程序设计
1.c的9种控制语句:
if() ~ else~ for()~ while()~ do~while() continue break switch goto return
程序的三种基本结构:顺序结构,选择结构,循环结构
2.数据输出
c语言不提供输入输出语句,输入输出操作是由c的库函数完成。但要包含头文件stdio.h. putchar( ) 向终端输出一个字符 printf( )的格式字符:
① d格式符 用来输出十进制整数 %d 按整型数据的实际长度输出
%md 使输出长度为m,如果数据长度小于m,则左补空格,如果大于m,则输出实际长度 %ld 输出长整型数据
② o格式符 以八进制形式输出整数 ③ x格式符 以十六进制形式输出整数
④ u格式符 用来输出unsigned型数据,以十进制形式输出 ⑤ c格式符 用来输出一个字符 ⑥ s格式符 输出一个字符串 %s 输出实际长度字符串
%ms 输出的串占m列,如果串长度小于m,左补空格,如果大于m,实际输出 %—ms输出的串占m列,如果串长度小于m,右补空格,
%m。ns 输出占m列,但只取字符串中左端n个字符并靠右对齐 %—m.ns m、n含义同上,靠左对齐,如果n〉m,则m自动取n值 ⑦ f格式符 以小数形式输出实数
%f 整数部分全部输出,小数部分输出6位
%m.nf 输出数据共占m列,其中有n位小数.如果数值长度小于m,左补空格 %—m.nf 同上,右补空格
⑧ e格式符 以指数形式输出实数
%e 系统指定6位小数,5位指数(e+002 )
⑨ g格式符 输出实数,根据数值大小,自动选f格式或e格式
3.数据输入
getchar( ) 从终端输入一个字符
scanf( 格式控制,地址列表) 标准C scanf中不使用%u,对于unsigned型数据,以%d或%o或%x输入.%后的*,用来跳过它相应的数据。输入数据时不能规定精度如scanf( \%7.2f”, &a );是不合法的。
Top of Page
第四章 逻辑运算和判断选取控制
1. 关系运算符:
c提供6种关系运算符(> 〈 〈= 〉= == != )前四种优先级高于后两种。
2. If语句
2 / 7
大学C语言笔记
C提供了三种形式的if语句 If(表达式) 语句
If(表达式) 语句1 else 语句2 If(表达式1) 语句1
Else if(表达式2) 语句2 …
else 语句n
3. 条件运算符
(a〉b)?a:b 条件为真,表达式取值a,否则取值b
4. Switch语句
Switch(表达式) {
case 常量表达式1:语句1; break; case 常量表达式2:语句2; break; …
case 常量表达式n:语句n; break; default :语句n+1; }
Top of Page
第五章 循环控制
1. 几种循环语句
goto语句(现已很少使用)
while语句 先判断表达式后执行语句
do—while语句 先执行语句后判断表达式 for语句
2. Break语句和continue语句
Break语句用于跳出循环,continue用于结束本次循环.
Top of Page
第六章 数组
1. 一维数组
c规定只有静态存储(static)和外部存储(extern)数组才能初始化。给数组初始化时可以不指定数组长度。
2. 二维数组
3. 字符数组
部分字符串处理函数
puts(字符数组) 将一个字符串输出到终端.
gets(字符数组) 从终端输入一个字符串到字符数组,并且得到一个函数值,为该字符数组的首地址 strcat(字符数组1,字符数组2) 连接两个字符数组中的字符串,数组1必须足够大。 Strcpy(字符数组1,字符串2) 将字符串2拷贝到字符数组1中。
Strcmp(字符串1,字符串2) 比较字符串,相等返回0,字符串1>字符串2,返回正数,小于返回负数。 Strlen(字符数组) 求字符串长度.
Strlwr( 字符串) 将字符串中的大写字母转换成小写 Strupr( 字符串) 将字符串中的小写字母转换成大写 以上是一些比较常用的字符串处理函数。
Top of Page
第七章 函数
3 / 7