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

专升本考试C语言模拟试题及参考答案【三篇】

专升本考试C语言模拟试题及参考答案【三篇】
专升本考试C语言模拟试题及参考答案【三篇】

专升本考试C语言模拟试题及参考答案【三篇】一.单项选择题

1.以下定义语句中准确的是(C)

A)char a='A'b='B'; B)float a=b=10.0;

C)int a=10,*b= &a; D)float *a,b=&a;

2.下列运算符中,优先级的是(A)。

A. ->

B.++

C. &&

D. =

3.表达式!(x>0&&y>0)等价于(A)。

A. ! (x>0) || ! (y>0)

B. !x>0 || !y>0

C.!x>0 && !y>0

D. !(x>0) && ! (y>0)

4.有以下程序

main()

{ int a=666,b=888;

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

}

程序运行后的输出结果是(B)

A) 错误信息B)666 C)888 D)666,888

5.有以下程序

main()

{ int i;

for(i=0;i -10&& x-y10 D)(x-y)*(x-y)k=2;B.(*p).k=2;C.x .

k=2D.x->k=2

9.不准确的赋值或赋初值的方式是(B)。

A.char str[ ]=”string”;

B.char str[10];str=”string”;

C.char *p=”string”;

D.char *p; p=”string”;

10.设程序中不再定义新的变量,写出在函数main中能够使用的所有变量为:(B)

#include

int z;

int p(int x)

{static int y;

return (x+y);

}

void main( )

{int a,b;

printf(“%dn”, p(a));

………

}

A. a,b

B. a,b,z

C.a,b,y,z

D.a,b,x,y,z

11.有以下程序

main()

{ int i=0,x=0;

for (;;)

{

if(i==3||i==5) continue;

if (i==6) break;

i++;

s+=i;

};

printf( "%d\n",s);

}

程序运行后的输出结果是(D)

A)10 B)13 C)21 D) 程序进入死循环

12.有以下程序

main()

{ char a,b,c,d;

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

printf( "c,%c,%c,%c\n",a,b,c,d);

若运行时从键盘上输入:6,5,65,66。则输出结果是(A)

A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6

13.s12和s2已准确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中准确的是(D)

A)if(s1 >s2)S; B)if(strcmp(s1,s2))S;

C)if(strcmp(s2,s1) >0)S; D)if(strcmp(s1,s2)>0)S;

14.有以下定义和语句

int a[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

则*p[0]+1)所代表的数组元素是(C)

A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]

15.程序中对fun函数有如下说明

void *fun();

此说明的含义是:(C)

A)fun 了数无返回值

B)fun 函数的返回值能够是任意的数据类型

C)fun 函数的返回值是无值型的指针类型

D) 指针fun指向一个函数,该函数无返回值

16.有以下程序

void fun(int *a,int i,int j)

{ int t;

if(i num B)p->num C)(*p).num D)stu[3].age

18.已定义ch为字符型变量,以下赋值语句中错误的是(A)

A )ch='\'; B)ch=62+3; C)ch=NULL; D)ch='\xaa';

19.以下选项中不能准确把cl定义成结构体变量的是(B)

A )typedef struct B)struct color cl

{ int red; { int red;

int green; int green;

int blue; int blue;

} COLOR; };

COLOR cl;

C )struct color D)struct { int red; { int red;

int green; int green;

int blue; int blue;

} cl; } cl;

20.有以下程序

fun(int a, int b)

{ if(a >b) return(a);

else return(b);

}

main()

{ int x=3, y=8, z=6, r;

r=fun(fun(x,y), 2*z); printf( "%d\n", r);

}

程序运行后的输出结果是(D)

A )3 B)6 C)8 D)12

21.有以下程序段

main()

{ int a=5,*b,**c;

c= &b; b=&a;

……

}

程序在执行了c=&b;b=&a;语句后,表达式:**c的值是(C)

A )变量a的地址B)变量b中的值C)变量a中的值D)变量b的地址

22.设有int x=11;则表达式(x++ * 1/3)的值是(A)

A) 3 B) 4 C) 11 D) 12

23.下列程序的输出结果是(C)

A) 3 B) 3.2 C) 0 D) 3.07

main()

{ double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

printf( "%d \n", d*y);

}

24.下列变量定义中合法的是(A)

A) short _a=1-.le-1; B) double b=1+5e2.5;

C) long do=0xfdaL; D) float 2_and=1-e-3;

25.以下循环体的执行次数是(C)

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

main()

{ int i,j;

for(i=0,j=1; i >1^~5)的值是0。

2.设变量已准确定义,在程序段B中填入准确的内容,使程序段A和程序段B等价。

程序段A

for(k=s=0;k10) break;

3.下列程序的输出结果是100。

#define T 10

#defineMD 3*T

printf(“%d”,30/MD);

4.下列程序的输出结果是k=5, s=15。

int k,s;

for(k=s=0;k

int f(int m)

{static int k=2;

k++;

return k+m;

}

void main( )

{int s;

s=f(2);

printf(“%d,%dn”,s,f(s));

}

6.对于以下递归函数f,条用f(3)的返回值是-2。 f(int n)

{

return((n

char *f(char *str)

{return str=”fun”;

}

void main( )

{char *str=”one”;

printf(“%s,%cn”, f(str)+1,*f(str)+1);

}

10.下列程序的输出结果是1,3。

#include

void p(int *x,int y)

{++*x;y--;}

void main( )

{int x=0,y=3;

p(&x,y);

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

}

11.下列程序的输出结果是1 0 0 1。

#include

{int j,k,a[2][2];

for(k=1;k0||y>0)等价于__D___。

A、!x>0||!y>0

B、!(x>0)||!(y>0)

C、!x>0&&!y>0

D、!(x>0)&&!(y>0)

5.若变量已准确定义并赋值,表达式__D____不符合C语言语法。

A、4&&3

B、+a

C、a=b=5

D、int(3.14)

6.若变量已准确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是准确的输入。

A、2030,40

B、20 30 40

C、20, 30 40

D、20, 30,40

7.执行语句printf(” __D____”,2);将得到出错信息。

A、%d

B、%o

C、%x

D、%f

8.设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有

__B____个元素。

A、12

B、13

C、14

D、15

9.设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是

___B__。

A、2

B、3

C、4

D、&a[0]+1

10.若变量已准确定义并赋值,表达式-k++等价于__A____。

A、-(k++)

B、(-k)++

C、-(k+1)

D、-(++k)

11.在C语言程序中,在函数内部定义的变量称为__D____。

A、全局变量

B、全程变量

C、外部变量

D、内部变量

12.若x是整型变量,表达式(x=10.0/4.0)的值是__D___。

A、2.5

B、2.0

C、3

D、2

13.对于以下的变量定义,表达式__A____是准确的。

struct node {

char s[10];

int k;

} p[4];

A、p->k=2

B、p[0].s=“abc”

C、p[0]->k=2

D、p->s=‘a’

14.下列运算符中,优先级从高到低依次为__D___。

A、&&,!,||

B、||,&&,!

C、&&,||,!

D、!,&&,||

15.下列程序段的输出结果是__B___。

int*p,*q,k = 1, j=10 ;

p=&j; q = &k ;p = q ; (*p)++;

printf("%d",*q);

A、1

B、2

C、10

D、11

16.以下各选项企图说明一种新的类型名,其中准确的是水量(C)

A) typedef v1 int; B) typedef v2=int;

C) typedefv1 int v3; D) typedef v4: int;

17.以下选项中,非法的字符常量是(C)

A) ‘\t’ B) ‘\17’ C )“n” D) ‘\xaa’

18.以下程序的输出结果是(C)

main()

{ int i, a[10];

for(i=9;i >=0;i--) a[i]=10-i;

printf(“%d%d%d”,a[2],a[5],a[8]);

}

A) 258 B) 741 C) 852 D) 369

19.以下程序的输出结果是(B)

main()

{ char st[20]= “hello\0\t\\\”;

printf(%d %d \n”,strlen(st),sizeof(st)); }

A) 9 9 B) 5 20 C) 13 20 D) 20 20

20.以下程序的输出结果是(D)

main()

{ int a, b;

for(a=1, b=1; a =10) break;

if (b%3= =1)

{ b+=3; continue; }

}

printf(“%d\n”,a);

}

A) 101 B) 6 C) 5 D) 4

21.以下程序的输出结果是(D)union myun

{ struct

{ int x, y, z; } u;

int k;

} a;

main()

{ a.u.x=4; a.u.y=5; a.u.z=6;

a.k=0;

printf(%d\n”,a.u.x);

}

A) 4 B) 5 C) 6 D) 0

22.以下程序段的输出结果是(A) char s[]= "\\141\141abc\t"; printf ( "%d\n",strlen(s));

A) 9 B) 12 C) 13 D) 14

23.以下程序的输出结果是(B)

main()

{ char ch[3][5]={ "AAAA","BBB","CC"};

printf( "\"%s\"\n",ch[1]);

}

A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"

24.不合法的main函数命令行参数表示形式是(C)

A) main(int a,char *c[]) B) main(int arc,char **arv)

C) main(int argc,char *argv) D) main(int argv,char *argc[])

25.有以下程序

main()

{ char *s[]={ "one","two","three"},*p;

p=s[1];

printf( "%c,%s\n",*(p+1),s[0]);

}

执行后输出结果是(C)

A) n,two B) t,one C)w,one D) o,two

26.设有如下说明

typedef struct

{ int n; char c; double x;}STD;

则以下选项中,能准确定义结构体数组并赋初值的语句是(A)

A) STD tt[2]={{1,'A',62},{2, 'B',75}};

B) STD tt[2]={1, "A",62},2, "B",75};

C) struct tt[2]={{1,'A'},{2, 'B'}};

D)structtt[2]={{1, "A",62.5},{2, "B",75.0}};

27.若变量c为char类型,则能准确判断出c为小写字母的表达式是(D)。

A) 'a'= 'a')||(c=c)D) (c>=

'a')&&(c=’A’&&ch,=’Z’)||(ch>=’a’&&ch0)y=1;else

if(x=0)y=0;else y=-1;___。

1x>0

y=0x=0

-1xk) break ;

else s += k;

printf("k=%d s=%d", k, s);

6.下列程序段的输出结果是__15___。

#define MIN(x,y)(x)*s) s=p;

return(*s);

}

main()

{ int x[5]={12,21,13,6,18};

printf( "%d\n",findmax(x,5));

三、程序(段)填空题

1.设变量x, y, z已准确定义和赋值,请仔细阅读程序段A,然后

在程序段B中填入准确的内容,使程序段A和程序段B有相同的功能。程序段A

程序段B

x=x+y;

y=x-y;

x=x-y;

z=x+y;

z=x;

x=y;

y=z;

z=x+y;

2.请仔细阅读函数f1,然后在函数f2中填入准确的内容,使函数

f1和函数f2有相同的功能。

char *f1(char s[ ], char t[])

{int k;

for(k=0; t[k]!=' '; k++)

s[k]=t[k];

s[k]=' ';

return s;

一、选择题(1-30每小题1分,31-45每小题2分,共60分)

下列各题 A),B),C),D)四个选项,只有一个选项是准确的,请将准确的选项在答题卡相对应位置上涂黑。答在试卷上不得分。

二进制数101110转换为等值的八进制数是【1】。

【1】A) 45B) 56C) 67D) 78

CPU是由【2】组成的。

【2】A) 内存储器和控制器B) 控制器和运算器

C) 内存储器和运算器D) 内存储器、控制器和运算器

DOS是为IBM PC系列微型计算机及其兼容机所配置的【3】磁盘操作系统。

【3】A) 多用户多任务B) 单用户单任务C) 分时 D) 分布式

启动MS-DOS操作系统后,【4】已驻留内存。

【4】A) https://www.docsj.com/doc/eb5930539.html, B) https://www.docsj.com/doc/eb5930539.html, C) https://www.docsj.com/doc/eb5930539.html, D) CCCC.EXE

设驱动器B中软盘上的目录结构如下图所示。

设当前目录为F2,则把A盘根目录下的PROG.BAS文件复制到B盘F3子目录中的命令是【5】。

【5】 A) COPY PROG.BAS B:B) COPY A:PROG.BAS B:\

C) COPY A:\PROG.BAS B:\F3D) COPY A:PROG.BAS B:\F3\

下面四组DOS命令中,意义完全相同的一组是【6】。

【6】A) COPY和DISKCOPYB) COMP和DISKCOMP

C) DEL和RDD) RENAME和REN

防止软盘感染病毒的有效方法是【7】。

【7】A) 不要把软盘和有毒软盘放在一起B) 在写保护缺口上贴上胶条

C) 保持机房清洁D) 定期对软盘格式化

双面高密度5英寸软磁盘的容量是【8】。

【8】A) 360KBB) 720KBC) 1.2MBD) 1.44MB

在FOXBASE中,能够使用的两类变量是【9】。

【9】A) 内存变量和字段变量B) 全局变量和局部变量

C) 字段变量和简单变量D) 内存变量和自动变量

建立一个新子目录的DOS命令是【10】。

【10】A) CREATEB) RDC) MDD) CD

在C语言中,如果下面的变量都是int类型,则输出的结果是【11】。

sum=pad=5; pAd=sum + + ,pAd + + , + + pAd;

printf("%d\n",pad);

【11】A) 7B) 6C) 5D) 4

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

# include

main()

{ inti=010 , j = 10;

printf("%d,%d\n",+ +i , j - -);}

【12】A) 11,10B) 9,10C) 010,9D) 10,9

已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是【13】。

# include

main()

{charc1='A',c2='Y';

printf( "%d,%d\n",c1,c2);}

【13】A) 因输出格式不合法,输出错误信息B)65,90C)A,YD)65,89

指针s所指字符串的长度为【14】。

char *s="\\"Name\\Address\n";

【14】A) 19B) 15C) 18D)说明不合法

设有说明int(*ptr)[m];其中的标识符ptr是【15】。

【15】A)M个指向整型变量的指针

B)指向M个整型变量的函数指针

C)一个指向具有M个整型元素的一维数组的指针

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

语句while(!E);中的条件!E等价于【16】。

【16】A)E = = 0B)E!=1C)E!=0D)~E

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

# include

main()

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

【17】A) 不确定的(因变量无定义)B)0C)-1D)1

以下函数调用语句中含有【18】个实参。

func((exp1,exp2),(exp3,exp4,exp5));

【18】A) 1B) 2C) 4D) 5

设有以下语句:

chara=3,b=6,c;

c=a^b

2main()

3{

4float a[3]={0,0};

5int i;

6for(i=0;i

# include

main()

{int a=1,b=4,c=2;

floatx=10..5 , y=4.0 , z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

pritnf( "%f\n",z);}

【24】A) 14.000000B) 015.400000C) 13.700000D) 14.900000 sizeof(double)是【25】。

【25】A)一种函数调用B)一个双精度型表达式

C)一个整型表达式D)一个不合法的表达式

C语言中【26】。

【26】A)不能使用do-while语句构成的循环

B)do-while语句构成的循环必须用break语句才能退出

C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环

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

# include

# include

main()

{char str[12]={'s','t','r','i','n','g'};

printf( "%d\n",strlen(str));}

【27】A) 6B) 7C) 11D) 12

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

# include

main()

{int a=2,c=5;

printf( "a=%%d,b=%%d\n",a,c);}

【28】A) a=%2,b=%5B) a=2,b=5C) a=%%d,b=%%dD) a=%d,b=%d

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

相关文档