《C语言程序设计》复习题二(answer)
填空题
1. int x=10,n=10;计算表达式x+=n++后x的值为_20_,n的值为_11_。
2. C语言运算符中,优先级最低的是,或者(逗号运算符)。
4.在16位C环境里,char型变量占__1___个字节,double型占__8___个字节,
int 型变量占__2___个字节,float型占__4___个字节。
5、C语言提供的三种逻辑运算符是 && 、 || 和!
6、利用条件运算符将这两条语句“if (x>y) z=x; else z=y;”转换成与其等价的一条
语句是:z=x>y?x:y ;
7、如果int i=1,则printf("%d",-i++)执行后输出是-1 ,i的结果是 2
8、C语言的格式输出函数是printf( ) , 格式输入函数是__scanf( )__________。
字符数据输出函数是putchar( ) ,字符数据输入函数是getchar()___ 。
getchar函数的作用是从终端输入一个字符
putchar函数的作用是向终端输出一个字符。
9、_break_语句用在循环体中,可结束本层循环,__contiune__语句用在循环体中,可
结束本次循环。
C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。
10、C语言中的标识符只能由三种字符组成,它们是_字母_、_数字、下划线_。
12、设n为int型变量, 请写出描述“n是奇数”的表达式是:n%2!=0
请写出描述“n是偶数”的表达式是:n%2= =0
13、逗号表达式的形式如下: 表达式1,表达式2
则逗号表达式的结果是表达式2 的值.
14、表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是赋值表达式和逗号表达式,
两个表达式执行完的结果是18 和18 .执行后x的值分别是18 , 3 15、void main()
{ int i,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
} 运行后i,j,m,n的值是 9,11,9,10 .
16、int a=8,b=7,w=2,x=5,y=4,z=3;
(a=w>x)&&(b = y>z); a的值为__0__,b的值为__7__。
int a=-1,b=9; 则执行++a&&b--; a的值为0,b的值为9 。
int a=0, b=13; 则执行++a||b--; a的值为1,b的值为13 。
17、循环语句:for(i= - 1;i<7;i++)printf(“#######”);的循环次数是: 8
break语句只能用于选择语句和循环语句中。
18、在内存中,存储字符′m′要占用1个字节,存储字符串″m″要占用 2 个字节
存储字符′a′要占用1个字节,存储字符串″abcd″要占用 5 个字节
19、若有以下程序段:
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是 0
20、编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。
jia=70.000000
jian=30.000000
cheng=1000.000000
chu=2.5000000
程序:#include
void main(void)
{ (1) double x,y;
x=50.0;y=20.0;
printf("jia=%f\n", (2) x+y );
printf("jian=%f\n" (3) x-y );
printf("cheng=%f\n", (4) x*y );
printf("chu=%f\n", (5) x/y );
}
21、C语言规定,不同类型的数据可以在同一表达式中进行混合运算,运算时要进行类型转换。数据的转换方式有两种:一种是自动转换,一种是强制转换。
22、若 x 为int型变量,则逗号表达式(x=4*6,x*6),x+15的结果为39 ____。
23、设x=5,y=2,则表达式x*=y+8的值为____50_________。
24、void main()
{ int i,j,m,n;
i=1;j=2;m=0;n=0;
m+=i++;
n-= --j;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
运行后i,j,m,n的值是_2,1,1,-1_________________。
25、下面的程序
void main()
{ float x;int i;
x=4.8; i=(int)x;
printf("x=%f,i=%d",x,i);
}
运行结果为x=4.800000,i=4
26、int a=5,b=8,x,y,z;
x=a++ +b;
y=a+ ++b;
z=a++ + ++b;
请写出执行结果:x=13,y=15,z=16
27、float C ;
C=3.9;
C=C+0.5;
Printf(“C=%d”,(int)C);
请写出执行结果:C= 4
28、int a,b,c;
scanf(“%d,%d”,&a,&b);
c=a>b?a:b;
printf(“c=%d”,c);
若通过键盘输入10,20,则输出结果c= 20。
29、char C;
Scanf(“%c”,&C);
C=C-32;
Printf(“C=%c”,C);
若通过键盘输入小写字母a,则输出结果C= A。