奥鹏答案网-奥鹏作业答案-奥鹏在线作业答案-奥鹏离线作业答案-奥鹏毕业论文-专业奥鹏作业答案辅导网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 137|回复: 0

[南开大学]《C语言程序设计》19秋期末考核(答案参考)

[复制链接]

2万

主题

2万

帖子

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
64471
发表于 2020-5-8 09:37:27 | 显示全部楼层 |阅读模式
【奥鹏】-[南开大学]《C语言程序设计》19秋期末考核
试卷总分:100    得分:100
第1题,putchar函数可以向终端输出一个:: o6 _/ t% J. z. ~  _; [
A、整型变量表达式值
B、实型变量值: Z5 O2 m7 W& |, _/ H/ a0 O" G: A% J
C、字符串. \4 ?3 X. a3 x+ W' b$ Z2 w
D、字符或字符型变量值# _2 t2 e' \3 Q9 M8 ?
正确答案:
2 X. @9 e8 y3 z, R# n2 p% Z8 t

第2题,以下对C语言中共用体类型数据的叙述正确的是( )
A、可以对共用体变量名直接赋值
B、一个共用体变量中可以同时存放其所有成员9 p) p3 Y2 D2 }! E! L. _- u
C、一个共用体变量中不能同时存放其所有成员
D、共用体类型定义中不能出现结构体类型的成员
正确答案:- w) h( q- y3 z: l# Q
9 z) ~, ?2 N; L( |7 i# {5 n6 @

第3题,在C语言中,char型数据在内存中的存储形式是( )
A、补码
B、反码
C、原码
D、ASCII码1 Y, z& `; ?. _
正确答案:
7 f8 X7 h% ~- K; `) o' M" J

第4题,从用户使用的角度看,函数有两种,它们是( )
A、库函数和用户自定义函数
B、库函数和主函数8 x* O' v9 k! q& n9 W3 v
C、用户自定义函数和主函数
D、主函数和子函数
正确答案:5 ~$ w' s' o2 T6 R" Q  R
0 y5 U' N4 \# x' w* r
4 e" X, {* v) \
第5题,若调用fputc函数输出字符成功,则其返回值是( )+ i# v9 J1 y% |7 k# Q4 m% j
A、EOF
B、1
C、0
D、输出的字符$ B0 X6 h* q; x0 Z
正确答案:7 S8 B1 J- Z7 Y2 v+ V
) z; ?2 m0 Z7 c/ O  v; K# H2 N8 @7 F) @

第6题,变量的指针,其含义是指该变量的( )9 u. }" `7 |1 u4 B: x1 j0 J* D* }3 o& y
A、地址  X9 ]* l7 }3 e% k' g
B、值
C、名字3 b: r7 R4 Y- |* l
D、标识
正确答案:/ C, C$ P, \9 L. Q


第7题,main() {int x=2,y=-1,z=2;  if(xy)    if(y0) z=0;    else z+=1;  printf("%d\n",z); } 以上程序的输出结果为( )。9 |/ y5 b" p( V; @0 L
A、3* s% x9 t" ?8 Z1 k+ f) a3 y+ i
B、2, Q+ z; m6 F7 C3 u( P; L: Z
C、1% a. U$ t0 b6 d
D、0
正确答案 J/ r* o) N3 s, }

) H- f' j# t! H  A
第8题,#includestdio.h main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的运行结果是( )。
A、2) h' \8 C7 m8 t
B、4
C、6
D、8
正确答案:- s( g- }- t4 z- q" ^4 ^) A7 H

2 p1 x' [+ N4 `- P0 B5 u. `
第9题,设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( )( f+ Q; U; b$ Q+ K3 r
A、stutype 是用户定义的结构体类型名3 w* P! Y/ u. f, |" _; ?# v
B、a 和 b 都是结构体成员名2 ?6 s! X5 u0 e/ m, s0 n# k
C、struct 是结构体类型的关键字, F* e4 I1 m" x5 K
D、struct stu 是用户定义的结构体类型$ s5 }0 F; G  T; u+ N2 m: m2 L' K0 F
正确答案:
5 G5 y: S) N! F/ k, d3 u/ `6 S

第10题,若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10};则下列哪个是对该数组元素的正确引用(  )
A、a[10]# g: A4 I  e! p% v/ T# C
B、a[a[3]-5]- d9 W3 a: e3 y+ v6 P
C、a[a[9]]
D、a[a[4]+4]
正确答案:
6 j, E, |6 Z. h! t2 O' v; e8 T, J
5 c( p' t4 h) o. ^
第11题,以下正确的叙述是( )( z+ M. ~7 [0 o+ J
A、在C语言中,每行只能写一条语句
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数( f! B/ K8 V+ h. ?0 B2 k
C、在C程序中,无论整数还是实数,都能被准确无误的表示7 }  |" a5 x) f. y; f6 f8 A/ u
D、在C程序中,%是只能用于整数运算的运算符
正确答案:7 [9 j5 m" ~$ x( _: i4 W) M

2 v. g0 ?- y* S8 v! v9 ?; e2 r
第12题,关于return语句,下列说法正确的是( )。8 a6 s, o& K, }7 L
A、不能在主函数中出现
B、必须在每个函数中出现: Z& `3 ]% f1 n6 z1 D. o. {$ y. r
C、可以在同一个函数中出现多次
D、只能在除主函数之外的函数中再出现一次
正确答案:
/ p3 S% p5 U1 r9 Y' p7 V. ?7 F' C' b

第13题,判断字符串a是否大于b,应当使用( )
A、if (ab)
B、if (strcmp(a,b))
C、if (strcmp(b,a)0). n' J9 }/ J4 [4 x8 E* a
D、if (strcmp(a,b)0)
正确答案:8 P3 @* N4 E7 \2 t

: w6 f+ \% d2 V3 I. S
第14题,下面程序段  int k=2;  while (k==0) {printf("%d",k);k--;} 则下面描述中正确的是()。
A、while 循环执行 10 次. c4 N0 C& [, g! e# [7 q7 z
B、循环是无限循环" G) N/ g: k6 V3 k5 l( @: b
C、循环体语句一次也不执行
D、循环体语句执行一次
正确答案:  s- m' A4 R" [; P3 `- {" _
0 C; G9 P6 E  p6 G* H. g
# a8 J0 S0 b" L) O0 n; C$ g$ c
第15题,已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是:
A、整型变量的输出格式符只有%d一种" N  H3 k8 x% i  j' B/ k
B、%x 是格式符的一种,它可以适用于任何一种类型的数据
C、%x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的
D、%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度7 P9 A0 L4 k% \+ s2 @( R: {, y0 O
正确答案:3 Q( L3 R! B, p  o" f* `

& O1 m( S6 [( r4 P+ o
第16题,#include "stdio.h" void main() { int sum=0,a=1;   while(a=10)    {sum=sum+a;     a++;     } printf("sum=%d\n",sum); } 以上程序段的运行结果是( )
A、sum=0; v6 u5 ~  x& o1 l  ~1 [
B、sum=552 z0 Q' P2 U: `5 P6 q
C、sum=100 t, V1 J* f& Z6 x5 n( J
D、sum=11
正确答案:
  x- v% i! ?4 G' b$ j8 z7 A. z
8 ?+ ]6 p3 w/ Z) r1 T7 T  a6 V
第17题,若执行fopen函数时发生错误,则函数的返回值是( )
A、地址值
B、null) q  {9 k* E- N# h3 Q4 f
C、16 z  l3 i  F2 N# E. O: |4 Y
D、EOF. p1 v7 _5 A1 t4 x" a
正确答案:- f* O" J: ^6 Z( x

9 d& G. `3 v( N" |# h
第18题,C语言结构体类型变量在程序执行期间( )。; A$ Y5 ?( t* R
A、所有成员一直驻留在内存中  m2 P7 ^) ^( F( [' G* p3 ~$ Z( x
B、只有一个成员驻留在内存中
C、部分成员驻留在内存中
D、没有成员驻留在内存中
正确答案:* D7 }+ r0 Z2 A8 c/ F, J6 X


第19题,以下对一维整型数组 a 的正确说明是( )
A、int a(10) ;7 ]; Q8 o# i2 k6 g' _
B、int n=10,a[n];
C、int n;3 i' K( T, r9 S9 ]' G! y9 R8 b
D、define SIZE 10      int a[SIZE];5 N% ]3 i5 O6 w7 }1 X3 w7 _# s7 a
正确答案:- k6 q8 f7 u2 R, b0 R0 h7 n


第20题,struct person {char name[9]; int age;}; struct person class[10]={"John",17,"aul",19,"Mary"18,"adam",16}; 根据上面的定义,能打印出字母M的语句是( )。0 w3 j0 D( R+ a) v# j: J
A、printf("%c\n",class[3].name);
B、printf("%c\n",class[3].name[1]);
C、printf("%c\n",class[2].name[1]);% b1 F7 i" e) B/ V: K% m% X: V. h
D、printf("%c\n",class[2].name[0]), Z3 ?. z7 Y9 r4 \
正确答案:: u* n$ k! ]+ C- M7 c5 M
. E$ L; X5 I$ R; q+ h' n

第21题,x=-2; y=-1; if(x!=0)   if(x0) y=1; else y=0; 该程序段的输出结果为( )。6 L' k6 [. B0 Q0 e  ]9 y9 J" @
A、18 H" m6 S8 v( E
B、0
C、-1
D、不确定
正确答案:0 s/ h" U' V! z
! O. T: _' \$ O% J) x0 \( T
& o5 R/ }, p( ~8 ^2 R
第22题,若以"a+"方式打开一个已存在的文件,则以下叙述正确的是( )。) N& B% Z, @7 v  y& a9 A% x0 h5 d
A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。
B、文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。0 ~6 X9 }9 p7 T. n7 c3 O+ E- E! A
C、文件打开时,原有文件内容被删除,只可作写操作。
D、以上各种说法皆不下确。
正确答案:1 a; W8 V- W$ o0 f0 m9 k' @2 A
8 ^, ?! K$ p! Y: ]( J
9 E/ L5 v" R+ F
第23题,判断字符串a是否大于b,应当使用( )+ L! _( {- G$ W+ s! A' b) v) o
A、if (ab)5 X5 Q! A+ ^+ k+ j5 Q/ [! X
B、if (strcmp(a,b))) f6 Q% s9 r* `% G# C. \! O
C、if (strcmp(b,a)0)
D、if (strcmp(a,b)0)9 E' A2 }. S+ L; x
正确答案:/ k  m6 [  M4 S" z  [9 j/ n, ~

1 F- |/ ~* i) ~/ T6 d( h5 l
第24题,main() { int x,y,z; scanf ("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); } 输入数据的形式是25,13,10回车,则程序的输出结果是( ). O4 P( }! ]* [& l. j. U! W3 p
A、x+y+z=483 i, e2 E  C9 F( y4 l
B、x+y+z=359 g% }+ v: S0 D' |8 V; G$ m
C、x+z=35# m! D# S) p# ?  W* P4 V
D、不确定值
正确答案 U- _$ \* c2 c3 z. S
: F+ i* Z6 Z: H" X0 g" c

第25题,for (i=2; i==0; ) printf("%d" , i--) ; 以上程序段的循环次数是( )
A、2次/ @4 Q# Q$ t& E
B、无限次/ s! r: e$ e1 j/ i1 ?  }1 B
C、0次1 t0 P1 o* e% @
D、1 次0 \  y* J; I7 [& }, Y6 P* }6 l; M
正确答案:/ \# f8 Y4 R- A: Q* k1 z3 L1 b
$ M/ b/ E0 j( H
0 u/ q5 M: Q- ?% O1 W3 B
第26题,被main函数调用的函数只能是库函数。(  )
A、错误. T# g$ i  L! t% |3 p, M) x, P
B、正确- i5 L* t/ V' T
正确答案:! ^1 H, |4 T# c


第27题,字符常数和字符串常数的存储是相同的,都是以字符的ASCII码值进行存放。(  )3 V/ n9 Z; a* J- A
A、错误
B、正确; L; k4 H3 c+ e" Z
正确答案:
# n  }% J* R. N8 d# v/ `
4 J# g% m  A8 R7 I; x& Z
第28题,按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。(  )& I0 \& m% b% F4 Q. _8 ]
A、错误' c1 L  ?* G4 J
B、正确6 W7 N  o% p  I2 i% U: P
正确答案:0 N- @) {( I5 y+ c5 @2 ?+ |
! Y) v* ?) T, _% h+ g4 F5 ~7 @

第29题,在Visual C中,整型数据在内存中占2个字节。(  )0 N! S5 Y( \" h6 |& }! q6 b
A、错误
B、正确) L8 D- f2 M! G1 n
正确答案 Z, Z+ L: l  i: P4 [6 A
1 g' T/ q6 g+ k

第30题,C语言采用解释方式将源程序转换为二进制的目标代码。(  )1 m0 w' x5 A# g- @% ?
A、错误$ [! l3 y  h( q* R
B、正确4 L+ f  [* b7 ]. A& h" |2 {* }; J. z
正确答案:
; n; j8 X. D# w

第31题,C语言中没有依存于硬件的I/O语句。(  )9 A' p7 u! I2 ?( I
A、错误" X. |0 T  q/ f% n- d
B、正确5 c9 Z) W/ C9 Y! b2 {/ k
正确答案:+ [* U7 g9 H: D) B" ]
! s) b* ~9 V3 [8 U, N  L
$ }5 n5 c; A, V+ j
第32题,C语言中的任何类型数据都可进行四则运算。(  )+ Q6 {. j7 p+ F' J2 [, [2 R
A、错误
B、正确- X& c& N3 O1 P9 D  V
正确答案:, g7 K7 C& p% h  Q' p% c

9 _" m) F7 W" D3 v8 G, h: m$ X
第33题,C语言中的标识符以字母或下划线开头,可跟任何字符。(  )( w( t, f  P2 ^2 N/ W
A、错误
B、正确
正确答案:

5 {5 X; I( `1 l3 s0 p+ O
第34题,在Turbo C++中,字符型数据在内存中占1个字节。(  )
A、错误
B、正确1 n; ?$ D, c3 S1 n
正确答案:9 l5 Y3 L" x" R" J! [. d! Y7 K. j


第35题,PI可作为标识符使用。(  )5 C& @/ I. e6 O
A、错误
B、正确
正确答案:


第36题,下面函数的功能是将字符变量的值插入已经按ASCII码值从小到大排好序的字符串中。请完善该程序。 void fun(char *w,char x,int *n){       int i,p=0;       while(xw[p])             ##;       for(i=*n;i=p;i--)             ##;       w[p]=x;      ##;}
正确答案:
; j; n# G4 f7 W; g8 E
6 o5 g: `" J1 [. {. y$ _5 ~
第37题,以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。请完善该程序。#include stdio.hage( int n ){       int c;       if(##) c=10;       else c=##;       return(c);}main(){       int n=5;       printf("age:%d\n",##);}
正确答案:. Z5 D: F9 Y+ M' a- `: W

( Y/ t0 o9 ]) q6 Q8 b; c
第38题,请写出下面程序的输出结果。#include stdio.hfun(int n, int *s){       int f1, f2;       if(n==1||n==2)              *s=1;       else       {              fun(n-1, &f1);              fun(n-2, &f2);              *s=f1+f2;       }}main(){       int x;       fun(6, &x);       printf("%d\n", x);}
正确答案:6 c5 A1 p7 `( M0 T& \; ^+ C
/ \2 {$ B) c. U" s0 e7 ]6 [
  M/ Y9 H% a+ [6 H* n
第39题,请写出下面程序的输出结果。main(){       int i,j,x=0;       for(i=0;i2;i++)       {              x++;              for(j=0;j-3;j++)              {                     if(j%2)                     continue;                     x++;              }              x++;       }       printf("x=%d\n",x);}8 K9 |# _3 @% K( k, q3 i
正确答案:; G- L6 W- r8 J3 Y


第40题,请写出下面程序的输出结果。#include stdio.hmain ( ){       int a[]={1, 2, 3, 4, 5} ;       int x, y, *p;       p=&a[0];       x=*(p+2);       y=*(p+4);       printf("%d,%d,%d\n", *p, x, y);}3 V/ G+ x; R% ^0 S2 d
正确答案:" i2 B1 a* b" ?8 S8 g: |, J" z* j2 o3 a
" p2 g, L+ h, r- ^9 [: h* ~$ A0 a
+ L  y/ E& I7 M8 I, z5 K
第41题,请写出下面程序的输出结果。#include stdio.hchar *pp[2][3]={ "abc", "defgh", "ijkl", "mnopqr", "stuvw", "xyz"};main ( ){       printf("%c\n",***(pp+1));       printf("%c\n",**pp[0]);       printf("%c\n",(*(*(pp+1)+1))[4]);       printf("%c\n",*(pp[1][2]+2));       printf("%s\n",**(pp+1));}; k8 L' L" G- ~' S
正确答案::
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 价格公开

  • 优质服务

  • 专属客服

  • 信息开放

  • 担保交易

 
 
客服一号
客服二号
客服三号
客服四号
点击这里给我发消息
官方微信扫一扫
快速回复 返回顶部 返回列表