C语言例题(分支语句)
C语言程序设计 选择控制结构(5.1.2)--5.1节-5.8节
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语言题库(共12套)
14.下列形式,不属于编译预处理命令的是( ).
A、#ifdef M
B、#undef M
C、#if (M>1)
D、while (M>1)
15.下面判断正确的是()。
A、char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";
5.continue语句对于while和do-while循环来说,意味着转去计算While表达式.
6.在do-while循环中,根据情况可以省略while.
7.对于字符数为n个的字符串,其占用的内存为n+1个字节空间.
8.puts函数用来输出一个字符.
9.引用数组元素时,下标可以是整型表达式或整型常量.
{ int x;
int y;
} v2;
则( )是正确的引用或定义.
A、example.x=10;
B、struct v2;v2.x=10;
C、example v2;v2.x=10;
D、struct example v2={10,3};
17.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数
feof(fp)的值为()。
D、char *a[3];
10.下面叙述中不正确的是( ).
A、可以对字符型数组进行整体输入和输出.
B、不可以对浮点型数组进行整体输入和输出.
C、可以对整型数组进行整体输入和输出.
D、字符型数组可以存放字符串.
11.函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是( ).
A、实参与形参是双向传递
3.下面程序的正确输出结果是( ).(规定用U表示空格)
C语言程序设计-第四章简单计算器小程序-分支程序设计
P1 逻辑运算符 P2
或
逻辑运算符 P2
课堂练习: 求下面逻辑表达式的值: 2>1 && 4 && 7<3+!0
值为0
等价于((2>1)&&4)&&(7<(3+(!
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算的重要规则
a&&b:当a为0时,不管b为何值,结果为0
课堂练习:有下面定义的语句和逻辑表达式: int a=0,b=10,c=0,d=0 a && b && (c=a+10,d=100) 逻辑表达式执行后,a,b,c,d的值各为多少?
任务实现效果演示 例题源代码:switchcalculator.c
相关知识 1. switch语句 2. break语句
1 switch多分支选择结构
❖ 尽管用if…else if结构可以实现多分支,注但意当:分常支量较表多达时式,必程须序是结整构型较、复字杂符。型或枚举类型,不能是 实型表达式,每个case关键字后的常量表达式应互不相同
值为0 等价于i==(k>j),值为1
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算符与逻辑表达式
&&(逻辑与)、||(逻辑或)、!(逻辑非)(单目)
逻辑表达式的一般形式:
优先级: 1.由低到高: ||→ && → !; 2.多种运算符一起: = →|| →&& →关系运算符 →算术运算符→ !。
【】 简单计算器小程序:由用户输入运算数和四则运算符(+、-、*、/),输出计算结果。
【】
c语言的分支和跳转
c语言的分支和跳转C语言是一种通用的编程语言,具有强大的分支和跳转功能。
分支和跳转是程序中的重要概念,它们可以根据不同的条件执行不同的代码块,或者在程序中跳转到指定的位置。
在C语言中,分支和跳转的实现主要依靠条件语句和循环语句。
条件语句包括if语句和switch语句,而循环语句包括for循环、while循环和do-while循环。
这些语句可以根据不同的条件来执行特定的代码块,或者在满足特定条件时进行跳转。
让我们来看看条件语句。
if语句是最常用的条件语句,它用于根据条件的真假来执行相应的代码块。
if语句的基本语法如下:```cif (条件) {// 如果条件为真,则执行这里的代码块}```在if语句中,条件可以是任何能够返回真或假值的表达式。
如果条件为真,那么代码块中的代码将会被执行;如果条件为假,那么代码块中的代码将会被跳过。
除了基本的if语句外,我们还可以使用else语句来扩展条件语句的功能。
else语句用于在条件为假时执行另外一段代码块。
if-else语句的基本语法如下:```cif (条件) {// 如果条件为真,则执行这里的代码块} else {// 如果条件为假,则执行这里的代码块}```在if-else语句中,如果条件为真,那么第一个代码块中的代码将会被执行;如果条件为假,那么第二个代码块中的代码将会被执行。
除了if-else语句,我们还可以使用else if语句来判断多个条件。
else if语句用于在前面的条件不满足时判断另外一个条件。
else if 语句的基本语法如下:```cif (条件1) {// 如果条件1为真,则执行这里的代码块} else if (条件2) {// 如果条件2为真,则执行这里的代码块} else {// 如果前面的条件都不满足,则执行这里的代码块}```在else if语句中,条件1会首先被判断,如果为真,则执行第一个代码块。
如果条件1为假,那么条件2将会被判断,如果为真,则执行第二个代码块。
实验二C语言中的分支语句程序设计实验
实验二 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、掌握分支语句的格式和功能。
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章-分支结构.
§【源程序】 §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语言经典编程100题(答案版)
C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
分支语句
{
casep0r:intf( “score?” ); ccaassees12c::anf( “%f”, &g ); casei3f:( g >=90 ) printf(
“very
switch( i ) { case 10:
case 9: printf(“very good”); break;
5%折扣 8%折扣
123
变量值
2000 s<3000
10%折扣
3000 s
15%折扣
计算公式为:f=p*w*s*(1-d)
其中:p每公里每吨货物的基本运费Biblioteka w为货物的重量回目录页
19
main()
{ int c, s; 选择结sca构nf(“
float %f %f
p, w, %d”,
d&,pCf;,语&w言, 程&s序); 设计
选择结构
C语言程序设计
main( ) { float g; int i;
scanf( “%f”, &g ); switch( i = g / 10 ) { case 10 :
case 9 : printf(“Very good !”); break; case 8 : printf(“Good\n”); break; case 7 : case 6 : printf(“Pass\n”); break; default: printf(“Fail”); break; }}
123
变量值
回目录页
14
选择结构
C语言程序设计
m程ain序() 举例
{msfalcoiaanntf(()g“; %ifn”t,
C语言编程习题和答案
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.
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语言-课堂笔记4-多分支选择结构
缩进后
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的分支语句题目以下是一个简单的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语句来判断当前数字是否为奇数,也可以使用其他方式来判断,比如使用位运算等。
实验二 C语言中的分支语句程序设计实验
实验二 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语言题库及答案详解C语言题库及答案详解C语言,作为一种广泛使用的编程语言,以其高效、灵活和跨平台的特性,在软件开发、系统编程等领域占据着重要地位。
为了帮助学习者更好地掌握C语言,本文将提供一些常见的C语言题目及其详细解答。
1. 基础语法题- 题目:请编写一个C程序,输出"Hello, World!"。
- 答案:以下是一个简单的C程序示例,用于输出"Hello,World!"。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。
- 答案:在C语言中,可以使用`int`关键字来声明整型变量。
以下是实现题目要求的代码。
```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。
- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。
```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。
分支结构练习题
分支结构练习题C语言分支结构练习题enjoy it ! C语言分支结构练习题一、选择题1.假定所有变量均已正确定义,下列程序段运行后y的值是。
int a=0, y=10; if (a=0) y--; else if(a>0)y++;else y+=y; A. 20 B. 11 C. 9 D. 0 2.假定所有变量均已正确定义,下列程序段运行后x的值是。
a=b=c=0;x=35; if (!a) x--; else if(b); if(c) x=3; else x=4; A. 34 y=-1; if(x!=0) if(x>0) y=1; else y=0; -1 (x0)0 (x-1 (x0)C. y =-1 (x=0)D. y =1 (x=0) 1 (x0) B. y =B. 4C. 35D. 3 3.下面的程序片段所表示的数学函数关系是。
1 (x>0) int i=1;switch(i++){ 4. 假定i和j为int型变量,则执行以下语句后j 的值为。
case 1: for(j=0;jB. 1C. 9D. 105. 在C语言的语句中,用来决定分支流程的表达式是。
A. 可用任意表达式B. 只能用逻辑表达式或关系表达式 D. 只能用关系表达式 C. 只能用逻辑表达式4.为了避免嵌套的if-else语句的二义性,C语言规定else 总是与组 1 / 8 C语言分支结构练习题enjoy it ! 成配对关系。
A.缩排位置相同的if B.在其之前未配对的if D.同一行上的if C.在其之前未配对的最近的if A.只能是0或 1 5.逻辑运算符两侧运算对象的数据类型。
B.只能是0或非0正数D.可以是任何类型的数据C.只能是整型或字符型数据6.以下关于运算符优先顺序的描述中正确的是。
A.关系运算符B.&& C.+ D.!= 8.选择出合法的if语句。
A.if(a=b) c++; B.if(a=b) c++; C.if(ab) c++; 的表达式是。
C语言第3章_分支结构
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个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
分支语句(2)
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章
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维持原值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h> void main() { int year; float money,rate,total; printf("输入存款和存期:"); 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;
例题(分支语句) 例题(分支语句)
1.已知银行整存整取存款不同期限的月息利率分别为: 0.63% 期限1 期限1年 0.66% 期限2 期限2年 月息= 月息= 0.69% 期限3 期限3年 0.75% 期限5 期限5年 0.84% 期限8 期限8年 要求输入本金和期限,求到时候能从银行得到的利 息与本金的合计。
2.输入某学生的成绩,输出该学生的成绩所 对应的等级 A 90~100分 90~100分 B 80~89分 80~89分 等级= 等级= C 70~79分 70~79分 D 60~69分 60~69分 F 60分以下 60分以下
3.输入年份和月份,求该月有多少天?
4.阅读下面程序,输入字母A时,指出其运行结果 .阅读下面程序,输入字母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\ default:printf("%s\n","other"); } }