您的当前位置:首页正文

C语言复习60题

2020-01-05 来源:易榕旅网


01 计算机本身最擅长的能力是?

A.推理B.想像C.重复D.分析正确答案: C、重复。

02 计算机(CPU)可以直接运行人类编写的程序

A.√B.×正确答案: B、×。

03 编程语言是和计算机交谈的语言

A.√B.×正确答案: B、×。

04 关于C语言,以下说法错误的有:

A.C语言是和Unix操作系统一同发展起来的

B.C语言不能写图形界面的软件

C.C语言一般是编译执行的

D.C语言诞生于1970年代

正确答案: B、C语言不能写图形界面的软件。

06 IDE的中文翻译是什么?

正确答案是:集成开发环境。

07 给定:int a,b; 以下哪些scanf的使用是正确的?

A.scanf(\"%d\

B.scanf(\"%d %d\

正确答案: A、scanf(\"%d\。 B、scanf(\"%d %d\。 C、scanf(\"%d, %d\。

08 以下哪些是有效的变量名?

A.mainB.4everC.monkey-kingD.__int正确答案: A、main。 D、__int。

09 给定:

int a,b; scanf(\"%d %d\

则以下哪些输入方式是正确的?

A.1 2B.1,2C.1(回车)2D.1、2正确答案: A、1 2。 C、1(回车)2。

10 给定以下代码段:

int a,b=0;

则a的初始值是0

A.√B.×正确答案: B、×。

11 写出下式的运算结果:

10/3.0*3 正确答案是:10.0。

12 写出下式的运算结果:

10/3*3.0

正确答案是:9.0。

13 写出以下代码执行后,t1和t2的值,以空格隔开:

int a=14;

int t1 = a++;

int t2 = ++a;

正确答案是:14 16。

14 写出以下表达式的结果,一个结果一行:

6 + 5 / 4 - 2

2 + 2 * (2 * 2 - 2) % 2 / 3

10 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3

1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10

正确答案是:5 2 44 -627。

15 以下语句是否可以通过编译:

if ( 1<=n<=10 );

A.√B.×正确答案: A、√。

16 以下语句是否表示n属于[1,10]:

if ( 1<=n<=10 );

A.√B.×正确答案: B、×。

17 写出程序的输出结果:

int i,j,k;

i=5; j=10; k=1;

printf(\"%d\

正确答案是:1。

18 写出程序的输出结果:

int i,j,k;

i=2;j=3;

k = i*j==6;

printf(\"%d\\n\

正确答案是:1。

19 写出程序的输出结果:

int i,j,k;

i=3;j=2;k=1;

printf(\"%d\

正确答案是:1。

20 写出程序的输出:

int i=1;

switch ( i%3 ) {

case 0: printf(\"zero\");

case 1: printf(\"one\");

case 2: printf(\"two\");

}

正确答案是:onetwo。

21 写出程序的输出:

int a = 58;

if ( a>50 ) printf(\"A\");

if ( a>40 ) printf(\"B\");

if ( a>30 ) printf(\"C\");

正确答案是:ABC。

22 while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了

A.√B.×正确答案: B、×。

23 以下代码片段执行结束后,变量i的值是多少?

int i =10;

while ( i>0 ) {

i /=2;

}

正确答案是:0。

24 以下代码片段执行结束后,变量i的值是多少?

int i = 1;

do {

i += 5;

} while (i<17);

正确答案是:21。

25以下哪种运算能从变量x中取得十进制最低位的数字

A.x / 10 B.x % 10 C.x * 10 D.10 / x

正确答案: B、x % 10。

26 当需要累加一些值的时候,用来记录累加结果的变量应该被初始为:

正确答案是:0。

27 以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?

A.for ( i=0; i<10; i++ ) {...}

B.for ( i=0; i<10; ++i ) {...}

C.for ( i=0; i++<10; ) {...}

D.for ( i=0; i<=9; i++ ) {...}

正确答案: C、for ( i=0; i++<10; ) {...}。

28 以下代码段的输出是什么?

for ( int i=10; i> 1; i /=2 ) {

printf(\"%d \

}

正确答案是:10 5 3 2。

29 以下代码段的输出是:

int sum = 0;

for ( int i=0; i<10; i++ ) {

if ( i%2 ) continue;

sum += i;

}

printf(\"%d\\n\

正确答案是:20。

30 以下代码段的输出是:

int sum = 0;

for ( int i=0; i<10; i++ ) {

if ( i%2 ) break;

sum += i;

}

printf(\"%d\\n\

正确答案是:0。

31 以下哪个数字占据的空间最大?

A.32768 B.‘3 ‘ C.32768.0 D.32768.0F

正确答案: C、32768.0。

32 以下哪个字母不能在数字后面表示类型?

A.F B.U C.L D.X

正确答案: D、X。

33 以下哪个数字的值最大?

A.10 B.010 C.0x10 D.10.0 正确答案: C、0x10。

34 以下哪种类型不能用在switch-case的判断变量中:

A.char B.short C.int D.double 正确答案: D、double。

35 下列哪些是有效的字符?

A.‘ ’

B.‘\\’‘

C.''

D.'\\'

正确答案: A、‘ ’。 B、‘\\’‘。 C、''。

36 以下表达式的结果是:

'1'+3

正确答案是:52 或 '4'。

37 以下哪个表达式的结果是true?

A.!(4<5)

B.2>2||4==4&&1<0

C.34==33&&!false

D.!false

正确答案: D、!false。

38 以下哪个表达式,当a和b中只有一个是true的时候结果为true,而如果两个都是false或都是true的时候,结果为false

A.a && b

B.a || b

C.a != b

D.!a && !b

正确答案: C、a != b。

39 以下哪个表达式,当a和b都是true或者都是false的时候,表达式的结果为true。

A.a && b

B.a || b

C.a == b

D.a ^ b

正确答案: C、a == b。

40 以下哪个表达式与!(a&&b)是等价的

A.!a && !b B.!a || !b C.a && b D.a || b 正确答案: B、!a || !b。

41 以下代码执行后,i的值是:

i = 3/2,3*2; 正确答案是:1。

42 以下哪句不是正确的原型?

A.int f(); B.int f(int i); C.int f(int);D.int f(int i) {} 正确答案: D、int f(int i) {}。

43 以下哪个函数的定义是错误的?

A.void f() {}

B.void f(int i) { return i+1; }

C.void f(int i) {}

D.int f() { return 0; }

正确答案: B、void f(int i) { return i+1; }。

44 对于不返回值而且只有一个int类型的参数的函数,以下哪些函数原型是正确的?

A.void f(int x); B.void f(); C.void f(int); D.void f(x);

正确答案: A、void f(int x);。 B、void f();。 C、void f(int);。

45 以下程序的输出是什么?

#include

void swap(int a, int b);

int main()

{

int a = 5;

int b = 6;

swap(a,b);

printf(\"%d-%d\\n\

return 0;

}

void swap(int a, int b)

{

int t = a;

a = b;

b = t;

}

正确答案是:5-6。

46 若有定义:

int a[2][3];

则以下选项中不越界的正确的访问有:

A.a[2][0] B.a[2][3] C.a[1>2][0]

D.a[0][3]

正确答案: C、a[1>2][0]。

47 以下程序片段的输出结果是:

int m[][3] = {1,4,7,2,5,8,3,6,9,};

int i,j,k=2;

for ( i=0; i<3; i++ ) {

printf(\"%d\

}

A.369

B.不能通过编译

C.789

D.能编译,但是运行时数组下标越界了

正确答案: A、369。

48 假设int类型变量占用4个字节,定义数组

int x[10] = {0,2,4};

则x在内存中占据几个字节?

正确答案是:40。

49 若有:

int a[][3] = {{0},{1},{2}};

则a[1][2]的值是?

正确答案是:0。

50 对于:

int a[] = {5, 15, 34, 54, 14, 2, 52, 72};

int *p = &a[5];

则:

p[-2]的值是?

A.编译出错,因为数组下标越界了

B.运行出错,因为数组下标越界了

C.54

D.2

正确答案: C、54。

51 如果:

int a[] = {0};

int *p = a;

则以下哪些表达式的结果为真?

A.p == a[0]

B.p == &a[0]

C.*p == a[0]

D.p[0] == a[0]

正确答案: B、p == &a[0]。

C、*p == a[0]。

D、p[0] == a[0]。

52 以下变量定义:

int* p,q;

中,p和q都是指针。

A.√B.×正确答案: B、×。

53 对于:

int a[] = {5, 15, 34, 54, 14, 2, 52, 72};

int *p = &a[1];

则:p[2]的值是?

正确答案是:54。

54 对于以下代码段,正确的说法是:

char *p;

while (1) {

p = malloc(1);

*p = 0;

}

A.最终程序会因为没有没有空间了而退出

B.最终程序会因为向0地址写入而退出

C.程序会一直运行下去

D.程序不能被编译

正确答案: B、最终程序会因为向0地址写入而退出

55 对于以下代码段:

int a[] = {1,2,3,4,5,};

int *p = a;

int *q = &a[5];

printf(\"%d\

当sizeof(int)为4时,以下说法正确的是:

A.因为第三行的错误不能编译B.因为第三行的错误运行时崩溃C.输出5D.输出20

正确答案: C、输出5。

56 使用malloc就可以做出运行时可以随时改变大小的数组

A.√B.×

正确答案: B、×。

因篇幅问题不能全部显示,请点此查看更多更全内容