C语言练习材料(2014)及选择题解答

发布时间 : 星期一 文章C语言练习材料(2014)及选择题解答更新完毕开始阅读

C语言补充材料(2014.6)

选择题

一、基础知识

1. 下列叙述错误的是()

A)一个C语言程序只能有一个有一个main( )函数

B)一个C语言程序可以有多个main( )函数 C)C语言程序一条语句可以分写在多行 D)C语言程序一行内可以有多条语句

2. 结构化程序设计采用的方法不包括

( )。

A) 自顶向下、逐步细化 B) 封装、继承和多态 C) 结构化编码 D) 模块化设计

3. C语言的数据类型不包括( )。 A) 整型 B)泛型

C)结构类型 D) 联合类型

4. 若已定义:int x=2, y=3, z=5; 则表达式值

为2的是( )。 A) z=x, z B) x=y=z C) x+y+z D) z=(x, z)

5. 若已定义; int a=1, b=2; ( )是正确的表

达式 A) a*=b+2 B) a+b=2 C) a+b*=2 D) a+/b=2

6. 若已定义:int i=1; 则表达式i+=10的值

为( )。

A)11 B)2 C)10 D)1

7. 若已定义: int x; 拟从键盘输入一个值

赋予x, 正确的函数调用是( )。 A) scanf(“%d”, &x); B) scanf(“ %d”, x); C) scanf(“%f” , &x); D) scanf(“ %f”, x);

8. 若已定义:int t, a, b; 语句t=(a=5, b=a++);

执行后, 变量t、a、b的值依次为( )。 A)5,6,6 B)6,6,6 C)5,6,5 D)6,6,5

9. 若已定义 ; int a=1 ,b=2 ,c= 3 ; 表达式值为0的是()

A )ab>a B )a+b= =c || b == c

C )a+b && a+c D) ab>a

10.若已定义 ; int a=1 ,b=2,c=3 ; 则表达式 a=b= =c的值为( )。

A) 2 B)1 C)3 D) 0

11. 若已定义:int a=1, b=2, c=3; 语句(++b, a)|| (a++, c++) ; 执行后变量a、b、c的值分别是( )。 A) 2 3 3 B) 1 2 3 C) 1 3 3 D) 2 3 4

12. 若已定义: int a=3, b=2, c=1, t; 语句t=++a||!b&&c++; 执行后a、b、c的值分别是( )。 A) 3 2 1 B) 4 0 2 C) 4 2 2 D) 4 2 1

13. 若已定义:char c; int a; float x; double m; 则表达式0.3+a+c+x+m*a值的数据类型为( )。

A)char B)double C)float D)int

14. 若已定义: int a=3, b=2, c=1; 则表达式a+b&&c+100的值是( )。

A)1 B)0 C)104 D)105

15.若已定义:int a=5, b=6;语句printf(“%d*%d=%d\\n”, a+a, b+b, (a+a)*(b+b)); 执行后的输出结果是( ); A)10,12,120 B)5,6,30

1

C)5*6=30 D)10*12=120

16. 若已定义:int m=3, n=4; 则表达式(m++)+n的值是( )。

A)5 B)4 C)8 D)7

17. 若已定义:int a=3, x=4; 语句x+=a++; 执行后变量x的值为( )。

A)7 B)4 C)8 D)6

18. 若已定义: int a=1, b=2, c=3; 则正确的表达式是( )。

A)c=(a,b) B)a+b=c C)a=b+3=c D)a=b\\c

19. ( ) 为合法用户标识符。 A)_abc B)void C)3c D)_a$bc

20.( )为合法的常量。 A)0x100 B)0783 C)?Cprogram? D)2E3.3

21. C语言程序中的函数是由( )组成。 A) 返回值类型和函数名 B)函数名和函数体

C)函数名和参数 D)函数首部和函数体

22. 若已定义: int a=5; 则表达式a-=a+=a*a的值为( )。

A)-20 B)-25 C)0 D)25

23. 要使语句scanf(“%d,%d”, &m, &n); 能够正确接收从键盘输入的值,正确的数据输入形式是( )。 A)10,20 B)10

20

C)1020 D)10 20

24. 若已定义:char c; 则( )是错误的赋值表达式。

A)c=?a? B)c=097 C)c=?\\n? D)c=32

25. 能正确表示数学关系式“k?0或k?10”

的C语言表达式是( )

A)(k<=0)&&(k>=10) B)(k>=0)||(k<=10) C)(k<=0)||(k>=10) D)(k>=0)&&(k<=10)

26. 以下程序段执行后变量a的值为( )。 int x=6, y=4, z=8, m;

m=(x

27. Turbo C中, 占用内存空间最大的是( )。

A)char B)int C)double D)float

28. Turbo C中, 每个signed short int 型数据占用的内存空间为( )字节。 A)2个 B)4个 C)8 个 D)1个

29.下列关于C语言程序的叙述错误的是( )。

A) 一个C语言程序由一个或多个函数组成 B) 注释内容必须放在/*和*/之间 C) 编译时注释部分的错误会被发现

D) 可以在“{}”内写若干语句,构成复合语

30. 若已定义: int x=100; 则正确的赋值表达式是( )

A)x=?A? B)x%=0.3 C)x=x+08 D)x=”abc”

31. 若已定义:int a=3, b=2, c=1; 则表达式(float)(a+b)/(c+a)的值是( ) A)1 B)1.25 C)8 D)3.0

32. 若已定义; char c=?E?;int a=9; float x=5; 则表达式c/x-a的值是( ) [已知?A?的ASCII码值为65]

A)13.8 B)4 C)5 D)4.8

33. 以下程序段是运行结果是() int m=65 ,n=66 ; char k= ?c? ;

printf (“%c-%c-%d \\n”,m,n,k); (注;字母‘A’的ASCII值为65 )

2

C语言补充材料(2014.6)

A) 6566C B) A-B-67

C) 65-66-C D) AB67

34. 下列叙述错误的是 ( )。

A) 程序中算术表达式的书写形式与数学公式完全相同。

B) 整型与字符型变量混合运算的结果是整型 。

C) 赋值运算符的结合方向为“自右向左”。 D) 自增与自减运算符可以用于float型变量。

二、选择结构、循环结构

35. 结构化程序设计的3种基本结构是顺序结构、( )和循环结构。

A)递归结构 B)嵌套结构 C)选择结构 D)逻辑结构

36. 以下程序的运行结果是( )。 #include void main()

{ int a=4, b=3, c=2, d=1; if(a>b>c)

printf(“%d\\n”, d); else if(c-1>=d)

printf(“%d\\n”, d+1); else

printf(“%d\\n”, d+2); }

A)1 B)3 C)2 D)4

37. 若已定义int k, a,b,c ;则语句()与k=a>b?b:c语句的功能等价。 A) if (a>b) k=b ; B) if (k==a) k=b; else k=c;

C) if(a>b) k=b;

else k=c ;

D) if (a>b) k=a; else k=b;

38. 以下程序段,( )。 int a=0; do

{++a;

}while(1);

A) 循环体执行2次 B) 有语法错误 C) 是无限循环

D) 循环体执行1次

39. 以下程序段执行后变量a的值为( )。 int i, a=0;

for(i=1; i<=10; i++) {if(i%2==0) continue; a++; ++a; }

A)5 B)10 C)0 D)15

40. 以下程序段中循环体的执行次数是( )。 int i=0, a=0;

for(i=i+3; i<10; i++) { if(a%3==0) break;

a++; }

A)10 B)3 C)1 D)7

41. 以下程序段执行后变量a的值为( )。 int i=0, a=0; for(; i-3; i++) a++;

A)1 B)3 C)2 D)0

42.以下程序执行时, 循环体执行了( )

# include vold main ()

{ int a=1234 ,b=0 ; while (a)

{ b=b*10+a; a=a/10 ; }

printf ( “b=%d\\n”,b); }

A 4次 B 3次 C 2次 D 无限次

43. 执行以下程序,输入99,运行结果是( )。

#include void main( )

3

{ int score;

scanf(“%d”, &score); switch(score/10) { case 10:

case 9:

printf(“A”); case 8:

printf(“B”); case 7: case 6:

printf(“C”); break; default:

printf(“D”); }

printf(“\\n”); }

A)ABC B)ABCD C)AB D)A

44、以下程序的运行结果是( )。 #include void main( ) { char c=?C?; switch(c-65) { case 0:

putchar(c+1); break; case 1: case 2: case 3:

putchar(c+2); break; default:

putchar(c+32); break; } }

[已知?A?的ASCII码值为65,?a?的ACSII码值为97]

A)D B)C C)b D)E

三、数组

45. 下列叙述正确的是( )。

A) 在定义数组时, 数组的长度可以使用整

型变量

B) 在定义数组时, 数组的长度不可以使用

整型变量

C) 数组元素的下标不能使用字符常量 D) 数组元素的下标可以使用整型变量

46. 以下程序段执行后,a[4]的值为( )。 int a[8]={15,9,23,32,11};

a[4]=a[3]+a[2]+a[1]*a[6]-a[7]; A)64 B)32 C)55 D)63

47. 若已定义:int a[6]={1,2,3,4,5,6}; char c=?b?;表达式值为3的是( )。 A)a[3] B)a[?d?-?c?] C)a[c] D)a[?d?-c]

48. 若已定义: int s[4][3]={{1,6},{1}, {2,8,4},{7,3,5}}; 则s[3][1]的值是( )。 A)3 B) 7 C)2 D)8

49. 若已定义: int a[4][3]; 假设元素a[0][0]在存储空间中的位置序号为1,。 则元素a[2][2]的位置序号应是( )。 A)10 B)7 C)9 D)8

50. 以下程序段的运行结果是( )。 int a[10]={1,1,1,1,1,1,1,1,1,1,1,1,1}, i; for(i=1; i<=5; i++) a[i-1]=a[i-1]-1; for(i=0; i<10; i++)

printf(”=”, a[i]); A) 0 0 0 0 0 0 0 0 0 0 B) 1 1 1 1 1 0 0 0 0 0 C) 1 1 1 1 1 1 1 1 1 1 D) 0 0 0 0 0 1 1 1 1 1

51. 以下程序段执行后s的值是( )。 int a[3][4]={1,2,3,4,1,2,3,4,1,2,3,4}; int i, j, s=1;

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

for(j=0; j

s*=a[i][j];

A)16 B)12 C)288 D)144

52. 以下程序段的运行结果是( )。 char a[5]={65,?B?,67,68,69}, I; for(i=4; i>=0; i-=2)

4

联系合同范文客服:xxxxx#qq.com(#替换为@)