Report实验04_737Exam04_C作业与实验04
实验项目名称:分支程序设计
姓名:王宇恒专业:机自学号:3110104791 联系电话152******** Email:1262304269@https://www.360docs.net/doc/f76414176.html,
一、要求
1、掌握逻辑运算符的使用。
2、掌握用switch编程。
3、掌握else-if语句和嵌套if的编程。
二、作业结果、实验程序及运行结果(必填)
(二)实验程序与运行结果
要求:实验程序使用文本方式,运行结果必须粘贴运行图(尽可能把图弄小一些)。
程序
#include
int main(void)
{
char x;
scanf("%c",&x);
switch(x)
{
case'A':
printf("90~100\n");
break;
case'B':
printf("80~89\n");
break;
case'C':
printf("70~79\n");
break;
case'D':
printf("60~69\n");
break;
case'E':
printf("0~59\n");
break;
default:break;
}
return 0;
}
结果
三、实验内容
(三)理论知识题
单选题
1.对于if语句,以下()是正确的。
A、if语句可以嵌套,嵌套时的else总与它最近的没有else的if相匹配
B、如果有if(a>=3){if(a==3)y=1;}else y=10;,则else与第一个if匹配
C、如果有if(a>=3){if(a==3)y=1;}else y=10;,则else与第二个if匹配
D、if语句不可以嵌套
2.设x,y,t为整型变量,且已赋值。下列程序段中,()在实现两个变量x和y的交换可能会出错。
A、{ t=x; x=y; y=t; }
B、{x=x+y; y=x-y; x=x-y; }
C、{ x=x*y; y=x/y; x=x/y; }
D、{ x=x-y; y=x+y; x=y-x; }
3. 执行语句“s=0; for(k=1; s<20||k<=12; k=k+2) s=s+k;”后,s、k的值为()。
A、25、9
B、25、11
C、36、11
D、36、13
4.若有如下程序,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s=a;
for(b=1;b<=c;b++) s=s+1;
则与上述程序段功能等价的赋值语句是()
A、s=a+b;
B、s=a+c;
C、s=s+c;
D、s=b+c;
5.能正确表示逻辑关系“a≥ 10或a≤0”的C语言表达式是___。
A)a>=10 or a<= O B) a>=0|a<=10 C)a>=10&&a<=O D) a>=10|| a<=0
6.下列叙述中正确的是____。
A)break语句只能用于switch语句
B)在switch语句中必须使用default
C)break语句必须与switch语句中的case配对使用
D)在switch语句中,不一定要使用break语句
7.有一函数y=,以下程序段中错误的是____。
8.下列程序段的输出结果是____。
int main()
{
int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++;
printf("%d\n",c);
return 0;
}
A)0 B)1 C)2 D)3
9.下列程序段的输出结果是____。
#include
int main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf("a=%d,b=%d\n",a,b) ;
return 0;
}
A)a=2,b=1 B)a=1,b=1 C) a=1,b=0 D)a=2,b=2
10.在执行以下程序时,为使输出结果为:t=4,则给a和b输入的值应满足的条件是______。int main()
{
int a,b,s,t;
scanf("%d,%d",&a,&b);
s=1;t=1;
if(a>0)s=s+1;
if(a>b)t=s+t;
else if(a==b)t=5;
else t=2*s;
printf("t=%d\n",t);
}
A)a>b B)aa>b
填空题
1.下列程序段的输出是______。
int k;
float s;
for (k=0, s=0; k < 7; k ++)
s =s+ k/2;
printf("%d, %f\n", k, s);
2. 设ch是字符型变量,判断ch为英文字母的表达式是______。
3. 表示条件10 4.表达式!!5的值是______。 (二)编程: 即:输入五级制成绩(A~E),输出相应的百分制成绩(0~100)区间,要求用switch语句,比如,输入A,输出则为90~100。