《C语言程序设计Ⅰ》寒假作业.docx

上传人:b****6 文档编号:12343276 上传时间:2023-06-05 格式:DOCX 页数:27 大小:33.23KB
下载 相关 举报
《C语言程序设计Ⅰ》寒假作业.docx_第1页
第1页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第2页
第2页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第3页
第3页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第4页
第4页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第5页
第5页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第6页
第6页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第7页
第7页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第8页
第8页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第9页
第9页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第10页
第10页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第11页
第11页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第12页
第12页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第13页
第13页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第14页
第14页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第15页
第15页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第16页
第16页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第17页
第17页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第18页
第18页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第19页
第19页 / 共27页
《C语言程序设计Ⅰ》寒假作业.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C语言程序设计Ⅰ》寒假作业.docx

《《C语言程序设计Ⅰ》寒假作业.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计Ⅰ》寒假作业.docx(27页珍藏版)》请在冰点文库上搜索。

《C语言程序设计Ⅰ》寒假作业.docx

《C语言程序设计Ⅰ》寒假作业

 

C语言程序设计寒假作业

 

说明:

1、此次作业要求打印(正反面打印)出来后直接在打印纸上答题,开学第1周理论课时带来;

2、寒假作业分三部分,其中第2、3部分为学期末抽查考试试卷和期末考试试卷,大家认真做一遍,开学第一周公布答案;

3、开学第一周实验课测试指法,请大家寒假期间练习;

4、希望同学们假期复习巩固所学内容,学有余力的同学尽量做预习工作。

 

一、单选题

1、下面关于C语言特点的描述,不正确的是()。

A、C语言兼有高级语言和低级语言的双重特点,执行效率高

B、C语言既可以用来编写应用程序,又可以用来编写系统软件

C、C语言是一种结构式模块化程序设计语言

D、C语言的可移植性较差

2、C语言规定,在一个源程序中,main函数的位置()。

A、必须在最开始B、可以任意C、必须在最后D、必须在系统调用的库函数的后面

3、下列说法中正确的是()。

A、C程序书写时,不区分大小写字母B、C程序书写时,一行只能写一个语句

C、C程序书写时,一个语句可分成几行书写D、C程序书写时每行必须有行号

4、以下关于算法的说法中,错误的是()。

A、一个算法应包含有限个步骤

B、在计算机上实现的算法是用来处理数据对象的

C、算法的目的是为了求解

D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现

5、下列数据中,不合法的C语言实型数据是()。

A、0.123B、123e3C、2.1e3.5D、789.0

6、若变量a、i已正确定义,且i已正确赋值,以下属于合法的C语句是()。

A、a==1B、++i;C、a=a++=5;D、a=int(i);

7、已有定义inta=6;则执行语句a+=a-=a*a;后,a的值为()。

A、36B、0C、-24D、-60

8、若有以下程序段,其输出结果是()。

inta=0,b=0,c=0;

c=(a-=a-5),(a-=3,++b);

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

A、0,0,-10B、2,1,5C、-10,-3,-10D、3,3,-10

9、有以下定义:

inti=10,j=1;执行语句printf("%d,%d\n",i--,++j);后输出结果是()。

A、9,2B、10,2C、9,1D、10,1

10、字符串"\t\"\065\xff\n"的长度为()。

A、5B、14C、8D、输出项不合法,无正常输出

11、已有定义:

charc;执行赋值语句c=('z'-'a')/2+'A';后,变量c的值为()。

A、MB、NC、OD、Q

12、以下4个选项中,不能看做一条语句的是()。

A、;B、a=5,b=2.5,c=3.6;C、if(a<5);D、if(b!

=5)x=2;y=6;

13、设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是()。

A、a&&bB、a<=bC、a||b+c&&b-cD、!

((a

c||1)

14、若有定义语句inta,b;doublex;则下列选项中没有错误的是()。

A、switch(x%2)B、switch((int)x/2.0)

  {case0:

a++;break;{case0:

a++;break;

  case1:

b++;break;case1:

b++;break;

  default:

a++;b++;default:

a++;b++;

  }}

  C、switch((int)x%2)D、switch((int)(x)%2)

  {case0:

a++;break;{case0.0:

a++;break;

  case1:

b++;break;case1.0:

b++;break;

  default:

a++;b++;default:

a++;b++;

  }}

15、以下程序段的输出结果是()。

main()

{intx,y,z;

x=0;y=2;z=3;

switch(x)

{case0:

switch(y==2)

{case1:

printf("*");break;

case2:

printf("%");break;

}

case1:

switch(z)

{case1:

printf("$");

case2:

printf("*");break;

default:

printf("#");

}

}

}

A、*B、%C、$*D、*#

16、以下程序的输出结果是()。

main()

{inta=45,b=40,c=50,d;

d=a>=30?

b:

c;

switch(d)

{case30:

printf("%d",a);

case40:

printf("%d",b);

case50:

printf("%d",c);break;

default:

printf("#");

}

}

A、304050#B、304050C、4050D、#

17、以下程序的输出结果是()。

main()

{inta,b,c,x=35;

a=b=c=0;x=35;

if(!

a)

x--;

elseif(b);

if(c)

x=3;

else

x=4;

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

}

A、35B、4C、3D、4

18、对以下循环:

for(a=0,b=0;(b!

=123)&&(a<=4);a++);说法正确的是()。

A、无限循环B、循环次数不定C、执行4次D、执行5次

19、在下列程序中,while循环的循环次数是()。

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

......

}

A、1B、10C、6D、死循环、不能确定次数

20、以下程序的输出结果是()。

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)

break;

elsei--;

}

i+=11;

a+=i;

}

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

}

A、21B、32C、33D、11

21、当输入为"quert?

"时,下面程序的执行结果是()。

main()

{while(putchar(getchar())!

='?

');}

A、quertB、RvfsuC、quert?

D、rvfsu?

22、以下能正确计算1×2×3×…×10的程序段是()。

A、do{i=1;s=1;s=s*i;i++;}while(i<=10);B、do{i=1;s=0;s=s*i;i++;}while(i<=10);

C、i=1;s=1;do{s=s*i;i++;}while(i<=10);D、i=1;s=0;do{s=s*i;i++;}while(i<=10);

23、以下能对一维数组a进行正确初始化的语句是()。

A、inta[10]=(0,0,0,0,0);B、inta[10]={};C、inta[]={0};D、inta[10]="abcdefg";

24、以下不能给数组的首元素赋值的语句是()。

A、inta[2]={1};B、inta[2]={1*2};C、inta[2];scanf(“%d”,a);D、inta[2];a[1]=1;

25、设有charstr[10];下列语句正确的是()。

A、scanf("%s",&str);B、printf("%c",str);C、printf("%s",str[0]);D、printf("%s",str);

26、以下不能对二维数组a进行正确初始化的语句是()。

A、inta[2][3]={0};B、inta[][3]={{1,2},{0}};

C、inta[2][3]={{1,2},{3,4},{5,6}};D、inta[][3]={1,2,3,4,5,6};

27、设有两字符串"Beijing"、"China"分别存放在字符数组str1[20],str2[20]中,下面语句中能把"China"连接到"Beijing"之后的为()。

A、strcpy(str1,str2);B、strcpy(str1,"China");C、strcat(str1,"China");D、strcat("Beijing",str2);

28、C语言规定:

函数返回值类型是由()。

A、return语句中的表达式类型决定B、调用该函数时的主调函数类型决定

C、调用该函数时系统临时决定D、定义该函数时所指定的函数类型决定

29、下面函数调用语句func((exp1,exp2),(exp3,exp4,exp5))中实参的个数为()。

A、1B、2C、4D、5

30、建立函数的目的之一是()。

A、提高程序的执行效率.B、提高程序的可读性C、减少程序的篇幅D、减少程序文件所占内存

31、有如下程序,该程序的输出的结果是()。

intrunc(inta,intb)

{return(a+b);}

main()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

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

}

A、12B、13C、14D、15

32、有如下程序,该程序的输出结果是()。

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn

(2);

}

main()

{printf(“%d\n”,fib(3));}

A、2B、4C、6D、8

33、以下函数的功能是:

通过键盘输入数据,为数组中的所有元素赋值。

在下划线处应填入的是()。

#defineN10

voidarrin(intx[N])

{inti=0;

while(i

scanf("%d",_________);

}

A、x+IB、&x[i+1]C、x+(i++)D、&x[++i]

34、有如下程序段,运行的结果为()。

intf(inta,intb);

main()

{inti=2,p,k=1;

p=f(i,++k);

printf(“%d,%d”,k,p);

}

intf(inta,intb)

{intc;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-1;

return(c);

}

A、1,0B、2,0C、2,-1D、1,1

35、以下程序的运行结果是()。

main()

{inta=2,i;

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

printf(“%4d”,f(a));

}

f(inta)

{intb=0,c=3;

b++;c++;

return(a+b+c);

}

A、71013B、777C、7911D、789

二、编程题

1、编程实现以下功能:

求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。

例如:

a=2,n=3,则Sn=2+22+222=246。

(其中的a,n由键盘输入,输入a、n的值分别为1和9)。

2、编程实现以下功能:

有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13,求这个数列的前n(n>10,由键盘输入20)项之和。

3、编程实现以下功能:

计算1020个西瓜几天后能卖完(第一天卖了一半多两个,以后每天卖剩的一半多两个)。

4、编程实现以下功能:

在主函数中,由键盘输入10个互不相同的整数存放在一维数组a中,从键盘上输入数x,若x属于a数组,则将其从a中删除。

在主函数中,通过调用以下几个自定义函数分别完成x的查找和删除及删除x前后显示a的元素值。

自定义函数的首部及功能如下:

⑴voidmyout(intarr[],intn):

该函数用于输出含有n个整数的数组;

⑵intdelx(intarr[],intn,intx):

该函数用于删除n个数组元素中的值等于x的元素,并返回删除后数组元素的个数。

 

一、单选题(每题1分,共30分)

1、以下叙述不正确的是()。

A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数

C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面

2、C语言程序经过连接以后生成的文件名的后缀为()。

A、.cB、.objC、.exeD、.cpp

3、C语言编译程序的首要工作是()。

A、检查C语言程序的语法错误B、检查C语言程序的逻辑错误

C、检查程序的完整性D、生成目标文件

4、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性之一的是()。

A、确定性B、有穷性C、零个或多个输出D、零个或多个输入

5、以下不属于结构化程序设计三种基本结构之一的是()。

A、顺序B、递归C、循环D、选择

6、下列可用于C语言用户标识符的一组是()。

A、void,define,WORDB、a3_b3,_123,CarC、For,-abc,IFCaseD、2a,DO,sizeof

7、若有说明语句:

charc='\72';则变量c()。

A、包含1个字符B、包含2个字符C、包含3个字符D、说明不合法,c的值不确定

8、当c的值不为0时,能正确将c的值赋给变量a和b的选项是()。

A、c=b=aB、(a=c)||(b=c)C、(a=c)&&(b=c)D、a=c=b

9、若已经定义好变量a,i且变量i已正确赋值,下列合法的语句是()。

A、a==1B、a=int(i);C、a=a++=5;D、++i;

10、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()。

A、intB、floatC、doubleD、不确定

11、若变量已定义为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是()。

A、10<回车>22<回车>33<回车>B、10.0,22.0,33.0<回车>

C、10.0<空格>22.0<空格>33.0<回车>D、102233<回车>

12、C语言中,定义PI为一个符号常量,下面正确的是()。

A.#includePI3.14B.includePI3.14

C.#definePI3.14D.definePI3.14

13、定义了一个整型变量x,能正确表示x的值小于1或大于10的C表达式是()。

A、x<1orx>10B、1010;D、x<1&&x>10;

14、已知intx=6,y=2,z;则执行语句z=x=x>y;后,变量z的值为()。

A.0B.1C.4D.5

15、下面程序段的输出结果是()。

intx=1,y=10;

if(x=y)printf("AAA");

elseprintf("BBB");

A、AAAB、BBBC、AAABBBD、不确定

16、下面程序段的输出结果是()。

for(x=9;x>0;x--)

if(x%3!

=0)

{printf("%d",--x);

continue;

}

A、741B、852C、963D、875421

17、下列说法中错误的是()。

A、只能在循环体内使用break语句

B、在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环

C、continue语句并没有使整个循环终止

D、continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断

18、以下不能把字符串:

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!

";

19、若有定义inta[]={1,2,3},b[3]={1,2,3};,表达式a==b的结果是()。

A、不能比较B、结果为真C、结果为假D、结果不确定

20、有字符数组charstr[3][20]={"111","222","333"};执行以下语句后输出的是()。

printf("%s\n",str[2]);

A、111B、222C、333D、输出语句出错

21、已知:

chara[20]="abc",b[20]="abcde";则执行以下语句后的输出结果为()。

printf("%d",strlen(strcpy(a,b)));

A、5B、6C、11D、以上答案都不正确

22、判断字符串s1不等于字符串s2,以下正确的是()。

A、if(s1!

=s2)B、if(strcmp(s1,s2)!

=0)C、if(strcmp(s1,s2)>0)D、if(strcmp(s1,s2)<0)

23、下列描述中不正确的是()。

A、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出

C、可以对整型数组进行整体输入、输出D、不能通过赋值运算符“=”对字符型数组进行整体赋值

24、下列关于return语句的说法,正确的是()。

A、只能在除主函数之外的函数中出现一次B、必须在每个函数中都出现

C、在同一个函数中可以多次出现D、只能返回数值类型的值

25、以下关于函数参数的说法正确的是()。

A、实参与其对应的形参各占用独立的存储单元B、实参与其对应的形参共占用一个存储单元

C、形参是虚拟的,不占用存储单元D、实参与对应的形参同名时才共占用存储单元

26、以下所列的函数首部定义中,正确的是()。

A、doublefun(intx,inty)B、doublefun(intx;inty)C、doublefun(intx,inty);D、doublefun(intx,y);

27、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为()。

A、地址传递B、单向值传递

C、由实参传给形参,再由形参传回给实参D、由用户指定传递方式

28、数组名作为实参传递给形参时,数组名被处理为()。

A、该数组的长度B、该数组的元素个数C、该数组的首地址D、该数组中各元素的值

29、以下关于c函数的定义与调用,正确的是()。

A、函数定义可嵌套,函数调用不可嵌套B、函数定义和函数调用都可以嵌套

C、函数定义不可以嵌套,函数调用可以嵌套D、函数定义和函数调用都不可以嵌套

30、关于C的函数,以下叙述中正确的是()。

A、实参和形参可以起相同的名字,这样可以节省存储单元

B、调用函数时,实参和形参的个数必须相同,对应参数的数据类型也必须一致

C、所有函数都能被其他函数调用,而且主调函数必须在被调函数后面

D、函数中允许出现多个return语句,因此运行程序后函数可以得到多个返回值

二、程序分析题(每题5分,共20分)

1、写出以下程序运行结果:

main()

{inta[3][3]={1,1,1,2,2,2,3,3,3},i=0,sum=0;

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

sum=sum+a[1][i];

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

}

2、写出以下程序运行的结果。

main()

{inta=7;

switch(a)

{case10:

case9:

a++;

case8:

case7:

a+=a;

case6:

a+=3;break;

default:

a+=4;

}

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

}

3、程序运行后若从键盘输入1357,写出程序运行的结果。

main()

{inta,b;

scanf("%d",&b);

while(b!

=0)

{a=b%10;

b=b/10;

printf("%d",a);

}

}

4、以下程序运行后若从键盘输入GZ2010AsiaGames,写出程序运行结果。

main()

{voidmyf(charp[]);

chara[100];

gets(a);

myf(a);

puts(a);

}

voidmyf(charp[])

{inti=0;

while(p[i]!

='\0')

{while(p[i]>='0'&&p[i]<='9')

strcpy(p+i,p+i+1);

i++;

}

}

三、程序填空题(每空2分,共30分)

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2