国二c语言笔试题库(含答案)可转TXT

发布时间:2024-10-30

国二c语言笔试题库(含答案)可转TXT

第一章 C语言概述

一 单项选择题

1.一个C程序的执行是从( A )。

A) 本程序的main函数开始,到main函数结束

B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C) 本程序的main函数开始,到本程序文件的最后一个函数结束

D) 本程序文件的第一个函数开始,到本程序的main函数结束

2.以下叙述正确的是(C)。

A) 在C程序中,main函数必须位于程序的最前面

B) C程序的每行中只能写一条语句

C) C语言本身没有输入输出语句

D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误

3.以下叙述不正确的是( D )。

A) 一个C源程序可由一个或多个函数组成

B) 一个C源程序必须包含一个main函数

C) C程序的基本组成单位是函数

D) 在C程序中,注释说明只能位于一条语句的后面

4.C语言规定,在一个源程序中,main函数的位置( C )。

A) 必须在最开始 B) 必须在系统调用的库函数的后面

C) 可以任意 D) 必须在最后

5.一个C语言源程序是由( B )。

A) 一个主程序和若干子程序组成 B) 函数组成

C) 若干过程组成 D) 若干子程序组成

二 填空题

1.C源程序的基本单位是 。

2.一个C源程序中至少应包括一个 。

3.在一个C源程序中,注释部分两侧的分界符分别为 /* 和 */ 。

4.一个函数是由两部分组成的,它们分别是 函数首部 和 函数体 。

5.在C语言中,一个函数的函数体一般包括。

6.在每个C语句和数据定义的最后必须有一个

7.C语言本身没有输入输出语句。其输入输出是由

8.程序是指 一组能使计算机识别和执行的指令,每一个指令都使计算机能够执行相应

的操作。 。

9.源程序是指C

源程序文件的扩展名为 .c 。

10.目标程序是指

国二c语言笔试题库(含答案)可转TXT

语言程序转化为二进制的目标程序 。目标程

序文件的扩展名为 .obj 。

11.可执行程序是指执行程序 。可执行程序文件的扩展名

为 .exe 。

12.上机运行一个C源程序的步骤一般为:①;

② 编译源程序 ;③ 连接库函数 ;④ 生成

可执行程序 。

第三章 数据类型、运算符与表达式

一 单项选择题

1.下面四个选项中,均不是c语言关键字的选项是( A )。

A) define IF Type B) getc char printf

C) include scanf case D) while go pow

2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。

A) 必须为字母 B) 必须为下划线

C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符

3.下列四个选项中,均是C语言关键字的选项是( B )。 B) switch typedef continue C) signed union scanf 4.下面四个选项中,均是不合法的用户标识符的选项是( C )。

A) A P_0 do B) float la0 _A

C) b-a goto int D) _123 temp int

5.以下有4组用户标识符,其中合法的一组是( C )。

A) For -sub Case B) 4d DO Size

C) f2_G3 IF abc D) WORD void define

6.下列选项中,合法的C语言关键字是( D )。

A) VAR B) cher C) integer D) default

7.下面四个选项中,均是合法整型常量的选项是( A )。

A) 160 -0xffff 011 B) -0xcdf 01a 0xe

C) –01986 012 0668 D) -0x48a 0x2e5 0xe

8.下面四个选项中,均是正确的八进制数或十六进制数的选项是( C )。

A) -10 0x8f -011 B) 0abc -017 0xc

C) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa

9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围

为( C )。

国二c语言笔试题库(含答案)可转TXT

A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647

10.在C语言中,不正确的int类型的常数是( A )。

A)32768 B)0 C)037 D)0xAF(11101111=128+64+32+8+4+2+1)

11.下面四个选项中,均是不合法的整型常量的选项是( D )。

A) -0f1 -0xffff 0011 B) -0xcdf 017 12456

C) -018 999 5e2 D) -0x48eg -068 03f

12.下面四个选项中,均是不合法的浮点数的选项是( B )。

A) 160. 0.12 e3 B) 123 2e4.2 .e5

C) -.18 123e4 0.0 D) -e3 .234 1e3

13.下面四个选项中,均是合法的浮点数的选项是( B )。

A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5

C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-0

14.下列变量定义中合法的是( A )。

A) short _a=1-.le-1; B) double b=1+5e2.5;

C) long do=0xfdaL; D) float 2_and=1-e-3;

15. 以下选项中合法的字符常量是( B )。

A) “B” B) \010 C) 68 D) D

16.以下选项中,非法的字符常量是( C )。

A) '\t' B) '\17' C) "n" D) '\xaa'

17.以下所列的C语言常量中,错误的是(B )。

A) 0xFF B) 1.2e0.5 C) 2L D) \72

18.在C语言中,char型数据在内存中的存储形式是( D )。

A) 补码 B) 反码 C) 原码 D) ASCII码

19.下面四个选项中,均是合法转义字符的选项是(A )。

A) \ \\ \n B) \ \017 \”

C) \018 \f xab D) \\0 \101 xlf

20.下面四个选项中,均是不合法的转义字符的选项是( B )。

A) \”” \\ \xf B) \1011 \ \a

C) \011 \f \} D) \abc \101 xlf

21.下面正确的字符常量是( C )。

A) “c” B) \\ C) W D)

22.下面四个选项中,均是正确的数值常量或字符常量的选项是(D )。

A) 0.0 0f 8.9e & B) a 3.9e-2.5 1e1 \

C) 3 011 0xff00 0a D) +001 0xabcd 2e2 50.

23.下面不正确的字符串常量是( A )

A) abc B) ”1212” C) ”0” D) ” ”

国二c语言笔试题库(含答案)可转TXT

24.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为

( A )。

A) char<int<long int<=float<double

B) char=int<long int<=float<double

C) char<int<long int=float=double

D) char=int=long int<=float<double

25.若有说明语句:char c='\72';则变量c(A )。

A) 包含1个字符 B) 包含2个字符

C) 包含3个字符 D) 说明不合法,c的值不确定

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

A) int B) float C) double D) 不确定

27.表达式18/4*sqrt(4.0)/8值的数据类型为( C )。

A) int B) float C) double D) 不确定

28.设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为

( D )。

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

29.以下选项中属于C语言的数据类型是( C )。

A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型

30.以下程序的输出结果是 ( A )

main()

{

char c=‘z';

printf(“%c”,c-25);

}

A) a B) Z C) z-25 D) y

31.若有定义:int a=7; float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是

( A )。

A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000

32.若有代数式3ae/bc,则不正确的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

33.设有 int x=11; 则表达式 (x++ * 1/3) 的值是( A )。

A) 3 B) 4 C) 11 D) 12

34.以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C

语言表达式是( A )。

A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z

35.C语言中运算对象必须是整型的运算符是( A )。

A) %= B) / C) = D) <=

国二c语言笔试题库(含答案)可转TXT

36.下列程序的输出结果是( C )。

main()

{

double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

printf("%d\n", d*y);

}

A) 3 B) 3.2 C) 0 D) 3.07

37.若x,i,j和k都是int型变量,则计算下面表达式x=(i=4, j=16, k=32) 后,x的值为( C )。

A) 4 B) 16 C) 32 D) 52

38.假设所有变量均为整型,则表达式(a=2, b=5, b++, a+b)的值是( B )。

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

39.假定x和y为double型,则表达式x=2, y=x+3/2的值是( D )。

A) 3.500000 B) 3 C) 2.000000 D) 3.000000

40.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++, sum++, ++num后

sum的值为( B )。

A) 7 B) 8 C) 9 D) 10

41.若有定义int k=7,x=12; ,则以下能使值为3的表达式是(D )。

A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5)

42.设以下变量均为int类型,则值不等于7的表达式是(C )。

A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)

C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)

43.下列程序执行后的输出结果是( A )。

main()

{

int x=‘f’;

printf(“%c\n”,‘A’+(x-‘a’+1));

}

A) G B) H C) I D) J

44.下列程序执行后的输出结果是( C )。

main()

{ char x=0xFFFF; printf("%d \n",x--); }

A) –32767 B) FFFE C) -1 D) –32768

45.以下程序的输出结果是( D )。

main()

{ int a=3;

printf("%d\n",(a+=a-=a*a));

}

国二c语言笔试题库(含答案)可转TXT

A) -6 B) 12 C) 0 D) –12

46.若变量已正确定义并赋值,下面符合C语言语法的表达式是( B )。

A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b

47.若有以下程序段,

int c1=1, c2=2, c3;

c3=1.0/c2*c1;

则执行后,c3中的值是( A )。

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

48.有如下程序

main( )

{ int y=3, x=3, z=1;

printf(“%d %d\n”, (++x, y++), z+2);

}

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

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

49.已知大写字母A的ASCII码为65,以下程序的运行结果为( A

#include<stdio.h>

main( )

{

char c1= A ,c2= Y ;

printf(“%d,%d\n”,c1,c2);

}

A) 65,89 B) A,Y C) 65,88 D) 65,90

50.以下程序的输出结果是( D )。

#include<stdio.h>

main()

{

int a=010,b=10;

printf(“%d,%d\n”,a++,--b);

}

A) 10,10 B) 8,10 C) 10,9 D) 8,9

51.以下程序的输出结果是( B )。

main()

{

int a,b;

a=100;b=200;

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

}

A) 100 B) 200 C) 20000 D) 100=200

52.执行语句 y=10;x=y++; 的结果是( C )。 )。

国二c语言笔试题库(含答案)可转TXT

A) x=10,y=10 B) x=11,y=11 C) x=10,y=11 D) x=11,y=10

53.在表示C语言的整型变量时,表示“无符号长整型”的符号是(D )。

A) unsigned int B) unsigned short

C) long int D) unsigned long

54.在下列形式的常数中,C程序不允许出现的是( B )。

A) .45 B) ±123 C) 25.6e-2 D) 4e3

55.以下程序的输出结果是( C )。

main()

{ float x=3.6;

int i;

i=(int)x;

printf(“x=%f,i=%d”,x,i);

}

A) x=3.600000,i=4 B) x=3,i=3

C) x=3.600000,i=3 D) x=3.000000,i=3.600000

56.在C语言中,要求运算数必须是整型数据的运算符是(B )。

A) / B) % C) ! D) <

57.执行下列语句的结果是( D )。

i=3;

printf(“%d,”,++i);

printf(“%d”,i++);

A) 3,3 B) 3,4 C) 4,3 D) 4,4

58.已知x=3, y=2,则表达式x*=y+8的值为( C )。

A) 3 B) 2 C) 30 D) 14

59.执行语句int i=65536; printf(“%d\n”,i); 的结果是( B )。

A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1

60.在C语言中,不正确的int类型的常数是( A )。

A) 32768 B) 0 C) 037 D) 0xAF

61.C语言提供的合法关键字是( D )。

A) swicth B) chan C) Case D) default

62.表示“在使用x之前,先使x的值加1”的正确方式是(A )。

A) ++x B) x++ C) +x D) +x+

63.设x的值为5,则表达式(++x)+(++x)+(++x)的值是( D )。

A) 24 B) 20 C) 15 D) 21

64.在C语言中,合法的字符常量是( B )。

A) \084 B) \x43 (十六进制) C) ab D) “\0”

65.若已定义x和y为double类型,则表达式:x=1, y=x+3/2的值是( C )。

国二c语言笔试题库(含答案)可转TXT

A) 1 B) 2 C) 2.0 D) 2.6

66.若t为double类型,表达式t=1, t+5, t++的值是( D )。

A) 1 B) 6.0 C) 2.0 D) 1.0

67.若有以下定义和语句,则输出结果是( B )。

char c1= b ,c2= e ;

printf(“%d,%c\n”,c2-c1,c2- a + A );

A) 2,M B) 3,E

C) 2,E D) 输出项与对应的格式控制不一致,输出结果不确定

68.设有如下的变量定义:

int i=8,a,b;

double x=1.42,y=5.2;

则以下符合C语言语法的表达式是( A )。

A) a+=a-=(b=4)*(a=3) B) x%(-3)

C) a=a*3=2 D) y=float(i)

69.若有以下定义和语句:

int u=010,v=0x10,w=10;

printf(“%d,%d,%d\n”,u,v,w);()

则输出结果是( A )。

A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10

二 填空题

1.若x和a均是int型变量,则计算表达式(1)后的x值为,计算表达式(2)后的x

值为 4 。

(1) x=(a=4, 6*2)

(2) x=a=4, 6*2

2.若a是int型变量,则表达式(a=4*5, a*2), a+6的值为。

3.若b是int型变量,则表达式b=25/3%3的值为。

4.若s是int型变量,且s=6 则下面表达式s%2+(s+1)%2的值为。

5.若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为,b值为

,c值为

6.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为

,n的值为。

7.若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为

8.若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为

9.若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为。

10.若x和n均是整型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)

后x的值为 0 。

11.以下程序的输出结果是。

main()

{ unsigned short a=65536; int b;

国二c语言笔试题库(含答案)可转TXT

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

12.请写出数学式a/bc的C语言表达式。

13.设a、b、c为整型数,且a=2、b=3、c=4,则执行完语句 a*=16+(b++)-(++c)后,a的值

是 28 。

第四章 最简单的C程序设计——顺序程序设计

一 单项选择题

1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长

度大于5,则输出按方式( B )。

A) 从左起输出该字符串,右补空格

B) 按原字符长从左向右全部输出

C) 右对齐输出该字串,左补空格

D) 输出错误信息

2.已有定义int a= -2; 和输出语句 printf(“%8x”,a); 以下正确的叙述是( D )。

A) 整型变量的输出形式只有%d一种

B) %x是格式符的一种,它可以适用于任何一种类型的数据

C) %x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的

D) %8x不是错误的格式符,其中数字8规定了输出字段的宽度

3.若x, y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是

( D )。

A) scanf(“%d %x, %le”, &x, &y, &z);

B) scanf(“%2d *%d, %lf”, &x, &y, &z);

C) scanf(“%x %*d %o”, &x, &y);

D) scanf(“%x %o%6.2f”, &x, &y, &z);(双精度型用%le,或者%lf)

4.以下程序的输出结果是( D )。

main( )

{ int k=17;

printf("%d,%o,%x\n",k,k,k);

}

A)17,021,0x11 B)17,17,17

B)17,0x11,021 D)17,21,11

5.下列程序的运行结果是( B )。

#include <stdio.h>

main()

{ int a=2,c=5;

printf("a=%d,b=%d\n",a,c);

}

A) a=%2,b=%5 B) a=2,b=5

国二c语言笔试题库(含答案)可转TXT

C) a=d,b=d D) a=2,c=5

6.语句printf("a\bre\'hi\'y\\\bou\n"); 的输出结果是( C )。(说明:'\b'是退格符)

A) a\bre\'hi\'y\\\bou B) a\bre\'hi\'y\bou

C) re'hi'you D) abre'hi'y\bou

7.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )。

A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);

C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);

8.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c); 给a赋于

10.0,b赋予22.0,c赋予33.0,不正确的输入形式是( B ):

A) 10<回车> B) 10.0,22.0,33.0<回车>

22<回车>

33<回车>

C) 10.0<回车> D) 10 22<回车>

22.0 33.0<回车> 33<回车>

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

main()

{

int n;

(n=6*4,n+6),n*2;

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

}

A) 24 B) 12 C) 26 D) 20

10.以下程序的输出结果是( B )。

main()

{

int x=2,y,z;

x*=3+1;

printf(“%d,”,x++);

x+=y=z=5;

printf(“%d,”,x);

x=y=z;

printf(“%d\n”,x);

}

A) 8,14,1 B) 8,14,5 C) 8,13,5 D)9,14,5

11.下面程序的输出结果是( C )。

main()

{

int x, y, z;

x=0;y=z=-1;

x+=-z---y;{(-z--)-y}

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

国二c语言笔试题库(含答案)可转TXT

}

A) x=4 B) x=0 C) x=2 D) x=3

12.设x为int型变量,则执行语句x=10; x+=x-=x-x; 后,x的值为( B )。

A) 10 B) 20 C) 40 D) 30

13.只能向终端输出一个字符的函数是( )。

A) printf函数 B) putchar函数

C) getchar函数 D) scanf函数

14.下列程序执行后的输出结果是(小数点后只写一位)( A )。

main()

{ double d; float f; long l; int i;

i=f=1=d=20/3;

printf("%d %ld %f %f \n", i,l,f,d);

}

A) 6 6 6.0 6.0 B) 6 6 6.7 6.7

C) 6 6 6.0 6.7 D) 6 6 6.7 6.0

15.在下列叙述中,错误的一条是( C )。

A) printf函数可以向终端输出若干个任意类型的数据

B) putchar函数只能向终端输出字符,而且只能是一个字符

C) getchar函数只能用来输入字符,但字符的个数不限

D) scanf函数可以用来输入任何类型的多个数据

16.以下程序的输出结果为( B )。

main()

{

char c1= a ,c2= b ,c3= c ;

printf(“a%cb%c\tc%c\n”,c1,c2,c3);

}

A) abc abc abc B) aabb cc C) a b c D) aaaa

17.若输入12345和abc,以下程序的输出结果是( B )。

main()

{

int a;

char ch;

scanf(“%3d%3c”,&a,&ch);

printf(“%d, %c” ,a, ch);

}

A) 123, abc B) 123,4 C) 123,a D) 12345,abc

18.以下程序的输出结果是( D )。

main()

{

unsigned x1; bb

国二c语言笔试题库(含答案)可转TXT

int b= -1;

x1=b;

printf(“%u”,x1);

}

A) %u B) -1 C) %u-1 D) 65535

19.在printf函数中用来输出十六进制无符号整数的格式字符是( B )。

A) d格式符 B) x格式符 C) u格式符 D) o格式符

20.设a=12、b=12345,执行语句printf(“%4d,%4d”,a,b)的输出结果为( B )。

A) 12, 123 B) 12,12345 C) 12, 1234 D) 12, 123456

21.以下程序的输出结果是( C )。

#include<stdio.h>

#include<math.h>

main()

{

int a=1,b=4,c=2;

float x=10.5, y=4.0, z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

printf(“%f\n”, z);

}

A) 14.000000 B) 15.400000 C) 13.700000 D) 14.900000

22.以下程序的输出结果是( D )。

main()

{

int a=2, c=5;

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

}

A) a=%2, b=%5 B) a=%2, c=%5

C) a=%%d, b=%%d D) a=%d, b=%d

23.请读程序:

main()

{

int a;

float b, c;

scanf(“%2d%3f%4f”,&a,&b,&c);

printf(“\na=%d, b=%f, c=%f\n”, a, b, c);

}

若运行时从键盘上输入9876543210<CR>(<CR>表示回车),则上面程序的输出结果是

( C )。

A) a=98, b=765, c=4321 B) a=10, b=432, c=8765

C) a=98, b=765.000000, c=4321.000000 D) a=98, b=765.0, c=4321.0

24.若有定义:int x, y; char a, b, c; 并有以下输入数据(此处<CR>代表回车,∪代表空格):

国二c语言笔试题库(含答案)可转TXT

1∪2<CR>

A∪B∪C<CR>

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程

序段是( D )。

A) scanf(“x=%d, y=%d”, &x, &y); a=getchar( ); b=getchar( ); c=getchar( );

B) scanf(“%d %d”, &x, &y); a=getchar( ); b=getchar( ); c=getchar( );

C) scanf(“%d%d%c%c%c”, &x, &y, &a, &b, &c);

D) scanf(“%d%d%c%c%c%c%c%c”, &x, &y, &a, &a, &b, &b, &c, &c);

25.下列可作为C语言赋值语句的是( C )。

A) x=3, y=5; B) a=b=6 C) i--; D) y=int(x);

26.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf(“i=%d, f=%f”, &i, &f);

为了把100和765.12分别赋给i和f,则正确的输入为( B)。

A) 100<空格>765.12<回车> B) 100, 765.12<回车>

C) 100<回车>765.12<回车> D) x=100<回车>y=765.12<回车>

27.以下叙述中正确的是( D )。

A) 输入项可以是一个实型常量,例如:scanf(“%f”, 3.5);

B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d, b=%d”);

C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”,

&f);

D) 当输入数据时,必须指明变量地址,例如:scanf(“%f”, &f);

28.设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是( D )。

A) 把x和y按从小到大排序 B) 把x和y按从大到小排序

C) 无确定结果 D) 交换x和y中的值

二 填空题

1.下面程序的运行结果是

main()

{

short i;

i= -4;

printf(“\ni: dec=%d, oct=%o, hex=%x, unsigned=%u\n”, i, i, i, i);

}

2.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是

int b,c; float a;

scanf("%f,%d,c=%d",&a,&b,&c);

3.下列程序的输出结果是16.00,请填空。

main()

{ int a=9, b=2;

国二c语言笔试题库(含答案)可转TXT

z=a/2+b*x/y+1/2;(1/2=0,a/2=4)

printf("%5.2f\n", z );

}

4.在printf格式字符中,只能输出一个字符的格式字符是格式字符是 %s ;以小数形式输出实数的格式字符是 %f ;以标准指数形式

输出实数的格式字符是 %e 。

三 编程题

1. 若a=3, b=4, c=5, x=1.2, y=2.4, z= -3.6, u=51274, n=128765, c1= a , c2= b 。想得到以下的输

出格式和结果,请写出完整的程序(包括定义变量类型和设计输出)。

要求输出的结果如下:

a= <空格>3 <空格><空格> b= <空格> 4<空格><空格> c= <空格>5

x=1.200000, y=2.400000, z= -3.600000

x+y=<空格>3.60<空格><空格> y+z = -1.20<空格><空格>z+x= -2.40

u=<空格>51274<空格><空格>n=<空格><空格><空格>128756

c1= a <空格>or<空格>97(ASCII)

c2= B <空格>or<空格>98(ASCII)

2. 输入一个华氏温度,要求输出摄氏温度。公式为

c 5 F 32 9

输出要有文字说明,取2位小数。

3. 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输

出这两个字符。

三 编程题

1. 解:

main()

{

int a=3, b=4, c=5;

long int u=51274, n=128765;

float x=1.2, y=2.4, z= -3.6;

char c1= a , c2= b ;

printf(“\n”);

printf(“a=%2d b=%2d c=%2d\n”,a,b,c);

printf(“x=%8.6f , y=%8.6f, c=%9.6f\n”,x,y,z) ;

printf(“x+y=%5.2f y+z=%5.2f z+x=%5.2f\n”,x+y,y+z,z+x) ;

printf(“u=%6ld n=%9ld\n”,u,n);

printf(“c1=%c or %d(ASCII)\n”,c1,c1);

printf(“c2=%c or %d(ASCII)\n”,c2,c2);

}

2. 解:

国二c语言笔试题库(含答案)可转TXT

main()

{

float c, f;

printf(“请输入一个华氏温度:\n”);

scanf(“%f”,&f);

c=(5.0/9.0)*(f-32);

printf(“摄氏温度为:%.2f\n”,c) ;

}

3. 解:

#include<stdio.h>

main()

{

char c1, c2;

printf(“请输入两个字符给c1和c2:\n”);

c1=getchar();

c2=getchar();

printf(“用putchar函数输出结果为:\n”) ;

putchar(c1);

putchar(c2);

printf(“\n用printf函数输出结果为:\n”) ;

printf(“%c, %c\n”,c1,c2) ;

}

第五章 选择结构程序设计

一 单项选择题

1.逻辑运算符两侧运算对象的数据类型是( D )。

A) 只能是0或1

B) 只能是0或非0正数

C) 只能是整型或字符型数据

D) 可以是任何类型的数据

2.已知x=43, ch='A', y=0;则表达式(x>=y&&ch<'B'&&!y)的值是( C

A) 0 B) 语法错 C) 1 D) “假”

3.已知 int x=10, y=20, z=30; 以下语句执行后x, y, z的值是( B )。

if(x>y)

z=x;x=y;y=z;

A) x=10,y=20,z=30 B) x=20,y=30,z=30 )。

国二c语言笔试题库(含答案)可转TXT

C) x=20,y=30,z=10 D) x=20,y=30,z=20

4.执行下列语句后a的值为( ),b的值为( C )。

int a, b, c;

a=b=c=1;

++a|| ++b && ++c;

A) 错误 1 B) 2 2 C) 2 1 D) 1 1

5.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,

则以下不能满足要求的表达式是( C )。

A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2

6.设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值是(

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

7.判断char型变量cl是否为小写字母的正确表达式是( D )。

A) ‘a’<=cl<=‘z’ B) (cl>=a)&&(cl<=z)

C) (‘a’>=cl)||(‘z’<=cl) D) (cl>=‘a’)&&(cl<=‘z’)

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

A) if(x>y&&x!=y);

B) if(x==y) x+=y;

C) if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y)

D) if(x<y) {x++;y++;}

9.请阅读以下程序:

main()

{

int a=5,b=0,c=0;

if(a=b+c) printf(“***\n”);

else printf(“$$$\n”);

}

以上程序( D )。

A) 有语法错不能通过编译

B) 可以通过编译但不能通过连接

C) 输出***

D) 输出$$$

10.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( B )。

if(a<b)

if(c<d) x=1;

else

if(a<c)

if(b<d) x=2;

else x=3;

else x=6;

else x=7; B )。

    精彩图片

    热门精选

    大家正在看