上海交大C程序设计试题集(含答案)
程序设计试题集
单项选择题
1.1.定义一个具有10个元素的整型数组,应当使用代码是
A.int a[10]; B.int a[2, 5]; C.int a[]; D.int *a[10];
1.2.设int a = 8, b = 7, c = 6, x = 1;执行以下语句后x的值是
if (a > 6) if (b > 7) if (c > 8) x = 2; else x = 3;
A.0 B.1 C.2 D.3
1.3.下列代码中,正确的数组定义是
① int a[ ] = {“string”}; ② int a[5] = {0, 1, 2, 3, 4, 5};
③ char a = {“string”}; ④ char a[ ] = {0, 1, 2, 3, 4, 5};
A.① B.② C.③ D.④
1.4.字符串”abc\x43\\\np\102q”的长度是
A.9 B.12 C.13 D.17
1.5.执行下列程序后,输出的结果是
#define M(a, b) (a) > (b)?(a)+(b):(a)-(b)
void main()
{ int i = 10, j = 15; printf(“%d\n”, 10*M(i, j)); }
A.10 B.25 C.250 D.-50
1.6.执行下列程序后,输出的结果是
#define M(a, b) (a) > (b)?(a):(b)
void main()
{ int i = 10, j = 5; printf(“%d\n”, M(i, j)*10); }
A.10 B.5 C.100 D.150
1.7.计算立方数时,不可能引起二义性的宏定义是
A. #define S(x) x*x*x B.#define S(x) (x)*(x)*(x)
C.#define S(x) (x*x*x) D.#define S(x) ((x)*(x) *(x))
1.8.下列代码中,正确的是
A. char a[3][ ] = {‘abc’, ‘1’}; B. char a[ ][3] = {‘abc’, ‘1’};
C. char a[3][ ] = {“ab”, “12”}; D. char a[ ][3] = {“ab”, “12”};
1.9.设char str1[10] = “ABCDE”, str2[10] = “xyzuvw”;
则执行以下语句后的输出结果是
printf(“%d”, strlen(strcpy(str1, str2)));
A.12 B.11 C.8 D.6
1.10.以只写方式打开一个二进制文件,应选择的使用方式是
A.”a+” B.”w+” C.”rb” D.”wb”
1.11.设int x = 8, y, z; 执行y = z = x--; x = y == z后,变量x的值是
A.0 B.1 C.8 D.9
1.12.设变量m ,n ,a ,b ,c ,d均为0,执行(m = a==b)||(n=c==d)后,m ,n的值是
A. 0 ,0 B. 0 ,1 C. 1 ,0 D. 1 ,1
1.13.设int x[ ] = {2, 6, 5, 7, 9, 15, 12}, *p = x;
则不能正确引用数组元素的表达式是
A.*(p--) B.*(--p) C.*(p++) D.*(++p)
1.14.根据变量定义“static int b[5];”,b[4]的值是。
A.1 B.0 C.2 D.不确定
1.15.设int a = 9, b = 8, c = 7, x = 5;执行语句
if (a > 7) if (b > 8) if (c > 9) x = 3; else x = 4;
后x的值是
A.1 B.5 C.3 D.4
1.16 下列字符列中,可以作为“字符串常量”的是
A. ABC B. "ABC" C. ′abc′ D. ′a′
1.17下列数据类型中,不属于构造类型是
A. 实型 B.数组型 C.结构型 D.联合(共用)型
1.18下面所列常量中,都是C语言整型常量的是。
A. 0xffff 和 611