4. 为避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与( )配对。
A. 缩排位置相同的if
B. 其之前最近的if
C. 其之后最近的if
D. 同一行上的if
查看答案
5. 以下不正确的语句是( )。
A. if (x > y);
B. if (x = y) && (x != 0) x += y;
C. if (x != y) scanf(“%d”, &x); else scanf(“%d”, &y);
D. if (x < y) { x++; y++; }
1. 以下程序实现:输入3个整数,按从大到小的顺序进行输出。main() {int x, y, z, c;scanf(“%d %d %d”, &x, &y, &z);if ( ________________ ){ c = y; y = z; z = c; }if ( ________________ ){ c = x; x = z; z = c; }if ( ________________ ){ c = x; x = y; y = c; }printf(“%d, %d, %d”, x, y, z);}
2. 输入一个字符,如果它是一个大写字母,则把它变成小写字母,如果它是一个小写字母,则把它变成大写字母,其他字符不变。main() {char ch;scanf(“%c”, &ch);if ( ______________________________ ) ch = ch + 32;elseif ( ch >= ‘a’ && ch <= ‘z’ ) ____________________;printf(“%c”, ch);}
3. 根据如图所示的函数关系,对输入的每个x值,计算出相应的y值。x yx < 000 <= x < 10x10 <= x < 201020 <= x < 40 -0.5x + 20main() {int x, c, m;float y;scanf(“%d”, &x);if ( ____________________ ) c = -1;else ____________________;switch (c) {case -1: y = 0; break;case 0: y = x; break;case 1: y = 10; break;case 2:case 3: y = -0.5 * x + 20; break;default: y = -2; // y =-2,表示输入非法}if (y != -2) printf(“y = %f”, y);else printf(“error \n”);}