C语言 第4章 选择结构程序设计

合集下载

第4章选择结构程序设计

第4章选择结构程序设计

第4章 选择结构程序设计

通过本章实验作业应达目标

1.练习并熟练掌握if、switch语句使用,实现二路与多路选择结构;

本章必须上交作业

程序4_2.c、4_3.c、4_4.c、4_5.c上传至http://121.251.227.27:8080/c

实验一 大小写转换

【实验目的】

熟悉关系与逻辑运算,了解if-else的顺序与嵌套层次关系。

【实验内容】

下面程序希望完成大小写字母转换功能。若输入一个大写字母,则转化为小写输出;若输入小写字母则转化为大写输出;对其他字母则原样不变输出。程序以4_1.c命名,运行程序,分别输入一次大写、一次小写字母、一次‘#’进行验证。如果程序有错,请改正。

#include

void main()

{char ch;

ch=getchar();

if('a'<=ch<='z') ch-=32;

if('A'<=ch<='Z') ch+=32;

putchar(ch);putchar('\n');

}

实验二 算术运算

【实验目的】

学习if~else、switch语句的使用。

【实验内容】

键盘输入一个算术的运算式子,输出运算结果。这里我们规定可以接收五个算术运算的符号:+、-、*、/、^(乘方)。输入这五个符号以外的运算符号则提醒出错。程序以4_2.c命名并上交。

下图是输入输出的示意图:

输入一个加法的算术式:

输入一个除法的算术式:

输入一个乘方的算术式:

求3的平方根:

【实验提示】

本程序需要从键盘接收一个表达式,根据表达式中的运算符号实现相应的运算并将结果保存下来并输出。

C语言本身是没有乘方运算符的,可以调用数学函数pow(x,y)求x的y次方。注意一定要包含。

【思考】

输入的表达式实质是按多个不同类型的数据来获取数据的。程序中需要定义多个变量来接收表达式中包含的数据与运算符,并设计相应的输入/输出函数实现。

实验三 金额计算

c语言实验4:选择结构程序设计

c语言实验4:选择结构程序设计

实验4:选择结构程序设计

实验名称: 选择结构结构程序设计

实验日期: 年 月 日 实验报告日期: 年 月 日

一、实验目的

1、 掌握关系、逻辑运算符及其表达式的正确使用。

2、 掌握if语句和switch语句的使用。

二、实验环境

Vc++6.0

三、实验内容

在v C下完成程序题:

1、有如下函数,要求输入x的值,求y的值。

|X|,X<0

Y= X2,0≤X<10

LogX,X≥10

2、输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值。

3、 某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。工龄和现工资从键盘输入,编程求加工资后的员工工资。

四、实验要求

1、 实验前绘制程序框图,编制源程序、准备测试数据。

2、 在vc下完成程序的编辑、编译、运行,获得程序结果。

3、 实验中可以采用vc程序调试基本方法协助查找程序中的逻辑问题。

五、实验步骤、过程

1、 编辑、编译、运行程序题1,分别使用数据-5,0,5,10,100做测试。人工计算结果分别是

2、

编辑、编译、运行程序题2,分别使用数据1,7,8做测试。

3、 编辑、编译、运行程序题3,测试数据见下表:

工龄y(年) 现工资S0(元) 调整后工资S(元)-人工计算结果

25 2200

22 1900

18 1700

16 1400

4、 尝试跟踪程序题1运行。用F7或F8键单步跟踪程序,用^F7检查变量值,用F4可以将程序运行到光标当前位置。

C语言第4章选择结构

C语言第4章选择结构

第四章选择结构

选择:

1.以下关于运算符优先级的描述中,正确的是()。

A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算

B)&&(逻辑与)>算术运算>关系运算>赋值运算

C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算

D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)

2.逻辑运算符的运算对象的数据类型()。

A)只能是0或1 B)只能是.T.或.F.

C)只能是整型或字符型 D)任何类型的数据

3.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)

C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)

D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

4.判断字符型变量ch为数字的表达式是( ) 。

A) 0<=ch<=9 B)(ch>=0)&&(ch<=9) C)'0'<=ch<='9' D)(ch>='0')&&(ch<='9')

5.若有以下函数关系

x<0 → y=2x

x>0 → y=x

x=0 → y=x+1

下面程序段能正确表示以上关系的是()。

A) y=2x; B) y=2x;

if(x!=0) if(x<=0)

if(x>0)y=x; if(x==0)y=x+1;

else y=x+1; else y=x;

C) if(x>=0) D)y=x+1;

if(x>0)y=x; if(x<=0)

elsey=x+1; if(x<0)y=2x;

else y=2x; else y=x;

C语言习题四选择结构程序设计

C语言习题四选择结构程序设计

习题四 选择结构程序设计

1. 设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是______。

A、if(x++); B、if(x>y && y!=0); C、if(x>0) x-- D、if(y<0) {;}

else y++; else x++;

解析:本题考查的是if语句。if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。故本题答案选C。

2. 有以下程序

main()

{ int i;

for(i=1;i<=40;i++)

{ if(i++%5==0)

if(++i%8==0) printf ("%d",i);}

printf("\n"); }

执行后的输出结果是______。

A、5 B、24 C、32 D、40

解析:本题考查的是if语句的应用。在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。故本题答案选C。

3. 在嵌套使用if语句时,C语言规定else总是______。

A、和之前与其具有相同缩进位置的if配对 B、和之前与其最近的if配对

C、和之前与其最近的且不带else的if配对 D、和之前的第一个if配对

解析:本题考查的是if语句的使用规则。在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。故本题答案为C。

4. 有以下程序

main()

{ int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

c语言第4章选择结构程序设计习题答案

c语言第4章选择结构程序设计习题答案

精品文档

. 第4章 选择结构程序设计

习题(P111)

4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。

4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

(1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1

(4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2

解:该题在求解过程中注意:

一、优先级。逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;

二、逻辑表达式的求值规则。(P94)

所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1

4.4有3个整数a、b、c,由键盘输入,输出其中最大的数。

分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方法类似。法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。

参考程序如下:

法一:

main()

{ int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/

printf("\ninput the value of a,b,c:"); /*提示输入*/

scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/

if(a>b) max=a;

else max=b;

if(max

max=c;

printf("\nmax=%d\n",max);

c语言第4章 选择结构程序设计习题答案

c语言第4章 选择结构程序设计习题答案

第4章 选择结构程序设计

习题(P111)

4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。

4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

(1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1

(4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2

解:该题在求解过程中注意:

一、优先级。逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;

二、逻辑表达式的求值规则。(P94)

所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1

4.4有3个整数a、b、c,由键盘输入,输出其中最大的数。

分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方法类似。法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。

参考程序如下:

法一:

main()

{ int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/

printf("\ninput the value of a,b,c:"); /*提示输入*/

scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/

if(a>b) max=a;

else max=b;

if(max

max=c;

printf("\nmax=%d\n",max);

c语言第4章 选择结构程序设计习题答案 2

第4章 选择结构程序设计

习题(P111)

4。2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。

4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

(1)a+b〉c&&b==c (2)a||b+c&&b-c (3)!(a〉b)&&!c||1

(4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c—1&&b+c/2

解:该题在求解过程中注意:

一、优先级。逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;

二、逻辑表达式的求值规则。(P94)

所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1

4。4有3个整数a、b、c,由键盘输入,输出其中最大的数。

分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方法类似。法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。

参考程序如下:

法一:

main()

{ int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/

printf(”\ninput the value of a,b,c:"); /*提示输入*/

scanf(”%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/

if(a>b) max=a;

else max=b;

if(max

printf("\nmax=%d\n",max);

c语言第4章 选择结构程序设计习题答案 3

第4章 选择结构程序设计

习题(P111)

4、2 C语言中如何表示“真”与“假”?系统如何判断一个量的“真”与“假”?

答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。

4、3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

(1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1

(4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2

解:该题在求解过程中注意:

一、优先级。逻辑运算符(&&与||)低于算术运算符与关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;

二、逻辑表达式的求值规则。(P94)

所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1

4、4有3个整数a、b、c,由键盘输入,输出其中最大的数。

分析:这就是一个规模较小的求最值的算法,习题1、6用函数的方法实现。该题不用函数调用实现,但方法类似。法一:先求前两个数的最值,再用前两个数的最值与第三个数比较即得结果。法二:先假设第一个数就是最值,再依次与第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。

参考程序如下:

法一:

main()

{ int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/

printf("\ninput the value of a,b,c:"); /*提示输入*/

scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/

if(a>b) max=a;

else max=b;

if(max

printf("\nmax=%d\n",max);

第4章选择结构程序设计 2

第4章 选择结构程序设计

通过本章实验作业应达目标

1.练习并熟练掌握if、switch语句使用,实现二路与多路选择结构;

本章必须上交作业

程序4_2.c、4_3.c、4_4.c、4_5.c上传至http://121.251.227.27:8080/c

实验一 大小写转换

【实验目的】

熟悉关系与逻辑运算,了解if-else的顺序与嵌套层次关系。

【实验内容】

下面程序希望完成大小写字母转换功能。若输入一个大写字母,则转化为小写输出;若输入小写字母则转化为大写输出;对其他字母则原样不变输出。程序以4_1.c命名,运行程序,分别输入一次大写、一次小写字母、一次‘#’进行验证。如果程序有错,请改正。

#include

void main()

{char ch;

ch=getchar();

if('a'<=ch<='z') ch-=32;

if('A'<=ch<='Z') ch+=32;

putchar(ch);putchar('\n');

}

实验二 算术运算

【实验目的】

学习if~else、switch语句的使用。

【实验内容】

键盘输入一个算术的运算式子,输出运算结果。这里我们规定可以接收五个算术运算的符号:+、-、*、/、^(乘方)。输入这五个符号以外的运算符号则提醒出错。程序以4_2.c命名并上交。

下图是输入输出的示意图:

输入一个加法的算术式:

输入一个除法的算术式:

输入一个乘方的算术式:

求3的平方根:

【实验提示】

本程序需要从键盘接收一个表达式,根据表达式中的运算符号实现相应的运算并将结果保存下来并输出。

C语言本身是没有乘方运算符的,可以调用数学函数pow(x,y)求x的y次方。注意一定要包含。

【思考】

输入的表达式实质是按多个不同类型的数据来获取数据的。程序中需要定义多个变量来接收表达式中包含的数据与运算符,并设计相应的输入/输出函数实现。

实验三 金额计算

C语言第4章 选择结构程序设计

第4章 选择结构程序设计

4.1 什么是算术运算?什么是关系运算?什么是逻辑运算?

答:略

4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

答:在C语言中,用1和0表示真和假的值;判断一个逻辑表达式的值时,非0代表真,0代表假。比如3&&4为真,因为3是非0,4也是非0,真与真,结果还是真,而3&&4的值为1。

4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

(1)a+b>c&&b= =c

(2)a||b+c&&b-c

(3)!(a>b)&&!c||1

(4)!(x=a)&&(y=b)&&0

(5)!(a+b)+c-1&&b+c/2

分析:首先判断运算符的优先级与结合性

解:(1)相当于((a+b)>c)&&(b= =c) 得0

(2)相当于(a||(b+c))&&(b-c) 得1

(3)相当于(!(a>b))&&(!c)||1 得1

(4)相当于(!(x=a))&&(y=b)&&0 得0

(5)相当于((!(a+b))+c-1)&&(b+c/2) 得1

4.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。

方法1:利用条件运算符进行比较求解。

#include”stdio.h”

main()

{int a,b,c,max;

printf(“please input 3 numbers:”);

scanf(“%d,%d,%d”,&a,&b,&c);

max=(a>b)?a:b;

/*这里运用条件运算符,将a和b中较大的那个数赋给max*/

max=(max>c)?max:c;

/*用上面得到的max(a和b中较大的)和c比较,取较大的再次赋给max*/

printf(“max=%d\n”,max);

}

方法2:用if语句进行比较求解。

#include”stdio.h”

main()

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档