1 / 23
文档名称:

专升本C语言历年试题及答案.docx

格式:docx   大小:22KB   页数:23页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

专升本C语言历年试题及答案.docx

上传人:书犹药也 2022/12/6 文件大小:22 KB

下载得到文件列表

专升本C语言历年试题及答案.docx

文档介绍

文档介绍:该【专升本C语言历年试题及答案 】是由【书犹药也】上传分享,文档一共【23】页,该文档可以免费在线阅读,需要了解更多关于【专升本C语言历年试题及答案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。专升本C语言历年考试题及答案
一、单选题
1. ___D___是合法的顾客自定义标记符。
A、b-b
B、float C、<fr> D、_isw
,体现式___B___不符合C语言语法。
A、a*b/c; B、%2 C、2, b D、a/b/c
3. ___C__是不对的的字符常量。
A、'n' B、'1' C、"a" D、'101'
4. 在 C 程序中,用___B__表达逻辑值“真”。
A、1 B、非0的数 C、非1的数 D、不小于0的数
5. __C____把x、y定义成float类型变量,。
A、float x,y=; B、floatx, y=2*;
C、float x=, y=x=; D、floatx=y=;
6. 若变量已对的定义,体现式___C___的值不是2。
A、2&3 B、1<<1 C、a==2 D、1^3
7. 若变量已对的定义,语句“if(a>b)k=0;elsek=1;”和__C____等价。
A、k=(a>b)?1:0; B、k=a>b;
C、k=a<=b; D、a<=b? 0 :1;
8. 设变量定义为“inta, b;”,执行下列语句时,输入_D____,则a和b的值都是10。
scanf("a=%d,b=%d",&a,&b);
A、1010 B、10,10 C、a=10 b=10 D、a=10,b=10
9. 下列程序的输出成果是__D___。
fun(inta, intb, int c)
{c =a*b;}
voidmain( )
{intc;
fun(2,3,c);
printf(”%dn”,c); }
A、0 B、1 C、6 D、无法拟定
10. 在C程序中,若对函数类型未加阐明,则函数的隐含类型为__A___。
A、int
B、double C、void D、char
11. 体现式strlen(”hello”)的值是___B____。
A、 4 B、5 C、6 D、7
“inta[4];”,则体现式__D____不符合C语言语法。
A、*a B、a[0] C、a D、a++
“int x,*p=&x;”,则&*p相称于__A___。
A、p B、*p C、x D、*&x
14. 若变量已对的定义,_A___不能使指针p成为空指针。
A、p=EOF B、p=0 C、p=’’D、p=NULL
15. 对于如下的变量定义,体现式__D____不符合C语言语法。
structnode{
intlen;
char*pk;
}x={2,"right"},*p=&x;
A、p->pk B、*、*p->pkD、*

intrunc(inta,intb)
{return(a+b);}
main0
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%\d\n”,r);
}
该程序的输出的成果是(D)
A)12B) 13C) 14D)15
17. 对于基类型相似的两个指针变量之间,不能进行的运算是(C)
A)<B)= C) +D) -

longfib(intn)
{if(n>2)return(fib(n-1)+fib(n-2));
elsereturn(2);
}
main0
{printf(“%d\n”,fib(3));
该程序的输出成果是(B)
A}2 B}4C} 6D}8

structperson{charname[9];int age;};
strictpersonclass[10]={“Johu”, 17,
“Paul”,19
“Mary”, 18,
“Adam16,};
根据上述定义,能输出字母M的语句是 (D)
A) prinft(“%c\n”,class[3].mane);
B)pfintf(“%c\n”,class[3].name[1]);
C) prinft(“%c\n”,class[2].name[1]);
D)printf(“%^c\n”,class[2].name[0]);
20. 如下所列的C语言常量中,错误的是(B)
A)0xFF B) ) 2LD)‘\72’

int k=0
while(k=1)k++;
while循环执行的次数是(A)
A)无限次B)有语法错,不能执行

C)一次也不执行D)执行1次
(C)
A)0B)29C)31D)无定值
fun(int x,inty,intz)
{z=x*x+y*y;}
main()
{ inta=31;
 fun(5,2,a);
 printf(“%d”,a);}
(A)
A)2143B)1212 C)1 2 34 D)2 112
void fun(int *x, int*y)
{printf(“%d%d”,*x,*y);*x=3; *y=4;}
main()
{intx=1,y=2;
 fun(&y,&x);
 printf(“%d%d”,x,y);}
24. 当调用函数时,实参是一种数组名,则向函数传送的是 (B)
A)数组的长度B)数组的首地址
C)数组每一种元素的地址D) 数组每个元素中的值
(A)
A)1 B)2 C)3D)4
longfun(intn)
{longs;
if(n= =1|| n= =2)s=2;
elses=n-fun(n-1);
returns; }
main()
{ printf(“%ld\n”,fun(3)); }
(B)
A) 16 B) 2C) 9D) 1
#defineSQR(X)X*X
main()
{ int a=16,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
 printf(“d\n”,a); }

fun(int*a,int n)
{int i,j=0,p;
p=j;
for(i=j;i<N;I++)
if(a[i]<A[P])__________;
return(p);}
在下划线处应填入的是(D)
A) i=pB)a[p]=a[i]C)p=j D)p=i
二、填空题
1. 表达“x≥y≥z”的C体现式是___x>=y && y>=z____。
2. 下列程序段的输出是__1____。
printf("%on", 010<<1^1);
3. 下列程序段的输出是__6,90____。
int k;
floats;
for(k=0,s=0;k<7;k++)
s+=k/2;
printf("%d,%fn", k, s);
4. 下列程序段的输出是__5,25_____。
#definef(a,b,x) a*x+b
printf("%d,%dn",f(3,2,1),f(6,5, f(3,2,1)));
5. 下列程序段的输出是_*#*#____。
main()
{intk;
for(k=1;k<5;k++){
if(k%2)printf("*");
elsecontinue;
printf("#");
}
}
8___。
#include<>
intf(intx)
{ staticy=1;
y++;
x +=y;
returnx;
}
voidmain()
{int k;
k=f(3);
printf("%d%dn",k, f(k));
}

int*p, *q,k = 5, j= 6;
q=&k;p=q; q=&j;
printf("%d",*p);
8. 函数
void f(chars[],chart[])
{ int k=0;
while(s[k]=t[k]) k++;
}
等价于
void f(char*s,char*t)
{ while(_*s++=*t++____);
}
,s____。
char*a[2]={"one","two"},**p=a;
printf("%s,", *(p++)+1);
printf("%cn",**p-1);
,运营tinputoutputzoooil的输出成果是__zoo___。
voidmain(intargc,char*argv[])
{ int k;
char*p=argv[1];
for(k=2;k<argc;k++)
if(strcmp(argv[k], p)>0)p=argv[k];
printf("%sn",p);
}
11. 下列程序调用swap函数互换a和b的值,并输出互换后的a和b的值。程序的输出成果是:Afterswap5, 3。
voidmain()
{inta=3,b=5;
swap(&a,&b );
printf("After swap%d, %d",a,b);
}
swap(int*p,int*q)