c语言期末考试题库

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

A.a+b=10 B.a+b=30 C.30 D.出错 6.有以下程序段: char ch='a'; int k=12;

printf(\ printf(\

已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是( D )。 A.因变量类型与格式描述符的类型不匹配输出无定值 B.输出项与格式描述符个数不符,输出为零值或不定值 C.a,97,12k=12 D.a,97,k=12

7.执行下面程序段后的输出结果是( D )。 int a=15;

printf(\A.a=15,a=15,a=15 B.a=15,a=017,a=0xf C.a=15,a=17,a=0xf D.a=15,a=17,a=f

8.以下程序的输出结果是( A )。 main()

{int a=010,b=10,c=0x10; printf(\

A.8,10,16 B.8,10,10 C.10,10,10 9.以下程序的运行结果是(A )。(注:□代表空格) #include main ( ) { int m=5,n=10;

printf (\}

A. 5,9 B. 6,9 C. 5,10 10.设有以下程序: # include main ( )

{ int a=201,b=012; printf(“-,-\\ n”,a,b); }

D.10,10,16 D. 6,10 程序执行后的输出结果是( B )。

A.01,02 B.201,10 C.01,10 D.20,01

11.有定义语句int a,b; ,若要通过语句scanf(\使变量a得到数值6,变量b得到数值5,下面输入形式中错误的是( C )。(注:□代表空格)

A. 6,5<回车> B. 6,□□5<回车> C. 6 5<.回车> D. 6,<回车> 5<回车>

12.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( A )。(注:□表示空格) int a1,a2; char c1,c2;

scanf(\

A. 10A□20B<回车> B. 10□A□20□B<回车> C. 10A□20B<回车> D. 10A20□B<回车>

13.已有定义语句int x;float y;且执行scanf(\语句,若从第一列开始输入数据12345□678<回车>,则x的值为( B )。(注:□表示空格) A.12345 B. 123 C. 45 D.345

14.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( D )。(注:□表示空格) A. 132<回车> B. 1,3,2<回车> C. a=1□b=3□c=2<回车> D. a=1,b=3,c=2<回车> 15.设有如下程序: # include main ( )

{ char ch1='A',ch2='a'; printf(\}

则以下叙述中正确的是( B )。 A.程序的输出结果为大写字母A B.程序的输出结果为小写字母a C.运行时产生错误信息

D.格式说明符的个数少于输出项的个数,编译出错

16.执行下面程序段后的输出是( A )。(注:□表示空格) float f1=111.111;

printf(“%%f f1=%8.3f\\n”,f1); A.%f f1=□111.111 B.%f f1=111.111 C.f1=111.111 D.f1= 111.111

17.以下不符合C语法的赋值语句是( C )。

A. m=(2+1,m=1); B. m=n=0; C. m=1,n=2 D. n++; 18.以下程序的输出结果是( D )。(注:□代表空格) main ( )

{ printf (\printf (\―5s*\}

A.* s1=chinabeijing□□□* B. * s1=chinabeijing□□□* * s2=**chi* * s2=chi□□*

C. * s1=*□□chinabeijing* D. * s1=□□□chinabeijing* * s2=□□chi* * s2=chi□□*

19.根据以下定义语句和数据输入方式,scanf 语句的正确形式应为( B )。 已有定义:float f1, f2; 数据的输入方式:4.53<回车> 3.5<回车>

A. scanf (\ B. scanf (\C. scanf (\ D. scanf (\

20.阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为( D )。 main () { int x,y,z;

scanf (\printf (\}

A. x+y+z=48 B. x+y+z=35 C. x+z=35 D. 不确定值 21.以下scanf函数的叙述中,正确的是( D )。 A.输入一项可以为一实型常量,如scanf(\

B.只有格式控制,没有输入项,也能进行正确输入,如scanf(\

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(\D.当输入数据时,必须指明变量地址,如scanf(\22.若有以下定义,则正确的赋值语句是( B )。 int a,b;float x;

A. a=1,b=2, B. b++; C. a=b=5 D. b=int(x); 23.已知ch是字符型变量,下面不正确的赋值语句是( A )。

A. ch='a+b'; B. ch='\\0'; C. ch='7'+'9'; D. ch=5+9; 24.设x,y均为float型变量,则以下不合法的赋值语句是( D )。

A. ++x; B. y=(x%2)/10; C. x*=y+8; D. x=y=0;

25.设int a=10,则执行语句a+=a*=a/5+10;后,a的值是( A )。

A.240 B.120 C.30 D.60 26.以下程序的运行结果是( D )。 # include main ( )

{ int x1=0xabc, x2=0xdef; x2 - = x1; printf(\}

A. ABC B. 0xabc C. 0x333 27.有以下程序,其中%u表示按无符号整数输出: main()

{unsigned int x=0xFFFF; printf(\}

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

A.-1 B.65535 C.32767 28.设有以下程序: # include main ()

{char c1,c2,c3,c4,c5,c6;

scanf (\c5=getchar( );c6=getchar( ); putchar(c1);putchar(c2); printf (\}

若运行时从键盘输入数据: abc<回车>

defg<回车>,则输出结果是( B )。

A. abcd B. abde C. abef 29.以下程序的运行结果是( A )。(注:□表示空格) main () { int y=23456; printf(\ printf(\ printf(\

D. 333 D.0XFFFF D.abfg }

A.y=5ba0 B.y=□□□5ba0

y=□□□□5ba0 y=□□□□□□□5ba0 y=□□0x5ba0 y=□□0x5ba0 C.y=5ba0 D.y=5ba0

y=5ba0 y=□□□□5ba0 y=0x5ba0 y=####5ba0

30.若x,y均定义为int型, z定义为double型,以下不合法的scanf函数调用语句是( D )。 A. scanf(\lx,%le\ B.scanf(\%*d%lf\C.scanf(\ D.scanf(\

二、填空题

1.C语句的最后用 ; 结束。

2.以下printf语句中的负号的作用是 输出数据左对齐 。 # include main( )

{ int x=12;double a=3.1415926; printf(\printf(\}

3.以下printf语句中*号的作用是 可以使同一输出语句中的输出宽度得以改变 。 # include main( ) { int i=1;

printf(\}

4.以下程序的输出结果是 x=1 y=2 *sum*=3 。 main( ) {int x=1,y=2;

printf(\,x+y); }

5.以下程序的输出结果是 261 。 # include main( ) { int m=177; printf(\

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