《例题字母译码输入一个小写字母输出其后的第四个字符课件》由会员分享,可在线阅读,更多相关《例题字母译码输入一个小写字母输出其后的第四个字符课件(47页珍藏版)》请在金锄头文库上搜索。
1、例题:字母译码:输入一个小写字母,输出其后的第四个字符。例如:输入a ,输出e;输入v,输出z; 输入y,输出c;,程序(lt1.c): #include “stdio.h“ void main() char x,y; scanf(“%c“, ,x+4,如果x+4小于等于z,那么,否则,y=x+4,y=x-22;,x+4小于等于z,y=x+4,y=x-22,输出y,是,否,if(x+4=z),y=x+4,else,y=x-22;,=、=、!=,if,else,switch,第四章 选择结构程序设计,重点:1、掌握三种类型运算符:关系、逻辑、条件,2、掌握选择结构的两种语句:if else sw
2、itch,3、break语句的用法,流程图:,条件P,语句A,语句B,Y,N,4.1关系运算符及表达式,重点掌握几种运算符的书写、优先级以及运算规则,一、运算符, = (5*2),2、表达式的值,若表达式成立则为1,若表达式不成立则为0,算术运算符 * / % + -,赋值运算符 = += -= *= /= %=,逗号运算符 ,,低,高,条件运算符 = y x的值 为,0,例如:66a 结果为,0,aA 结果为,1,例题:表示出下列关系:,1、能被3 整除的数x,X%3=0,2、所有的非负数x,X=0,3、所有的奇数X,X%2=1或者,X%2!=0,1.基本形式,条件P,真,假,语句1,语句2
3、,形式:if (表达式) 语句1else语句2,注: if后的表达式一般为关系表达式或者逻辑表达式,也可以为任何合法的表达式。只要表达式的值为非0就作为真,否则为假。表达式一定要用()括起来。,4.2 if语句,练习:求两个数中比较大的数。,输入两个整数给x,y,xy,max=y,max=x,输出max的值,#include void main() ,int x,y,max;,scanf(“%d,%d”,if(xy),max=x;,else,max=y;,printf(“the max number is %dn”,max);,练习: 1、(lt1.c)做一个简单的加法运算练习小程序,具体要求
4、:由计算机随机产生一个100以内的加法运算式,用户来运算,如果计算正确,则提示“right”,否则提示“wrong”。,2、异性朋友匹配小游戏。(friend.c) 游戏规则:由计算机扮演另一方随机抽取一种性别。输入你的性别,如果二者性别相同,则不能做朋友。如果不相同,则由你来快速猜出对方的性别,猜对即可做朋友,否则也不能做朋友!,补充:产生随机数函数:rand ()%N:产生0N)的整数,注:一般在使用random函数之前先用srand()函数产生一个随机的种子,一般利用系统的时钟。格式为:srand(time(0),使用以上函数应在程序的开头加相应的头文件“stdlib.h” 和”time
5、.h”,例如:产生一个100以内的随机数赋值给变量X,应使用的语句为:x=rand()%100;,例题:字母译码:输入一个字母,输出其后的第四个字符。例如:输入a ,输出e;输入v,输出z; 输入Y,输出C;,程序(lt2.c): #include “stdio.h“ void main() char x,y; scanf(“%c“, ,a,a,A,A,if(小写字母),y=(x+4- a )%26+a ;,else,y=(x+4- A )%26+A ;,小写字母,错误,逻辑运算符,小写字母的表示:,若有字符变量c,表示c的范围属于小写字母,则:,ca,cz,aca & c3) & (612)
6、,3| (612),(a0),注:& 和|都为双目运算符, 而!为单目运算符。,运算规则:假设用a和b分别表示两个表达式的值,,!a :对a的值求反,即若a的值为0 则表达式的值为1,反之,若a的值为1,则表达式的值为0。,a & b a和b两者都为1时表达式的值为1,a、b两者中有一个为0则表达式的值为0。,a | b a和b两者都为0时表达式的值为0,a、b两者中有一个为1则表达式的值为1。,算术运算符 * / % + -,赋值运算符 = += -= *= /= %=,逗号运算符 ,,低,高,条件运算符 = 3) & (612),3| (612),(a0),所以以下的表达式分别等价于:,5
7、3 & 612,3| 612,a0,错误:!的优先级高于关系运算符,四、表达式:,1、形式:,2、表达式的值,若表达式成立则为1,若表达式不成立则为0,0,1,0,(3) 能够同时被3和5整除的数,x%3=0,x%5=0,&,(4) 表示所有的小写字母(某个变量的范围为小写字母),c=a & c=a & c=A & c=a & c=a,x0,y=1,X0),y=1;,else,if(x=0),if(x=0)if(x0) y=1;else y=0; else y=1;,y=1;,else,if(x0),y=1;,else,y=0;,练习:,main() int a=2,b=-1,c=2;if(a
8、b)if(b0) c=0;else c+=1;printf(“%dn”,c); ,程序的结果为:2,注: else 不能单独使用,必须与if配对使用,而且与最近一个没有匹配的if匹配,而不论书写形式如何。为了便于分析,If语句在书写上采用渐进缩进的形式。,main() int a=2,b=-1,c=2;if(ab)if(b、=、=、=、!=,2、逻辑运算符 !、&、|,3、ifelse语句,注意: (1)if语句体和else语句体需要用括起来,如果其中只有一条语句,则可以省略。,(2)如果使用if语句的嵌套,在书写时尽量采用缩进的方式。,例题:编写一个四则运算的运算器。具体要求:输入一个四则运
9、算计算式,计算机给出相应的结果。 (operation.c),#include “stdio.h“ void main() ,int x,y;char c;,printf(“input an arithmatic operation:a+(-,*,/)bn“);,scanf(“%d%c%d“,输入运算式,c=+,输出x+y,输出x-y,c=*,c=-,输出x*y,c=/,输出x/y,提示“错误”,if(c=+),printf(“%dn“,a+b);,else,if(c=-),printf(“%dn“,a-b);,else,else,else,if(c=*),if(c=/),printf(“%d
10、n“,a*b);,printf(“%dn“,a/b);,printf(“ 错误的表达式n”);,4.4 switch 语句,本节重点:1)if语句与switch语句的关系。,2)break; 中断语句的正确使用。,switch (表达式) case 常量表达式1:语句1case 常量表达式2:语句2case 常量表达式n:语句ndefault : 语句n+1,一、switch语句形式:,注:1)switch为关键字,为switch语句体。,2)switch后的表达式可以为任意类型,放于()中。,3)case为关键字,只起到语句标号的作用,不进行判断。常量表达式的类型应与switch后表达式的类
11、型一致。,4)case与后面的表达式必须用空格隔开。,5)case后的语句可以为一条语句,也可有多条或者没有。,6)default为关键字。代表所有case标号之外的所有情况,可出现在语句体中的任何位置,也可以没有。,switch (表达式) case 常量表达式1:语句1case 常量表达式2:语句2case 常量表达式n:语句ndefault : 语句n+1,二、执行过程,计算switch后面表达式的值,有无对应的case标号,无,有无default,有,有,由此向下执行,由此向下执行,Switch语句体后面的语句,无,将上述的if语句用switch语句来表示:,switch ( 表达式 ) case 常量表达式1:语句1case 常量表达式2:语句2case 常量表达式n:语句ndefault : 语句n+1,if(c=+)printf(“%dn“,a+b); else if(c=-)printf(“%dn“,a-b);else if(c= *)printf(“%dn“,a*b);else if(c=/)printf(“%dn“,a/b);else printf(“错误的表达式!n“);,c,+:,-:,printf(“%dn“,a+b);,