C语言程序的设计第2阶段练习题Word格式文档下载.docx

上传人:b****6 文档编号:17298959 上传时间:2022-12-01 格式:DOCX 页数:9 大小:18.67KB
下载 相关 举报
C语言程序的设计第2阶段练习题Word格式文档下载.docx_第1页
第1页 / 共9页
C语言程序的设计第2阶段练习题Word格式文档下载.docx_第2页
第2页 / 共9页
C语言程序的设计第2阶段练习题Word格式文档下载.docx_第3页
第3页 / 共9页
C语言程序的设计第2阶段练习题Word格式文档下载.docx_第4页
第4页 / 共9页
C语言程序的设计第2阶段练习题Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言程序的设计第2阶段练习题Word格式文档下载.docx

《C语言程序的设计第2阶段练习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计第2阶段练习题Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

C语言程序的设计第2阶段练习题Word格式文档下载.docx

A、二个语句都不正确

B、s所指向的字符串和s1的值都是"

C、第一个语句正确,而第二个语句不正确

D、第二个语句正确,而第一个语句不正确

3、变量的有效范围与其定义位置有关,(),其作用域在整个源程序文件中都有效。

A、在第一个函数中定义的变量

B、在定义第一个函数之前所定义的变量

C、在主函数中定义的变量

D、在函数中定义的静态变量

4、若程序中定义了以下函数

doublemyadd(doublea,doubleB)

{return(a+B);

}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。

A、doublemyadd(doublea,B);

B、doublemyadd(double,double);

C、doublemyadd(doubleb,doubleA);

D、doublemyadd(doublex,doubley);

5、有以下程序

voidf(intv,intw)

{intt;

t=v;

v=w;

w=t;

main()

{intx=1,y=3,z=2;

if(x>

y)f(x,y);

elseif(y>

z)f(y,z);

elsef(x,z);

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

执行后输出结果是()。

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

6、函数调用可以……,以下错误的是()。

A、出现在执行语句中B、出现在一个表达式中

C、作为一个函数的实参D、作为一个函数的形参

7、若有宏定义与变量说明如下:

#defineX5

#defineYX+1

#defineZY*X/2

inta;

a=Y;

则执行以下printf语句后输出的结果是()。

Printf("

%d%d\n"

Z,--a);

A、75B、126C、125D、76

8、下列说法不正确的是()。

A、宏替换不占用运行时间B、宏无类型

C、宏替换只是字符替换D、宏名必须用大写字母表示

9、数组名作为参数传递给函数,此时作为实在参数的数组名被处理为()。

A、该数组的长度B、该数组的元素个数

C、该数组中各元素的值D、该数组的首地址

10.执行完下面的程序段后,屏幕显示的内容为()。

main()

{inta=2,i;

for(i=0;

i<

3;

i++)printf("

f(a));

f(inta)

{intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

A、777B、777C、789D、789

11、以下描述中,正确的是()。

A、调用函数时,实参可以是表达式

B、调用函数时,将为形参分配内存单元

C、调用函数时,实参与形参的原型必须一致

D、调用函数时,实参与形参可以用内存单元

12、以下能正确定义一维数组的选项是()。

A、intnum[];

B、#defineN100

intnum[N];

C、intnum[0..100];

D、intN=100;

intnum[N];

13、有两个字符数组a,b,则以下正确的输入语句是()。

A、gets(a,b);

B、scanf("

%s%s"

a,b);

C、scanf("

&

a,&

b);

D、gets("

a"

),gets("

b"

);

14、下述对C语言字符数组的描述中错误的是()。

A、字符数组可以存放字符串

B、字符数组的字符串可以整体输入、输出

C、可以在赋值语句中通过赋值运算符"

="

对字符数组整体赋值

D、不可以用关系运算符对字符数组中的字符串进行比较

15、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。

A、float型B、int型C、long型D、double型

16、在C语言中,引用数组元素时,其下标的数据类型允许是()。

A、整型常量B、整型表达式

C、整型常量或整型表达式D、任何类型的表达式

17、C语言中函数能否嵌套调用和递归调用?

以下说法正确的是()。

A、二者均不可B、前者可,后者不可

C、前者不可,后者可D、二者均可

18、有语句charstr1[10],str2[10]={"

books"

};

则能将字符串books赋给数组str1的正确语句是()。

A、str1={"

Books"

B、strcpy(str1,str2);

C、str1=str2;

D、strcpy(str2,str1);

19、以下函数调用中有()个实参。

expd((a1,a2,a3),(a4,a5),a7,a8)

A、4个B、3个C、8个D、5个

20、C语言的编译系统对宏命令是()时候处理的。

A、在程序运行

B、在程序连接时

C、和源程序其它C语言同时进行编译时

D、对源程序其它成份正式编译之前进行处理的

二、填空题(本题共8小题,每空2分,共30分)

1、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为。

2、在C语言中,二维数组元素在内存中的存放顺序是按存放的。

3、下面rotate函数的功能是:

将n行n列的矩阵A转置为A’,例如:

123415913

5678261014

当A=9101112则A’=371115

13141516481216

请填空

#defineN4

voidrotate(inta[][N])

{inti,j,t;

N;

i++)

for(j=0;

;

j++)

{t=a[i][j];

a[j][i]=t;

}

4、以下程序实现从键盘上输入一个字符,用折半查找法找出该字符在已排序的字符串a中的位置。

若字符不在,则打印**。

请完善以下程序。

#include”stdio.h”

#include”string.h”

{charstr[100],ch;

intbot=0,top,mid,flag=0;

gets(str);

getchar(ch);

top=;

while((top-bot)>

=0)

{mid=;

if(str[mid]==c)

{;

;

elseif(str[mid]<

c)

bot=;

else

top=;

if(flag)

printf(“%c字符在已知字符串中位置是%d\n”,c,mid+1);

else

printf(“**”);

5、以下函数的功能是删除字符串s中的所有数字字符。

请填空。

voiddele(chars[])

{intn=0,i;

for(i=0,s[i];

if()

s[n++]=s[i];

s[n]=;

6、执行以下程序后,输出的结果是。

intm=10;

intf(intx,inty)

{intm=5;

m+=x*y;

returnm;

main()

{inta=6,b=7;

printf(“%d\n”,f(a,b)/m);

7、以下程序运行后的输出结果是。

#defineSQR(x)x*x

{inta,k=3;

a=++SQR(k+1);

printf("

%d\n"

a);

8、有以下程序

voidswap1(intc[])

t=c[0];

c[0]=c[1];

c[1]=t;

voidswap2(intc0,intc1)

t=c0;

c0=c1;

c1=t;

{inta[2]={3,5},b[2]={3,5};

swap1(A);

swap2(b[0],b[1]);

printf(“%d,%d,%d,%d\n”,a[0],a[1],b[0],b[1]);

其输出结果是。

五、编程题(本题共2小题,每小题15分,共30分)

1、编写程序实现输入一个十进制数,将其转化为指定进制的数制字符。

2、编写程序将下标为奇数的数组元素从数组中删除,然后排序输出。

 

参考答案:

一、单项选择题:

(本题共20小题,每小题2分,共40分)

1、B2、A3、B4、A5、C

6、D7、A8、D9、D10、C

11、A12、B13、B14、C15、B

16、C17、D18、B19、A20、D

1、auto(动态存储)2、行3、j<

N、a[i][j]=a[j][i]

4、strlen(str)-1、(top+bot)/2、flag=1、break、mid+1、mid-1

5、s[i]<

’0’||s[i]>

’9’、‘\0’

6、47、98、5,3,3,5

五、编程题:

(本题共2小题,每小题15分,共30分)

1、

#include"

string.h"

stdio.h"

voidf(intm,intr,chara[])

{inti=0,k;

charb[17]="

0123456789ABCDEF"

t;

while(m!

{a[i++]=b[m%r];

m=m/r;

a[i]='

\0'

puts(a);

k=strlen(a);

k/2;

{t=a[i];

a[i]=a[k-1-i];

a[k-1-i]=t;

{intr,m,i=0;

chara[16];

printf("

pleaseinputm,r\n"

do

{scanf("

%d,%d"

m,&

r);

}while(m<

0||r<

2||r>

16);

f(m,r,a);

%dzhuanhuancheng%djinzhizifuchuanwei%s\n"

m,r,a);

2、

#defineN10

voidsort(inta[],intn)

{intI,j,t;

for(I=1;

I<

=n-1;

I++)

for(j=0;

j<

n-I;

if(a[j]>

a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}}

{inta[N],I,k=0;

for(I=0;

scanf("

a[I]);

if(I%2==0)a[k++]=a[I];

sort(a,k);

for(I=0;

k;

%d"

a[I]);

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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