版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1页目 录第一章:进制转换问题4第二章 C 语言初步41:标识符42:标识符的分类43:类型关键字的分类:54:常量55:变量 (什么类型的空间中只能存放相应类型的常量值,注:字符类型除外)66:赋值语句67:算术运算符78:复合的赋值表达式79:强制类型转换710: + 自加 -自减711: 逗号表达式8第三章 顺序结构81:输出函数的格式:82:格式: 由 %加 格式字母 组成83:格式字母 分类84:输出形式:85:输入函数的格式:106: 复合语句127: 空语句12第四章 选择结构131:C 语言中的逻辑值只有两个:真假132:真值用 1 表示,假值用 0 表示,在使用时要注意所有
2、的非 0 形式的值都可以理解为真值,0 就是假值143:关系运算144:关系运算、算术运算、赋值运算之间的优先级问题145:有关系运算符参与的混合运算146:逻辑运算符和逻辑表达式147:结构 :158: 三目运算符 条件表达式189:SWITCH( )多分支选择结构1910:GOTO 语句和语句标号22第五章 循环结构221:循环的基本要求:222:WHILE( )循环223:DO . WHILE( 条件表达式 ) ;254:FOR () 循环26第2页6:循环结构作为循环结构的子语句(循环结构的嵌套)297:BREAK 和 CONTINUE 语句的用法32第六章 字符型数据331:字符常量
3、:332:在有命令行 STDIO.H 的前提下,讲两个函数343: 解释344:多个不同格式之间不加任何符号输入345:多条输入语句同时执行346:在有命令行 STDIO.H 的情况下,C 语言中 0、0、NULL 意思是等价的35第七章 函数371:注意几点372:函数的分类:373:用户自定义函数的定义形式:374:例375:程序的流程中的问题376:在程序执行过程中有三个问题38第九章:数组493:指针变量69第十章:字符串731:定义:733:字符型数组:734: 在边定义边赋值时,没有使用完的5:字符串在内存中要 占据一维字符型空间中默认 存放 0 这个字符常量73数组的区域736:
4、字符串 和 整型数组、字符型数组、实型数组的最大区别是:747: %S 的意思:748:几种常见的字符串赋值方法749: 通过程序来形成 字符串7410:几种常见的对字符串处理的 函数 的使用方法。7611:二维字符型数组78第十一章 对函数的进一步讨论811: 主函数中的参数812:指向函数的指针823:递归算法:83第十二章:全局变量、局部变量、分类831:在函数体外部定义的变量叫 全局变量832:全局变量的作用域 从定义语句下面到本程序完为至。83局部变量的作用域 从定义语句下面到本函数完为至。833:当全局变量与局部变量同名时,在局部范围内,以局部变量的值为准834:静态局部变量 ST
5、ATIC84第十三章 宏定义、宏代换、动态. 851: 宏定义:852:宏代换:85第3页3:动态分配:86第十四章:结构体、共用体871:定义形式:872: 结构体的使用方法:883:结构体变量的定义方法:884:结构体数组的使用895:结构体指针的使用方法:896:类型符的使用 TYPEDEF907:结构体变量所占据的空间是它的各个成员所占据空间之和918: 简单的单向链表919:共用体92第十五章: 位运算94第十六章文件941: 文件指针 的定义942: 开打文件943:关闭文件944:FGETC( )5:FSCANF(6:FGETS( )FPUTC( )函数的使用94)和和 FPRI
6、NTF( ) 函数的用法95FPUTS( ) 函数的用法95和 FWRITE( )函数的使用方法967: FREAD( )8:文件函数9610: REWIND 函数 称为“反饶”函数,调用格式如下:97附录 198一: C 语言常用关键字98二:运算符的优先级和结合性98附录 2 库函数99一、数学函数99二、字符函数和字符串函数100三、输入输出函数101四、动态分配函数和随机函数102第4页第一章:进制转换问题1:二进制2:十进制3:八进制4:十六进制每位数值上面的数的范围是每位数值上面的数的范围是每位数值上面的数的范围是每位数值上面的数的范围是0或 10 1 2 3 4 5 6 7 8
7、90 1 2 3 4 5 6 70 1 2 3 4 5 6 7 8 9 A B C D E F5:十进制转换为二进制的方法: 除二倒序取余6:二进制转换为十进制的方法: 按权展开7:二进制转换为八进制的方法: 从右边往左边按三位二进制位来分段,每一个段都对应一位八进制值,前后段之间没有。8:二进制转换为十六进制的方法: 从右边往左边按四位二进制位来分段,每一个段都对应一位十六进制值,前后段之间没有学 C 语言应该注意的两点:。1:编写程序过程中所用到的数值一定要先用类型关键字在内存中开辟能存放该数值的空间。2:不同的数值所需要的空间大小是不一样,由类型关键字来区分。第二章 C 语言初步例题 2
8、.1:计算矩形面积。#include 命令行stdio.h 是标准的输入、输出文件main( )double a =2.1;b=3.6;主函数 定义语句赋值语句赋值语句计算语句a,b,area ;语句是由 表达式 加 ; 组成area=a*b;printf(“a =%lf,b=%lf,area=%lf n”, a,b,area);输出函数1:标识符用途:可用做 变量名、符号名、函数名、等等。定义:a:只能含有 3 类字符:字母,数字,下划线。 _124 b:只能以 字母 或 下划线开头。注意:一个合法的标识符必须同时满足上面两个条件。2:标识符的分类1)关键字:由 C 语言规定的一批标识符,它
9、们在程序中只能代表着固定的含义,不能另做其它用途。一般情况下分为 : 类型关键字:intdouble ,操作关键字: iffor 。2)预定义标识符:由 C 语言规定的一些标识符,它们在程序中也代表着固定的含义,但 C 语言语法用户可以把它们另做其它用意。注意:在编写程序过程中尽量不要把关键字和预定义关键字的用法改动、用做其它意思。3)用户自定义标识符:由用户根据需要、通过类型关键字定义的标识符,一般常用做变量名、函数名、数组名等等。第5页3:类型关键字的分类:1)字符型关键字为char空间大小:所开辟的空间在内存中占据一个字节作用:用此类型关键字在内存中为合法的用户自定义标识符开辟只能存放字
10、符常量值。空间,此空间中2)整型分为:a:整型关键字为int空间大小:所开辟的空间在内存中占据四个字节作用:用此类型关键字在内存中为合法的用户自定义标识符开辟空间,此空间中只能存放整型常量值。b:长整型long空间在内存中占据四个字节关键字为空间大小:所开辟的作用:用此类型关键字在内存中为合法的用户自定义标识符开辟空间,此空间中只能存放长整型常量值。3)实型分为:a:单精度实型关键字为float空间在内存中占据四个字节空间大小:所开辟的作用:用此类型关键字在内存中为合法的用户自定义标识符开辟存储空间,此空间中只能存放单精度实型常量值。b:双精度实型关键字为double空间大小:所开辟的空间在内
11、存中占据八个字节作用:用此类型关键字在内存中为合法的用户自定义标识符开辟存储空间,此空间中只能存放双精度型常量值。注意:VC+6.0 环境中默认实型数值的小数部分有六位小数。4:常量分为:1)字符型常量:定义:用单引号引起来、中间有且只有一个字符例: a定义:只要1A#?2)字符串常量:引号引起来的都是。例: “123ab”“ACSW#$”“”例:100 , -451 , 03) 整型常量:4) 实型常量:定义:就是数学里的整数分为: a:实数形式: 定义:由数字和小数点组成,就是数学里的实数例:3.14 ,-0.0145 , -5896. , .1402b:指数形式标准形式: 定义:就像数学
12、中的科学记数法一样,规定小数点前面只能有一位有效数字,小数点后面可跟六位小数,指数有正、负之分,指数的位数为三位,指数的格式总共占五位, 10 要用小写e 或大写 E 来表示。例:321.45可些成:3.214500e+002手写形式:定义:字母 e 或 E 之前必须要有数字,且之后的指数必须是整数,且中间不能加入空格。例:错的:e3,.5E3.6,e5)八进制常量: 定义:必须以数字 0(零)开头的第6页例: 0451 ,0241 ,0778(错的)定义:必须以 0x 或 0X 开头的例: 0Xaa , 0x14f , 0x1476)十六进制常量:5:变量(什么类型的空间中只能存放相应类型的
13、常量值,注:字符类型除外)空间的名称1)作用:一般情况用做2)定义形式:类别类型关键字变量名;3)类别一般情况下可以省略,省略时默认为auto类别4) 常用定义形式:5) 例: inta ;类型关键字 变量名;意义:a:给自定义标识符 a 在内存中开辟合法的空间b:变量名就代表了它在内存中所表示的空间中的值c:类别省略的,auto 类别变量只定义过,没有赋初值,此空间中默认存放着不可遇见的值,称为 随机值 。6)定义的多种形式:(一定要遵守:先定义,后使用原则 )定义 a定义 b定义 c例 1:int intinta ;b;c;a=b=c=10; inta,b,c;a=b=c=10;把 10
14、分别写入 a,b,c 三个名字所代表的不同定义 a , bc把 10 分别写入 a,b,c 三个名字所代表的不同空间中例 2:空间中例 3:inta=10 , b=10 , c=10 ;先从左往右为各个变量名在内存开不同的辟空间再把 10 分别写入三个名字所代表的不同空间中7)定义字符类型值 例 1:charch ;ch=65 ;意义:是把整型常量 65 当成 ASCCII 码,把此 ASCII 码所对应的字符常量值存放到 ch 所表示的空间中例 2:charch ;ch=4 ;意义:把字符常量 4 存放到 ch 所表示的空间中6:赋值语句1)2)3)运算符=在 C 语言中它称为赋值符,意思是
15、 写入 或存入、存放到 。空间中运算规则:把运算符右侧的最终结果存放到运算符左边的要求: 赋值运算符的左侧只能为变量 (只有变量才能在内存中代表右侧的表达式不能是任意表达式。例:inta=10 , b=20 , c=30 , d=40 ;空间)a=b+7=c+d ;赋值号两侧类型统一问题就是个错的表达式4)例 1:大类型floata ;空间 = 小数值a=10 ;/*计算机系统内部先把 10 这个整型常量转变为相应的实型常量,再给 a所表示的空间中存 */第7页例 2:小类型inta ; a=3.145 ;空间 = 大数值/* 计算机系统内部把实数分为三部分,整数部分数字、小数部分数字、小数点
16、,只把相应的整数部分数字存放到 a所表示的空间中 */7:算术运算符1)2)单目运算符: +表示正值-表示负值双目运算符: * 乘 / 除% 求余高于+ 加双目- 减3)运算符的运算优先级:单目4) %符的运算规则a: 运算符两侧只能是整数值b: 例如: m%n时 ,当 m; inta , b ;a=( b=3 , b+ , +b , b+=10 );最后a 为 15第三章 顺序结构1:输出函数的格式:1: printf( “ 输出格式 “ , 输出列表) ;2: printf(“输出格式“);2:格式: 由 %3:格式字母 分类加格式字母组成%d :十进制整型%o:八进制整型%x :十六进制
17、整型 %ld :十进制长整型charcshortintdlongldfloatfdoublelf指数eE八进制o16 进制xX第9页4:输出形式:1: 输出字符类型值a :charch=A ;printf( “ %cn” , ch); b :charch =5;printf( “ %c n”, ch ) ;输出整型值inta=10 ;printf( “ %d n”, a );输出长整型值longb=100 ;printf( “ %ld n ”, b ) ;输出实型值doublec=3.145; printf( “ %lf n ”, c ) ;在 % 和 格式字母之间可以加输出的总宽度charc
18、h=D ;printf( “ %4c n”, ch ) ; inta=1540 ;printf( “ %7d n”, a ) ;2)3)4)5)对字符值 和 对整型值注意:a:当所设的总宽度比数值的实际总宽度大时,数据默认右对齐显示,左侧没有占用完的空间上会显示空格。b:当所设的总宽度小或等于数值的实际总宽度时,所设的总宽度失效,数据按原样显示。对实型值doublea=3.52 ; printf(“ %10lf n”,a) ;注意:所设的总宽度是整数部分数字、小数部分数字、小数点三部分之和的总宽度,输出时先输出标准的 6 位小数部分,再输出一位小数点,此时要是所剩的总宽度比实际数值的整数部分列
19、宽大,左侧没有占用完的空间上会显示空格,要是比实际数值的整数部分列宽小或相等,都按原数值的整数部分列宽显示6) 对指数doublea=325.14 ; printf( “ %15e n”, a ) ;注意:所设的总宽度是整数部分数字、小数部分数字、小数点、指数格式四部分之和的总宽度,输出时先输出标准的 5 位指数部分,再输出 6 位小数部分和一位小数点,此时要是所剩的总宽度比实际数值的整数部分列宽大, 左侧没有占用完的空间上会显示空格,要是比实际数值的整数部分列宽小或相等,都按原数值的整数部分列宽显示7) 改变输出时的对齐方式inta=2124 ; printf( “%-6dn”,a);在%和
20、格式字母之间加 会使的数值从左往右显示,有多余的空间会在数值的后第10页面显示加 0 格式inta=1452 ;printf(“ %010dn”, a ) ;注意:当所设的总列宽比数值的实际列宽大时,会在前面没有占用完的空间上全部显示 0,当没有多余的空间时 0 格式就失效了注意:当 0 格式遇到 左对齐时,0 格式就失效8)9)10)加 m.n 格式只对实型doublea=3541.125 ; printf(“ %12.4lf n”,a);注意:所设的总宽度是整数部分数字、小数部分数字、小数点三部分之和为 12列,输出时先输出标准的 4 位小数部分(要是小数部分的实际列宽大于所设置的列宽时,
21、对多出来的小数部分进行四舍五入,要是比实际的小数部分列宽小,不够的位用 0 填补,要是两者相同就按原样输出),再输出一位小数点,此时要是所剩的总宽度比实际数值的整数部分列宽大,左侧没有占用完的空间上会显示空格,要是比实际数值的整数部分列宽小或相等,都按原数值的整数部分列宽显示当输出格式的个数比输出列表中值的个数多时,多出的格式会显示随机值inta=1,b=2;printf( “ %d,%d,%d”,a,b);当输出格式的个数比输出列表中值的个数少时,多出的数值不处理inta=1,b=2,c=3; printf(“ %d ,%d n”,a,b,c);当%后面所跟的不是一个合法的格式字母时,就把这
22、个错的格式字母原样输出例 1: inta=1,b=2,c=3;printf(“ %D,%D,%Dn”,a,b,c);结果是: D,D,D例 2: inta=1,b=2,c=3;printf(“ %d , %d , %d n”,a,b,c);结果是: %d,%d,%d11)12)13)5:输入函数的格式:1)scanf(“格式”,地址列表) ;2)取地址符&3) 给多个字符型空间中赋值chara,b,c;scanf(“%c%c%c”,&a,&b,&c);要求:输入字符值时,必须挨个、连续的输入,各个字符值之间不能加任何符号4) 给多个整型空间中赋值 a:多个格式之间不加任何符号inta,b,c;
23、scanf(“%d%d%d”,&a,&b,&c);/*%ld%f%lf*/第11页要求:输入时各个数值之间必须以 空格符 或 回车符隔开输入b:多个格式之间以某中符号隔开(适合字符型%c、整型%d%ld、实型%f%lf) inta,b,c;scanf(“%d,%d:%d”,&a,&b,&c);要求:输入时,除了用数值换相应的格式以外,其它符号必须原样输入5) 给多个实型空间中赋值 原理和第 4 条一致6) 多个不同格式之间不加任何符号输入a: inta;charb; doublec;scanf(“%d%c%lf”,&a,&b,&c);要求:在非字符型格式和字符型格式之间不能加任何符号、连续输入
24、,在字符型格式和非字符型格式之间可以加 空格符 或回车符 或么都不加b: inta;charb; doublec;scanf(“a=%d , b=%c , c=%lf”,&a,&b,&c);注意:输入时,除了用数值换相应的格式以外,其它符号必须原样输入7)在%和格式字母之间加输入总宽度例 1:inta,b,c;scanf(“%3d%3d%3d”,&a,&b,&c);什运行时:输入的数值为 123456789,结果是:a 中存放了 123,b 中存放了 456, c 中存放了 789例 2: charch;scanf(“%4c”,&ch);想给变量 ch 中存放一个大写字母 D,就必须这样写:D
25、 空格空格空格因为%c 只能从屏幕的右侧取一列字符值8)多条输入语句同时执行例 1:inta,b,c;scanf(“%d”,&a);scanf(“%d”,&b);scanf(“%d”,&c);scanf(“%d%d%d”,&a,&b,&c);想给变量 a 中存放 100,给 b 中存放 200,给c 中存放 300,在运行输入时多个数值之间必须、只能以 空格符 或 回车符 来隔开例 2:chara,b,c;scanf(“%c”,&a);scanf(“%c”,&b);scanf(“%c”,&c);scanf(“%c%c%c”,&a,&b,&c);想给变量 a 中存放 A,给 b 中存放 B,给
26、c 中存放C,在运行输入时多个字符值之间必须、只能挨个、连续输入9)在%和格式字母之间加*第12页inta=0,b=0,c=0; scanf(“%d%*d%d”,&a,&b,&c); 输入的数值为:10 20 30结果:a 中是 10,b 中是 30,c 中是 0* :的意思:跳过和本身格式相应的数值,把下一个数值输入到的空间中6: 复合语句用一对 括起来的语句集合就称为一个复合语句7: 空语句只有分号而没有表达式的语句例:;例 1:用海式求三角型面积#include #include main()doublea,b,c,h,s ;printf(“请输入三个边长:n”); scanf(“%lf
27、,%lf,%lf”,&a,&b,&c) ; h=1.0/2*(a+b+c) ;s=sqrt(h*(h-a)*(h-b)*(h-c) ;printf(“s=%lf n”, s ) ;/*提示语句*/例 2:用求根公式计算一元二次方程的两个根#include #include main()doublea , b , c , h , x1 , x2 , p , q ; printf(“请输入三个常量:n”); scanf(“%lf,%lf,%lf”,&a,&b,&c) ; h=sqrt( b*b-4*a*c ) ;p=-b/( 2*a ) ; q=h/( 2*a ) ; x1=p+q ; x2=p-
28、q ;printf(“x1=%lf,x2=%lfn”,x1,x2 ) ;例 3:分离和组合, 把用户任意输入的一个六位数的各个位上的数字输出,并把它的十万位、千位、十位上的数字重新组一个三位数,新三位数的百位数字是原六位数的十位数字、十位数字是原六位数字的千位数字、新三位数的个位数字是原六位数的十万位数字,组成后输出。#include main()longa;inta1 , a2 , a3 , a4 , a5 , a6 , a7 ; printf(“ PleaseInputanumber :n”); scanf(“%ld”,&a);a1=a/100000;第13页a2=a%100000/100
29、00; a3=a%10000/1000; a4=a%1000/100; a5=a%100/10; a6=a%10;a7=a5*100+a3*10+a1;printf(“这个新数是:%dn”,a7);例 4:交换算法请用户任意输入两个整数,交换它们的数值后再输出#include main()inta , b , t ;printf(“ PleaseInputtwonumbers :n”); scanf(“%d,%d”,&a,&b);printf(“原始数据为:n”);printf(“a=%d,b=%dn”,a,b); printf(“ n 交换算法过程 :n”); t=a;a=b;b=t;/*a
30、=a+b ;b=a-b ;a=a-b ;*/printf(“n 交换后的结果为:n”);printf(“a=%d,b=%dn”,a,b);例 5:四舍五入的使用用户任意输入一个实数,要求保留 3 位小数,对第四位小数进行四舍五入后再输出。#include main()doublex ;printf(“ PleaseInputanumber :n”); x=3.141592;x=x*1000;x=x+0.5;x=(int)x; x=x/1000;printf(“x=%lfn”,x) ;/*x=( int )(x*1000+0.5)/1000.0 ;*/第四章 选择结构1:C 语言中的逻辑值只有两
31、个:真假第14页2:C 语言中的逻辑值的表示(都是整形常量)真值用 1 表示,假值用 0 表示,在使用时要注意所有的非 0 形式的值都可以理解为真值,0 就是假值3:关系运算1)运算符为: =关系运算赋值运算5:有关系运算符参与的混合运算ab+cab= =ca= =b(b+c)(ab)= =c a= =(bbc ;像这样的语句是正确的,优先级相同的结合方向是自左向右6:逻辑运算符和逻辑表达式1)C 语言中有三种逻辑运算符: &与|或! 非|2)它们之间的优先级是:!&3)逻辑、算术、关系、赋值、逗号表达式之间的运算优先级!4)例:算术 关系 &|赋值a b & x y a = = b | x
32、!= y!a | a b4 & 0 | 25 3 & 8 逗号表达式5) &与 运算可以看成是乘法运算6)|或运算可以看成是加法运算7)两条原则: 0 与任何值都为 01 或任何值都为 1数值运算符数值结果1|111|010|110|00数值运算符数值结果1&111&000&100&00第15页所以当逻辑 与、或 左右两边的有运算时先计算左边,对 与 而言,当左边值能为 0,右边的表达式就必须不能计算、处理对 或 而言,当左边值能为 1,右边的表达式就必须不能计算、处理例: #include main()inta= -1 ,b=10 ,c=5, d ;d = ( +a ) & (b+=c )
33、;printf(“ d=%d , a= %d , b=%d ,c=%d n”,d,a,b,c) ;例: #include main()inta= 0 ,b=10 ,c=5, d ;d = ( +a ) | (b+=c ) ;printf(“ d=%d , a= %d , b=%d ,c=%d n”,d,a,b,c) ;7:结构 :1)形式:if ( 条件表达式 )子语句 ;2)结构要完整a: b:必须包含两部分的条件部分的条件所令部分、动作部分、语句部分3)解释: if理解为: 如果条件表达式的形式有 4 种:a: 常量b: 变量c: 表达式d: 函数例: 例: 例:例:if ( 100 )i
34、f (a)if (ab )if ( sqrt( a+b ) 100.24)成立时、比较的结果子语句:是当条件表达式的逻辑值为真时(为真时),应该执行的语句形式有两种:a: 一个命令或一个动作或 一条语句b: 一个用括起来的复合语句,里面包含了好多个命令 或 好多个动作 或 好多条语句4) 例 1:请用户任意输入两个不同的数值,把大值存放到 t 所表示的#include main() inta,b,t ; scanf(“%d,%d”,&a,&b) ; if ( a b )t=a ; if( b a )t=b ;空间中第16页printf(“t=%dn”,t);例 2:请用户任意输入两个不同的数值
35、,找出大值并马上输出。#include main( )inta,b,t ; scanf(“%d,%d”,&a,&b) ; if ( a b )t=a ; printf(“t=%dn”,t);if( b a )t=b ; printf(“t=%dn”,t);5)if.else结构if( 条件表达式 )子语句 1 ;else子语句 2;6) if和else在结构上都必须包含两部分才能完整a:b:的条件部分的条件所令部分、动作部分、语句部分7)解释: if:称为 如果else:称为否则条件表达式的形式有 4 种:a: 常量b: 变量c: 表达式d: 函数例: 例: 例:例:if ( 100 )if
36、(a)if (ab )if ( sqrt( a+b ) 100.24 )子语句:是当条件表达式的逻辑值为真时(为真时),应该执行的语句 或执行的语句。成立时、比较的结果否则的条件成立时,应该形式有两种:a: 一个命令或一个动作或 一条语句b: 一个用括起来的复合语句,里面包含了好多个命令 或 好多个动作 或 好多条语句8)例 1:请用户任意输入两个不同的值,把大值存放到 t #include main()所表示的空间中inta , b , t ; scanf(“%d,%d”, &a,&b ) ;if ( ab )第17页t=a ;elset=b;printf(“ t=%dn”,t);例 2:请
37、用户任意输入两个不同的值,把大值存放到 t输出#include main()所表示的空间中并马上inta , b , t ; scanf(“%d,%d”, &a,&b ) ; if ( ab )t=a ;printf(“ t=%dn”,t);elset=b;printf(“ t=%dn”,t);注意: else 总是和它上面最近的 if 进行组合,形成一条“ 如果条件成立,则执行 if 的子语句,否则,则执行 else 的子语句 ”选择结构的语句。例 3:#include main()inta=2,b=-1,c=2 ;if ( ab )if ( b0 ) elsec+=1 ;/*前提*/c=0
38、 ;/* ab&b0当前条件*/*/* a=0当前条件printf(“%dn”,c) ;例 4:用假设法求解方程-1( x0 )#include main()doublex , y ; scanf(“%lf”,&x); y=0 ;if( x!=0 )if( x0 )y=1 ;/*x= =0*/*x!=0 & x0*/第18页elsey= -1 ;printf(“ y=%lfn”,y) ;/*x!=0 & x0*/多个 if.else嵌套结构,if 和 else 必须成对出现(或搭配)。9)if (条件表达式 1)子语句 1 ;if ( 条件表达式 2 )子语句 2 ;elseelseif (
39、表达式 3 )子语句 3 ;else子语句 4 ;注意:当 else 仅表示一种条件的时候就不在继续嵌套if.else结构了例 1:把学生的成绩划分档次# include main( )inta ; scanf(“%d”,&a);if( a=90 & a=80 & a=70 & a=60 & a70 )printf(“ D n”); elseprintf( “ E n”);用户所输入的数值是不是 闰年#include main()例 2:inta ; scanf(“%d”, &a);if (a%4 = = 0 & a%100 !=0)|(a%400 = =0 )printf(“ YES n”)
40、; elseprintf(“ NO n”);8: 三目运算符条件表达式a :形式: 表达式 1 ? 表达式 2 :表达式 3 ;b:处理原则: 当表达式 1 的逻辑结果为 真 时,只把表达式 2 的最终结果作为整个三目运算符的最终结果进行处理,当表达式 1 的逻辑结果为假时,只把表达式 3 的最终结果作为整个三目运算符的最终结果进行处理。例 1:#include main()第19页 chart ;intx ;scanf( “%d”,&x ); t=(x= =1)?A:B;printf(“t=%cn”,t);例 2:请用户任意输入一个字母,最后要求按大写字母输出#include main()c
41、harch ; scanf(“%c”,&ch);ch=(ch=97 & ch=122)?ch-32:ch;printf(“ch=%cn”,ch);9:switch( )多分支选择结构1) switch ( 表达式 ) case case case case.子语句 1;子语句 2;子语句 n ;子语句 1;子语句 2;子语句 n ;子语句 1;子语句 2;子语句 n ;子语句 1;子语句 2;子语句 n ;常量: 常量: 常量:常量:default :子语句 1;子语句 2;子语句 n ;2) 解释: case叫分支,表示一种可能情况default 叫其它情况下(除了所有 case 所列的可能
42、情况以外的其他所有可能情况)3) 注意:a:表达式 一般为整型值 或 字符值, 常量值之间不能重复的出现b:case 与 常量 之间至少要有一个空格c:case 后面可跟多条子语句,而不需要用 括起来组成复合语句,都能执行完d:多分支选择语句的执行流程:先计算表达式的最终值,再用此值先从上往下和case 后的常量值一一做比较,直到找到和表达式值相同的常量时就不再比较了, 便开始执行语句。或者,比较后找不到相同的常量时,就只执行 default 后的语句。e:一个 switch( ) 结构的停止标志有两个:一:在执行它的子语句时遇到了 break ; 语句f:当每个 case 和default句的上、下位置关系二:当它的子语句执行完时 后都跟 一条break ; 语句时,case 和 default 语影响计算结果。g:default 语句根据题意,可有、可无4) break; 语句的作用:终止 或 停止
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- HY/T 0425-2024海水冷却塔飘滴盐沉积监测方法
- 高质量心肺复苏术操作技巧
- 重庆市江津区四校联盟2025-2026学年中考物理试题模拟题专练目录含解析
- 2026年浙江省台州市玉环市初三网络模拟考试数学试题含解析
- 2026年浙江省绍兴市城东东湖初三下学期第二次联考物理试题含解析
- 河北省南宫市奋飞中学2025-2026学年初三下-期中调研物理试题试卷含解析
- 潍坊市重点中学2025-2026学年初三下九月月考数学试题含解析
- 江苏省无锡市江阴市云亭中学2026年初三物理试题模拟试卷含解析
- 泰安市重点中学2026年初三下学期质量监控(二模)数学试题试卷含解析
- 四川省成都市彭州市重点达标名校2026年初三下学期开学调研试题物理试题含解析
- 2024司法考试试题及答案
- 2025年山西省中考英语试卷真题(含答案详解)
- 《肾功能及尿液检查》课件
- 中国石油企业文化课件
- 电力工程建设资源投入计划
- 生物批签发管理办法
- 《酒店法律与法规实务》全套教学课件
- 高分子化学教材第七章逐步聚合反应
- 项目经理负责制与项目管理实施办法
- 2025年陕西省西安市碑林区西北工大附中中考数学三模试卷
- T-CASMES 428-2024 商业卫星太阳电池阵通.用规范
评论
0/150
提交评论