C作业答案.docx

上传人:b****8 文档编号:11441783 上传时间:2023-03-01 格式:DOCX 页数:18 大小:22.31KB
下载 相关 举报
C作业答案.docx_第1页
第1页 / 共18页
C作业答案.docx_第2页
第2页 / 共18页
C作业答案.docx_第3页
第3页 / 共18页
C作业答案.docx_第4页
第4页 / 共18页
C作业答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C作业答案.docx

《C作业答案.docx》由会员分享,可在线阅读,更多相关《C作业答案.docx(18页珍藏版)》请在冰豆网上搜索。

C作业答案.docx

C作业答案

1.在C语言中,复合语句要用一对()括起来。

A.方括号B.圆括号C.大括号D.尖括号

[提示]参考讲稿3.1.1-4

2.C语言中,下面哪项是不合法的标识符?

()

A.userB.switchC._345D.Abc

[提示]参考讲稿2.1.1

3.以下说法中正确的是()

A.C语言比其他语言高级

B.C语言不用编译就能被计算机执行

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言出现的最晚,具有其他语言的一切优点

[提示]这个留给自己发挥吧,你觉得不用翻书考证就能看出来的就是答案啦

4.若变量x、y已正确定义并赋值,以下符合C语言语法规则的语句是()

A.++x,y=x--;

B.x+1=y;

C.x=x+10=x+y;

D.double(x)/10

[提示]自己编个小程序,包含上述语句,然后编译一下,编译器报错的地方就是不对的。

以后涉及程序、程序段、语句、表达式的题目都可以这样做。

5.下列程序的输出结果为()

voidmain()

{

intx,y,z;

x=y=1;

z=x++,y++,++y;

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

}

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

[提示]这个不用提示吧,上机运行一下就知道了。

程序设计课要动手,干看是学不会的哟。

6.数值029是一个()

A.八进制数B.十六进制C.十进制D.非法数

[提示]参考讲稿2.2.2

7.逻辑运算符两侧运算对象的数据类型()

A.只能是0或1B.只能是0或非0正数

C.可以是整型或字符型数据D.可以是任何类型的数据

[提示]自己编个小程序,写几个逻辑表达式,将C语言中所有的数据类型都放到逻辑表达式中试一试。

8.对于inta,表达式1<=a<=5的值是()

A.0B.1C.不定D.表达式语法有误

[提示]自己编个小程序,……

9.执行下列语句段后x的值为()

inta=14,b=15,x;

charc=‘A';

x=(a&&b)&&(c<‘a')

A.TRUEB.FALSEC.0D.1

[提示]自己编个小程序,包含上述程序段,然后在debug中观察一下x的值。

如果不会用debug,请看3月5日的课程,老师有很多演示。

10、x,y,z被定义为int型变量,若从键盘为其输入数据,则正确的输入语句是()

A.inputx,y,z

B.scanf(“%d%d%d”,&x,&y,&z);

C.scanf(“%d%d%d”,x,y,z);

D.read(“%d%d%d”,&x,&y,&z);

提示:

此题考察格式化输入函数scanf的用法。

11、若w=1,x=2,y=3,z=4,则条件表达式w

w:

y

y:

z的值是()

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

提示:

此题考察条件运算符的结合性。

12、给定如下程序

#include

voidmain()

{

charc1=‘A',c2=‘a';

printf(“%c\n”,(c1,c2));

}

则以下叙述正确的是()

A.程序输出大写字母AB.程序输出小写字母a

C.格式说明符不足,编译出错D.程序编译通过,但运行时出错

提示:

此题考察对标准输出函数和逗号运算符的理解。

13、下列程序的输出结果是()

#include

voidmain()

{

inta=2,b=3,c=0,d;

d=!

a&&!

b||!

c;

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

}

A.1B.0C.编译出错D.-1

提示:

此题考察逻辑运算符的优先级。

14、下列程序的输出结果是()

#include

voidmain()

{

inta=55,b=50,c=60,d;

d=a>20?

b:

c;

switch(d){

case40:

printf(“%d”,a);

case50:

printf(“%d”,b);

case60:

printf(“%d”,c);

default:

printf(“$\n”);

}

}

A.50,60B.50,$C.60,$D.50,60,$

提示:

此题考察switch-case结构跳转规律。

15、给定如下程序段,请选择描述正确的说法()

inti=9;

while(i=0)i--;

A.while循环执行9次B.循环体语句执行一次

C.循环体语句一次也不执行D.循环是无限循环

提示:

此题考察循环结构,特别是循环条件的判断。

16、设n为整型变量,则for(n=10;n>=0;n--)循环的次数为()

A.9B.10C.11D.12

提示:

此题考察对for循环中三个表达式的理解。

17、对表达式for(表达式1;;表达式3)可以理解为()

A.for(表达式1;0;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.for(表达式1;表达式3;表达式3)

提示:

此题考察对for循环中三个表达式的理解。

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

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

C.chara={‘A',‘B',‘D'}D.inta[5]=“0123”;

提示:

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

19.已有定义intx[3][2],以下能正确引用数组元素的选项是()

A.x[2][2]B.x[1][2]C.x[2][1]D.x[0][2]

提示:

此题考察数组下标的合法取值范围。

20.有以下语句,intx;charc[10];则正确的输入语句是()

A.scanf(“%d%s”,x,&c);B.scanf(“%d%s”,&x,&c);

C.scanf(“%d%s”,x,c);D.scanf(“%d%s”,&x,c);

提示:

此题考察标准输入函数scanf对普通变量和数组变量的输入约定。

1.C语言程序的执行,总是起始于()。

A.程序中的第一条可执行语句

B.程序中的第一个函数

C.main函数

D.包含文件中的第一个函数

2.以下叙述不正确的是()。

A.一个C源程序必须包含一个main函数

B.一个C源程序可由一个或多个函数组成

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

3.一个C语言程序是由()。

A.一个主程序和若干个子程序组成B.若干函数组成

C.若干过程组成D.若干子程序组成

4.C语言程序能够在不同的操作系统下运行,这说明C语言具有很好的()。

.移植性A.适应性BD.操作性C.兼容性)。

5.C语言规定,在一个源程序中,main函数的位置(A.必须在最开始.必须在系统调用的库函数的后面B.可以任意C.必须在最后D)。

6.下列说法中正确的是(

A.C语言程序书写时,不区分大小写字母B.C语言程序书写时,一行只能写一个语句.C语言程序书写时,一个语句可分成几行书写CC语言程序书写时每行必须有行号.D)。

语言特点,不正确描述的是(7.下面对C

语言兼有高级语言和低级语言的双重特点,执行效率高A.CB.C语言既可以用来编写应用程序,又可以用来编写系统软件.C语言的可移植性较差C语言是一种结构化模块化程序设计语言.DC语言程序的注释是()。

C8.

结尾“*/”开头,“/*”.由A.

B.由“/*”开头,“/*”结尾

C.由“//”开头

D.由“*/”或“//”开头

9.C语言程序的语句都是以()结尾。

A.“.”B.“;”C.“,”D.都不是

10.标准C语言程序的文件名的后缀为()。

A..cB..cppC..objD..exe

11.C语言程序经过编译以后生成的文件名的后缀为()。

A..cB..objC..exeD..cpp

12.C语言程序经过链接以后生成的文件名的后缀为()。

A..cB..objC..exeD..cpp

13.C语言编译程序的首要工作是()。

A.检查C语言程序的语法错误

B.检查C语言程序的逻辑错误

C.检查程序的完整性

D.生成目标文件

14.下面四个选项中,均是不合法的用户标识符的选项是()。

A.AP_0doB.floatla0_A

C.b–asizeofintD._123tempint

15.下面四个选项中,均是合法整型常量的选项是()。

A.160–0xffff011B.–0xcdf01a0xe

C.–01986,0120668D.–0x48a2e50x

16.下面四个选项中,均是不合法的浮点数的选项是()。

A.160.0.12e3B.1232e4.2.e5

C.–.18123e40.0D.–e3.2341e3

17.以下不合法的字符常量是()

A.‘\018'B.‘\'''C.‘\\'D.‘\xcc'

18.下面四个选项中,均是正确的数值常量或字符常量的选项是()。

A.0.00f8.9e'&'B.a3.9e–2.51e1'\'

C.'3'0110xff000aD.+0010xabcd2e250.

19.若有说明语句:

charc='\72';则变量c()。

A.包含1个字符B.包含2个字符

C.包含3个字符D.说明不合法,c的值不确定

20.若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%

3*(int)(x+y)%2/4的值是()。

A.2.500000B.2.750000C.3.500000D.0.000000

21.设变量a是整型,f是实型,i是双精度型,则表达式

10+'a'+i*f值的数据类型为()。

A.intB.floatC.doubleD.不确定

22.在C语言中,要求运算数必须是整型的运算符是()。

A./B.++C.!

=D.%

23.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。

A.a:

=b+1B.a=b=c+2

a=a+7=c+b

.Dint18.5%3.C.

24.若变量a、i已正确定义,且i已正确赋值,则合法的语句是()。

A.a==1B.++i;C.a=a++=5;D.a=int(i);

25.下面正确的字符常量是()。

A.”c”B.'\\”C.'W'D.”

26.假设变量a,b均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。

A.7B.8C.6D.2

27.假设变量x,y均为double型,则表达式x=2,y=x+3/2的值是()。

A.3.500000B.3C.2.000000D.3.000000

28.判断char型变量ch是否为大写字母的正确表达式是()。

A.‘A'<=ch<=‘Z'

B.(ch>=‘A')&(ch<=‘Z')

C.(ch>=‘A')&&(ch<=‘Z')

D.(‘A'<=ch)AND(‘Z'>=ch)

29.选出正确的输入格式()。

inta;floatb;charc;

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

A.1,2.0,nB.a=1,b=2.0,c=n

C.12.0nD.12.0n

30.已知函数abc的定义为:

voidabc(){……}则函数中void的含义是()

A.执行函数abc后,函数没有返回值

B.执行函数abc后,函数不再返回

C.执行函数abc后,可以返回任意类型

D.以上答案都不对

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]

D.intN=100;intnum[N];

C.intnum[0..100];

提示:

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

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,9B.8,9C.1,8D.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.voidB.doubleC.intD.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,2B.8,3C.8,4D.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.27B.27.000000C.28D.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);

}

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

分析:

考察传值与传址的区别。

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,6B.2,6,4C.6,2,4D.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,80B.164880C.144D.80

分析:

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

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

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

当前位置:首页 > 高等教育 > 教育学

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

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