广东海洋大学C语言试题知识分享.docx

上传人:b****2 文档编号:2291941 上传时间:2023-05-03 格式:DOCX 页数:13 大小:28.13KB
下载 相关 举报
广东海洋大学C语言试题知识分享.docx_第1页
第1页 / 共13页
广东海洋大学C语言试题知识分享.docx_第2页
第2页 / 共13页
广东海洋大学C语言试题知识分享.docx_第3页
第3页 / 共13页
广东海洋大学C语言试题知识分享.docx_第4页
第4页 / 共13页
广东海洋大学C语言试题知识分享.docx_第5页
第5页 / 共13页
广东海洋大学C语言试题知识分享.docx_第6页
第6页 / 共13页
广东海洋大学C语言试题知识分享.docx_第7页
第7页 / 共13页
广东海洋大学C语言试题知识分享.docx_第8页
第8页 / 共13页
广东海洋大学C语言试题知识分享.docx_第9页
第9页 / 共13页
广东海洋大学C语言试题知识分享.docx_第10页
第10页 / 共13页
广东海洋大学C语言试题知识分享.docx_第11页
第11页 / 共13页
广东海洋大学C语言试题知识分享.docx_第12页
第12页 / 共13页
广东海洋大学C语言试题知识分享.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

广东海洋大学C语言试题知识分享.docx

《广东海洋大学C语言试题知识分享.docx》由会员分享,可在线阅读,更多相关《广东海洋大学C语言试题知识分享.docx(13页珍藏版)》请在冰点文库上搜索。

广东海洋大学C语言试题知识分享.docx

广东海洋大学C语言试题知识分享

 

广东海洋大学C语言试题

广东海洋大学——学年第学期

《C程序设计》课程试题

课程号:

16232110

考试

A卷

闭卷

考查

B卷

开卷

题号

总分

阅卷教师

各题分数

25

20

10

10

5

30

100

实得分数

一、单项选择题(25分,每题1分)

1.正确的c语言标识符是____________.

A.2nameB.DATA_FILEC.(break)D.A@COM

答案:

B知识点:

标识符难度:

C

2.在c语言中,数组元素的下标从__________开始.

A.0B.1C.2D.任意

答案:

A知识点:

数组难度:

C

3.执行下列程序后,a的值是___________.

Inta=9,b,c;a+=2;

A.2B.10C.11D.8

答案:

C知识点:

运算符难度:

B

4.若有以下定义和语句,且,则___________是对数组元素的正确表示.

inta[]={1,2,3,4,5},*p;

p=a;

A.&(a+2)B.a++C.p[2]D.&p

答案:

C知识点:

数组难度:

A

5为避免嵌套条件支语句if~else的二义性,C语言规定,else总是与__________组成配对关系.

A.缩排位置相同的ifB.同一行的if

C.在其之前未配对的最近的ifD.在其之前未配对的if

答案:

C知识点:

分支语句难度:

C

6.若a=10,b=20,c=30,则表达式________的值为真.

A.!

(a!

=0)B.(ac)

C.(b>c)||(b>a)D.(c==a)||(c==b)

答案:

C知识点:

表达式难度:

B

7.若已定义:

inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是__________

  A.p+1  B.a+1  C.a++  D.++p

答案:

C知识点:

指针难度:

A

8.若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是_______________

intt[3][3],*pt([3],k;

  for(k=0;k<3;k++)pt[k]=&t[k][0];

  A.t[2][0]  B.t[2][2]  C.t[l][2]  D.t[2][l]

答案:

C知识点:

数组与指针难度:

A

9.设x和y均为int型变量,则下列语句

x+=y;y=x-y;x-=y;

的功能是()。

A.把x和y按从大到小排序B.把x和y按从小到大排序

C.无确定结果D.交换x和y的值

(难度系数B,知识点:

+=,-=)答案:

D

10.下述描述中不正确的是()。

A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出

C.可以对整型数组进行整体输入、输出

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

(难度系数B,知识点:

数组)答案:

C

11.以下4个选项中,不能看作一条语句的是()

A.{;}B.a=0,b=0,c=0;

C.if(a>0);D.if(b==0)m=1;n=2;

(难度系数C,知识点:

单行语句)答案:

D

12.若已定义:

inta[]={0,1,2,3,4,5,6,7,8,9],*p=a,i;

其中0≤i≤9,则对a数组元素不正确的引用是()

A.a[p-a](B)*(&a[i])C.p[i]D.a[10]

(难度系数C,知识点:

数组元素)答案:

D

13.若有ints[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是()

A.1B.2C.3D.4

数组运算(难度系数C)答案:

D

14.用数组名作为函数的实参时,传递给形参的是()。

A.数组的首地址B.数组的第1个元素

C.数组中的全部元素D.数组的元素个数

函数调用(难度系数C)答案:

A

15.表达式'A'+4*25.0-'b'的正确结果是()。

A.67B.67.0C.不确定D.67L

C语言表达式运算(难度系数B)答案:

B

16.能表示条件0≤x≤100的表达式是()。

A.0<=x<=100B.)x>=0,x<=100

C.0≤x≤100D.)x>=0&&x<=100

C语言表达式运算(难度系数C)答案:

D

17.对字符串"Boy"进行完整赋值的操作是()。

A.chars[3]={'B','o','y'};B.chars[]="Boy";

C.chars[3]={"Boy"};D.chars[3];s="Boy";

字符串数组运算(难度系数C)答案:

B

18.若有代数式

,则不正确的C语言表达式是()。

A.x/b/c*y*8B.8*x*y/b/c

C.8*x*y/b*cD.x*y/c/b*8

C语言表达式(难度系数B)答案:

C

19、下列可以正确表示字符型常数的是。

A."B"B.'\010'C.68D.D

(知识点字符型常数难度系数C)正确答案:

B

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

voidmain()

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

p=a;*(p+3)+=1;

printf(“%d,%d\n”,*p,*(p+3));}

A.0,5B.1,5C.0,6D.1,6

(难度系数B)(答案:

B)(知识点:

指针)

21、若变量a是int类型,并执行了语句:

a='D'+3.5;则正确的叙述是:

A.a的值是字符DB.a的值是3

C.不允许字符型和浮点型相加D.a的值是字符'D'的ASCII值加上3

(知识点字符难度系数B)正确答案:

D

22.若有说明语句:

inta,b,c,*d=&c;,则能正确从键盘读入三个整数

分别赋给变量a、b、c的语句是()。

A.scanf("%d%d%d",&a,&b,&d);B.scanf("%d%d%d",&a,&b,d);

C.scanf("%d%d%d",a,b,d);D.scanf("%d%d%d",a,b,*d);

(知识点键盘读入难度系数C)正确答案:

B

23.为判断变量m是否是数字,可用表达式()。

A.0<=m&&m<=9B.'0'<=m&&m<='9'

C."0"<=m&&m<="9"D.、三个答案都错

(知识点变量难度系数B)正确答案:

A

24、对于"int*pa[5];"的描述中,是正确的。

A.pa是一个指向数组的指针,所指向的数组是5个int型元素

B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量

C.pa[5]表示某个元素的第5个元素的值

D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针

(知识点指针难度系数B)正确答案:

D

25、下列程序段的输出结果是。

func(inta,intb)

{intc;

c=a+b;

returnc;

}

main()

{intx=6,y=7,z=8,r;

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

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

}

A.18B.22C.21D.19

(知识点函数难度系数A)正确答案:

C

 

二、填空题(20分,每题2分)

1.下列程序的输出结果是()。

#include

main()

{charb[30];

strcpy(&b[0],"CH");

strcpy(&b[1],"DEF");

strcpy(&b[2],"ABC");

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

}

答案:

CDABC知识点:

内部函数,字符数组难度:

A

2.下列程序的输出结果是()。

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

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

t(a,b,c,d);

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

}

答案:

56知识点:

函数难度:

B

3.十进制数1385转换成十六进制数为___________

答案:

569知识点:

进制转换难度:

B:

考试大-计算机二级考试

4.语句:

printf("%d",(a=2)&&(b=-2);的输出结果是_________

  答案:

1知识点:

运算符难度:

C

5.以下程序的输出结果是_____________

  {intx=10,y=10,I;

  for(i=0;x>8;y=++i)

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

  }

答案:

101091知识点:

for循环难度:

B

6、若有说明:

inta[3][4]={{1,2},{0},{4,6,8,10}},则a[1][2]=

(知识点数组难度系数C)答案:

0

7、已知x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值为:

______

(知识点变量难度系数B)答案:

2.5

8、设i,j均为int型变量,则执行完下面的for循环后,k的值为。

for(i=1,j=10;i<=j;i++,j--)k=i+j;

(知识点变量难度系数B)答案:

10

9、定义b为共有10个元素的一维数字数组、同时定义p为指向a数组首地址的指针变量的语句为。

(知识点数组难度系数B)答案:

intb[10],*p=a;

10、若b=10,则(++b)+(++b)+(++b)的值为:

(知识点++运算符难度系数A)答案:

37

 

三、判断题(10分,每题1分)

1、( )所有的变量在使用前都必须予以申明。

 

(难度系数C,知识点:

变量声明)答案:

2、( )switch选择结构中必须有default子句。

(难度系数C,知识点:

switch选择结构)答案:

3、( )求余运算符%只能用于两个整数操作数。

(难度系数C,知识点:

求余运算符%)答案:

4、( )若有说明intc;则while(c=getchar());是错误的C语句。

(难度系数B,知识点:

while语句)答案:

5、( )使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。

(难度系数C,知识点:

跳出循环语句)答案:

6、()注释内容太多会影响程序的执行效率。

知识点:

C程序执行(难度系数C)答案:

7、()C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

知识点:

C程序执行(难度系数C)答案:

8、()若定义的函数没有参数,则函数名后的圆括号可以省略。

知识点:

函数定义(难度系数C)答案:

9.()在一个函数内中定义的变量可以在本函数范围内有效。

(知识点函数难度系数B)答案:

10.()全局变量和静态变量没有初始时,初始值为0。

(知识点变量难度系数B)答案:

 

四、程序填空题(10分,每题5分)

1、下面程序的功能是:

求一个5×5矩阵对角线元素之和。

#defineN5

main()

{inta[N][N],sum=0;

inti,j;

for(i=0;i

for(j=0;j

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

for(i=0;i

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

}

(难度系数B,知识点:

二维数组求和)答案:

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

2、输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数。

用下标为0元素统计字符“0”的个数,下标为1的元素统计字符“1”的个数。

程序如下

#include

voidmain()

{charc[80];inti=0,k,a[10]={0};

gets(c);

while(①)

{k=c[i]-48;

②;i++;}

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

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

}

(知识点数组难度系数B)答案:

①c[i]!

='0'②a[k]++或a[k]+1③a[i]

 

五、读程序写结果(5分,每题5分)

1、#include

#include

structWorker{

charname[15];//姓名

intage;//年龄

floatpay;};//工资

voidmain()

{Workerx;

char*t="WeiRong";

intd=45;floatf=4000;

strcpy(x.name,t);

x.age=d;x.pay=f;

printf("%s%d%f\n",x.name,x.age,x.pay);}

该程序的运行结果是:

___________________________________

(知识点指针,字符难度系数B)答案:

WeiRong454000

六、编程题(30分,每题10分)

1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

答案:

#include"stdio.h"

main()

  {

  inti,j,k,n;

  printf("'waterflower'numberis:

");

  for(n=100;n<1000;n++)

  {

  i=n/100;/*分解出百位*/

  j=n/10%10;/*分解出十位*/

  k=n%10;/*分解出个位*/

  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

  {

  printf("%-5d",n);

  }

  }

  printf("\n");

  }

知识点:

循环结构,分支结构难度:

B

2、编写程序判断某一个数m是否为素数,如果是则输出"misaprime",否则就输出"misnotaprime"。

(难度系数C,知识点:

素数)答案:

main(){inti,m;

printf("pleaseinputanumberm:

\n");

scanf("m=%d",&m);

for(i=2;i

{if(m%i==0)

{printf("%disaprime\n",m);break;}

elsecontinue;}

if(i==m)printf("%disnotaprime\n",m);

}

3.编程将字符数组中的字符串逆序存放并将前后结果输出,要求在一个函数中用指针来实现字符串逆序存放。

C语言指针使用(难度系数A)答案:

charstrrev(char*s)

{char*head=s,*tail;

chartemp;

tail=s+(strlen(s)-1);

while(head

{temp=*tail;

*tail=*head;  

*head=temp;

tail--;head++;}

main()

{chartest[]={“thisisthetest.”};

printf(“%s\n”,test);

strrev(test);

printf(“%s\n”,test);

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

当前位置:首页 > 总结汇报 > 学习总结

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

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