专升本 C 语言历年考试题及答案 一、单项选择题
1. A、 b-b B、 float 2.
D___是合法的用户自定义标识符。
C、
B___ 不符合 C 语言语法。 D、a/b/c
若变量已正确定义并赋值,表达式
B、 3.14%2
C、2, b
A 、 a*b/c; 3.
___C__是不正确的字符常量。
A、'n' B、'1' C、 \D、'101'
在 C 程序中,用 ___B__ 表示逻辑值“真” 。
4. A、1 5.
B 、非 0 的数
C、非 1 的数
D、 大于 0 的数
3.14
__C 把 x、y 定义成 float 类型变量,并赋同一初值
B、 float x, y=2*3.14;
。
A 、 float x, y=3.14; C、 float x=3.14, y=x=3.14; 6.
D 、 float x=y=3.14;
若变量已正确定义,
B、1<<1
表达式 ___C___ 的值不是 2。
A、2&3 C、a==2 D 、1^3
__C等价。 ______
7.
若变量已正确定
义,
语句“ if(a>b) k=0; else k=1; ”和
B 、 k=a>b;
A、k=(a>b)?1:0;
C、
D 、 a<=b ? 0 : 1; k=a<=b;
8. 设变量定义为“ int a, b;”,执行下列语句时,输入 _D ___ ,则 a和 b 的值都是
scanf(\;10。
B、10, 10
C、 a=10 b=10
D、 a=10, b=10
A、10 10
9. 下列程序的输出结果是 __D
fun(int a, int b, int c) { c =a*b; } void main( ) { int c;
fun(2,3,c);
printf( ” %dn” ,c); } A、0 B、 1
C、6
D、无法确定
10. 在 C 程序中,若对函数类型未加说明,则函数的隐含类型为 __A
A、int B、 double C、 void
D 、char
11. 表达式 strlen(” hello ”) 的值是 ___B____ 。
A、 4 B、 5
C、 6
D 、 7
12. 设变量定义为“ int a[4]; ”,则表达式 __D _ 不符合 C 语言语法。A、*a B、a[0]
C、 a
D、 a++
13.
设变量定义为“ int x, *p=&x; ”,则 &*p 相当于 __A___ 。
A、p B、 *p C、x D、*&x
14. 若变量已正确定义, _A___不能使指针 p 成为空指针。
A 、 p=EOF
B 、 p=0
C 、 p=''
D 、p=NULL
__D
不符合 C 语言语
15. 对于以下的变量定义,
表达式 _______________ 法。 struct node { int len;
char *pk;
精选文库
2
} x = {2, \
A、p->pk C、
pk
B、*p.pk
*p->
D 、 *x.pk
16. 有如下程序 int runc(int a,int b) { return(a+b);} main0 { int
x=2,y=5,z=8,r; r=func(func(x,y),z); printf( “%\\d\\n ”,r);
}
该程序的输出的结果是 (D)
A) 12 B) 13 C) 14 D) 15
17. 对于基类型相同的两个指针变量之间,不能进行的运算是 A) (C)
< B) = C) + D) -
18. 有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else
return(2);
}
main0
{ printf( “ %d\\n” ,fib(3)); 该程序的输出结果是 (B) A} 2 B} 4 C} 6 D} 8
19. 有如下定义 struct person{char name[9]; int age;}; strict person
class[10]={ “ Johu” , 17, “Paul”, 19 “ Mary ” , 18,
“ Adam 16,};
根据上述定义,能输出字母 M 的语句是 (D) A)
prinft( “ %c\\n ” ,class[3].mane); B) pfintf( “ %c\\n ” ,class[3].name[1]); C) prinft( “ %c\\n ” ,class[2].name[1]); D) printf( “ %^c\\n ” ,class[2].name[0]);
20. 以下所列的 C 语言常量中,错误的是 (B) A) 0xFF B) 1.2e0.5
C) 2L D) ‘ \\72'
int k=0 while(k=1)k++; while 循环执行的次数是 (A) A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行 1 次 22. 以下程序的输出结果是 (C)
A) 0 B) 29 C) 31 D) 无定值 fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a);
printf( “%d” ,a); }
21. 有以下程序段
精选文库
3