C语言例题(分支语句)
C语言程序设计 选择控制结构(5.1.2)--5.1节-5.8节
![C语言程序设计 选择控制结构(5.1.2)--5.1节-5.8节](https://img.taocdn.com/s3/m/2f99e83fba1aa8114431d985.png)
3 main()
4{
5
float data1, data2;
6
char op;
7
printf("Please enter the expression:\n");
8
scanf("%f %c%f", &data1, &op, &data2); /* %c前有一个空格 */
9
switch (op)
10
{
2 main()
3{
4
int a, b, max;
5
printf("Input a, b:");
6
scanf("%d,%d", &a, &b);
7
max = a > b ? a : b;
8
printf("max = %d\n", max);
9}
/* 用条件表达式计算两整数的最大值* /
【例题解析】相比于前两种的方法而言,本例使用条件表达式的方法编写的程序更简洁。
Invalid operator!
【例题解析】用 default 标号后的语句来处理输入非法运算符的情况,使程序不仅对用户
正确的输入数据进行运算外,还对错误的输入数据进行错误处理,从而保证了程序的健壮
性。每个 case 后的常量值必须互不相同,出现次序发生改变时,不影响程序的运行结果,
但从执行效率角度考虑,一般将发生频率高的情况放在前面。 程序第 12、15、18、28 行的
9
printf("max = %d\n", max);
10 }
程序的运行结果如下:
编程语言基础-C语言 第3章 分支程序设计
![编程语言基础-C语言 第3章 分支程序设计](https://img.taocdn.com/s3/m/82b7c64af01dc281e53af08f.png)
③ 假设A和B是两个表达式,下面对逻辑运 算进行说明。 1) A && B 若A、B均为真, 则“A && B”值为真,否则为 假。 2) A || B 若A、B均为假, 则“A || B值”为假,否则为真。 3) ! A 若A为真, 则 “!A”为假;否则为真。
看下面的例子:
1.
( 3 < 2 ) && ( 7 > 5 ) 值:0 只有 && 右面的子表达式为真 ( 3 < 2 ) || ( 7 > 5 ) 值:1 只要求有一个子表达式为真 !(3<2) 子表达式为假。 值:1
运行结果: 1. 请输入一个正 整数:36↙ Yes! 2. 请输入一个正 整数:15↙ No!
3.2.3 if语句的嵌套
一般形式是: if(表达式1) 语句1; else if(表达式2) 语句2; else if (表达式3) 语句3; else 语句4;
执行过程如图3-4所示。
表达式 1 假 表达式 2 假
}
3.4 分支程序设计应用实例
例3-7: 从键盘输入二个整数,输出其中最大者。 main( ) { int a, b, max; printf("请输入二个整数:"); scanf("%d %d", &a, &b ); if ( a > b ) max = a; else max = b; printf("二者中最大值为:%d", max ); getch( ); 运行结果: } 17 31↙ 二者中最大值为:31
第3章 分支程序设计
3.1 关系表达式和逻辑表达式
实验二C语言中的分支语句程序设计实验
![实验二C语言中的分支语句程序设计实验](https://img.taocdn.com/s3/m/688778260812a21614791711cc7931b765ce7baa.png)
实验二 C语言中的分支语句程序设计一、实验目的:1.掌握C语言的基本语法;2.掌握C语言的表达式运算及标准库函数的调用方法;3.掌握C语言的基本输入输出语句;4.掌握字符类型、整型和浮点型数据的输入输出及表达式计算方法;5.掌握if语句和switch语句的用法;6.掌握分支程序结构的设计思想;二、实验内容(一)分析程序,用程序验证下面各个表达式的值1、当整型变量a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1) if(a>c) {a=b; b=c; c=a;}else {a=c; c=b; b=a;}执行后a,b,c的值为,,(2) if(a<c) a=c;else a=b; c=b; b=a;执行后a,b,c的值为,,(3) if(a!=c) ;else a=c; c=b; b=a;执行后a,b,c的值为,,2、若整数x分别等于95、87、100、43、66、79,57,则以下程序段运行后屏幕显示是什么?switch(x/10){ case 6:case 7: printf("Pass\n"); break;case 8: printf("Good\n"); break;case 9:case 10: printf("V eryGood\n"); break;case 5 : printf("Between Pass and Fail\n");default: printf("Fail\n");}x等于95时,程序段运行后屏幕上显示。
x等于87时,程序段运行后屏幕上显示。
x等于100时,程序段运行后屏幕上显示。
x等于43时,程序段运行后屏幕上显示。
x等于66时,程序段运行后屏幕上显示。
x等于79时,程序段运行后屏幕上显示。
x等于57时,程序段运行后屏幕上显示。
四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支
![四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支](https://img.taocdn.com/s3/m/71a23b16bfd5b9f3f90f76c66137ee06eff94e9f.png)
四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。
自变量x与函数值均采用双精度类型。
(2)自变量x值从键盘输入,且输入前要有提示信息。
(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。
记录结果。
(5)源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。
具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。
(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
(5)输出结果中应包含百分制成绩和成绩等级。
(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。
记录结果。
(7)源程序以sy4_2.c存盘。
三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。
要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。
C语言第4章-分支结构.
![C语言第4章-分支结构.](https://img.taocdn.com/s3/m/408be21fc381e53a580216fc700abb68a982ad8c.png)
§【源程序】 §main( ) §{ int grade; printf ( "input the grade:"); § scanf ("%d",&grade); § if (grade>=90) printf("A\n"); § else if(grade>=80) printf("B\n"); § else if(grade>=70) printf("C\n"); § else if(grade>=60) printf("D\n"); § else printf("E\n"); §}
§2.添break、可跳出。见下节
【例呢?
§ //百分制成绩的等级划分问题之解法3(不完善):
§ main( )
§ {int grade; printf("input the grade:");
§ scanf("%d",&grade);
§ switch(grade/10) //按单值匹配,故要将范围映射为单值
§4.各个case子句出现的次序对执行结果没任 何影响,即顺序可以任意布局。
§5.每一个case能够拥有一条或多条语句,其最大的 不同之处在于使用多条语句时不需要用“{}”括起来。
§6.多个case可以共用一组执行语句。例如:
§
┆
§
case ‘A’:
§
case ‘a’: ++count ; break ;
§
c语言教案第5章
![c语言教案第5章](https://img.taocdn.com/s3/m/487b5163f5335a8102d2205c.png)
使用嵌套if 语句完成例5-4。 例5-6 使用嵌套 语句完成例 。 #include<stdio.h> int main(){ float g,y; scanf("%f",&g); if(g<50) { if(g<20) y=0.5*g; else y=0.4*g; } else { if(g<100)y=0.3*g; else y=0.2*g; } printf("\n%f",y); }
用字符来代表成绩水平,我们规定A 代表[90-100]、 例5-12 用字符来代表成绩水平,我们规定 代表 、 B 代表[80-90)、C 代表[70-80)、D 代表[60-70)、E 代表[0代表 、 代表 、 代表 、 代表 60)。请编程输入一个成绩 整数 ,输出代表该成绩的字符。 整数), 。请编程输入一个成绩(整数 输出代表该成绩的字符。
单分支if 单分支 语句的流程图
5.1.2 双分支 选择结构 双分支if
if(表达式 语句 表达式) 语句1; 表达式 else 语句2; 语句
双分支if 双分支 语句的流程图
输入一个整数,输出其绝对值 输出其绝对值。 例5-1 输入一个整数 输出其绝对值。
程序1: 程序 : #include<stdio.h> int main(){ int i; scanf("%d",&i); if(i>=0) printf("\n%d",i); else printf("\n%d",-i); } 程序2: 程序 : #include<stdio.h> int main(){ int i; scanf("%d",&i); if(i>=0) printf("\n%d",i); if(i<0) printf("\n%d",-i); }
C语言编程习题和答案
![C语言编程习题和答案](https://img.taocdn.com/s3/m/0861df30abea998fcc22bcd126fff705cc175c9e.png)
C语⾔编程习题和答案1题:/*九九乘法表:*/#includeint main(void){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%dx%d=%2d ",i,j,i*j); printf("\n");} return 0;}2题:/*求n的阶乘之和:*/#includeint main(void){int i,n,s,k,j;scanf("%d",&n);for(s=1,i=1;i<=n;i++)s*=i;printf("%d!=%d\n",n,s);for(s=1,i=1;i<=n;i++){for(k=0,s=1,j=1;j<=i;j++)s=s*j,k+=s;}printf("他们的n阶之和为%d\n",k); return 0;}3题:/*求兔⼦繁殖问题:*/#includeint main(void){int a=1,b=1,i=3,n,c;printf("\n请输⼊⼀个繁殖时间(单位为⽉): "); scanf("%d",&n); while(i<=n){c=a+b;a=b;b=c;i++;}printf("他们繁殖的兔⼦数为:%d(只)\n",c); return 0;}1题:/*猴⼦吃桃:*/#includeint main(void){int i,a=1,s=0;for(i=9;i>=1;i--){s=(a+1)*2;a=s;} printf("s=%d个\n",s); return 0;}2题:/*求分数之和:*/#includeint main(void){float k,i,a=1,b=2,sum=0.0;printf("这前20个分数分别是:");for(i=1,sum=0;i<=20;i++){sum+=b/a;printf("%.f/%.f ",b,a);k=b,b=(a+b),a=k;}printf("\n他们的和为:sum=%.2f\n",sum); return 0;}3题/*判断是否是⽔仙花数:*/#includeint main(void){int a,j,k,s;printf("请输⼊⼀个数:");scanf("%d",&a);for(;a<100||a>999;){printf("\n输⼊有误,请重新输⼊⼀个三位数:"); scanf("%d",&a);} j=a/100,k=a%100/10,s=a%10;if(a==j*j*j+k*k*k+s*s*s)printf("\n%d是⽔仙花数。
分支结构程序-2.
![分支结构程序-2.](https://img.taocdn.com/s3/m/576f17f56294dd88d0d26bdf.png)
3.3 评分等级设置
C语言还提供了一种break语句,用于跳出switch语句。
switch(带break)语句的一般形式
switch(表达式) { case 常量表达式1: 语句1;break; case 常量表达式2: 语句2;break; …... case 常量表达式n: 语句n;break; [ default : 语句n+1;break; ] }
3.3 评分等级设置
C语言还提供了另一种用于多分支选择的语句。
switch语句的一般形式
switch(表达式) { case 常量表达式1: 语句1; case 常量表达式2: 语句2; …... case 常量表达式n: 语句n; [ default : 语句n+1;] }
语义: 计算表达式的值,并 逐个与其后的常量表达 式值相比较,当表达式 的值与某个常量表达式 的值相等时,则执行之 后的语句,然后不再进行 判断,继续执行后面所 有case后的语句(包括 default后的语句)。
03 分支结构程序-2
任务三 找出最高分和最低分 ( 2)
3.1 3.2 3.3
两个数据比大小
三个数据中找最大值和最小值
评分等级设置
3.2 三个数据中找最大值和最小值
开始 定义整型变量a、b、c、max、min 从键盘输入a、b、c
确定算法
找出a、b、c中最大数赋值 给max,最小数赋值给min
printf(“a=%d,b=%d”,a,b); printf(“a=%d,b=%d”,a,b);
a=1,b=3
a=3,b=12803
课堂练习
int a=1,b=3,t; if(a<b) { t=a;a=b;b=t;}
C语言程序设计
![C语言程序设计](https://img.taocdn.com/s3/m/661f2a7d168884868762d60f.png)
>=90, A. (90-100)。 >=80, B. (80-89)。 >=70, C. (70-79)。 >=60, D. (60-69)。
>=0, E. (0-59)。 main( ) { float score; printf(“\n Enter a score(0-100):”); scanf(“%f”,&score); if (score>=90) printf(“A \n”); else if (score>=80) printf(“B \n”); else if (score>=70) printf(“C \n”); else if (score>=60) printf(“D \n”); else printf(“E \n”); }
次序任意
(4) 在switch开关分支语句结构中, default部分不是必须的, 如果没 有default部分, 则当e表达式的值与各case后的ci常量表达式的值 都不一致时, 则程序不执行该结构中的任何部分。 switch ( e ) { case c1: S1; break; case c2: S2; break; …… case cn: Sn; break; }
使用 switch-case 分支语句时,应注意以下几点: (1)switch 后面的e表达式 可以是整型常量或变量、字符型常量或变量、枚举 类型表达式。其结果值必须是整型数据或字符型数据。 switch ( e ) { case c1: S1; break; case c2: S2; break; …… case cn: Sn; break; default : Sn+1; break; } 例: main( ) { char a; switch (5+6/3) { .. .. } switch (a ) { .. .. } … }
C语言-课堂笔记4-多分支选择结构
![C语言-课堂笔记4-多分支选择结构](https://img.taocdn.com/s3/m/629568f2aeaad1f346933f67.png)
缩进后
if()
if() 语句1
else
if() 语句2
else 语句3
变:
if()
{
if() 语句1
else 语句4
if() 语句2
else 语句3
}
10.30作业:
else
printf("输入错误!");
程序2:
char level;
switch(level)
{
case 'A':printf("85~100\n"); break;
case 'B': printf ("70~84\n"); break;
else if (level == 'C')
printf("70-79\n");
else if (level == 'D')
printf("60-69\n");
else if (level == 'E')
printf("<60\n");
第五课 选择结构2
格式4:
switch语句
格式
switch (表达式)
{
case 常量表达式1:语句1
case 常量表达式2:语句2
...
case 常量表达式n:语句n
default :语句n+1
}
default: c='E';
}
printf("level is : %c\n",c);
实验二 C语言中的分支语句程序设计实验
![实验二 C语言中的分支语句程序设计实验](https://img.taocdn.com/s3/m/a3fdf47a1711cc7931b716eb.png)
实验二 C语言中的分支语句程序设计一、实验目的:1.掌握C语言的基本语法;2.掌握C语言的表达式运算及标准库函数的调用方法;3.掌握C语言的基本输入输出语句;4.掌握字符类型、整型和浮点型数据的输入输出及表达式计算方法;5.掌握if语句和switch语句的用法;6.掌握分支程序结构的设计思想;二、实验内容(一)分析程序,用程序验证下面各个表达式的值1、当整型变量a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1) if(a>c) {a=b; b=c; c=a;}else {a=c; c=b; b=a;}执行后a,b,c的值为,,(2) if(a<c) a=c;else a=b; c=b; b=a;执行后a,b,c的值为,,(3) if(a!=c) ;else a=c; c=b; b=a;执行后a,b,c的值为,,2、若整数x分别等于95、87、100、43、66、79,57,则以下程序段运行后屏幕显示是什么?switch(x/10){ case 6:case 7: printf("Pass\n"); break;case 8: printf("Good\n"); break;case 9:case 10: printf("VeryGood\n"); break;case 5 : printf("Between Pass and Fail\n");default: printf("Fail\n");}x等于95时,程序段运行后屏幕上显示。
x等于87时,程序段运行后屏幕上显示。
x等于100时,程序段运行后屏幕上显示。
x等于43时,程序段运行后屏幕上显示。
x等于66时,程序段运行后屏幕上显示。
x等于79时,程序段运行后屏幕上显示。
x等于57时,程序段运行后屏幕上显示。
C语言程序设计 项目二
![C语言程序设计 项目二](https://img.taocdn.com/s3/m/a6af98bafd0a79563c1e7268.png)
三、相关知识
(一) 关系运算符与关系表达式 1. 关系运算符及优先级 < (小于) > (大于) 优先级相同(高) < = (小于或等于) >= (大于或等于) == (等于) 优先级相同(低) != (不等于) 1)前4种运算符(<,<=,>,>=) 优先级相同,后两种也相同。前4种 高于后2种。 (2)关系运算符的优先级低于算术 运算符。 (3)关系运算符的优先级高于赋值 运算符。
(二) 逻辑运算符与逻辑表达式
1. 逻辑运算符及优先级
&& 逻辑与 || 逻辑或 ! 逻辑非
优先级低
优先级高 例如:10岁以下的小孩而且是女的 例如:10岁以下的小孩或者是女的
其中“&&”相当于而且,要求有两个运算 量。 “||”相当于或者,要求有两个运算量。
“!”相当于否定 。 除了10岁以下的女小孩。 优先级:“!”运算符高于算术运算符,关系运算符高于逻辑运算符 逻辑运算符的“真值表”
(三) 条件语句
1. 单分支语句 【语法】 if(表达式)语句组 【流程图】
/*表达式值为非0时,执行语句组,为0时,不执行语句组*/
【例如】若a=3,b=4,c=5, 1)则执行语句if(a>b) c=a;后c的值为5,因为a>b不成立,则表达式的值为0,不执行 后面的语句c=a,所以c的值不变,还是为5; 2)执行语句if(a<b)c=a;后c的值为3。 3)执行语句if(a>b) {t=a;a=b;b=t;}后a的值为3, b的值为4; 4)执行语句if(a<b){t=a;a=b;b=t;}后a的值为4, b的值为3。 其中的t=a;a=b;b=t;完成了变量a和b的值的交换,当语句组的语句有1句以上时,要 用{ }把语句组括起来,注意在{ }外面不需要再加分号。因为{ }内是一个完整的复合语 句,不需要另附加分号。
C语言第3章_分支结构
![C语言第3章_分支结构](https://img.taocdn.com/s3/m/c6588518591b6bd97f192279168884868762b895.png)
3.3练习与习题参考答案3.3.1练习参考答案3-1 例3-4中使用else-if 语句求解多分段函数,为了检查else-if 语句的三个分支是否正确,已经设计了三组测试用例,请问还需要增加测试用例吗?为什么?如果要增加,请给出具体的测试用例并运行程序。
解答:最好再增加两组测试用例,因为尚未对分段函数参数的边界值进行测试。
可再给出x=0和x=15时的两种情况。
3-2 计算符号函数的值:输入一个整数x ,计算并输出符号函数 sign(x) 的值。
试编写相应程序⎪ ⎩⎪ ⎨ ⎧ >=<−==010001)(x x x x sign y ,,,解答:#include<stdio.h>int main (void){int x, y;scanf ("%d", &x);if (x > 0) y = 1;else if (x == 0) y = 0;else y = -1;printf ("sign(%d) = %d\n", x, y);return 0;}3-3统计学生平均成绩与及格人数:输入一个正整数n,再输入n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数。
试编写相应程序。
解答:#include <stdio.h>int main (void){int count, grade, i, n;double average, sum;scanf ("%d", &n);count = 0;sum = 0;for (i = 1; i <= n; i++){scanf ("%d", &grade);sum = sum + grade;if (grade >= 60) {count++;}}if (n > 0) {average = sum / n;}else{average = 0;}printf ("average = %.1f\n", average);printf ("count = %d\n", count);return 0;}3-4统计字符:输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
c语言编程题经典100例
![c语言编程题经典100例](https://img.taocdn.com/s3/m/bfec1919f011f18583d049649b6648d7c1c708d2.png)
c语言编程题经典100例下面是经典的c语言编程题100例,每道题目都涵盖了c语言编程的各个方面,包括基本数据类型、条件语句、循环结构、函数与指针等。
通过这100道题目的练习,可以帮助初学者快速掌握c语言编程的基础知识,也有助于进一步深入了解c语言的高级特性。
1. 打印Hello World。
2. 输入一个整数,判断是否为偶数。
3. 输入两个整数,求它们的和、差、积、商和余数。
4. 输入一个整数,求它的绝对值。
5. 输入一个字符,判断它是否为字母。
6. 输入三个整数,找出其中的最大值。
7. 输入一个字符,判断它是否为数字。
8. 输入一个整数,判断它是否为质数。
9. 输入两个字符串,比较它们的大小。
10. 输入一个字符,将它转换为大写或小写。
11. 输入一个浮点数,求它的平方根。
12. 输入一个整数,将它按位取反。
13. 输入一个字符串,翻转它的顺序。
14. 输入一个字符串,统计其中的元音字母个数。
15. 输入一个整数,将它转换为二进制数。
16. 输入两个整数,交换它们的值。
17. 输入一个二维数组,输出它的转置矩阵。
18. 输入一个数组,找出其中的最大值和最小值。
19. 输入一个数组,求它的平均数、中位数和众数。
20. 输入一个数组,判断它是否为回文数。
21. 输入一个字符串,统计其中的单词数量。
22. 输入一个字符串,统计其中的字符数、单词数和行数。
23. 输入两个字符串,判断它们是否为同构字符串。
24. 输入一个字符数组,将它转换为整数。
25. 输入一个浮点数,将它转换为分数。
26. 输入一个浮点数,将它四舍五入到整数。
27. 输入一个字符串,将其中的数字字符替换为其他字符。
28. 输入两个数组,把它们合并成一个新的数组。
29. 输入一个二维数组和一个数值,查找并输出它在二维数组中的位置。
30. 输入一个字符串,判断它是否为回文字符串。
31. 输入两个整数,求它们的最大公约数和最小公倍数。
32. 输入一个表达式,求它的值。
北京理工大学C语言编程
![北京理工大学C语言编程](https://img.taocdn.com/s3/m/c3ec8d0f79563c1ec5da7159.png)
时间限制内存限制额外进程测试输入期待的输出时间限制内存限制额外进程测试输入期待的输出4.int i,n;5.long m;6. scanf("%d",&n);7. i=1;8. m=1;9.do{m=m*i;10. i=i+1;11. }while(i<=n);12.if(m>=0)13. printf("%ld\n",m);14.else15. printf("N is too big!\n");16.}2-2. 求正弦函数值成绩: 10 / 折扣: 0.8已知求正弦sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …编写程序,要求输入x (单位是弧度)和ε,按上述公式计算sin(x) 的近似值,要求计算的误差小于给定的ε。
此题当然要用到循环语句,到第六章去找个猫来照着画吧,循环的终止条件就是本次计算出来的正弦函数值和上次计算的值的差小于给定的ε。
求两个值的差时,要求出其绝对值,使用库函数fabs(),头文件在math.h里。
友情提示:给定的误差值ε越小,计算的精度越高,但是要注意喽,给的精度太高,你的程序会成为死循环。
如果出现死循环的情况,可以用<Ctrl>+<Break>键退出程序。
测试输入期待的输出时间限制内存限制额外进程#include<math.h>#include<stdio.h>main(){ int i;double x,e,a,b,sin;i=3;scanf("%lf %lf",&x,&e);a=x;sin=x;do{a=a*x*x/i/(i-1);a=-a;i=i+2;sin+=a;b=fabs(a);} while(b>=e);printf("%f\n",sin);}2-3. 判断输入的字符的类型成绩: 10 / 折扣: 0.8我们将字符分为五类:大写字母、小写字母、数字、控制字符、其他字符。
C语言程序设计—选择结构
![C语言程序设计—选择结构](https://img.taocdn.com/s3/m/71ac9045ae1ffc4ffe4733687e21af45b307fe92.png)
int main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
return 0;
}
条件表达式“(ch>='A'&&ch<='Z')?(ch+32):ch”的作用是:
else y=0;
if (0) 语句5
//表达式是整数0,条件判断结果为假,不执行语句5,接着执行下一语句
if(x+3.5) 语句6
//表达式是实数表达式,若x+3.5不等于0,则条件判断结果为真,执行语句6
小例子
判别用year表示的某一年是否
闰年,可以用一个逻辑表达式
来表示。闰年的条件是符合下
面二者之一: ①能被4整除,
scanf("%f,%f",&a,&b);
if(a>b)
{
//将a和b的值互换
t=a;
a=b;
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
return 0;
}
两个变量值的互换
a=b; //把变量b的值赋给变量a,a的值等于b的值
b=a; //再把变量a的值赋给变量b,变量b值没有改变
再执行关系运算“1>c”,得值0,赋给f,所以f的值为0
逻辑运算符和逻辑表达式
分支语句(2)
![分支语句(2)](https://img.taocdn.com/s3/m/f15c1c1cb7360b4c2e3f64a8.png)
3、说明 、
多个case语句可以共用一组执行语句。 多个case语句可以共用一组执行语句。 case语句可以共用一组执行语句 switch(grade) { case 'A': case 'B': case 'C':printf("grade>=60\n");break; default:printf("grade<60"); } 各case和default子句的先后顺序可以变动,而 case和default子句的先后顺序可以变动, 子句的先后顺序可以变动 不会影响程序执行结果。 不会影响程序执行结果。
switch语句 switch语句
1、语句形式: 、语句形式: switch (表达式) 表达式) { 数值型 case 常量 语句 ; 常量1: 语句1; 或 字符型 case 常量 语句 ; 常量2: 语句2; case 常量 语句 ; 常量3: 语句3; ....... 常量表达式的值必须 case 常量 语句 ; 常量n: 语句n; 互不相同, 互不相同,否则执行 时将出现矛盾, default : 语句 时将出现矛盾,即同 语句n+1; ; 一个开关值, 一个开关值,将对应 } 多种执行方案。 多种执行方案。
#include "stdio.h" void main() {int n; scanf("%d",&n); switch(n) {case 0: printf("Sunday\n"); case 1: printf("Monday\n"); case 2: printf("Tuesday\n"); case 3: printf("Wednesday\n"); case 4: printf("Thursday\n"); case 5: printf("Friday\n"); case 6: printf("Saturday\n"); default: printf("Error"); } }
C语言第3章
![C语言第3章](https://img.taocdn.com/s3/m/8174817131b765ce05081468.png)
3.3.3 if语句的嵌套
注意: 1.else子句不能作为语句单独使用,它必须与if配对使用。 2.为使程序结构清晰、层次分明,常常采用程序行缩进的书 写格式,if 和其对应的else写在一列上。但,书写格式不能 代替逻辑结构。 3.if 和 else 的配对关系。一个 else 总是与其上面距它最近 的,并且没有其它 else 与其配对的 if 相配对。
3.2 关系运算和逻辑运算
3.2.1 关系运算
运算符 含义 优先级 < 小于 <= 小于等于 6 > 大于 >= == != 大于等于 等于 不等于 7
3.2.2 逻辑运算
运算符 含义 优先级 ! 逻辑非 2 && 逻辑与 11 || 逻辑或 12
关系表达式
关系表达式是使用关系运算符将两个表达式(算术表达式,关系表达式, 逻辑表达式,赋值表达式等)连接起来的式子。 关系表达式的值:关系表达式成立,即为“真”,C语言中用1表示; 关系表达式不成立,即为“假”,C语言中用0表示。 对1.0/3.0*3.0==1.0,计算机判 为假改写为:fabs(1.0/3.0*3.0字符比较按ASCII码进比较 1.0)<1e-5; 对浮点数判断是否相等时,由于计算机存储的误差,会出现错误的结果。 应避免对两个实数表达式作“相等”或“不相等”的判别。 例:表达式5>2>7>8在数学上是不允许的。在C语言中是允许的,按自左而 右求解。5>2值为1;1>7值为0;0>8值为0。表达式的值为0。
例:a&&b&&c :a为真才判别b,a和b同时为真才判别c a||b||c:只要a为真,就不再判断b和c 例:(m=a>b)&&(n=c>d) 当a=1,b=2,c=3,d=4时,m=0,n维持原值
c的分支语句题目
![c的分支语句题目](https://img.taocdn.com/s3/m/6a6f88cc6429647d27284b73f242336c1eb930fb.png)
c的分支语句题目以下是一个简单的C语言分支语句题目:
题目:计算1到100之间所有奇数的和。
解题思路:
1. 使用for循环遍历1到100之间的所有数字。
2. 使用if语句判断当前数字是否为奇数。
3. 如果是奇数,则将其加入到总和中。
4. 输出总和。
代码实现:
```c
include <>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 != 0) { // 判断是否为奇数
sum += i; // 如果是奇数,则将其加入到总和中
}
}
printf("1到100之间所有奇数的和为:%d\n", sum);
return 0;
}
```
注意:以上代码中使用了if语句来判断当前数字是否为奇数,也可以使用其他方式来判断,比如使用位运算等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.输入年份和月份,求该月有多少天?
4.阅读下面程序,输入字母A时,指出其运行结果 #include<stdio.h> void main() { char ch; ch=getchar(); switch(ch) { case 65:printf("%c",'A'); case 66:printf("%c",'B'); default:printf("%s\n","other"); } }
else if(year==5)
rate=0.0075; else if(year==8) rate=0.0084; else rate=0.0; total=money+money*rate*12*year; printf("total=%.2f\n",total);
}
2.输入某学生的成绩,输出该学生的成绩所 对应的等级 A 90~100分 B 80~89分 等级= C 70~79分 D 60~69分 F 银行整存整取存款不同期限的月息利率分别为: 0.63% 期限1年 0.66% 期限2年 月息= 0.69% 期限3年 0.75% 期限5年 0.84% 期限8年 要求输入本金和期限,求到时候能从银行得到的利 息与本金的合计。
#include<stdio.h> void main() { int year; float money,rate,total; printf("输入存款和存期:"); scanf("%f,%d",&money,&ye ar); if (year==1) rate=0.0063; else if(year==2) rate=0.0066; else if(year==3) rate=0.0068;