1、循环的基本要求: 22while( ) 循环 22do . while( 条件表达式 ) ; 25for () 循环 26循环结构作为循环结构的子语句(循环结构的嵌套) 29break 和continue语句的用法 32第六章 字符型数据 33字符常量: 33在有命令行 stdio.h 的前提下,讲两个函数 343: 解释 34多个不同格式之间不加任何符号输入 34多条输入语句同时执行 34在有命令行stdio.h的情况下,C语言中0、0、NULL意思是等价的 35第七章 函数 37注意几点 37函数的分类: 37用户自定义函数的定义形式:例 37程序的流程中的问题 37在程序执行过程中有三个
2、问题 38第九章:数组 49指针变量 69第十章:字符串 73定义: 73字符型数组: 在边定义边赋值时,没有使用完的存储空间中默认 存放 0 这个字符常量 74字符串在内存中要 占据一维字符型 数组的存储区域 74字符串 和 整型数组、字符型数组、实型数组的最大区别是: 74 %s 的意思:几种常见的字符串赋值方法 74 通过程序来形成 字符串 75几种常见的对字符串处理的 函数 的使用方法。 76二维字符型数组 78第十一章 对函数的进一步讨论 81 主函数中的参数 81指向函数的指针 82递归算法: 83第十二章:全局变量、局部变量、存储分类 84在函数体外部定义的变量叫 全局变量 84
3、全局变量的作用域 从定义语句下面到本程序完为至。 84局部变量的作用域 从定义语句下面到本函数完为至。当全局变量与局部变量同名时,在局部范围内,以局部变量的值为准 84静态局部变量 static 85第十三章 宏定义、宏代换、动态存储 86 宏定义: 86宏代换:动态存储分配: 87第十四章:结构体、共用体 88定义形式: 88 结构体的使用方法:结构体变量的定义方法: 89结构体数组的使用 89结构体指针的使用方法: 90类型声明符的使用 typedef 90结构体变量所占据的存储空间是它的各个成员所占据存储空间之和 91 简单的单向链表 92共用体 93第十五章: 位运算 95第十六章 文
4、件 951: 文件指针 的定义 95 开打文件 95关闭文件 95fgetc( ) fputc( ) 函数的使用 95fscanf( ) 和 fprintf( ) 函数的用法 96fgets( ) 和 fputs( ) 函数的用法 96 fread( ) 和 fwrite( ) 函数的使用方法 97文件定位函数 97 rewind 函数 称为“反饶”函数,调用格式如下: 98附录1 99一: C语言常用关键字 99二:运算符的优先级和结合性 99附录2 库函数 100一、数学函数 100二、字符函数和字符串函数 101三、输入输出函数 102四、动态分配函数和随机函数 103进制转换问题二进制
5、 每位数值上面的数的范围是 0 或 1十进制 每位数值上面的数的范围是 0 1 2 3 4 5 6 7 8 9八进制 每位数值上面的数的范围是 0 1 2 3 4 5 6 7十六进制 每位数值上面的数的范围是 0 1 2 3 4 5 6 7 8 9 A B C D E F十进制转换为二进制的方法: 除二倒序取余二进制转换为十进制的方法: 按权展开二进制转换为八进制的方法: 从右边往左边按三位二进制位来分段,每一个段都对应一位八进制值,前后段之间没有联系。二进制转换为十六进制的方法: 从右边往左边按四位二进制位来分段,每一个段都对应一位十六进制值,前后段之间没有联系。学C语言应该注意的两点:编写
6、程序过程中所用到的数值一定要先用类型关键字在内存中开辟能存放该数值的空间。不同的数值所需要的存储空间大小是不一样,由类型关键字来区分。第二章 C语言初步例题2.1:计算矩形面积。 #include 命令行 stdio.h 是标准的输入、输出文件main( ) 主函数 double a,b,area ; 定义语句 语句是由 表达式 加 ; 组成 a =2.1; 赋值语句 b=3.6; area=a*b; 计算语句 printf(“a =%lf,b=%lf,area=%lf n”, a,b,area); 输出函数 标识符用途:可用做 变量名、符号名、函数名、等等。a:只能含有3类字符:字母,数字,
7、下划线。 _124 b:只能以 字母 或 下划线开头。 注意:一个合法的标识符必须同时满足上面两个条件。标识符的分类 1)关键字:由C语言规定的一批标识符,它们在程序中只能代表着固定的含义,不能另做其它用途。一般情况下分为 : 类型关键字:int double ,操作关键字: if for 。 2)预定义标识符:由C语言规定的一些标识符,它们在程序中也代表着固定的含义,但C语言语法允许用户可以把它们另做其它用意。在编写程序过程中尽量不要把关键字和预定义关键字的用法改动、用做其它意思。 3)用户自定义标识符:由用户根据需要、通过类型关键字定义的标识符,一般常用做变量名、函数名、数组名等等。 1)
8、字符型 关键字为 char 空间大小:所开辟的存储空间在内存中占据一个字节 作用:用此类型关键字在内存中为合法的用户自定义标识符开辟存储空间,此存储空间中只能存放字符常量值。 2)整型 分为: a:整型 关键字为 int 所开辟的存储空间在内存中占据四个字节用此类型关键字在内存中为合法的用户自定义标识符开辟存储空间,此存储空间中只能存放整型常量值。长整型 关键字为 long 用此类型关键字在内存中为合法的用户自定义标识符开辟存储空间,此存储空间中只能存放长整型常量值。 3)实型 分为: a:单精度实型 关键字为 float用此类型关键字在内存中为合法的用户自定义标识符开辟存储空间,此存储空间中
9、只能存放单精度实型常量值。双精度实型 关键字为 double 所开辟的存储空间在内存中占据八个字节用此类型关键字在内存中为合法的用户自定义标识符开辟存储空间,此存储空间中只能存放双精度型常量值。VC+6.0环境中默认实型数值的小数部分有六位小数。常量 分为:1)字符型常量: 定义:用单引号引起来、中间有且只有一个字符 例: a 1 A # ? 2)字符串常量:只要用双引号引起来的都是。 “123ab” “ACSW#$” “” 3)整型常量:就是数学里的整数 例:100 , -451 , 0 4)实型常量:分为:实数形式:由数字和小数点组成,就是数学里的实数3.14 ,-0.0145 , -58
10、96. , .1402 指数形式标准形式:就像数学中的科学记数法一样,规定小数点前面只能有一位有效数字,小数点后面可跟六位小数,指数有正、负之分,指数的位数为三位,指数的格式总共占五位,10要用小写e或大写E来表示。321.45 可些成:3.214500e+002 手写形式:字母e 或E之前必须要有数字,且之后的指数必须是整数,且中间不能加入空格。错的:e3 , .5E3.6 , e 5)八进制常量:必须以数字0(零)开头的 0451 ,0241 , 0778(错的) 6)十六进制常量:必须以0x 或 0X 开头的 0Xaa , 0x14f , 0x147字符类型除外) 1)作用:一般情况用做
11、存储空间的名称 2)定义形式: 存储类别 存储类型关键字 变量名; 3)存储类别一般情况下可以省略,省略时默认为 auto 类别 4)常用定义形式: 存储类型关键字 变量名; 5)例: int a ; 意义:给自定义标识符a 在内存中开辟合法的存储空间变量名就代表了它在内存中所表示的存储空间中的值 c:存储类别省略的,auto 类别变量只定义过,没有赋初值,此存储空间中默认存放着不可遇见的值,称为 随机值 。6)定义的多种形式:( 一定要遵守:先定义,后使用原则 ) 例1: 定义a int b; 定义b int c; 定义c a=b=c=10; 把10分别写入a,b,c三个名字所代表的不同存储
12、空间中 例2: int a,b,c; 定义a , b c 例3: int a=10 , b=10 , c=10 ; 先从左往右为各个变量名在内存开不同的辟存储空间 再把10分别写入三个名字所代表的不同存储空间中 7)定义字符类型值 char ch ; ch=65 ;是把整型常量65当成ASCCII码,把此ASCII码所对应的字符常量值存放到ch所表示的存储空间中 ch=4 ;把字符常量4存放到ch所表示的存储空间中赋值语句1) 运算符 = 在C语言中它称为赋值符,意思是 写入 或 存入、存放到 。2) 运算规则:把运算符右侧的最终结果存放到运算符左边的存储空间中3) 要求: 赋值运算符的左侧只
13、能为 变量 (只有变量才能在内存中代表存储空间) 右侧的表达式不能是任意表达式。 int a=10 , b=20 , c=30 , d=40 ; a=b+7=c+d ; 就是个错的表达式 4) 赋值号两侧类型统一问题 大类型存储空间 = 小数值 float a ; a=10 ; /*计算机系统内部先把10这个整型常量转变为相应的实型常量,再给a所表示的存储空间中存 */ 小类型存储空间 = 大数值 a=3.145 ; /* 计算机系统内部把实数分为三部分,整数部分数字、小数部分数字、小数点,只把相应的整数部分数字存放到a所表示的空间中 */算术运算符 1) 单目运算符: + 表示正值 - 表示
14、负值 2) 双目运算符: * 乘 / 除 % 求余 + 加 - 减 3)运算符的运算优先级: 单目 高于 双目 4) % 符的运算规则 a: 运算符两侧只能是整数值 例如: m%n 时 ,当m; int a , b ; a=( b=3 , b+ , +b , b+=10 ); 最后a 为15第三章 顺序结构 1: printf( “ 输出控制格式 “ , 输出列表 ) ; 2: printf(“输出控制格式“); 由 % 加 格式字母 组成格式字母 分类 char c short int d long ld float f double lf 指数 e E 八进制 o 16进制 x X %d
15、:十进制整型 %o :八进制整型 %x :十六进制整型 %ld :十进制长整型1 : 输出字符类型值a : char ch=A ;printf( “ %cn” , ch ); b : char ch =5; printf( “ %c n”, ch ) ; 2) 输出整型值 printf( “ %d n”, a ); 3) 输出长整型值 long b=100 ; printf( “ %ld n ”, b ) ; 4) 输出实型值 double c=3.145; printf( “ %lf n ”, c ) ; 5) 在 % 和 格式字母之间可以加输出的总宽度 对字符值 和 对整型值 char c
16、h=D ; printf( “ %4c n”, ch ) ; int a=1540 ; printf( “ %7d n”, a ) ;当所设的总宽度比数值的实际总宽度大时,数据默认右对齐显示,左侧没有占用完的空间上会显示空格。当所设的总宽度小或等于数值的实际总宽度时,所设的总宽度失效,数据按原样显示。 对实型值 double a=3.52 ; printf(“ %10lf n”,a) ;注意:所设的总宽度是整数部分数字、小数部分数字、小数点三部分之和的总宽度,输出时先输出标准的6位小数部分,再输出一位小数点,此时要是所剩的总宽度比实际数值的整数部分列宽大,左侧没有占用完的空间上会显示空格,要是
17、比实际数值的整数部分列宽小或相等,都按原数值的整数部分列宽显示 6) 对指数 double a=325.14 ; printf( “ %15e n”, a ) ;所设的总宽度是整数部分数字、小数部分数字、小数点、指数格式四部分之和的总宽度,输出时先输出标准的5位指数部分,再输出6位小数部分和一位小数点,此时要是所剩的总宽度比实际数值的整数部分列宽大,左侧没有占用完的空间上会显示空格,要是比实际数值的整数部分列宽小或相等,都按原数值的整数部分列宽显示 7) 改变输出时的对齐方式 int a=2124 ; printf( “%-6dn”,a); 在%和格式字母之间加 会使的数值从左往右显示,有多余
18、的空间会在数值的后面显示 8) 加 0 格式int a=1452 ;printf(“ %010dn”, a ) ;当所设的总列宽比数值的实际列宽大时,会在前面没有占用完的空间上全部显示0,当没有多余的空间时0格式就失效了 9) 注意:当0格式遇到 左对齐时,0格式就失效 10) 加 m.n 格式 只对实型 double a=3541.125 ; printf(“ %12.4lf n”,a);所设的总宽度是整数部分数字、小数部分数字、小数点三部分之和为12列,输出时先输出标准的4位小数部分(要是小数部分的实际列宽大于所设置的列宽时,对多出来的小数部分进行四舍五入,要是比实际的小数部分列宽小,不够
19、的位用0填补,要是两者相同就按原样输出),再输出一位小数点,此时要是所剩的总宽度比实际数值的整数部分列宽大,左侧没有占用完的空间上会显示空格,要是比实际数值的整数部分列宽小 11) 当输出格式的个数比输出列表中值的个数多时,多出的格式会显示随机值 int a=1,b=2; printf( “ %d,%d,%d”,a,b); 12) 当输出格式的个数比输出列表中值的个数少时,多出的数值不处理 int a=1,b=2,c=3; printf(“ %d ,%d n”,a,b,c); 13) 当%后面所跟的不是一个合法的格式字母时,就把这个错的格式字母原样输出 printf(“ %D,%D,%Dn”,
20、a,b,c);结果是: D,D,D printf(“ %d , %d , %d n”,a,b,c); %d,%d,%d 1)scanf(“格式控制”,地址列表) ; 2)取地址符 & 3)给多个字符型空间中赋值char a,b,c;scanf(“%c%c%c”,&a,&b,&c);要求:输入字符值时,必须挨个、连续的输入,各个字符值之间不能加任何符号 4)给多个整型空间中赋值多个格式之间不加任何符号 scanf(“%d%d%d”,& /* %ld %f %lf */ 要求:输入时各个数值之间必须以 空格符 或 回车符 隔开输入b:多个格式之间以某中符号隔开( 适合字符型%c、整型%d %ld、
21、实型%f %lf ) scanf(“%d,%d:%d”,&输入时,除了用数值换相应的格式以外,其它符号必须原样输入 5)给多个实型空间中赋值 原理和第4条一致 6)多个不同格式之间不加任何符号输入 int a;char b;double c;scanf(“%d%c%lf”,&在非字符型格式和字符型格式之间不能加任何符号、连续输入,在字符型格式和非字符型格式之间可以加 空格符 或 回车符 或 什么都不加scanf(“a=%d , b=%c , c=%lf”,& 7)在%和格式字母之间加输入总宽度例1:int a,b,c; scanf(“%3d%3d%3d”,&运行时:输入的数值为123456789,结果是:a中存放了123,b中存放了456,c中存放了789例2: char ch; scanf(“%4c”,&ch); 想给变量ch中存放一个大写字母D,就必须这样写:D空格空格空格 因为%c只能从屏幕的右侧取一列字符值 8)多条输入语句同时执行 sc
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1