main( ) {
char c='a';
printf(\}
4.已有定义int d=-2;执行以下语句后的输出结果是( ) printf(\
5.以有定义int d=-2;执行以下语句后的输出结果是( ) printf(\
6.以有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是( ) printf(\printf(\7. 以下程序输出结果为( ) main( ) {
int x=1,y=2;
printf(\printf(\}
8. 以下程序的输出结果为( ) main( ) {
int x=10; float pi=3.1416;
printf(\ printf(\printf(\ printf(\printf(\ printf(\printf(\ printf(\}
9. 假设变量a和b均为整型,以下语句可以不借助任何变量把a,b中的值进行交换,请填空.
a+=( ) b=a-( ); a-=( );
10. 设变量a,b,c均为整型,以下语句借助中间变量t把a,b,c中的值进行交换,即:把b中的值给a,把c中的值给b,把a中的值给c.例如:交换前a=10,b=20,c=30,交换后a=20,b=30,c=10,请填空.
( ); a=b; b=c; ( );
11. 设x,y,z均为int型变量,m为long型变量,则在16位机上执行下面赋值语句后,y=( ),z=( ),m=( ).
y=(x=32767,x-1); z=m=0xffff;
12. 如有int x;则执行下面语句后x值是( ) x=7; x+=x-=x+x;
13. 若有int a,b;则以下语句的功能是( ) a+=b; b=a-b; a-=b;
14. 在scanf函数调用语句中,可以在格式字符和%之间加一星号,它的作用是( ); 当输入以下数据: 10_ _20_ _30_ _40
15. 若有以下定义和语句,为使变量c1的到字符'A',变量c2得到字符'B'正确的格式输入形式是( )
char c1,c2; scanf(\
16.执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82, c1='A', c2='a',正确的数据输入形式是( )
mian( ) {
int a,b; float x,y; char c1,c2; scanf(a=%d b=%d\scanf(\
scanf(\ c2=%c\
printf(\}
三、程序改错题
以下程序的功能是,输入长方形的两边长(边长可以取整数和实数),输出它的面积和周长。 main {
int a,b,s,l;
scanf(\ s=a*b; l=a+b;
printf(\ }
四、程序设计题
1、 编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。
2、 编写程序,从键盘输入某学生的四科成绩,求出总分和平均分,找出最高分和最低分。
3、 编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕
就显示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5
第4章 程序结构
一、选择题:
1、 若char c=?A?;则c = (c>=?A? && c<=?Z?) ? (c+32) : c的值是( ) A.?A? B.?a? C.?Z? D.?z?
2、 设x,y,z,t均为int型变量,则执行以下语句后,t的值为( )
x = y = z = 1; t = ++x || ++y && ++z;
A.不定值 B.2 C.1 D.0 3、 执行以下语句后x的值是( )
a = b = c = 0; x = 35;
if ( ! a ) x - - ; else if ( b ); if ( c ) x = 3; else x = 4; A.34 B.4 C.35 D.3 4、 下面的程序段所表示的数学函数关系是( )
y = -1;
if ( x != 0 ) if ( x>0 ) y = 1; else y = 0; A.y = - 1 (x < 0) ; 0(x = 0) ; 1 (x > 0) B.y = 1 (x < 0) ; -1(x = 0) ; 0 (x > 0) C.y = 0 (x < 0) ; -1(x = 0) ; 1 (x > 0) D.y = - 1 (x < 0) ; 1(x = 0) ; 0 (x > 0) 5、 下列语句中,错误的是( )
A.while ( x = y ) 5; B.do x++ while ( x == 10 ); C.while ( 0 ) ; D.do 2; while ( a == b );
6、 循环语句 for ( x = 0, y = 0; ( y != 123 ) || ( x < 4); x++ ); 的循环次数为(A.无限次 B.不确定次 C.4次 D.3次 7、 若有整型变量i, j; 则以下程序段中内循环体的执行次数为( )
for ( i = 5 ; i ; i++ )
for ( j = 0 ; j < 4; j ++ ) { ... }
A.20 B.24 C.25 D.30 8、 假定a和b为int型变量,则执行以下语句后b的值为( )
a = 1 ; b = 10 ;
do { b -= a ; a ++ ; } while ( b -- < 0 ) ;
A.9 B.-2 C.-1 D.8 9、 设x和y均为int型变量,则执行下面的循环后y的值为( )
for ( y = 1, x = 1; y <= 50 ; y ++ ) 14
)
{ if ( x >= 10 ) break ;
if ( x % 2 == 1 ) { x += 5; continue ; } x -= 3 ; }
A.2 B.4 C.6 D.8 10、 在C语言中,下列说法中正确的是( ) A.不能使用”do 语句 while (条件)”的循环
B.”do 语句 while(条件)”的循环必须使用”break”语句退出循环 C.”do 语句 while(条件)”的循环中,当条件为非0时结束循环 D.”do 语句 while(条件)”的循环中,当条件为0时结束循环 11、 若abcd都是int类型变量且初值为0,以下选项中不正确的赋值语句是(A.a=b=c=100; B.d++; C.c+b; D.d=(c=22) - (b++); 12、 若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是(A.a=a+b,b=a-b,a=a-b; B.t=a,a=b,b=t; C.a=t;t=b;b=a; D.t=b;b=a;a=t; 13、 下述程序输出的结果是( )。
void main() {
int k=11;
printf(“k=%d,,k=%o,k=%x”,k,k,k);
}
A.k=11,k=12,k=11 B.k=11,k=13,k=13 C.k=11,k=013,k=0xb D.k=11,k=13,k=b 14、 以下关于if语句的错误描述是( )。 A.条件表达式可以是任意的表达式
B.条件表达式只能是关系表达式或逻辑表达式 C.条件表达式的括号不可省
D.与else配对的if语句是其之前最近的未配对的if语句 15、 执行了以下程序段后,x,w的值为( )。
int x=0,y=1,z=2,w; if(x++)w=x;
else if(x++&&y>=1)w=y; else if(x++&&z>1)w=z;
A.0, 1 B.1, 1 C.2, 1 D.3, 2 16、 以下程序中,while循环的循环次数是( )。
void main() {
int i=0;
。。 ) ) 15