湖南工程学院C语言程序考试复习题有答案 下载本文

精品文档

2010湖南工程学院年C语言程序考试题

一、单选题

1. C程序的基本构成单位是( C )

A)文件

B)命令

C)函数

D)语句

2. 在C语言中,'a'是( B )

A)字符串常量

B)字符常量

C)变量

D)函数

3. 在C语言中,“a=b=c=5”属于哪种表达式?( B )

A)关系

B)赋值

C)逻辑

D)非法

4. 设a、b为整型,则表达式(a=2,b=5,b++,a+b)的值是( D )

A)2

B)6

C)7

D)8

5. 若有以下变量定义:

int b=2; float a=5;

则表达式“a/b”之值为( A ) A)2.5

B)2

C)3

D)5/2

6. 若j=3,则表达式(++j)+(j++)的值为( C )

A)6

B)7

C)8

D)10

7. 以下只能输入单个字符的函数是( C )

A)printf( )

B)puts( )

C)getchar( )

D)putchar( )

8. 若a的原值为4,则表达式“a*=a-=3”运算后,a的值是( D )

A)13

B)4

C)3

D)1

9. 若a=5、b=3、c=1,则表达式“a>b>c”的值为( A )

A)0

B)1

C)3

D)5

10. 若有代数式:

3aebc

以下错误的C语言表达式是( C ) A)a/b/c*e*3

B)3*a*e/b/c

C)3*a*e/b*c

D)a*e/c/b*3

11. 下列能输出字符数组str中字符串的语句是( B )

A)printf(\ C)printf(\

B)printf(\

D)putchar(str);

12. 若p=&x,则下列关系表达式之值为1的是( B )

A)p==x

B)*p==x

C)&p==x

D)*x==p

13. C语言中最基本的数据类型包括( B )

A)整型、实型、逻辑型

B)整型、实型、字符型 D)整型、实型、字符串型

C)整型、逻辑型、字符型

14. C语言中,要求运算对象必须是整型数据的运算符是( A )

A)%

B)/

C)\\

D)&&

1欢迎下载 。

精品文档

15. 表示数学关系“x≥y≥z”的C语言表达式是( C )

A)x>=y>=z

B)x>=y || y>=z

C)x>=y&&y>=z

D)x≥y≥z

16. 以下说法中正确的是( C )

A)C程序总是从文件中第一个函数开始执行 B)C程序中,只有main( )函数才可以调用其他函数 C)C程序总是从main( )函数开始执行

D)C程序中的main( )函数必须放在程序的开头 17. 若有定义:

int a=7;

float x=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值为( A )

A)2.5

B)2.75

C)3.5

D)0

18. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( C )

A)int

B)float

C)double

D)不确定

19. 有输入语句:

scanf(\

为使变量a、b分别为5和3,从键盘输入数据的正确形式为( B )

A)5 3<回车>

B)5,3<回车>

C)a=5 b=3<回车>

D)a=5,b=3<回车>

20. 定义如下变量和数组:

int j;

int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( C ) for (j=2; j>=0; j--)

printf(\

B)1 4 7

C)7 5 3

D)3 6 9

A)1 5 9

21. 执行下面程序后,a的值是( B )

#include #define SQR(x) x*x void main( ) {int a=10,k=2,m=1; a=SQR(k+m); printf(\}

A)10

B)5

C)2

D)1

22. 以下叙述不正确的是( C )

A)在函数内部定义的变量是局部变量 B)函数中的形式参数是局部变量

C)全局变量的作用范围仅限于其所在的整个文件

2欢迎下载 。

精品文档

D)局部变量的作用范围仅限于本函数

23. 设a=3,b=4,c=2,d=1,则表达式“a>b?a:c>d?c:d”的值为( C )

A)4

B)3

C)2

D)1

24. 有以下程序段:

x=-1; do

x=x*x; while(!x);

执行时,循环体执行的次数为( B ) A)0

B)1

C)2

D)不确定

25. 以下不正确的if语句形式是( C )

A)if (x>y&&x!=y); B)if (x= =y) x+=y; C)if (x!=y) scanf(\ else scanf(\D)if (x

#include void main( ) {int x=2,y=-1,z=2; if (x

if (y<0) z=0; else

z+=1;

printf(\A)0

B)1

C)2

D)3

27. 以下能正确计算1×2×3×…×10的程序段是( A )

A) i=1,s=1;

do

B) s=1;i=1;

while(i<=10)

s=s*(++i);

{s=s*i;i++;} while(i<11);

C) for(i=1,s=0;i<=10;i++)

s=s*i;

D)for(i=1,s=1;;i++) s=s*i;

28. 若j为整型变量,则以下循环执行次数是( C )

for (j=0;j= =0;)

printf(\

B)0次

C)1次

D)2次

A)无限次

29. 若有说明:int a[10];则对a数组元素的正确引用是( C )

A)a[3.5]

B)a(8) C)a[6-5]

D)a[10]

3欢迎下载 。

精品文档

30. C语言规定,变量做实参时,它和对应形参之间的数据传递方式是( B )

A)地址传递

B)单向值传递

C)双向值传递

D)由用户指定传递方式

31. C中,一个float类型的数据在内存中占( C )个字节。

A) 1 B) 2 C) 4 D) 8 32. 设有程序段:

int k=5; while (k<=0)

k--;

则下列描述中正确的是( C ) A) while循环执行5次

B) 循环是无限循环

C) 循环语句一次也不执行 D) 循环体语句执行一次

33. 下面程序段的运行结果是( B )

char c[5]={ 'a', 'b', '\\0', 'c', '\\0' }; printf(\

A) 'a''b' B) ab C) Abc D) \34. 以下不正确的字符串赋值语句是( C )

A) char *s; s=\ C) char s[10]; s=\A) k=*p1+*p2;

B) p2=k;

B) char s[ ]=\D) char *s=\

D) k=p2-p1;

35. 设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是( B )

C) p1=p2;

36. 下面程序的输出结果是( A )

#include void main( ) { char s[ ]= \ char *p;

for (p=s;p

printf(\} A) ABCD BCD CD D

B) A

B C D

C) D

C B A

D) ABCD

ABC AB A

37. 以下关于C函数的定义和调用描述正确的是( B )

A) 函数的定义可以嵌套,但函数的调用不可嵌套 B) 函数的调用可以嵌套,但函数的定义不可嵌套 C) 函数的定义和调用均可以嵌套 D) 函数的定义和调用均不可嵌套

38. 以下关于变量的作用域说法正确的是( D )

A) 在不同函数中不能使用相同名字变量

4欢迎下载 。