浙江大学C语言总复习题--综合(2)

2018-12-15 17:34

A.1.5 B. 1.0 C. 1 D. 0

79. 若有 char fname[]=\则为写而打开文本文件 outfile.dat 正确写法是_____。 A.fopen(outfile.dat,\.fopen(outfile.dat,\ C.fopen(fname,\. fopen(\80.在 C 语言中,优先级最低的运算符是_____。 A. * B.<< C.+ D. ,

81.C语言源程序文件经过C语言编译程序编译之后生成一个后缀为______的文件。 A.‖.c‖ B.―.obj‖ C.―.exe‖ D.―.bas‖ 82.常数的书写格式决定了常数的类型和值,10L是____。

A.基本整型常数 B.短整型常数 C.长整型常数 D.无符号型常数 83.在C 语言程序中,用关键字______定义单精度实型变量。

A.int B. float C.double D.char 84.以下各标识符组中,合法的用户标识符组为______。

A. b-b 和 abc B.CCP 和 float C.hiy 和 D. _isw 和 INT 85.若a是int类型变量,______不是合法的C语句。

A.{int j;j++;} B. ; C.{;} D.,

86.把x、y定义成float类型变量,并赋同一初值3.14的定义语句是______。

A.float x,y=3.14; B.float x,y=2*3.14; C.float x=3.14,y=3.14; D.float x=y=3.14; 87.若 a 、b 是基本整型变量,则以下程序段的输出是_____。 a=123; b=12345;

printf (\

A.|123 ,12345| B.|123 ,1234| C.| 123,12345| D.| 123,2345| 88. 为表示“x≥y≥z”,应使用的C语言表达式是_____。

A. (x>=y)&&(y>=z) B.(x>=y)AND(y>=z) C.(x>=y>=z) D.(x>=y)&(y>=z) 89. 执行下列语句后输出为_____。 printf (\?a‘<‘b‘) ;

A.1 B.语法错 C.0 D.-1

90.在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。

A.void B.double C.int D.char 91. 若变量已正确定义并且指针p已经指向变量x,则*p相当于_____。 A.x B.*p C.p D.*&x 92. 若变量已正确定义,____不可以使指针p成为空指针。[8] A. p=NULL B.p=0 C.p=‘\\0‘ D. p!=0 93. 数组定义为 int a[3]={1,2,3},数组元素_____的值为3。 A.a[0] B.a[1] C.a[2] D.a[3] 94. 下列各语句定义了数组,_____是正确的。

A.int a[ ][ ]={1,2,3,4}; B.int x[2][2]={1,2,3,4,5}; C.int x[2][]={1,2,4,6}; D.int m[][3]={1,2,3,4,5,6};

95. 若定义 char a[80]=‖windows‖, b[]=‖95‖; 语句 printf(‖%s‖, strcat(a,b)); 输出结果是___。 A. windows95 B. windows C. 95 D. 95windows 96. 要调用输入输出函数时,在#include命令行中应包含_____。

A. ‖stdio.h‖ B. ‖string.h‖ C. ‖math.h‖ D. ‖ctype.h‖

97. 若变量已正确定义且k的值是4,计算表达式 (j=++k) 后,_____ 是正确的。 A.j=4,k=5 B. j=4,k=4 C.j=5,k=4 D.j=5,k=5 98. 表达式 (5/2) 的值是_____ 。

A.0 B. 2 C.2.0 D.2.5 99. 读二进制文件应调用_____函数。

A.fread B.fwrite C.fgets D.fputs 100. 下列运算符中,_____是关系运算符。

5

A.= B.? : C.== D.<<

101.C语言源程序文件经过C语言编译程序编译、连接之后生成一个后缀为______的文件。 A.‖.c‖ B 、―.obj‖ C.―.exe‖ D.―.bas‖ 102.常数的书写格式决定了常数的类型和值,10U是____。

A.基本整型常数 B.短整型常数 C.长整型常数 D.无符号型常数 103.在C 语言程序中,用关键字______定义双精度实型变量。 A.int B.float C.double D.char 104. 以下各组标识符,选出合法的用户标识符组 。

A. _PAD 和 P_D B. _scanf 和 *a C. int和 x_1 D. 2a 和 max 105.若变量已正确定义,______是合法的 C 语句。

A. a=1,b=2 B. i++; C. a=b=5 D. y=int(x); 106. 把a、b定义成int类型变量,并赋同一初值3的定义语句是______。 A.int a,b=3; B.int a,b=3,3; C.int a=3,b=3; D.int a=b=3; 107.若 a 、b 是基本整型变量,则以下程序段的输出是_____。 a=1; b=2;

printf (\

A.a=%1,b=2 B.a=%%d,b=1 C.a=%d,b=2 D.a=%d,b=1 108. 为表示“a=b或a

A.(a=b)||(a

A.1 B.语法错 C.0 D.97 110.以下说法正确的是_____。

A.main 函数是 C 程序主函数, main 函数一定要写在最前面。 B.在 C 程序中,函数都必须先定义,后使用。 C.C语言程序总是从main 函数开始执行。

D.在 C 程序中,只能调用C提供的库函数,不能自己定义函数。 111. 若变量已正确定义并且指针p已经指向变量x,则&x相当于_____。 A.x B.*p C.p D.*&x 112.若p1、p2都是整型指针,表达式_____是不正确的。

A.p2==p1 B.p2>p1 C.p2-p1 D.p1*p2 113. 数组定义为 int a[3]={1,2,3},数组元素_____的值为1。 A.a[0] B.a[1] C.a[2] D.a[3] 114. 数组定义为“int a[4][5];”,表达式_____是错误的。

A.*a B.a[1][1] C.&a[2][3] D.++a

115.若定义 char a[80]=‖95‖, b[]=‖windows‖;,语句 printf(‖%s‖,strcpy(a,b)); 的输出结果为 。 A. windows95 B. windows C. 95 D. 95windows 116. 求一个双精度实数的绝对值,应该调用函数_____。 A. sqrt B. pow C. abs D. fabs

117. 若变量已正确定义且k的值是4,计算表达式 (j=--k) 后,_____ 是正确的。 A.j=4,k=4 B. j=4,k=3 C.j=3,k=4 D.j=3,k=3 118. 表达式 (10%2) 的值是_____ 。

A.0 B. 1 C.5 D.5.0 119. 写二进制文件应调用_____函数。

A.fread B.fwrite C.fscanf D.fprintf 120. 下列运算符中,_____是赋值运算符。 A.+= B.+ C.== D.>> 三、写输出结果

6

1. 表达式 ( ?1‘<‘0‘<‘2‘ ) 的值为_______。 2.下列程序段的输出结果是_____。 int k, a=4, b=3 ; k = ( a==++ b) ?0 :1 ; printf(\

3. 表达式 ((7<<1)&1 ) 的值为_______。 4. 下列程序段的输出结果是_____。 #define T 16

#define S (T+10)-7 printf(\

5.下列程序段的输出结果是_____。 int n; n = 3;

switch (n) {

case 1: n=1; break; case 2: n=2;

case 3: n=3; break; default: n=4; }

printf(\

6.下列程序段的输出结果是_____。 int k = -1 ;

if (! ( k<=0 ) ) printf (\ else printf (\7.下列程序段的输出结果是_____。 int x=0, y=-1; if(x!=0) y=1; if(x>0) y=1; else y=0;

printf(\

8.以下程序段的输出结果是_____。 int k=0, sum=1; do {

sum+=2; k++;

} while (k<5); printf(‖%d‖,sum);

9.对于以下递归函数f,调用 f (3) 的返回值是_____。 int f(int k) {

return ((k<0) ? 1 : f(k-2)+2); }

10.下列程序段的输出结果是_____。 static char s[ ]=\ printf(\

11. 表达式 ( 5==5==5 ) 的值为_______。 12.下列程序段的输出结果是_____。

7

int k, a=3, b=2 ; k = ( a--== b)?0: 1 ; printf(\

13. 表达式 ((2<<1)|2 ) 的值为_______。 14. 下列程序段的输出结果是_____。 #define M(x,y) (x*y) printf(\

15.下列程序段的输出结果是_____。 int n; n = 6;

switch (n) {

case 1: n=1; break; case 2: n=2; break; case 3: n=3; break; default: n=4;

}

printf(\

16.下列程序段的输出结果是_____。 int k = 0 ;

if (! ( k==1 ) ) printf (\ else printf (\

17.下列程序段的输出结果是_____。 int x=-10, y=1; if(x>=0) if(x>0) y=0; else y=-1; printf(\

18.以下程序段的输出结果是_____。 int k=1, sum=8; while(k<6) { sum++; k++; }

printf(‖%d‖,sum);

19.对于以下递归函数f,调用 f (3) 的返回值是_____。 f (int n) {

return ( n<=0 ? 1 : f (n-1) + 1 ); }

20.下列程序段的输出结果是_____。 int c[ ]={1, 7, 12}; int *k; k=c; k++;

printf(\

21. 表达式 (4/5*(float)3+(float)3*4/5) 的值为_______。 22.下列程序段的输出结果是_____。 #include

8

printf(\

23. 表达式 ((4|1)&3 ) 的值为_______。 24. 下列程序段的输出结果是_____。 #define M(x,y) (x*y) printf(\

25.下列程序段的输出结果是_____。 char c=‘a‘; int k=4; switch(c){

case ?a‘: k=1; case ?b‘: k=2; case ?c‘: k=3; }

printf(\

26.下列程序段的输出结果是_____。 int k = 10 ;

if ( k<0 ) printf (―%d‖,k<0) ; else printf (―%d‖,k>=0) ; 27.下列程序段的输出结果是_____。 int x=0, y=0; if(x>=0) if(x>0) y=1; else y=0; else y=-1;; printf(\

28.以下程序段的输出结果是_____。 int k, sum=0; for(k=5;k<10;k++) sum+=k; printf(‖%d‖,sum);

29.对于以下递归函数f,调用 f (4) 的返回值是_____。 int f(int n) {

if (n) return f(n-1)+n; else return n; }

30.下列程序段的输出结果是_____。 static char s[ ]=\ printf(\

31. 表达式 (5-1 && 3+5/2)的值是_____。 32.下列程序段的输出结果是_____。 #include printf(\

33. 表达式 (3&4|2 ) 的值为_______。 34. 下列程序段的输出结果是_____。 #define M(x,y) (x/y) printf(\

35.下列程序段的输出结果是_____。

9


浙江大学C语言总复习题--综合(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:微机原理与接口技术试题库(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: