大一c语言考试试题.docx

上传人:b****6 文档编号:7269101 上传时间:2023-01-22 格式:DOCX 页数:37 大小:30.03KB
下载 相关 举报
大一c语言考试试题.docx_第1页
第1页 / 共37页
大一c语言考试试题.docx_第2页
第2页 / 共37页
大一c语言考试试题.docx_第3页
第3页 / 共37页
大一c语言考试试题.docx_第4页
第4页 / 共37页
大一c语言考试试题.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

大一c语言考试试题.docx

《大一c语言考试试题.docx》由会员分享,可在线阅读,更多相关《大一c语言考试试题.docx(37页珍藏版)》请在冰豆网上搜索。

大一c语言考试试题.docx

大一c语言考试试题

试卷一(参考答案在后面!

1,有以下程序

#include

voidf(inta[],inti,intj)

{intt;

if(i<j)

{t=a[i];a[i]=a[j];a[j]=t;

f(a,i+1,j-1);

}

}

voidmain()

{inti,aa[5]={1,2,3,4,5};

f(aa,0,4);

for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");

}

执行后输出结果是

A)5,4,3,2,1,B)5,2,3,4,1C)1,2,3,4,5,D)1,2,3,4,5

2,下面程序的输出结果是()

#include

voidmain()

{intx=2,y=1;

voidf(intx,inty);

f(x,y);

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

}

voidf(intx,inty)

{y=x+y;

x=x-y;

}

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

3,以下程序的输出结果是 。

#include<stdio.h>

voidmain()

{intk=4,m=1,p;

p=func(k,m);printf("%d,",p);

p=func(k,m);printf("%d\n",p);

}

inta,b;

func(a,b)

{staticintm=0,i=2;

i+=m+1;m=i+a+b;return(m);

}

A)8,17B)8,16C)8,20D)8,8

4,以下()是不正确的转义字符。

A.'\\'B.'\'

C.'081'D.'\0'

5,在C语言中,int,char,和short三种类型数据所占用的内存

A.均为2个字节B.由用户自己定义

C.由所用机器的机器字长决定D.是任意的

6,有以下程序

main()

{

intx=102,y=012;

printf("%2d,%2d\n",x,y);

}执行后输出结果是

A)10,012B)102,12C)102,10D)0102,10

7,下列程序的输出结果是

main()

{doubled=3.2;

intx,y;

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

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

}

A)3

B)3.2

C)0

D)3.07

8,已知inta;那么﹠a表示

(A)变量名(B)变量a的地址(C)变量a的值(D)其他

9,以下程序段中与语句k=a〉b?

(b〉c?

1:

0):

0;功能等价的是()

A)if((a〉b)﹠﹠(b〉c))k=1;elsek=0;B)if((a〉b)||(b〉c))k=1;elsek=0;

C)if(a〈=b)k=0;elseif(b〈=c)k=1;D)if(a〉b)k=1;elseif(b〉c)k=1;elsek=0;

10,当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为

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

if(a〈b)

if(c〈d)x=1;

else

if(a〈c)

if(b〈d)x=2;

elsex=3;

elsex=6;

11,以下错误的if语句是。

A)if(x〉y)z=x;

B)if(x==y)z=0;

C)if(x!

=y)printf("%d",x)elseprintf("%d",y);

D)if(x〈y){x++;y--;}

12,有以下程序

main()

{inti=10;

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

}

执行后输出结果是

A.9

B.10

C.11

D.8

13,若x,i,j和k都是int型变量,则计算表达式x=(i=14,j=16,k=j)后,x的值为

A.14

B.16

C.30

D.56

14,设有以下程序段

  intx=0,s=0;

  while(!

x!

=0)s+=++x;

  printf("%d",s);

  则

  A.运行程序段后输出0

  B.运行程序段后输出1

  C.程序段中的控制表达式是非法的

  D.程序段执行无限次

15,以下程序执行后输出结果是________。

inti;

for(i=0;i<3;i++)

switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}

A)011122B)012C)012020D)120

16,若变量已正确定义,要求程序段完成求5!

的计算,不能完成此操作的程序段_________。

A)for(i=1,p=1;i<=5;i++)p*=i;

B)for(i=1;i<=5;i++){p=1;p*=i;}

C)i=1;p=1;while(i<=5){p*=i;i++;}

D)i=1;p=1;do{p*=i;i++;}while(i<=5);

17,以下叙述不正确的是

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

 

18以下叙述不正确的是_________。

A.分号是C语言的必要组成部分

B.C程序的注释可以写在句的后面

C.函数是C程序的基本单位

D.主函数的名字不一定用main表示

 

19,源程序要正确地运行,必须要有什么函数?

A.printf函数B.自定义的函数

C.main函数D.不需要函数

20,不能把字符串:

Hello!

赋给数组b的语句是

  A.charb[10]={’H’,’e’,’l’,’l’,’o’,’!

’};

  B.charb[10];b="Hello!

";

  C.charb[10];strcpy(b,"Hello!

");

  D.charb[10]="Hello!

";

21在C语言中,一维数组的定义方法为

类型说明符数组名

A.[常量表达式]

B.[整型常量]

C.[整型变量]

D.[整型常量]或[整型表达式]

22,下列选项中错误的说明语句是

A.chara[]={′t′,′o′,′y′,′o′,′u′,′\0′};

B.chara[]={"toyou\0"};

C.chara[]="toyou\0";

D.chara[]=′toyou\0′;

23字符串常量不能直接赋值给字符数组,但可以通过____strcpy_____函数来实现。

24,下面程序段运行的结果__-1_____。

inty=2,a=1;

do{

a*=y;

a++;

}while(y--);

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

25,

分析如下程序,此程序运行时输出结果是:

20

#include

voidtest(int*x,int*y);

voidmain()

{

inta=10,b=20;

test(&a,&b);

printf("%d",a);

}

voidtest(int*x,int*y)

{

intt;

t=*x;*x=*y;*y=t;

}

 

26分析如下程序,此程序运行时输出结果是:

28

#include

voidmain()

{

structu{char*name;

intage;

intincome;}s;

s.name="Wangling";s.age=28;s.income=1000;

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

}

27,以下程序输出的结果是(0)

#include

voidmain()

{

inta=5,b=4,c=3,d;

d=(a>b>c);

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

}

28,考生注意:

先将源程序文件715.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!

要求:

补充程序使得程序运行时完成以下功能:

计算2个数的立方差(结果=第一个数的立方减去第二个数的立方)

要求:

1)2个数由键盘输入

2)通过函数调用实现(计算方法在子函数中,通过主函数调用实现)

3)将结果显示出来

29,考生注意:

先将源程序文件113.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!

要求:

补充程序使得程序运行时完成以下功能:

********************

onedreamoneworld!

********************

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

30考生注意:

先将源程序文件208.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!

要求:

补充程序使得程序运行时完成以下功能:

计算公式:

[xx<1

y=[2*x-11<=x<=10

[3*x-11x>10

要求:

1)从键盘输入x的值,根据x的值求y的值

2)输出y的值

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

31,考生注意:

先将源程序文件501.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!

要求:

补充程序使得程序运行时完成以下功能:

计算公式:

s=1+3+...+(2n-1)

要求:

1)n的值由键盘输入;

2)将s的值显示出来。

 

试卷2

1,有以下程序

#include

charfun(charx,chary)

{if(x<y)

returnx;

returny;

}

voidmain()

{inta='9',b='8',c='7';

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

}

程序的执行结果是

A)函数调用出错B)8C)9D)7

2,请读程序:

#include

voidf(intb[],intn)

{inti,r;

r=1;

for(i=0;i<=n;i)r=r*b[i];

returnr;

}

voidmain()

{intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf(“%d、n”,x);

}

上面程序输出结果是

A)720B)120C)24D)6

3,以下程序有语法错误,有关错误原因的正确说法是

#include

voidmain()

{intG=5,k;

voidprt_char();

...

k=prt_char(G);

...

}

A)语句voidprt_char();有错,它是函数调用语句,不能用void说明

B)变量名不能使用大写字母

C)函数说明和函数调用语句之间有矛盾

D)函数名不能使用下划线

4,以下叙述中,不正确的是()

A、x*=2.5B、x%=2.5C、x+=2.5D、x-=2.5

5,以下叙述中,不正确的是()

A、x*=2.5B、x%=2.5C、x+=2.5D、x-=2.5

6,以下程序的输出结果是

A)17,021,0x11B)17,17,17

B)17,0x11,021D)17,21,11

main()

{intk=17;

printf("%d,%o,%x\n",k,k,k);

}

7,有以下程序

main()

{chara,b,c,*d;

a='\';b='\xbc';

c='\0xab';d="\0127";

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

}

编译时出现错误,以下叙述中正确的是

A)程序中只有a='\';语句不正确

B)b='\xbc';语句不正确

C)d="\0127";语句不正确

D)a='\';和c='\0xab';语句都不正确

8,以下程序的输出结果是

main()

{charc='z';

printf("%c",c-25);

}

A)aB)ZC)z-25D)y

9,以下程序的输出结果是

main()

{charc='z';

printf("%c",c-25);

}

A)aB)ZC)z-25D)y

10,当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为

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

if(a〈b)

if(c〈d)x=1;

else

if(a〈c)

if(b〈d)x=2;

elsex=3;

elsex=6;

11,下列程序段运行后x的值是()

#include"stdio.h"

voidmain()

{

inta=0,b=0,c=0,x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

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

}

A)34B)4

C)35D)3

12,有以下程序

main()

{inti=10;

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

}

13,执行后输出结果是

A.9

B.10

C.11

D.8

设intx=1,y=1;表达式(!

x||y--)的值是

A.0B.1C.2D.-1

14,有如下程序

main()

{floatx=2.0,y;

if(0.0>x)y=0.0;

elseif(10.0>x)y=1.0/x;

elsey=1.0;

printf("%f\n",y);}

该程序的输出结果是

A.0.000000

B.0.250000

C.0.500000

D.1.000000

15,假定a和b为int型变量,则执行以下语句后b的值为_______。

a=1,b=10;

do{b-=a;

a++;

}while(b--<0);

A)9B)-2C)-1D)8

16,以下程序中,while循环的循环次数是

#include

voidmain()

{inti=0;

while(i<10)

{if(i==5)break;

i++;

}

......

}

A)1B)10

C)6D)死循环,不能确定次数

17,一个C程序中必须包括

A.scanf函数B.main函数C.变量D.#include《math.h》

18以下叙述中正确的是

A构成C程序的基本单位是函数

B可以在一个函数中定义另一个函数

Cmain()函数必须放在其他函数之前

D其他函数必须放在main函数之前

 

19,一个C语言的程序总是从()开始的。

A.主过程B.主函数

C.子程序D.主程序

20,以下定义语句中,错误的是

  A.inta[]={1,2};

  B.char*a[3];

  C.chars[10]=”test”;

  D.intn=5,a[n];

21,判断字符串s1是否大于字符串s2,应当使用_______。

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

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

22,下面判断正确的是

A.char*a="china";等价于char*a;*a="china";

B.charstr[5]={"china"};等价于charstr[]={"china"};

C.char*s="china";等价于char*s;s="china";

D.charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

23,下面程序运行结果是()

#include

voidmain()

{inta[5],i,m;

for(i=0;i<5;i++)

scanf("%d",&a[i]);

m=a[0];

for(i=1;i<5;i++)

if(m<a[i])m=a[i];

printf("%d",m);

}

输入数据为:

63517(回车)

24,设有如下程序段:

inti=0,sum=1;

do

{sum+=i++;}

while(i<6);

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

上述程序段的输出结果是________。

25,分析以下程序,写出此程序的运行结果:

#include

intx,y;

ints()

{intz;

x=3;y=4;

z=x+y;

return(z);

}

voidmain()

{

intn;

x=1;y=2;

n=s();

printf("n=%d",n+x+y);

}

26,分析如下程序,此程序运行时输出结果是:

#include

typedefstruct

{inta;

floatb;

char*c;

}UN;

voidmain()

{

staticUNx={19,83.5,"zhang"};

UN*px;

px=&x;

printf("%s",px->c);

}

27,如果想输出字符“%”,则应该在“格式控制”字符串中用________表示。

28,用函数调用完成求一个数组{12,3,2,4,5,8,9,12,2,40}中的平均值

要求:

通过函数调用实现(计算方法在子函数中,通过主函数调用实现)

29,在屏幕上显示以下内容:

******************

------------------

******************

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

30.要求:

补充程序使得程序运行时完成以下功能:

计算公式:

[x+1x<0

y=[x*x+20<=x<=2

[x*x*x+3x>2

要求:

1)从键盘输入x的值,根据x的值求y的值

2)输出y的值

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

31,已知inta[10]={23,45,23,56,45,86,34,23,9,45},从键盘输入一个数,查找该数在数组中出现的次数。

要求:

1)数组定义时初始化为给定数据;

    2)从键盘输入一个待查找的数;

3)查找方法不限;

    4)输出该数的出现次数

试卷3

1,有以下程序

#include

intf(inta)

{returna%2;}

voidmain()

{ints[8]={1,3,5,2,4,6},i,d=0;

for(i=0;f(s);i++)d+=s;

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

}

程序运行后的输出结果是

A)9B)11C)19D)21

2,以下叙述中正确的是

A)调用printf函数时,必须要有输出项

B)使用putchar函数时,必须在之前包含头文件stdio.h

C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

3,

有以下程序

#include"stdio.h"

intabc(intu,intv);

voidmain()

{inta=24,b=16,c;

c=abc(a,b);

printf('%d\n",c);

}

intabc(intu,intv)

{intw;

while(v)

{w=u%v;u=v;v=w}

returnu;

}

输出结果是

A)6B)7C)8D)9

 

4,设有int型变量a,b,c,a=9,b=4,则表达式c=a/b+1.25的值为()

A、2B、3C、3.5D、4

5,

不合法的字符常量是.

A)'\t'B)"A"C)'a'D)'\x32'

6,

若有说明语句:

inta;floatb;,以下输入语句正确的是。

A)scanf("%f%f",﹠a,﹠b);

B)scanf("%f%d",﹠a,﹠b);

C)scanf("%d,%f",﹠a,﹠b);

D)scanf("%6.2f%6.2f",﹠a,﹠b);

7,

有以下程序

main()

{chara,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)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6

8,

已知i、j、k为int型变量,若从键盘输入:

1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。

  A)scanf(“%2d%2d%2d”,﹠i,﹠j,﹠k)

  B)scanf("%d%d%d",﹠i,﹠j,﹠k)

  C)scanf("%d,%d,%d",﹠i,﹠j,﹠k)

  D)scanf("i=%d,j=%d,k=%d",﹠i,﹠j,﹠k)

 

9,若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是()

A)swich(a+b);B)switch(a*a+b*b)

{case1:

y=a+b;break;{case3:

case0:

y=a-b;break;case1:

y=a+b;break;

}case3:

y=b-a,break;

}

C)switchaD)switch(a-b)

{casec1:

y=a-b;break;{default:

y

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1