2009-2010(上)C语言1-6章测试题

2008-2009(上)C语言程序设计1-5章测试试题

}

出错的原因是(D )。

A)注释语句书写位置错误 B)存放圆半径的变量r不应该定义为整型 C)输出语句中格式描述符非法 D)计算圆面积的赋值语句中使用了非法变量 29、设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是(C )。 A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m 30、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是(A )。 A)(!a==1)&&(!b==0) B)a C)a && b D)a||(b+b)&&(c-a) 31、有以下程序段 int k=0,a=1,b=2,c=3; k=a*c ? c:k;

执行该程序段后,k的值是(A )。

A)3 B)2 C)1 D)0 32、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句 if (a)

if(c==d) y=0; else y=1;

该语句所表示的含义是(B )。

A)if(a&&(c==d)) y=1; B)if(a&&(c==d)) y=0; C)if(a&&(c!=d)) y=0; D)if(a||(c==d)) y=1; 33、有以下程序段 int n,t=1,s=0; scanf(\

do{ s=s+t; t=t-2; }while (t!=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是(D )。 A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 34、设变量已正确定义,则以下能正确计算f = n!的程序段是(D )。 A) f=0; B) f=1;

for(i=1;i<=n;i++) for(i=1;i>=2;i--) f*=i; f*=i;

C) f=1; D) f=1;

for(i=n;i>1;i++) for(i=n;i>=2;i--) f*=i; f*=i; 35、设函数fun的定义形式为: void fun(char ch, float x ) { … }

则以下对函数fun的调用语句中,正确的是(D )。 A)fun(\ B)t=fun('D',16.5);

6

2008-2009(上)C语言程序设计1-5章测试试题

C)fun('65',2.8); D)fun(32,32); 36、有以下程序 main()

{ char p[]={'a', 'b', 'c'}, q[]=\ printf(\ };

程序运行后的输出结果是(B )。

A)4 4 B)3 3 C)3 4 D)4 3 37、有以下程序 main()

{ char a1='M', a2='m'; printf(\ 以下叙述中正确的是(B )。

A)程序输出大写字母M B)程序输出小写字母m C)格式说明符不足,编译出错 D)程序运行时产生出错信息 38、有以下程序 #include main()

{ char c1='1',c2='2';

c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); }

当运行时输入:a<回车> 后,以下叙述正确的是(A )。 A)变量c1被赋予字符a,c2被赋予回车符 B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2 D)变量c1被赋予字符a,c2中将无确定值

39、算法具有五个特性,以下选项中不属于算法特性的是(B )。 A)有穷性 B)简洁性 C)可行性 D)确定性 40、以下选项中可作为C语言合法常量的是(A )。 A)-80. B)-080 C)-8e1.0 D)-80.0e 41、以下选项中,不能作为合法常量的是(B )。

A)1.234e04 B) 1.234e0.4 C)1.234e+4 D)1.234e0 42、数字字符0的ASCII值为48,若有以下程序 main()

{ char a='1',b='2'; printf(\printf(\

7

2008-2009(上)C语言程序设计1-5章测试试题

}

程序运行后的输出结果是 ( B )。

A)3,2 B)50,2 C)2,2 D)2,50 43、有以下程序 main()

{ int m=12,n=34; printf(\printf(\}

程序运行后的输出结果是(B )。

A)12353514 B)12353513 C)12343514 D)12343513 44、有定义语句:int b;char c[10]; ,则正确的输入语句是( B)。 A)scanf(\ B)scanf(\ C)scanf(\ D)scanf(\ 45、有以下程序 main() { int m,n,p;

scanf(\printf(\}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A )。

A)m=123n=456p=789 B)m=123<空格>n=456<空格>p=789 C)m=123,n=456,p=789 D)123<空格>456<空格>789 46、有以下程序 main() {

int a,b,d=25; a=d/10%9; b=a&&(-1);

printf(\}

程序运行后的输出结果是(B )。

A)6,1 B)2,1 C)6,0 D)2,0 47、有以下程序

8

2008-2009(上)C语言程序设计1-5章测试试题

main()

{ int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3)) printf(\}

程序运行后的输出结果是( D )。

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

48、若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

A)1 B)2 C)3 D)4 49、以下能正确定义一维数组的选项是(B )。 A)int a[5]={0,1,2,3,4,5}; B)char a[]={0,1,2,3,4,5}; C)char a={'A','B','C'}; D)int a[5]=\50、与十进制数200等值的十六进制数为 (C )。 A)A8 B)A4 C)C8 D)C4

51、结构化程序由三种基本结构组成,三种基本结构组成的算法( A )。 A)可以完成任何复杂的任务 B)只能完成部分复杂的任务 C)只能完成符合结构化的任务 D)只能完成一些简单的任务 52、有以下定义语句 double a,b; int w; long c;

若各变量已正确赋值,则下列选项中正确的表达式是(C )。 A)a=a+b=b++ B)w%((int)a+b) C)(c+w)%(int)a D)w=a==b; 53、有以下程序 main()

{ int m=3,n=4,x; x=-m++; x=x+8/++n; printf(\ }

程序运行后的输出结果是(D )。

A)3 B)5 C)-1 D)-2 54、有以下程序 main()

{ int m=0256,n=256; printf(\

9

2008-2009(上)C语言程序设计1-5章测试试题

}

程序运行后的输出结果是(A )。

A)0256 0400 B)0256 256 C)256 400 D)400 400 55、有以下程序 main()

{ int a=666,b=888; printf(\ }

程序运行后的输出结果是( B)。

A)错误信息 B)666 C)888 D)666,888 56、有以下程序 main() {

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

printf(\ else

printf(\ printf(\ }

程序运行后的输出结果是(A )。

A)2 B)3 C)43 D)44 57、以下叙述中正确的是(A )。

A)局部变量说明为static存储数,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同 58、能将高级语言编写的源程序转换成目标程序的是(C)。

A) 链接程序 B) 解释程序 C) 编译程序 D) 编辑程序

59、若有宏定义:#define H(x) 2*x,则程序中有语句H(5+3);则运行结果为( A) A) 8 B)10 C)6 D)不确定 60、下列不能够给数组int a[3];的第2个元素正确赋值的语句是( )

A)scanf(“%d”,a[1]); B)scanf(“%d”,&a[1]); C)scanf(“%d”,a+1); D)int *p=&a[1];scanf(“%d”,p); 二、判断题(每小题1分,共15分)

1、int i,a[3]={1,2,3};for(i=0;i<=3;i++)printf(“%d”,a[i]);可以通过编译,因为C语言不对数组进

10

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4