历年安徽科技学院C语言程序设计专升本样卷(十二套试卷)及答案_第1页
历年安徽科技学院C语言程序设计专升本样卷(十二套试卷)及答案_第2页
历年安徽科技学院C语言程序设计专升本样卷(十二套试卷)及答案_第3页
历年安徽科技学院C语言程序设计专升本样卷(十二套试卷)及答案_第4页
历年安徽科技学院C语言程序设计专升本样卷(十二套试卷)及答案_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计专升本样卷(-)}

if(i%5==0)

(总分100分,考试时长90分钟》

I

一、单项选择题(每小题2分,共40分)y++;

break;

1、在浮点数编码表示中,(1)在机器数中不出现,是隐含的。)

A、阶码)

B、符号printf(M%d,%dM,x,y);

C、尾数)

程序的输出结果是________o

D、基数

A、2,1

2、有如下程序段int*p,a=5,b=l;p=&a;a=*p+b;执行该程序段后,a的值为B、2,2

A、5C、2,5

B、6D、5,2

C、7

6、在c语言中,函数的隐含存储类别是o

D、编译出错

A、auto

3、未指定存储类别的变量,其隐含的存储类别为。B、static

A、autoC、extern

B,staticD、无存储类别

C、extern

7、inta=3,b=2,c=l;

D、1"egister

if(a>b>c)a=b;

4、以下叙述中正确的是。elsea=c;

则a的值为

A、逻辑"或"(即运算符|I)的运算级别比算术运算要高

A、3

B、C语言的关系表达式:0<x<10完全等价于:(0<x)&&(x<10)

B、2

C,逻辑“非"(即运算符!)的运算级别是最低的

D、由&&构成的逻辑表达式与由II构成的逻辑表达式都有“短路”现象C、1

D、0

5、有以下程序

main()8、若有定义:int(*p)[4];

(则标识符po

intx=0,y=0,i;A、是一个指向整型变量的指针

for(i=l;++i)B、是一个指针数组名

(C、是一个指针,它指向一个含有四个整型元素的一维数组

if(i%2==0)D、定义不合法

(

x++;9、若变量已正确定义并赋值,符合c语言语法的表达式是—

continue;A、a=a+7:

B、a=7+b+e,a++A、10,10,10

C、int(12.3%4)B、8,16,10

D、a=a+7=c+bC、8,10,10

D、8,8,10

10、下列字符串中,正确的c标识符是________o

A、foo-116、运行下面程序时,从键盘输入字母h,则输出结果是

B、2b#include<stdio.h>

C、newmainO

(

D、256

charch;

11.inti,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6有ch=getchar();

入a数组的是oswitch(ch){

case'h':printf(,,hello!\nH);

A、for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+l;

case'g':printf(wgoodmorning!\nM);

B、for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+l;

default:printf(Hbye_bye!\nn);

C、for(i=0;i<6;i++)a[i/3][i%3]=i+l;)

D、for(i=l;i<=6;i++)a[i][i]=i;}

A、Hello!

12、以下叙述正确的是o

B、Hello!

A、C程序总是以main。作为程序执行的起始行

GoodMoring!

B、main。函数若不带参数,其后面的一对圆括号可省略

C、Hello!

C、函数体内的定义语句和可执行语句允许任意交替出现

Goodmorning!

D、C语言中的语句之间必须用分号作为分隔符

Bye_Bye!

13、设变量p是指针变量,语句p=null;是给指针变量赋null值,它等价于()。D、Hello!

A、Bye_Bye!

B、p="0";

17、若有下面的说明和定义,则sizeof(structaa)的值是

C、p=0;

structaa

D、p二";

(

intrl;

14、若有定义:inta=4,b=5;floatx=3.4,y=2.1;则下列表达式的值为。

doubler2;

(float)(a+b)/2+(int)x%(int)y

floatr3;

A、5.5

}

B、55maya;

C、5.500000A、20

D、55.00000B、18

15、若有以下定义和语句:inta=010,b=0xl0,c=10;printf(w%d,%d,%d\nM,a,b,c);C、14

则输出结果是.D、16

18、以下程序段的输出结果是chars□="\\141\141abc\t";printf(',%d\n,r,strlen(s));()6、数组名作为函数参数,传送的是地址.

A、9

B、12()7、用字符串常量给数组赋初值时,如果提供的字符个数小于数组的长度,则在最后

C、13一个字符后加''0'作为字符串结束标志。

D、14

()8、在标准c语言中,所有函数在调用之前都要进行声明。

19、若有说明inta[3][4];则a数组元素的非法引用是________。

()9、main函数是c语言的主函数。

A、123

B、2.5()10、某文件中定义的静态全局变量的作用域是本文件。

C、-12

D、1563三、编程题(每小题分,共40分)

20、若有以下说明语句:1、输入两个数,交换他们的值并输出。(元素交换)(本题10分)

structdate

(2、编写程序:输入一个百分制成绩,打印出五级记分成绩。考试成绩在90分或90分

intyear;以上为优秀,80〜89分为良好,70〜79为中等,60〜69为及格,低于60

intmonth;分为不及格。(本题14分)

intday;

}brithday;3、计算n名学生成绩的平均分并通过函数返回。要求:

则下面的叙述不正确的是.结构体代码如下:

A、struct是声明结构体类型时用的关键字structStudentScore(

B、structdate是用户定义的结构体类型名doublescore;

C、brithday是用户定义的结构体类型名);(本题16分)

D、year,day都是结构体成员名

二、判断题(每小题2分,共20分)

()1、内部静态类变量的作用域和寿命与自动类变量的相同。

()2、同一个switch语句中的所有case后面的常量表达式的值都必须互不相同。

()3、假设x、y、2和卜都是山1型变量,那么执行表达式:*=(尸4,2二16,1<二32)后,*

的值为O

()4、若有intk=1;

while(k=l)k++;

则while循环执行的次数是1次

()5、c语言允许用字符串的方式对数组作初始化赋值。

参考答案[知识扩展]类型转换的一般规则是:低级类型服从高级类型,并进行相应的转换。数

据类型的级别由低到高的排序表示为:char-int—unsigned-longffloatfdouble。

一、单项选择题15、B

1、D16、C

【解析】浮点数编码表示中,符号、阶码和尾数均有体现,只有基数是固定的,无需出【解析】本题主要对switch语句进行了考查。switch语句的执行过程为:进入switch

现。结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配的case,以

2、B此作为入口,执行switch结构中后面的各语句,直到遇到break语句,则跳出switch

3、A语句,如果各case都不匹配时则执行default后面的语句。本题中ch为字符'H',所

4、D以case'H'条件中的语句将被执行,由于没有break语句,所以case'C'后的语句

【解析】B选项中,(x>0)&&(xV10)的值是I或0,条件是x>0并且xV10但是0V也被执行,由于同样的缺少break语句,所以default后的语句也被执行了。

x<10这种写法的结果任何时候都是1;C选项中,逻辑“非”(即运算符!)的运算级别是17、D

最高的;A选项中,算术运算符优先级较高,关系和逻辑运算符优先级较低。因此D选项18、A

正确。19、B

5、A【解析】A)选项必须输入6个字母或数字(数字也能输入,不符合),C)选项可以输入6

【解析】本题考查了continue和break语句在循环语句中的作用。break语句的作用是个任意字符,也不符合题议,D)选项可以选择输入6个数据或空格,不符合题意。

结束本层循环,而continue语句的作用是结束本次循环直接进入到下次循环。20、C

6、C二、判断题

【解析】为简化编程,C语言中允许在定义外部函数时省略关键字extern。1、false

7、C2、true

8、C3、false

9、B【解析】这是一个逗号表达式,返回最后一个表达式的值,即k的值。

10、Dp269、算法必须是1个或多个输入

【解析】此题考查的是C语言中标识符的定义。标识符由字母、数字或下划线构成,但算法具有0个或多个输入

第一个字符必须是字母或下划线:标识符中大小写字母是不同的;用户定义标识符时,4、false

不允许采用系统的关键字。5、true

11、D6、true

12、A7、true

13、C8、false

14、C9、true

【解析】在计算(float)(a+b/2时,由于通过强制类型转换将(a+b转换成了foat型,所10、true

以应先将2转换成float型,再进行计算,得4.500000。三、编程题

在计算(int)x%(int)y时,先将x和y通过强制类型转换成int型,再进行求余运1、#include<stdio.h>

算,得1。又因为4.500000是float型,所以将1和它相加时,先将1换成float型,intmain()

再计算,得到5.500000。

intm,n,temp;

scanf(0%d%d0;}

if(m<n))

(3、doubleFun(structStudentScore*a,intn){

temp=m;inti;

m=n;doublesum=0.0;

n=temp;for(i=0;i<n;i++)

}(

printf("%dH,m);sum+=a[i].score;

return0;)

)returnsum/n;

2、^include<stdio.h>)

#include<conio.h>intmainO

#include<stdlib.h>{

#include<math.h>structStudentScorea[100];

voidmainOintn;〃学生数量

inti;

intscore,t;printf("请输入学生数量:");

printf("Pleaseenterascore:H);scanf("%d",&n);

dofor(i=0;i<n;i++)

((

scanf("%d”,&score);printf("请输入第%d个学生的成绩:",i+1);scanf(M%1fh,&a[i].score);

))

while(score<0|score>100);printfFun(a,n));

t=score/10;return0;

/*************found**************/)

switch(t)请输入学生数量:3

(请输入第1个学生的成绩:90

case10:请输入第2个学生的成绩:100.0

case9:printf(M优秀!\nM);break;请输入第3个学生的成绩:80

case8:printf(n良好!\nM);break;90.000000

case7:printf(H中等!\nw);break;

case6:printf(n及格!\nM);break;

/*************found**************/

default:printf(M不及格!\nM);

C语言程序设计专升本样卷(二))

程序的输出结果为

(总分100分,考试时*90分钟)

A、9,66,9

一、单项选择题(每小题2分,共40分)B、6,99,6

C、6,96,9

1、以下叙述中错误的O

D、9,69,6

A、C程序在运行过程中所有计算都以二进制方式进行

B、C程序在运行过程中所有计算都以十进制方式进行5、有以下程序:

C、所有C程序都需要编译钱接无误后才能运行main()

D、C程序中整型变量只能存放整数,实型变量只能存放浮点数(

intc=0,k;

2、b等于()for(k=l;k<3;k++)

A、1000字节switch(k)

B、1024字节(

C、1000X1000字节default:c+=k;

case2:c++;

D、1024X1024字节

break;

3、若t已经定义为int类型,则表达式:(t=l,t++,t+5)的值为—case4:c+=2;

break;

A、7

}

B、7.0,,,,

printf(%d\ntc);

C、2.0)

D、1.0程序运行后的输出结果是

A、3

4、分析下列程序:

#include<stdio.h>B、5

main()C、7

(D、9

int*pl,*p2,*p;

inta=6,b=9;6、以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致

pl=&a;不能实现预定功能

p2=&b;^defineMIN-2147463647

if(a<b)intfindmax(intx[],intn)

((

inti,max;

P二pl;

pl=p2;for(i=0;i<n;i++)

(

p2二p;

}max=MIN;

printf(n%d,%d\*pl,*p2);if(max<x[i])max=x[i];

printf("%d,%dw,a,b);}

returnmax;

是________

造成错误的原因是。A、intin=max(10,11,12,13,14);

A、定义语句inti.max中max未赋值B、intm=max(10,,,12,13,14);

B、赋值语句max=MIN;中,不应该给max赋MIN值C、intm=max(10,IL,13,14);

C,语句if(max<x[i])max=x[i];中判断条件设置错误D、intm=max(10,11,12,,14);

D、赋值语句max=MIN;放错了位置

13、以下叙述中不正确的是_______。

7、以下说法中正确的是_=A、一个好的程序应该有详尽的注释

A,#define和printf都是C语句B、在C程序中,赋值运算符的优先级最低

B、Sdefine是C语句,而printf不是。C、在C程序中,j++;是一条赋值语句

C、printf是C语句,但#define不是________。D、C程序中的#include和#define均不是C语句

D,#define和printf都不是C语句

14、以下叙述中正确的是________。

8、算法指的是。A、构成C程序的基本单位是函数

A、解决问题的方法、步骤和思路的一种描述B、可以在一个函数中定义另一个函数

B、计算机程序C、main。函数必须放在其他函数之前

C、排序方法D、所有被调用的函数一定要在调用之前进行定义

D、数据处理

15、下列语句执行后的结果是,y=5;p=&y;x=*p++;

9、位字段数据的单位是位。A、x=5,y=5

A,十六进制B、x=5,y=6

B、八进制C、x=6.y=5

C、二进制D、x=6,y=6

D,十进制

16、若i、j已定义为int型,则以下程序段中内循环的总的执行次数是。for(i

10、下面正确的字符串常量是=5;i>0;i—)for(j=0;j<4;j++)-

A,'a'A,20

B,'376'B、24

C."\n"C、25

D、376D、30

11、有两个字符数组a,b,则以下正确的输入语句是017、以下程序的输出结果是。

A、gets(a,b);structhar

B、scanf("%s%s",a,b);{

intx,y;

C、scanf("%s%s",&a,&b);

structhar*p;

D、gets("a"),getsCb");)

h⑵;

12、对函数intmax(inta,intb=0,intc=0,intd=0,inte=0);下列调用方式正确的

main()main()

((

h[O].x=l;inti;

h[0].y=2;structss={10,{2,3,1,6,8,7,5,4,10,9}};

h[l].x=3;f(s.a,s.n);

h[l].y=4;for(i=0;i<s.n;i++)printf(M%d,n,s.a[i]);

h[O].p=&h[l];)

h[l].p=h;程序运行后的输出结果是_______o

nM

printf(%d%d\n,(h[O].p)->x,(h[l].p)->y);A、2,4,3,9,12,12,11,11,18,9,

)

B、3,4,2,7,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论