文档视界 最新最全的文档下载
当前位置:文档视界 › 专升本考试C语言模拟试题及参考答案

专升本考试C语言模拟试题及参考答案

专升本考试C语言模拟试题及参考答案
专升本考试C语言模拟试题及参考答案

精品文档

以下程序的输出结果是【38】。

# include

# define FUDGE(y) 2.84+y * H& O- |+ J7 K# define PR(a) printf(%d,(int)(a)) N/ L; u- b7 ~2 e# define PRINT1(a) PR(a);putchar('\n') s G/ V; K/ b main()

{int x=2; PRINT1(FUDGE(5)*x); } 5 d0 r9 i) l* o【38】A) 11 B) 12 C) 13 D) 15 以下程序的输出结果是【39】。

# include ! t4 W0 n1 S' U: \/ a main()

{ int i=1,j=3; . y$ d8 u2 ^$ d @( N6 D printf(%d,i + + );

{ int i=0; i+=j*2; printf(%d,%d,i,j); } 0 m( c( T/ T+ ^) E4 K `) v printf(%d,%d\n,i,j); }

【39】A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3

以下程序的输出结果是【40】。 5 m9 t p4 j+ n* ]- Z. s. C# include ! T% B1 z! {1 k- _! S$ Y$ a3 g& w main() + D$ D* y |- e0 `- a- b{ int k=4,m=1,p; ; t5 {( ~1 G g* N3 L$ [9 w. x p=func(k,m); printf(%d,,p); p=func(k,m); printf(%d\n,p);} $ B( Z3 r5 ^* @5 C. ^) W func(a,b)

int a,b; 7 J3 O, w- f' M6 |! t* N5 L0 Z9 t{ static int m=0,i=2; & {* n; N% g; Y; ]2 ^( K i+=m+1; m=i+a+b; return(m); } ) G( v+ J) z( O1 u【40】A) 8,17 B) 8,16 C) 8,20 D) 8,8 * Q& r) D4 `1 T m8 W+ h; _设有以下语句:! F/ p% T; V9 g( H' M1 j+ J char str[4][12]={aaa,bbb,ccccc,dddddd}, # d- q# S; \2 R3 `, v, A*strp[4]; int i; ! D2 Z1 D, h+ Z0 v3 o( E+ H: @for(i=0;i<4;i + + )strp[i]=str[i];

【41】不是对字符串的正确引用,其中0≤k<4。

【41】A) strp B) str[k] C) strp[k] D) *strp

设有以下语句: 1 x [1 H, D2 o6 ]char str1[]=string,str2[8],*str3,*str4=string; 0 |! r) a+ c) O4 D8 l2 v则【42】不是对库函数strcpy的正确调用,此库函数用业复制字符串。 5 t. \+ ?0 M1 n! x/ Z# c【42】A)

strcpy(str1,HELLO1); B) strcpy(str2,HELLO2); / S+ {, `2 J& {& s& o# u1 K C) strcpy(str3,HELLO3);

D) strcpy(str4,HELLO4);

C语言中形参的缺省存储类别是【43】。5 n& P; _9 z/ r2 h5 @# c/ v) a【43】A)自动(auto) B)静态(static) C)寄存器(register) D)外部(extern)

设有以下语句: 4 i5 r, A6 Y# Z ]0 O) O struct st {int n; struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;

p=&a[0];

精品文档.

精品文档

则表达式【44】的值是6。

【44】A)p + + ->n B) p->n + + C) (*p).n + + D) + + p->n + a3 G N0 O0 H) ]3 f以下四个程序中,【45】不能对两个整型变量的值进行交换。% s+ R# ]0 r9 A) s4 Q【45】A)# include , D9 B- }8 A+ m( p V main()

{ int a=10,b=20; swap(&a,&b);

printf(%d %d\n,a,b); R% }/ X9 n; _) x5 {! M}

swap(p,q)

int *p,*q; 6 E7 c- |7 Q. I8 v/ H- V* o. w{ , k* G; r7 o, C8 L5 C) o int *t; + X+ d3 a6 F' I8 h/ [) J, l t=(int )malloc(sizeof(int));

t=p;*p=*q;*q=*t; }

6 K* L# o( ?0 i0 l& K$ C B) # include % e* u& D4 b: o main() % ?3 J! }/ V) j9 `3 y{ & v3 q! F# [; `# r0 v) B

7 k int

a=10,b=20; 6 S2 w0 ^ g1 |( B swap(&a,&b); . @5 w( s6 c) E# E/ g( h. s( Y printf(%d %d\n,a,b); * m+ S) P' }+ i$ T0 S; I! W} 4 V* F A E6 ~! \1 f swap(p,q)

{ 2 J) B4 k: f5 C3 G B int *t;

t=*p;*p=*q;*q=t; . D* P' ]% V# Q) P) x: M; @6 q. w} # f8 c- t/ G) V1 r3 }+ K% _9 q4 c5 |C) # include

main()

{ % I% y) t+ A# {int *a,*b; 7 J9 Z: @# I% \ N- E& j*a=10,*b=20;

swap(a,b);

printf(%d %d\n,*a,*b);

} % L' G6 ]' p/ Q4 S swap(p,q) k: \% x. @$ b2 u% P+ I int *p,*q; . A: r4 h: Y% \( M# N! l{

int t;

t=*p;*p=*q;*q=t; & q4 ]( Z* p/ J; ]; P} - q& H, g9 C! p2 d7 q7 v1 c# p6 R: |' U1 h精品文档.

精品文档

D) # include

main()

{

int a=10,b=20; 4 m$ g o% l7 K k; d! a; ?int x=&a,y=&b; 5 ?7 K2 c$ c [( @5 ~6 y swap(x,y); 0 T* n$ o+ X% k ~,

{printf(%d %d\n,a,b); 6 t) U/ ^5 ] Z s4 r* L: y3 e* b} / o- |; Y+ w m+ F swap(p,q)

int *p,*q; : i# b& E J% z7 F: t! v5 h& x4 s{

int t; + z! X% Z4 W8 W/ ?* ?t=*p;*p=*q;*q=t; 3 l: e% ?/ {8 i3 O4 }2 Y- I' \+ L4 O}

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡1-20序号后的横线上,答在试卷上不得分。

结构化程序设计所规定的三种基本控制结构是【1】结构.选择结构和循环结构。+ u5 f, N! ]2

s0 b1 m在七位ASCII码中,除了表示数字、英文大小写字母外,还有【2】个其它符号。

把B盘BAS子目录下第三个字符为A,且没有扩展名的全部文件拷贝到C盘ABC子目录下的命令是【3】。

微机中ROM的中文意义是【4】存储器。) r! U! k& w4 n! W启动MS-DOS系统后,能自动执行的批处理文件是【5】.BAT。' f$ C9 b! G; p C% [设当前盘为C盘,删除B盘FOX子目录中扩展名为.TXT 的所有文件的命令是【6】。

十进制数53转换为十六进制数为【7】。

数据库管理系统常见的数据模型有层次、网状和【8】三种。

买来一张新盘后,在存入文件前,必须进行【9】处理。

在微机中,字符的比较就是对它们的【10】码进行比较。

以下C语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。

#include $ a: h# {3 d) g+ ~7 _main(argc,argv)

int argc; char *argv[]; P! o& |4 C! ~9 X/ u; l' w( H{ FILE *f1,*f2; char ch;

if(argc< 【11】) 1 o k0 g* ?- d7 j* a; @{ printf(Parameters missing!\n); exit(0); } ( ^. V% E: j, {# z5 [1 E) J6 v7 E

if( ((f1=fopen(argv[1],

)) = = NULL)||((f2=fopen(argv[2],w)) = = NULL))

{ printf(Can not open file!\n); exit(0);}

while( 【12】)fputc(fgetc(f1),f2); ) Z7 H2 l2 T4 a. @+ {fclose(f1); fclose(f2); } 0 | b3 [- W G. m l8 Y w以下程序中的trap函数是一个用梯形法求定积分的通用函数。梯形法求定积分的公式为:

n-1 a-b

s=((f(a)+f(b))/2+∑f(a+i*h))*h , h=|----|

i=1 n % F7 ^9 o& O# I8 D3 N7 K精品文档.

其中,n为积分小区间数。以下程序调用trap函数求定积分,被积函数是:

f(x)=x*x+3*x+2,且n=1000,a=0,b=4。 6 @: `& w# ?# \- l3 d#include

3include 0 |6 P& J N$ U \double trap(fun,a,b)

double (*fun)(),a,b;

{ double t,h; . r! c7 Z- Z3 }+ ^: W# d* X int i,n=1000; 7 E0 R; Q; c- K/ I t=0.5*((*fun)(a)+(*fun)(b));

h=fabs(a-b)/(double)(n);

for(i=1;i<=n-1;i + + ) t=t+ 【13】; 2 M/ T8 F/ M6 j# d$ D) x t=t*h; return(t); }

double mypoly(x)

double x;

{ return(x*x+3.0*x+2.0); } # F# d I1 k! s' w' d: u main()

{ double y,(*pf)(); pf= 【14】;

y=trap(pf,0.0,4.0); printf(%f\n,y); } * R! j5 \8 w' w1 n以下程序求a数组中的所有素数的和,函数isprime 用来判断自变量是否为素数。素数是只能被1和本身整除且大于1的自然数。

#include $ g5 N: k& ~; [2 p5 v% o7 w) u main()

{ int i,a[10],*p=a,sum=0;

printf(Enter 10 num:\n);

for(i=0;i<10;i + + ) scanf(%d,&a[i]); # a) ~; p# x M5 D for(i=0;i<10;i + + ) # y( x; q* b$ P: k if(isprime(*(p+ 【15】)) = = 1){ printf(%d,*(a+i)); sum+=*(a+i); }

printf(\

The sum=%d\n,sum); } : t' h/ g/ j8 p( `6 X5 J isprime(x) : f9 ]% S( r* R6 e9 M int x;

{ int i; for(i=2;i<=x/2;i + + )

if(x%i = = 0) return (0); 【16】; }

以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中的值在main函数中读入。x3 Z$ Y8 w/ Z; c! W% P& ]5 a#include

#define N 10 ' t! c1 T, X# r* a+ h- j9 G/ X invert(s,i,j) ! f3 `. U' [0 w( f1 e1 C* j int *s,i,j;

{ int t; if(i

for(i=0;i

{for(i=0;i

printf(\

); } ' }6 T( P, E# n; f* c精品文档.

精品文档

以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data 域不放数据,表空的条件是ph->next = = NULL).6

w; O+ K1 J! T$ K; }#include

struct list { int data;struct list *next;};

【19】creatlist() - C& e6 J$ Y; s7 ^{ struct list *p,*q,*ph; int a;

ph=(struct list *) malloc(sizeof(struct list)); ! ]4 c9 M, l! c/ Z p=q=ph; printf(Input an integer

number,enter –1 to end:\n); # r5 T z {/ _& e+ l+ R& \1 E scanf(%d,&a):

while(a!=-1) , C! U4 z ]1 s5 G{ p=(struct list *)malloc(sizeof(struct list));

p->data=a; q->next=p; 【20】=p; scanf(%d,&a); }

p->next='\0'; return(ph); }

main()

{ struct list *head; head=creatlist();}

[完]B, g3 U' j# o) q4 y, U

2 H; @: H; e# _ `C语言参考答案 5 a( x/ R2 Y' |; w) t7 _7 X选择题([1]——[30]每个选项1分,[31]——[45]每个选项2分,共60分)

(1)B (2)B (3)B (4)A (5)C (6)D (7)B (8)C (9)A (10)C : g+ \ m6 T+ m( Z5 B(11)C (12)B (13)D (14)B (15)C (16)A (17)B (18)B (19)A (20)C

(21)D (22)C (23)A (24)C (25)C (26)D (27)A (28)D (29)B (30)A H- ~ {$ d1 I+ P8 X! r(31)C (32)D (33)C (34)D (35)A (36)A (37)C (38)B (39)B (40)A : Y1 \4 J6 s# S. R' |(41)A (42)C (43)A (44)D (45)C 二` 填空题(每空2分,共40分)

* ^4 h7 C- d8 u; o(1)顺序

(2)66

(3) COPY B:\BAS\??A*.C:\ABC(或COPY B:\BAS\??A*.,C:\ABC) 2 p2 ~6 ]2 P( k- u; L(4)只读

(5)AUTOEXEC

(6)DEL B:\FOX\*.TXT ( e0 l p& ` C% k(7)35 9 A5 x. M( Z! }8 S8 C(8)关系

(9)格式化(或初始化、FORMAT) - i% y6 d( m9 c \(10)ASCII

(11)3

(12)!feof(f1)或feof(f1)==0

(13)(*fun)(a+i*h) ' Y+ W r3 j9 k L$ M! i8 J(14) mypoly , C+ S N; E1 o. T7 E9 A' ?6 D精品文档.

精品文档

(15)I 2 M( E q% N0 i- h# k(16)return 1 或return (1) # k X2 {& s$ o) `(17)i+1 4 s1 N/ n0 [ R6 c5 h( v1 i1 o

q(18) I

(19) struct list * # P2 D2 G$ S; b; F, t6 C# v! c(20) q

精品文档.

相关文档