C语言程序设计试题A文档格式.docx

上传人:b****5 文档编号:21604345 上传时间:2023-01-31 格式:DOCX 页数:11 大小:18.89KB
下载 相关 举报
C语言程序设计试题A文档格式.docx_第1页
第1页 / 共11页
C语言程序设计试题A文档格式.docx_第2页
第2页 / 共11页
C语言程序设计试题A文档格式.docx_第3页
第3页 / 共11页
C语言程序设计试题A文档格式.docx_第4页
第4页 / 共11页
C语言程序设计试题A文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言程序设计试题A文档格式.docx

《C语言程序设计试题A文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计试题A文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

C语言程序设计试题A文档格式.docx

{inta=3;

printf(“%d\n”,(a+=a-=a*a));

}

A)–6B)12C)0D)–12

6.设有如下程序段:

 

intx=2002,y=2003;

printf("

%d\n"

(x,y));

  则以下叙述中正确的是()

  A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出

  B)运行时产生出错信息

  C)输出值为2002

  D)输出值为2003

7.以下不能正确定义二维数组的选项是()

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

B)inta[2][]={{1,2},{3,4},{5,6}};

  

  C)inta[2][2]={{1},2,3};

D)inta[][2]={1,2,3,4};

8.能正确计算变量a所占内存字节数的表达式是()

unionU

{charst[4];

inti;

longl;

};

structAA

{intc;

unionUu;

}a;

A)sizeof(U)B)5sizeof(l)C)sizeof(AA)D)sizeof(u)

9.对于以下递归函数f,调用f(4),其返回值为()

intf(intn)

{if(n>

0)

returnf(n-1)+n;

else

return0;

A)10B)11C)0D)以上均不是

10.以下程序的运行结果是()

#defineMIN(x,y)(x)<

(y)?

(x):

(y)

main()

{inti=10,j=13,k;

k=10*MIN(i,j);

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

}

A)10B)130C)100D)13

11.设有inti;

则表达式i=1,++i,++i||++i,i的值为()

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

12.以下程序的运行结果是()

charstr[]=”ABC”,*p=str;

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

A)67B)0C)字符‘C’的地址D)字符‘C’

13.以下程序的运行结果是()

{chara[]=”language”,b[]=”programe”;

char*p1,*p2;

intk;

p1=a;

p2=b;

for(k=0;

k<

=7;

k++)

if(*(p1+k)!

=*(p2+k))

printf(“%c”,*(p1+k));

}

A)gaeB)lanugC)languageD)programe

14.以下程序的运行结果是()

{intx[5]={1,3,5,7,9},*p,**pp;

p=x;

pp=&

p;

printf(“%d”,*(p++));

printf(“%d\n”,**pp);

A)33B)15C)13D)35

15.若有以下说明和语句,则下面表达式中值为1002的是()

structstudent

{intnum;

intage;

};

structstudentstu[3]={{1001,20},{1002,19},{1003,21}};

structstudent*p;

p=stu;

A)(p++)->

numB)(p++)->

ageC)(*p).numD)(*++p).num

二、填空题(共10分,每小题1分)

1.设有以下变量定义,并已赋确定的值,则表达式:

w*x+z-y所求得的数据类型为

charw;

intx;

floaty;

doublez;

2.当a=5,b=4,c=2时,表达式a>

b!

=c的值为

3.用for循环打印147101316192225,其语句应为

for(i=1;

i<

=9;

i++)printf(“%3d”,)

4.执行完下列语句段后,i值为______

inti,j;

j=10*(i=5);

i+=j*=i+2;

5.表达式~3&

(2&

3^4)的值为_______________

6.若有定义:

inta[3][4]={{1,2},{3,7,5},{4,6,8,10}};

则a[1][2]的值为,a[2][1]的值为

7.若有以下定义和语句,则++(*p)的值为

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

p=&

a[1];

8.若有定义:

inta[3][3]={2,4,6,8,10,12,14,16,18},(*p)[3];

a[1]则a[1][0]的值是,*(*(p+1)+1)的值是

9.对于charc;

若已知其值为小写字母,将其转换为相应大写字母的表达式为

10.若有以下定义和语句,则p+1表示

ints[2][3]={0},(*p)[3];

p=s;

三、分析程序,写出结果(共18分,每小题3分)

1.#include<

stdio.h>

voidmain(void)

{intnum=0;

while(num<

=2)

{num++;

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

2.#include<

voidmain(viod)

{inta,s,n,count;

a=2;

s=0;

n=1;

count=1;

while(count<

=7){n=n*a;

s=s+n;

++count;

printf(“s=%d”,s);

3.#include<

voidf(inty,int*x)

{y=y+*x;

*x=*x+y;

{intx=2,y=4;

f(y,&

x);

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

4.#include<

voidmain(void)

{inti,j,row,col,m;

inta[3][4]={{1,2,3,4},{9,8,7,6},{-1,-2,0,5}};

m=a[0][0];

for(i=0;

i<

3;

i++)

for(j=0;

j<

4;

j++)

if(a[i][j]>

m)

{m=a[i][j];

row=i;

col=j;

printf(“m=%d,row=%d,col=%d\n”,m,row,col);

5.#include<

intf(intn)

{staticints=2;

while(n)s*=n--;

returns;

voidmain(void)

{inti,j;

i=f

(2);

j=f(3);

printf("

\nTheoutputof3.5is:

\n"

);

i=%dj=%d\n"

i,j);

6.#include<

{intb[2][3]={2,4,6,8,10,12};

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

int*p,k;

p=a[0];

6;

{printf(“%4d”,*p);

p++;

四、指出下面程序中的错误并改正(注:

每题仅有一个错误.共10分,每小题2分)

{c;

c=getchar();

putchar(c);

{char*str;

*str=”abc”;

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

3.#include<

voidmain(void)

{charx=’a’;

printf(“%f\n”,x=x<

<

=1);

intmax(intx,inty)

{intz;

if(x>

y)z=x;

elsez=y;

return(z);

{inta,*b,c;

scanf(“%d,%d”,&

a,&

b);

c=max(a,*b);

printf(“max=%d”,c);

5.#include<

{inta,b;

scanf(“%d%d”,a,b);

a=a+b;

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

五、在下面程序中横线处填上适当字句,使其能正确执行(共12分,每小题4分)

1.有以下程序段:

s=1.0;

for(k=1;

=n;

k++)s=s+1.0/(k*(k+1));

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

请填空,使下面的程序段的功能完全与之相同。

s=0.0;

d=1.0;

k=0;

do

{s=s+d;

_________;

d=1.0/(k*(k+1));

while(______);

2.以下程序的功能是:

通过指针操作,找出3个整数中的最小值并输出

#include<

{int*a,*b,*c,num,x,y,z;

a=&

x;

b=&

y,c=&

z;

scanf(“%d%d%d”,a,b,c);

num=*a;

if(*a>

*b);

if(num>

*c);

printf(“num=%d\n”,num);

3.请仔细阅读程序段A,在程序段B中空栏中填入正确的内容,使程序段A与B有相同的功能。

程序A:

intf(intn)

{

if(n<

=1)

returnn;

else

returnf(n-1)+f(n-2);

_______;

t0=0;

t1=1;

t=n;

while(______)

t=____;

t0=t1;

t1=t;

n--;

return____;

六、编程(共20分,第1小题8分,第2小题12分)

1.编写一程序用于计算1-22+32-42+…+992-1002

2.下面findmax函数将找出数字中的最大元素及下标值和地址值。

请按下编写*findmax()函数。

int*findmax(int*s,intt,int*k)

{

{inta[10]={12,23,34,45,56,67,,78,89,11,22},k,*add;

add=findmax(a,10,&

k);

printf(“%d,%d,%0\n”,a[k],k,add);

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

当前位置:首页 > PPT模板 > 国外设计风格

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

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