文档库

最新最全的文档下载
当前位置:文档库 > C语言基础知识考试

C语言基础知识考试

第一章C语言基础知识

一、选择题

1.C语言规定,必须用作为主函数名。(0级)

A)Function B)include C)main D)stdio

2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。(0级)

A)过程B) 主函数C)函数D)include 3.是C程序的基本构成单位。(0级)

A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是。(0级)

A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可

B)一个函数的函数体必须要有执行部分,可以没有变量定义

C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数

D)以上都不对

5.下列说法正确的是。(0级)

A)main函数必须放在C程序的开头

B)main函数必须放在C程序的最后

C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的

D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的

6.下列说法正确的是。(0级)

A)在执行C程序时不是从mian函数开始的

B)C程序书写格式严格限制,一行内必须写一个语句

C)C程序书写格式自由,一个语句可以分写在多行上

D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号

7.在C语言中,每个语句和数据定义是用结束。(0级)

A)句号B)逗号C)分号D)括号

8.下列字符串是标识符的是。(0级)

A)_HJ B)9_student C)long D)LINE 1

9.以下说法正确的是。(0级)

A)C语言程序总是从第一个定义的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

10.不是C语言提供的合法关键字。(0级)

A)switch B)print C)case D)default

11.C语言提供的合法关键字是。(0级)

A)breack B)print C)funiton D)end

12.C语言提供的合法关键字是。(0级)

A)continue B)procedure C)begin D)append

13. C语言规定: 在一个源程序中, main函数的位置。(02~03第一学期试题)

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

C) 可以在任意位置D) 必须在源文件的最后

14. 一个C语言程序是由。(02~03第一学期试题)

A)一个主程序和若干个子程序组成;

B)函数组成, 并且每一个C程序必须且只能由一个主函数;

C)若干过程组成;

D)若干子程序组成.

二、填空题

1.一个C程序至少包含一个,即。(0级)

2.一个函数由两部分组成,它们是和。(0级)

3.函数体的范围是。(0级)

4.函数体一般包括和。(0级)

5.C语言是通过来进行输入输出的。(0级)

6.在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个。(0级)

7.主函数名后面的一对圆括号中间可以为空,但一对圆括号不能。(0级)

第二章 C语言程序设计的初步知识

一、选择题

1.在C 语言中,下列类型属于构造类型的是。(0级)

A)整型B)字符型C)实型D)数组类型

2.在C 语言中,下列类型属于构造类型的是。(0级)

A)空类型B)字符型C)实型D)共用体类型

3.在C 语言中,下列类型属于构造类型的是。(0级)

A)整型B)指针类型C)实型D)结构体类型

4.在C 语言中,下列类型属于基本类型的是。(0级)

A)整型、实型、字符型B)空类型、枚举型

C)结构体类型、实型D)数组类型、实型

5.下列类型属于基本类型的是。(0级)

A)结构体类型和整型B)结构体类型、数组、指针、空类型

C)实型D)空类型和枚举类型

6.下列字符串属于标识符的是。(0级)

A)INT B)5_student C)2ong D)!DF

7.下列字符串属于标识符的是。(0级)

A)_WL B)3_3333 C)int D)LINE 3

8.下列字符串不属于标识符的是。(0级)

A)sum B)average C).day_night D)M.D.JOHN

9.下列字符串不属于标识符的是。(0级)

A)total B)lutos_1_2_3 C)_night D)$ 123

10.下列字符串不属于标识符的是。(0级)

A)_above B)all C)_end D)# dfg

11.C语言中不能用来表示整常数的进制是。(0级)

A)十进制B)十六进制C)八进制D)二进制

12.C语言中能用来表示整常数的进制是。(0级)

A)十进制、八进制、十六进制B)十二进制、十进制

C)六进制、八进制D)二进制、十进制

13.在C语言中,回车换行符是。(0级)

A)\n B)\t C)\v D)\b

14.在C语言中,退格符是。(0级)

A)\n B)\t C)\v D)\b

15.在C语言中,反斜杠符是。(0级)

A)\n B)\t C)\v D)\ \

16.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码。(0级)

A)大32 B)大64 C)小32 D)小64

17.设d为字符变量,下列表达式不正确的是。(0级)

A)d=97 B)d=?a?C)d=”a”D)d=?g?

18.设d为字符变量,下列表达式正确的是。(0级)

A)d=678 B)d=?a?C)d=”d”D)d=?gjkl?

19.10+?a?+1.5-567.345/?b?的结果是型数据。(0级)

A)long B)double C)int D)unsigned float

20.语句int i=3;k=(i++)+(i++)+(i++);执行过后k的值为,i的值为。(0级)A)9,6 B)12,5 C)18,6 D)15,5

21.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值为,i的值为。(1级)

A)12,6 B)12,5 C)18,6 D)15,5

22.如果i=3,则k=(++i)+(++i)+(i++)执行过后k的值为,i的值为。(1级)

A)15,6 B)12,5 C)18,6 D)15,5

23.如果i=3,则k=(++i)+(++i)+(++i)执行过后k的值为,i的值为。(1级)

A)9,6 B)12,5 C)18,6 D)15,5

24.如果int i=3,则printf(“%d”,-i++)的结果为,i的值为。(1级)

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

25.如果int i=3,int j=4,则k=i+++j执行之后k,i和j的值分别为。(1级)

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

26.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。(1级)

main()

{char x,y;

x=?0?;y=?9?;

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

}

A)因输出格式不合法,输出错误信息B)48,57

C)0,9 D)48,58

27.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。(1级)

main()

{char c=?A?;int i=10;

c=c+10;

i=c%i;

printf(“%c,%d\n”,c,i);

}

A)75,7 B)75,5

C)K,5 D)因存在非图形字符,无法直接显示出来

28.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。(1级)main()

{char c1=?B?,c2=?Y?;

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

}

A)输出格式不合法,输出错误信息B)67,88

C)66,89 D)C,X

29.C语言中最简单的数据类型包括。(1级)

A)整型,实型,逻辑型B)整型,实型,字符型

C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型30.C语言中,运算对象必须是整型数的运算符是。(1级)A)% B)\ C)% 和\ D)** 31..下列常数中,合法的C 常量是。(1级)

A)-0. B)?105?C)?AB?D)3+5 32.下列常数中,合法的C 常量是。(1级)

A)”x-y”B)?105?C)?Be?D)7ff 33.下列常数中,合法的C 常量是。(1级)

A)?\n?B)e-310 C)?DEF?D)?1234?34.下列常数中,不合法的C 常量是。(1级)

A)-0x2al B)lg3 C)?[?D]”CHINA”35.下列常数中,不合法的C 常量是。(1级)

A)-0x3bl B)123e+2.3 C)?}?D)6e+7 36.下列符号中,可以作为变量名的是。(1级)

A)+a B)12345e C)a3B D)5e+0 37.下列符号中,可以作为变量名的是。(1级)

A)+c B)*X C)_DAY D)next day 38.下面程序的输出结果是。(1级)

main()

{int x;

x=-3+4*5-6;printf(“%d”,x);

x=3+4%5-6; printf(“%d”,x);

x=-3*4%-6/5; printf(“%d”,x);

x=(7+6)%5/2; printf(“%d”,x);

}

A)11 1 0 1 B)11 –3 2 1

C)12 –3 2 1 D)11 1 2 1

39.下面程序的输出结果是。(1级)

mian()

{int x=2,y=0,z;

x*=3+2; printf(“%d”,x);

x*=y=z=4; printf(“%d”,x);

}

A)8 40 B)10 40

C)10,4 D)8,4

40.下面程序的输出结果是。(1级)

main()

{int x=2,y=0,z;

x+=3+2; printf(“%d”,x);

x*=y=z=4; printf(“%d”,x);

}

A)7 28 B)无法计算C)7,4 D)8,4

41.下面程序的输出结果是。(1级)

main()

{int x=4,y=0,z;

x*=3+2; printf(“%d”,x);

x*=y= =(z=4); printf(“%d”,x);

}

A)14 40 B)20 0 C)20 4 D)14 4

42.下面程序的输出结果是。(1级)

main()

{int i,j;

i=16;j=(i++)+i;printf(“%d”,j);

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

}

A)32 16 15 B)33 15 15

C)34 15 16 D)34 16 15

43.在C语言中,以下合法的字符常量是。(1级)

A)'\084' B)'\x43' C)'0' D)"\0"

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

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

45.下列程序的执行结果是。(1级)

#include

#define sum 10+20

main()

{

int b=0,c=0;

b=5;

c=sum*b;

printf("%d",c);

}

A)100 B)110 C)70 D)150

46..下列程序的执行结果是。(1级)

#include

#define sum(10+20)

mian()

{

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

a=sum;

b=5;

c=sum*b;

printf("%d",c);

}

A)100 B)110 C)70 D)150

47.表达式(int)2.1416的值为。(1级)

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

48.表达式(double)(20/3)的值为。(1级)

A)6 B)6.0 C)2 D)3

49. 在下面几组数据类型中, 全是基本数据类型是哪一组。(02~03第一学期试题)

A)整型实型字符型B)整型数组指针

C)数组结构体共用体D)指针逻辑型空类型

50. 以下说法正确的是。(02~03第一学期试题)

A)在C程序中, 每行只能写一条语句.

B)在C程序中, 无论是整数还是实数, 其存放形式都一致.

C)在C程序中, %是只能用于整数运算的运算符.

D)在C程序中, 变量可以不必先定义就可使用.

51. 假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是。(02~03第一学期试题)

A)8 B)7

C)6 D)5

52. 若有以下定义, 则正确的赋值语句为。(02~03第一学期试题)

int a, b ;

float x;

A)a=1, b=2, B)b++;

C)a=b=5 D)b= int (x) ;

53. .C语言规定标识符由等字符组成. (01~02第二学期试题)

A)字母数字下划线B)中划线字母数字

C)字母数字逗号D)字母下划线中划线

54. 若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:

(float)(a+b)/2+(int)x%(int)y的值是。(01~02第二学期试题)

A)2.500000 B)3.500000 C)4.500000 D)5.000000

55. 以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。(01~02第二学期试题)

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

56. 若有:int a,b=2;则a=(b*100+1.5,100)则a的值是。(01~02第二学期试题)

A)100 B)100.5 C)200.5 D)300.5

57. 有如下语句:

printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);

执行语句后的最终结果为。(01~02第二学期试题)

A)COMPUTER ,CMP . B)COMPUTER, CMP.

C)COMPU, CMP. D)COMPU, CMP

58.已知ch是字符型变量,下面不正确的赋值语句

是:。(03试题)

A)ch=…\0? B)ch=…a+b?

C)ch=…7?+…9? D)ch=7+9

59.若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为:。(03试题)

printf(“%f”,(x,y));

A)3.600000 B)5.800000

C)3.600000,5.800000 D)输出符号不够,输出不正确值

60.设变量a是整型,变量f是实型,变量I是双精度型,则表达式10 + …a?+I * f 值的

数据类型:。(往届试题)

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

61. 已知字母A的ASCII码为十进制65,下面程序段的运行结果为:。(往届试题)

char ch1,ch2;

ch1= …A?+5-3; ch2= …A?+6-3;

printf(“%d, %c\n”, ch1,ch2);

A)67, D B)B, C C)C, D D)不确定值

62.以下不正确的C语言标识符是。(04~05第二学期试题)

A)ABC B)abc C)a_bc D)ab.c

63.设x、y均为float型变量,则以下不合法的赋值语句是。(04~05第二学期试题)

A)+ + x; B)y = ( x%2 ) / 10;

C)x *= y + 8; D)x = y = 0;

64.若有说明语句:char c= …\64? ;

则变量C包含:。(往届试题)

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

C)3个字符D)说明不合法,C值不确定。

65.表达式18/4*sqrt(4.0)/8值的数据类型为。(往届试题)

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

66.设整型变量a值为9,则下列表达式中使b的值不为4的表达式:。(往届试题)

A)b=a/2 B)b=a%2

C)b=8-(3,a-5) D)b=a>5?4:2

67.设有以下定义,则能使值为3的表达式是:。(往届试题)

int k=7, x=12;

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

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

68.以下选项中是C语言的数据类型的是:。(往届试题)

A)复数型B)逻辑型

C)双精度型D)集合型

二、填空题

1.C语言的数据类型有四大类,分别是、、、。(0级)

2.C语言数据类型中构造类型包括三种,他们是、、。(0级)

3.C语言基本数据类型包括、、、。(0级)

4.在C语言中,程序运行期间,其值不能被改变的量叫。(0级)

5.在C语言中,常量有不同的类型,包括、、和等。(0级)

6.符号常量是指。(0级)

7.整型常量和实型常量也称为,它们有正负之分。(0级)

8.在C语言中,在习惯上符号常量名用,变量用。(大写或小写)(0级)9.在C语言中,变量是。(0级)

10.变量也有不同类型,如、和等。(0级)

11.C语言在定义变量的同时说明变量的,系统在编译时就能根据变量定义及其为它分配相应数量的存储空间。(0级)

12.在C语言中,用来标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符序列称为。(0级)

13.在C语言中,标识符只能由、和三种字符组成,且第一个字符必须或。(0级)

14.在C语言中,要求对所有甬道的变量,遵循先定义后的原则。(0级)

15.可以用来表示C的整常数的进制是、、。(0级)

16.整型变量可分为、、、四种,分别用。(0级)

17.在一个整常量后面加一个字母和,则认为是long int 型常量。(0级)18.在C语言中,实数有两种表现形式,是和。(0级)

19.实型变量分为和,即float和double型。(0级)

20.C的字符常量是用括起来的一个字符。(0级)

21.在一个变量定义语句中可以同时定义多个变量,变量之间用隔开。(0级)22.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做。(0级)

23.下面的程序

mian()

{printf("abc\tde\rfg\n");/*空白处分别为两个和一个空格*/

printf("h\ti\b\bjk"); /*空白处为三个空格*/

}

运行结果是。(1级)

24.int型的取值范围是。(0级)

25.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能输出,也可以输出。(0级)

26.下面的程序

main()

{char c1,c2;

c1='a';c2='b';

c1=c1-32;c2=c2-32;

printf("%c %c",c1,c2);

}

运行结果为。(0级)

27.在ASCⅡ代码表中可以看到每一个小写字母比相应的大写字母的ASCⅡ代码大。(0级)

28.C的字符串常量是用括起来的字符序列。(0级)

29.在 C 语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即,以便系统据此数据判断字符串是否结束。(0级)

30.表达式10+'a'+1.5-0.5*'b'的结果。(1级)

31.表达式10+'a'+1.5-567.345/'b'的结果是型数据。(1级)

32. 在TURBO中,单精度实数的取值范围在之间。(1级)

33.在C语言中,加减乘除这些运算符需要两个运算对象,称为运算符。

34.在C语言中,算术运算符的结合性是。(1级)

35.下面的程序

mian()

{float x;int i;

x=3.6;i=(int)x;

printf("x=%f,i=%d",x,i);

}

运行结果为。(1级)

36.如果int i=3,则printf("%d",-i++)执行后输出是,i的结果是。(1级)37.在C语言中,表达式的类型有,,,,,。(1级)38.逗号表达式的形式如下:

表达式1,表达式2

则逗号表达式的结果是的值.(1级)

39.表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是表达式和表达式,两个表达式执行完的结果是和.执行后X的值分别是, .(1级)40.main()

{int i,j,m,n;

i=8;j=10;

m=++i;n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

运行后i,j,m,n的值是.(1级)

41.在C语言中的运算符优先级最小的是运算符.(1级)

42.在C语言中,可以利用,将一个表达式的值转换成指定的类型。

第三章顺序结构程序设计

一、选择题

1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。(0级)A)不予输出B)输出空格

C)照样输出D)输出不定值或0

2.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统。(0级)

A)不予接收

B)并不给出出错信息,但不可能得出正确信息数据

C)能接受正确输入

D)给出出错信息,不予接收输入

3.下列说法正确的是。(0级)

A)输入项可以是一个实型常量,如scanf("%f",4.8);

B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);

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

4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是

。(1级)

main()

{

int a;float x;

printf("input a,x:");

输入语句

输出语句

}

输入形式input a,x:3 2.1

输出形式a+x=5.10

A)scanf("%d,%f",&a,&x);

printf("\na+x=%4.2f",a+x);

B)scanf("%d %f",&a.&x);

printf("\na+x=%4.2f",a+x);

C)scanf("%d %f",&a,&x);

printf("\na+x=%6.1f",a+x);

D)scanf("%d %3.1f",&a,&x);

printf("\na+x=%4.2f",a+x);

5.以下程序的输出结果是。(1级)

main()

{

int i=010,j=10,k=0x10;

printf("%d,%d,%d\n",i,j,k);

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

6.以下程序的输出结果是。(1级)

main()

{

int i=011,j=11,k=0x11;

printf("%d,%d,%d\n",i,j,k);

}

A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,16

7.以下程序的输出结果是。(1级)

#include

main()

{printf("%d\n",NULL);}

A)不确定的值(因变量无定义)B)0

C)-1 D)1

8.以下程序的输出结果是。(1级)

main()

{

char c1='6',c2='0';

printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);

}

A)因输出格式不合法,输出出错信息B)6,0,6,102

C)6,0,7,6 D)6,0,5,7

9.设有如下定义

int x=10,y=3,z;

则语句

printf("%d\n",z=(x%y,x/y));

的输出结果是。(1级)

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

10.设有如下定义

int x=10,y=5,z;

则语句

printf("%d\n",z=(x+=y,x/y));

的输出结果是。(1级)

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

11.以下程序的输出结果是。(1级)

main()

{int x=10,y=10;

printf("%d %d\n",x--,--y);

}

A)10 10 B)9 9 C)9 10 D)10 9

12.写出下面程序的输出结果。(1级)

main()

{int x;

x=-3+4*5-6;printf("%d",x);

x=3+4%5-6;printf("%d",x);

x=-3*4%6/5;printf("%d",x);

x=(7+6)%5/2;printf("%d",x);

}

A)11 1 0 1 B)11 -3 2 1 C)12 -3 2 1 D)11 1 2 1

13.写出下面程序的输出结果。(1级)

main()

{

int x,y,z;

x=y=1;

z=x++-1;printf("%d,%d\t",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z);

}

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

14.写出下面程序的输出结果。(1级)

main()

{

int i,j;

i=20;j=(++i)+i;printf("%d",j);

i=13;printf("%d %d),i++,i);

}

A)42 14,13 B)41 14,14 C)42 13 13 D)42 13 14

15.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,代表换行符)

1 2

A B C

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是。(1级)

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

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

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

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

16.若已知a=10,b=20,则表达式!a

A)10 B)20 C)1 D)0

17.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为。(1级)

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出

C)右对齐输出该字符,左补空格D)输出错误信息

18.以下C程序,正确的运行结果是。(1级)

main()

{

long y=-34567;

printf("y=%-8ld\n",y);

printf("y=%-08ld\n",y);

printf("y=%08ld\n",y);

printf("y=%+8ld\n",y);

}

A)y= -34567 B)y=-34567

y=- 34567 y=-34567

y=-0034567 y=-0034567

y=-34567 y=+ -34567

C)y=-34567 D)y= -34567

y=-34567 y=-0034567

y=-0034567 y=00034567

y=-34567 y=+34567

19. C程序的基本编译单位是。(01~02第二学期试题)

A)函数B)文件C)源文件D)子程序

20.设有如下定义和执行语句,其输出结果为:。(03试题)

int a=3,b=3;

a = --

b + 1; printf(“%d %d”,a,b);

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

21.根据定义和数据的输入方式,输入语句的正确形式为:。(往届试题)已有定义:float a1, a2;

数据的输入方式: 4.523

3.52

A)scanf(“%f %f ”, &a1,&a2);

B)scanf(“%f ,%f ”, a1, a2);

C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);

D)scanf(“%4.3f %3.2f ”, a1,a2);

22.以下程序的输出结果是:。(往届试题)

main( )

{ int I=012, j=12, k=0x12;

printf(“%d,%d,%d\n”,I, j, k );

A)10, 12, 18 B)12, 12, 12

C)10, 12, 12 D)12, 12, 18

23. 以下程序的输出结果是:(注:▂表示空格)。(往届试题)

main( )

{ printf(“\n*s1=%8s*”, “china”);

printf(“\n*s2=%-5s*”, “chi”) ; }

A)*s1=china▂▂▂* B)*s1=china▂▂▂*

*s2=chi* *s2=chi▂▂*

C)*s1=▂▂▂china* D)*s1=▂▂▂china*

*s2=▂▂chi * *s2=chi▂▂*

二.填空题

1.C语言中的语句可分为5类,即、、、、。(0级)

2.由一次函数调用加一个分号构成一个语句。(0级)

3.putchar函数的作用是。(0级)

4.printf是C语言提供的标准输出函数,它的作用是。(0级)

5.printf函数的“格式控制”包括两部分,他们是和。(0级)

6.对不同类型的语句有不同的格式字符。例如:格式字符是用来输出十进制整数,格式字符是用来输出一个字符,格式字符是用来输出一个字符串。(0级)

7.%-ms表示如果串长m,则在m列范围内,字符串向靠,补空格。(0级)

8.如果要输出字符“&”,则应该在“格式控制”字符串中用表示。(0级)

9.getchar函数的作用是。(0级)

10.符号“&”是运算符,&a是指。(0级)

11.scanf函数中的“格式控制”后面应当是,而不是。(0级)

12.C语言中的空语句就是。(0级)

13.复合语句是由一对括起来的若干语句组成。(0级)

14.分析下面程序:

#include

main()

{

int x=2,y,z;

x*=3+2;printf("%d\n",x);

x*=y=z=4;printf("%d\n",x);

x=y=z;printf("%d\n",x);

x=(y=z);printf("%d\n",x);

}

程序的输出结果为。(1级)

15.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。

jia=70.000000

jian=30.000000

cheng=1000.000000

chu=2.5000000

程序:

#include

void main(void)

{ (1)

a=50.0;b=20.0;

printf("jia=%f\n", (2) );

printf("jian=%f\n" (3) );

printf("cheng=%f\n", (4) );

printf("chu=%f\n", (5) );

}

将缺少的部分填在空白处。(1级)

16.下列程序的输出结果是。(1级)

#include

main()

{char a;

a='A';

printf("%d%c",a,a);

}

17.分析下面程序

main()

{

int x=2,y,z;

x*=3+2;printf("%d\n",x);

x*=y=z=4;printf("%d\n",x);

x=y=1;

z=x++-1;printf("%d,%d\n",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z);

}

程序的输出结果是。(1级)

18.分析下面程序

main()

{

int x,y;

x=16,y=(x++)+x;printf("%d\n",y);

x=15;printf("%d,%d\n",++x,x);

x=20,y=x-- +x;printf("%d\n",y);

x=13;printf("%d,%",x++,x);

}

程序的输出结果是。(1级)

19.以下程序的输出结果为:____________。(03试题)

main( )

{ float a=3.14, b=3.14159;

printf(“%f, %5.3f\n”,a,b); }

20.以下程序的输出结果为:____________。(04~05第二学期试题)

#include

main( )

{ char c1,c2;

c1=…a?;

c2=…\n?;

printf(“%c%c”,c1,c2); }

三、编程题

1.从键盘上输入一个大写字母,要求改用小写字母输出。(1级)

2.编写程序,求方程ax2+bx+c=0的解x。(1级)

3.请编写一个程序,能显示出以下两行文字。(1级)

I am a student.

I love China.