C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx

上传人:b****2 文档编号:1084073 上传时间:2022-10-16 格式:DOCX 页数:12 大小:18.93KB
下载 相关 举报
C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx_第1页
第1页 / 共12页
C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx_第2页
第2页 / 共12页
C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx_第3页
第3页 / 共12页
C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx_第4页
第4页 / 共12页
C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx

《C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx(12页珍藏版)》请在冰豆网上搜索。

C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面.docx

C语言程序设计第2阶段练习题及答案这是其中一个阶段共3个阶段答案在后面

江南大学网络教育第二阶段练习题及答案,这是其中一个阶段共3个阶段。

答案在后面

考试科目:

《C语言程序设计》第章至第章(总分100分)

__________学习中心(教学点)批次:

层次:

专业:

学号:

身份证号:

姓名:

得分:

 

一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

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

(2分)

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

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

C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

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

2.有以下程序

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);

}

执行后输出结果是()。

(2分)

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1

3.有语句charstr1[10],str2[10]={"books"};则能将字符串books赋给数组str1的正确语句是()。

(2分)

A.str1={"Books"};

B.strcpy(str1,str2);

C.str1=str2;

D.strcpy(str2,str1);

4.若有变量说明:

chars,s1[20];执行语句:

s="student";s1=s;正确的叙述是()。

(2分)

A.二个语句都不正确

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

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

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

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

(2分)

A.在程序运行

B.在程序连接时

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

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

6.下列说法不正确的是()。

(2分)

A.宏替换不占用运行时间

B.宏无类型

C.宏替换只是字符替换

D.宏名必须用大写字母表示

7.若有以下说明和语句,则输出结果是()。

charsp[]="\x69\082\n";

printf("%d",strlen(sp));(2分)

A.3

B.5

C.1

D.字符串中有非法字符,输出值不定

8.以下函数调用中有()个实参。

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

(2分)

A.4个

B.3个

C.8个

D.5个

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

main()

{inta=2,i;

for(i=0;i<3i=""printf=""d=""f=""a="">

}

f(inta)

{intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

}

(2分)

A.777

B.777

C.789

D.789

10.若有宏定义与变量说明如下:

#defineX5

#defineYX+1

#defineZY*X/2

inta;a=Y;

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

Printf("%d%d\n",Z,--a);(2分)

A.75

B.126

C.125

D.76

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

(2分)

A.出现在执行语句中

B.出现在一个表达式中

C.作为一个函数的实参

D.作为一个函数的形参

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

以下说法正确的是()。

(2分)

A.二者均不可

B.前者可,后者不可

C.前者不可,后者可

D.二者均可

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

(2分)

A.float型

B.int型

C.long型

D.double型

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

(2分)

A.gets(a,b);

B.scanf("%s%s",a,b);

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

D.gets("a"),gets("b");

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

(2分)

A.该数组的长度

B.该数组的元素个数

C.该数组中各元素的值

D.该数组的首地址

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

(2分)

A.intnum[];

B.#defineN100

intnum[N];

C.intnum[0..100];

intnum[N];

D.intN=100;

17.若程序中定义了以下函数

doublemyadd(doublea,doubleB)

{return(a+B);}

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

(2分)

A.doublemyadd(doublea,B);

B.doublemyadd(double,double);

C.doublemyadd(doubleb,doubleA);

D.doublemyadd(doublex,doubley);

18.以下描述中,正确的是()。

(2分)

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

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

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

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

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

(2分)

A.整型常量

B.整型表达式

C.整型常量或整型表达式

D.任何类型的表达式

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

(2分)

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

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

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

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

二填空题(共7题,总分值28分)

21.以下程序运行后的输出结果是_________。

#defineSQR(x)x*x

main()

{inta,k=3;

a=++SQR(k+1);

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

(4分)22.有以下程序

voidswap1(intc[])

{intt;

t=c[0];c[0]=c[1];c[1]=t;

}

voidswap2(intc0,intc1)

{intt;

t=c0;c0=c1;c1=t;

}

main()

{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]);

}

其输出结果是_________。

(4分)

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

(4分)

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

(4分)

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

请填空。

void  dele(chars[])

{ intn=0,i;

for(i=0,s[i];i++)

if(_________)

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

s[n]=_________;

}

(4分)

26.执行以下程序后,输出的结果是_________。

intm=10;

intf(intx,inty)

{intm=5;

m+=x*y;

returnm;}

main()

{inta=6,b=7;

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

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

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

请完善以下程序。

#include”stdio.h”

#include”string.h”

main()

{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]

bot=_________;

else

top=_________;

}

if(flag)

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

else

printf(“**”);}

(4分)

三编程题(共2题,总分值32分)

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

(16分)

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

(16分)

一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

1.答案:

C

解析过程:

2.答案:

C

解析过程:

3.答案:

B

解析过程:

4.答案:

A

解析过程:

5.答案:

D

解析过程:

6.答案:

D

解析过程:

7.答案:

B

解析过程:

8.答案:

A

解析过程:

9.答案:

C

解析过程:

10.答案:

A

解析过程:

11.答案:

D

解析过程:

12.答案:

D

解析过程:

13.答案:

B

解析过程:

14.答案:

B

解析过程:

15.答案:

D

解析过程:

16.答案:

B

解析过程:

17.答案:

A

解析过程:

18.答案:

A

解析过程:

19.答案:

C

解析过程:

20.答案:

B

解析过程:

二填空题(共7题,总分值28分)

21.答案:

9

解析过程:

22.答案:

5,3,3,5

解析过程:

23.答案:

解析过程:

24.答案:

auto(动态存储)

解析过程:

25.答案:

s[i]

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

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

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

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