从用户的角度看 c语言中函数有两种,【南开大学】20秋学期(1709、1803、1809、1903、1909、2003、2009 )《C语言程序设计》在线作业答卷...

20秋学期(1709、1803、1809、1903、1909、2003、2009 )《C语言程序设计》在线作业

试卷总分:100  得分:100

一、单选题 (共 40 道试题,共 80 分)

1.设有如下程序 # include main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( )

A.程序的输出结果为大写字母A

B.程序的输出结果为小写字母a

C.运行时产生错误信息

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

答案:B

2.当不能正确执行文件关闭操作时,fclose函数的返回值是( )。

A.-1

B.EOF

C.TRUE

D.1

答案:B

3.从用户使用的角度看,函数有两种,它们是( )

A.库函数和用户自定义函数

B.库函数和主函数

C.用户自定义函数和主函数

D.主函数和子函数

答案:A

4.x=-1; do { x=x*x; } while (x); 以上程序段( )

A.是死循环

B.循环执行2次

C.循环执行1次

D.有语法错误

答案:D

5.以下不正确的语句为( )

A.if(x>y);

B.if(x>y){x++;y++;}

C.if(x=y)&&(x!=0)x+=y;

D.if(x!=y) scanf("%d",&x); else scanf("%d",&y);

答案:C

6.putchar函数可以向终端输出一个:

A.整型变量表达式值

B.实型变量值

C.字符串

D.字符或字符型变量值

答案:D

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

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+l,x = y,x+1)

答案:C

8.已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是:

A.a十=a一=(b= 4)*(a=3)

B.a=a*3=2

C.x%(一3)

D.y=f1oat(i)

答案:A

9.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )

A.只写

B.追加

C.读或读写

D.答案B和C都正确

答案:D

10.下列哪个是读写文件出错检测函数( )。

A.ferror

B.clearerr

C.feof

D.fwrite

答案:A

11.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是

A.k%2

B.k%2==0

C.(k%2)!=0

D.!(k%2==0)

答案:B

12.以下对一维整型数组 a 的正确说明是( )

A.int a(10) ;

B.int n=10,a[n];

C.int n;

D.define SIZE 10 int a[SIZE];

答案:D

13.关于return语句,下列说法正确的是( )。

A.不能在主函数中出现

B.必须在每个函数中出现

C.可以在同一个函数中出现多次

D.只能在除主函数之外的函数中再出现一次

答案:C

14.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。

A.1

B.0

C.-1

D.不确定

答案:B

15.struct person {char name[9]; int age;}; struct person class[10]={"John",17,"Paul",19,"Mary"18,"adam",16}; 根据上面的定义,能打印出字母M的语句是( )。

A.printf("%c\n",class[3].name);

B.printf("%c\n",class[3].name[1]);

C.printf("%c\n",class[2].name[1]);

D.printf("%c\n",class[2].name[0])

答案:D

16.C语言的函数中,( )。

A.必须有形参

B.形参必须是变量名

C.可以有也可以没有形参

D.数组名不能作形参

答案:C

17.设有说明语句:char w;int x;float y;double z;w*x+z-y值的数据类型为( )。

A.float

B.char

C.int

D.double

答案:D

18.下面程序段 int k=2; while (k==0) {printf(“%d”,k);k--;} 则下面描述中正确的是()。

A.while 循环执行 10 次

B.循环是无限循环

C.循环体语句一次也不执行

D.循环体语句执行一次

答案:C

19.当说明一个结构体变量时系统分配给它的内存是( )

A.各成员所需内存的总和

B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构中最后一个成员所需内存量

答案:A

20.若已有定义int x;下列说明指针变量p指向x的正确语句是( )

A.int p=&x;

B.int *p=&x;

C.int p=x;

D.int *p=x;

答案:B

21.已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( )

A.p=&i

B.p=p1

C.p=&a[i]

D.p=10

答案:D

22.下面不正确的字符串常量是( )。

A.abc'

B."12'12"

C."0 "

D." "

答案:A

23.下面4个选项中,均是C语言关键字的选项是( )。

A.auto enum include

B.switch typedef continue

C.signed union scanf

D.if struct type

答案:B

24.已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是:

A.整型变量的输出格式符只有%d一种

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

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

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

答案:D

25.for (i=2; i=0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )。

A.2次

B.无限次

C.0 次

D.1 次

答案:B

26.若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。

A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。

B.文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。

C.文件打开时,原有文件内容被删除,只可作写操作。

D.以上各种说法皆不下确。

答案:A

27.main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的运行结果是( )

A.6

B.8

C.10

D.12

答案:D

28.C程序的执行从哪里开始( )

A.第一条语句

B.第一个函数

C.最后一个函数

D.主函数

答案:D

29.main( ) {int n=4;  while(n)printf("%d ",--n); } 以上程序的输出结果是( )。

A.2 0

B.3 1

C.3 2 1 0

D.2 1 0

答案:C

30.下列函数调用中,不正确的是( )

A.max(a,b)

B.max(3,a+b)

C.max(3,5)

D.int max(a,b)

答案:D

31.若执行fopen函数时发生错误,则函数的返回值是( )

A.地址值

B.null

C.1

D.EOF

答案:B

32.fscanf函数的正确调用形式是( )。

A.fscanf(文件指针,格式字符串,输出表列)

B.fscanf(格式字符串,输出表列, fp)

C.fscanf(格式字符串,文件指针,输出表列)

D.fscanf(文件指针,格式字符串,输入表列)

答案:D

33.如果在C语言中一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。

A.0~255

B.0~32 767

C.0~65 535

D.0~2 147 483 647

答案:C

34.一个源程序文件由一个或多个什么组成( )

A.语句

B.函数

C.程序块

D.子程序

答案:B

35.C语言结构体类型变量在程序执行期间( )。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

答案:A

36.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。

A.1

B.0

C.-1

D.不确定

答案:B

37.下列哪个是字符写函数( )。

A.fgetc

B.fputc

C.fgets

D.fwrite

答案:B

38.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( )

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

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

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

D.输出错误信息

答案:B

39.判断字符串a是否大于b,应当使用( )

A.if (a>b)

B.if (strcmp(a,b))

C.if (strcmp(b,a)>0)

D.if (strcmp(a,b)>0)

答案:D

40.main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 输入数据的形式是25,13,10,则程序的输出结果是( )

A.x+y+z=48

B.x+y+z=35

C.x+z=35

D.不确定值

答案:A

二、判断题 (共 10 道试题,共 20 分)

41.被main函数调用的函数只能是库函数。( )

答案:错误

42.在Visual C中,整型数据在内存中占2个字节。( )

答案:错误

43.对C语言中用到的任何一个变量都要规定其类型。( )

答案:正确

44.C语言中没有依存于硬件的I/O语句。( )

答案:正确

45.赋值表达式c=b=a=3是错误的。( )

答案:错误

46.C程序是由函数构成的,每一个函数完成相对独立的功能。( )

答案:正确

47.按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。( )

答案:正确

48.C语言采用解释方式将源程序转换为二进制的目标代码。( )

答案:错误

49.C语言中的标识符以字母或下划线开头,可跟任何字符。( )

答案:错误

50.在Visual C中,实型数据在内存中占4个字节。( )

答案:正确

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值