程序设计C作业三有答案_精品文档.doc

上传人:b****1 文档编号:220556 上传时间:2022-10-06 格式:DOC 页数:4 大小:28KB
下载 相关 举报
程序设计C作业三有答案_精品文档.doc_第1页
第1页 / 共4页
程序设计C作业三有答案_精品文档.doc_第2页
第2页 / 共4页
程序设计C作业三有答案_精品文档.doc_第3页
第3页 / 共4页
程序设计C作业三有答案_精品文档.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

程序设计C作业三有答案_精品文档.doc

《程序设计C作业三有答案_精品文档.doc》由会员分享,可在线阅读,更多相关《程序设计C作业三有答案_精品文档.doc(4页珍藏版)》请在冰豆网上搜索。

程序设计C作业三有答案_精品文档.doc

第3次作业答案(红字为答案)

1.下列叙述中错误的是()

A.对于double类型数组,不可直接用数组名对数组进行整体输入或输出

B.数组名代表数组所占存储区的首地址,其值不可变

C.在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示

D.可以通过赋初值的方式确定数组元素个数

提示:

请从数组下标的合法取值范围来考虑。

2.已有定义chara[]=“xyz”,b[]={‘x’,‘y’,‘z’},以下叙述正确的是()

A.数组a和b的长度相同 B.数组a的长度小于数组b的长度

C.数组a的长度大于数组b的长度 D.上述说法均不正确

提示:

此题考察字符数组长度和字符串长度之间的关系。

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

A.intnum[]; B.#defineN100intnum[N]

C.intnum[0..100]; D.intN=100;intnum[N];

提示:

此题考察一维数组的维数界定问题。

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

#include

voidmain()

{

chara[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};

inti,j;

i=sizeof(a);j=strlen(a);

printf(“%d,%d\n”,i,j);

}

A.9,9 B.8,9 C.1,8 D.9,8

提示:

此题考察字符数组长度和字符串长度之间的关系。

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

A.inta[2][]={{1,2},{3,4}}; B.inta[][2]={1,2,3,4};

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

提示:

此题考察二维数组初始化的规定。

6、C语言规定,若未对函数返回类型加以说明,则函数的隐含类型为()

A.void B.double C.int D.char

分析:

教材中有答案,但我们不推荐大家在编程时省略函数返回类型。

7、若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是()

A.函数调用可以作为独立语句存在

B.函数调用可以作为一个函数的实参

C.函数调用可以出现在表达式中

D.函数调用可以作为左值而被赋值

分析:

基本概念题,可查书或上机验证。

8、下列说法中错误的是()

A.在不同的函数中可以使用相同名字的变量

B.函数中的形参是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数的复合语句中定义的变量只在本函数范围内有效

分析:

基本概念题。

考察变量的作用域和生命期。

9、下列说法中正确的是()

A.定义函数时,形参的类型说明可以放在函数体内

B.return后面的值不能为表达式

C.如果函数值类型与return后的返回值类型不一致,则以函数值类型为准

D.如果形参与实参的类型不一致,则以实参类型为准

分析:

基本概念题,可查书或上机验证。

10、阅读下列程序段,其执行结果为()

#include

voidfun(inta)

{

intx=5;

x+=a++;

printf(“%d,”,x);

}

voidmain()

{

inta=3,x=1;

fun(a);

x+=a++;

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

}

A.8,2 B.8,3 C.8,4 D.8,5

分析:

考察大家对传值调用和传址调用的理解。

11、阅读下列程序段,其执行结果为()

#include

voidmain()

{

inta=4,b=6,c=7;

doubled;

doublefun(int,int,int);

printf(“d=%lf\n”,fun(a,b,c));

}

doublefun(inta,intb,intc)

{

returna%b*c;

}

A.27 B.27.000000 C.28 D.28.000000

分析:

可上机验证,留意一下函数声明的方式,以及输出语句中对函数返回值的处理。

12、下列说法中不正确的是()

A.C语言规定,不能在一个函数的内部再定义函数

B.在没有声明函数返回值类型的情况下,默认函数返回值类型为int型

C.函数的类型可以是整型、实型、字符型,但不能是指针类型

D.函数可以没有形参,但函数名后的括号不能省略

分析:

基本概念题。

13、一个变量的指针就是()

A.变量的名称 B.变量的地址 C.变量的类型 D.变量的值

分析:

基本概念题。

14.两个指针变量不能()

A.相加 B.相减 C.比较 D.指向同一地址

分析:

基本概念题。

查书或上机验证。

15.在C语言中,对变量的访问方式是()

A.能直接访问,也能间接访问 B.能直接访问,不能间接访问

C.不能直接访问,能间接访问 D.直接、间接均不能

分析:

基本概念题。

16.C语句:

int(*pa)[5];中,pa表示的是一个()

A.指针数组的名称

B.指向整型变量的指针

C.指向包含5个整型元素的一维数组的指针

D.指向函数的指针

分析:

基本概念题。

17.C语句int*func();中,func表示的是()

A.返回值为指针的函数名称

B.指向整型变量的指针

C.指向数组的指针

D.指向函数的指针

分析:

基本概念题。

18.给定下列程序,假定从键盘输入数据1、2,则执行结果为()

#include

voidswap(int*p1,intp2)

{

*p1=*p1+p2;

p2=p2+*p1;

}

voidmain()

{

inta,b,*p1;

scanf("%d,%d",&a,&b);

p1=&a;

swap(p1,b);

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

}

A.3,5 B.a=3,b=5 C.3,2 D.a=3,b=2

分析:

考察传值与传址的区别。

19.给定下列程序,则运行结果为()

#include

voidfun(intx,inty,int*z)

{

*z=x–y;

}

voidmain()

{

inta,b,c;

fun(11,5,&a);

fun(8,a,&b);

fun(a,b,&c);

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

}

A.2,4,6 B.2,6,4 C.6,2,4 D.6,4,2

分析:

传址与传值。

20.给定下列程序,则其运行结果为()

#include

voidmain()

{

staticintarray[][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};

int(*p)[4],i,j,sum[3];

p=array;

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

{

sum[i]=0;

for(j=0;j<4;j++)

sum[i]+=*(*(p+i)+j);

printf(“%d,”,sum[i]);

}

}

A.16,48,80 B.164880 C.144 D.80

分析:

考察用指针变量遍历二维数组的方法。

重点在理解,否则考试时不可能有机会上机验证。

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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