实验二 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、4
3、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时,程序段运行后屏幕上显示。
(二)、写出程序运行结果
1、程序如下:
main( )
{    int a,b;
scanf("%2d%*2s%2d",&a,&b);
printf("%d\n",a+b);
}
运行时输入:12345678 ,输出结果是。
2、程序如下:
void main( )
{  int a=3,b=5,x,y;
x=a+1,b+6;  y=(a+1,b+6);
printf("x=%d\ny=%d\n",x,y);
}
输出结果是。
3、程序如下:
void main ( )
{    int a=10, b=4, c=3;
if(a<b)  a=b ;
if(a<c)  a=c ;
printf("%d, %d, %d\n", a, b, c) ;
}
输出结果是。
4、程序如下:
void main ( )
{ int x=100, a=10, b=20, ok1=5, ok2=0 ;
if(a<b) if(b!=15) if(!ok1) x=1;
else if(ok2) x=10;
else x=-1;
printf("%d\n", x);
}
输出结果是。
5、程序段如下:
int k, a=1, b=2;
k=(a++==b) ? 2:3;
printf("%d",k);
输出结果是。
6、程序如下:
void main()
{ int s=1,k=0;
switch (s)
{  case 1: k+=1;
case 2: k+=2;
default: k+=3;
}
printf("%d",k);
}
输出结果是。
7.程序如下:
void main()
{ int s=1,k=0;
switch (s)
{  case1: k+=1;break;
case 2: k+=2;break;
default: k+=3;
}
printf("%d",k)
}
输出结果是。
8.程序如下:
#include<stdio.h>
void main(void)
{  char c1='A',c2='\144',c3='\x44';
int i=0122,j=0xa4;
printf("c1=%c,c4=%c\tc5=%c\n",c1,c2,c3);
printf("%d,%d\n",i,j);
}
输出结果是。
9. 程序如下:
#include<stdio.h>
void main(void)
{ int x,y=1,z=10;
if(y!=0) x=5;
printf("x=%d\t",x);
x=1;
c程序是什么程序设计语言if(z<0)
if(y>0) x=3;
else x=5;
printf("x=%d\n",x);
if(z=y<0) x=3;
else if(y==0) x=5;
else x=7;
printf("x=%d\t",x);
printf("z=%d\n",z);
}
输出结果是。
10.程序如下:
#include<stdio.h>
void main(void)
{int a=2,b=7,c=5;
switch(a>0)
{case 1:switch(b<0)
{case 1: switch('@'); break;
case 2: printf("!"); break;}
case 0: switch(c==5)
{case 0: printf("*"); break;
case 1: printf("#"); break;
case 2: printf("$"); break;}
default : printf("&");
}
printf("\n");
}
输出结果是。
11.程序如下:
#include <stdio.h>
#define ADD(x)  x*x
void main(void)
{  int a=4,b=6,c=7,d=ADD(a+b)*c;
printf("d=%d",d);
}
输出结果是。
12.程序如下:
#include<stdio.h>
void main(void)
{    int a=012,b=0x12,k=12;
char c='\102',d='\r';
printf("a=%d\tb=%d\tk=%d\n",a,b,k);      printf("c=%c,d=%c%o\n",c,d,a);
a='A';
c=49;
printf("a=%d\tc=%c\n",a,c);
}
输出结果是。
13.程序如下:
#include<stdio.h>
void main(void)
{
int i=29,j=6,k=2,s;
s=i+i/j%k-9;
printf(“s=%d\n”,s);
}
输出结果是。
14.程序如下:
#include <stdio.h>
void main(void)
{ int a,b,c;
a='E/;b='J';c='W';
if(a>b)
if(a>c)
printf(“%c\n”,a);
else
printf(“%c\n”,c);
else if(b>c)
printf(“%c\n”,b);
else
printf("%c\n",c);
}
输出结果是。
15.以下程序的输出结果是。#include <stdio.h>
#include <math..h>
main()
{ int a=1,b=4,c=2;
float x=10.5 , y=4.0 , z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
pritnf("%f\n",z);
}
16.以下程序的运行结果是。main()
{ int m=6;
if(m++>5) printf( "%d\n",m);
else ;
printf( "%d\n",m--);
}
17.下面程序的输出是。main( )
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(a<b)
if(b!=15)
if(! ok1)
x=1;
else
if(ok2) x=10;
x=-1;