C程序设计作业_第1页
C程序设计作业_第2页
C程序设计作业_第3页
C程序设计作业_第4页
C程序设计作业_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章作业

答案:一,59,14.4,28.e

二1小题,59

2,15

一、将数89、20.25、40.875用十六进制表示

二、填空

1.在C语言中,数值常量0x3b的十进制值是o

2.字母f的ASCH码为十进制数_________。

第三章作业

一、选择题;

1、下列变量名中,B是非法的。

A)TomB)3nC)liltle_boyD)clO

2、若有以下类型说明

chara;intb;floatc;doubled;则表达式a*b+d-c的结果类型是(A)

A)floatB)charC)intD)double

3、若x为整型,则逗号表达式(x=4*5,x*5),x+25的结果及x的值分别是(C)正确答案是

100,45

A)4520B)12520C)12545D)100100

4、假设所有变量均为整型,则表达式(a=3.b=2,b++,a+b)的值是C。

A)5B)8C)6D)7

5、已知c2为字符型,则执行语句c2=,E,+,8';A,B,c2的值为C.

A)12B)IIC)不确定的值D)10

6、设a为double变量,b为int型变最,c为字符型变量,则a+b+c为(C)型

A)intB)floatC)doubleD)char

7、C语言中不可用作标识符的字符有(C)

A下划线

B%

C数字

D字母

8、下面四个选项中,均是合法整型常量的是(D)

A)160B)-OxcdfC)-01D)Ox

-Oxffff01a06682c5

9^设a为字符变量,b为int型变量,c为double型变量,则2%+(:为(C)型

A.int

B.float

C.double

D.char

10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为(C)

A.20B.22C.24D.44

第四章作业

一、选择题

1、若x为int型变量,则执行以下语句后x=C。

x=5;

x-=x-=x+x;

A.-10B.-5C.OD.IO

2、在prinlf()函数的格式说明符中,字符型数的输出格式说明符是一D.

A.%sB.%fC.%ldD.%c

3、已知ch是字符型变量,下面不正确的赋值语句是」—

A)ch=,7,+*9,;B)ch=\0,;C)ch=,x+y,;D)ch=5+9;

4、要使用Dutchar。函数必须在程序前加语句A°

A.#include<stdio.h>

B.include<stdio.h>

C.include"sidio.h"

D.#include'stdio.h'

5、在scanf()函数的格式说明符中,长整型数的输入格式符是一B。

A.%lfB.%ldC.%fD.%x

二、判断题

1、C语言标准输入操作中,gets。函数一次只可以读取一个字符。(Flasc)

2、C语言标准输出操作中,pulchar()函数可以输出显示一个字符串。(Flase)

3、“a”与宜是不同的;(True)

三、分析下列程序的输出结果。

I.

#include<stdio.h>

voidmain()

(

charc='m';

prinlf("%c,%d\n”,c,c);

printf("%d,%c'n",'c','c');

)

分别是,m,109

99,c

2.

#include<sldio.h>

voidmain()

inta;

floatd;

printfCEnteraandd:");

scanf(**%d%f,,&a,&d);

printfC%5d,%8.2An';a,d);

}

Enteraandd:7080.158/

输入结果,Enteraandd:

70,80.16

第五章作业

一、选择题。

1、逻辑运算符两侧的运算对象的数据(D)

A)只能是。和1

B)只能是0或非0正数

C)只能是整型或字符型数据

D)可以是任何类型为数据

2、判断char型变量ch是否为大写字母的正确表达式是一

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

C.(ch>=,A,)&(chv='Z')D.('A'v:ch)AND(Z>=ch)

3、执行以下程序段后,b=」。

inta=5,b=6,c=1,x=2,y=3,z=4;

c=(a=c>x)&&(b=y>z);

A.6B.0C.1D.4

4、已知intx=10,y=20,z=30;以Z语句执行后x,y,z的值是B。

if(x>y)

z=x;x=y;y=z;

A.x=20,y=30,z=30B.x=10,y=20,z=30

C.x=20,y=30,z=10D.x=20,y=30,z=20

5、设a=3,b=4,c=5,则表达式!(a+b)+c-l&&b+c/2的值为(B)

A.OB.IC.4D.6.5

二、填空题。

1、以下程序

main()

(

intxl=3,x2=O,x3=O;

if(xl=x2+x3)printR*****”);

elseprintR"####");

)

输出####。

2、10!=2+8||5<4&&3>9/4的结果是_FALSE(0)。

3、设x为int型变量,表示某一年份,请写出描述“x是闰年”的表达式

x%4==0&&x%100!=0)||x%400==0

4、整型变量y能被3整除但不能被4整除。

三、程序填空题。请在[]中填.匕正确内容。

1、该程序实现输出x,y,z三个数中的最大者。

main()

{intx=4,y=6,z=7;

int[1];

if([2])m=x;

elsem=y;

if([3])n=m;

elsen=z;

printfCn=%d,,,n);

)

答案:mx>yn>m

2、输入一个字符,如果它是一个大写字母,则把它变成小写字母:如果它是一个小写字母.

则把它变成大写字母;其他字符不变;

main()

{charch;

scanf("%c”,&ch);

if([1])ch=ch+32;

elseif(ch>=,a,&&ch<=,z,)[2];

printf("%c”,ch);

}

答案:(ch>='A')&&(ch<=,Z')ch=ch-32

第六章作业

一选择题。

1、设有程序段

intx=IO;

while(x=O)x=x-l;

则下面描述正确的是(C)O

A)while循环执行10次B)循环是无限循环

C)循环体一次也不执行D)循环体只执行-一次

2、对for(表达式1;;表达式3)可理解为C,

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

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

3、语句while(!y);中表达式!y等价于(A)

A)y==0B)y!=1C)y!=0D)y==l

4.下述关于break语句的描述中,(C)是不正确的。

A.break语句可用于循环体内,它将退出该重循环;

B.break语句可用于开关语句中,它将退出开关语句;

C.break语句nJ用于if体内,它将退出if语句;

D.break语句在一个循环体内可以出现多次;

5.执行以下程序时,从键盘输入2473/(/表示回车),则下面的程序的运行结果是(C)

#includc<stdio.h>

main()

{intc;

whilc((c=gctchar())!='\n')

switch(c-'2')

{case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putchar(c+2);break;

}

)

A.668966B.6688766C.668977D.66778777

二判断题

1、While循环语句的循环体至少执行一次。(false)

2、任何循环语句的循环体至少都可执行一次。(false)

3、break语句可以出现在各种不同循环语句的循环体中。(true)

4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。(false)

5、条件语句是可以实现多路分支的。(true)

三填空题

1.已知for(j=1,s=0;j<=5;j+=2)s=s+j;执行循环后,s的值是9。

2.执行以下程序段后,v=8x=2

inix=l,y=10;

do{

y-=x;

x++;

}while(y—<());

四程序填空题

1下面程序段的功能是将字符串s中所有的字符c删除,请填空.

main()

|

chars[80];

intl,j;

gets(a);

fbr(i=0,j=0;s[i]!=,\0,;i-H-)

i皿i]!=Q)([1]);

puts(s);

)

答案:else

第七章作业

一、选择题

1、以下能对二维数组正确初始化的是(D)

A)inty[2][]={{l,0,l},{5,2,3)}

B)inty[][3]={{1,0,1)45,23))

C)inty[2][4]={{U0J}45,2},{3})

D)intylJl3]={{l,0J,0},{}J5,2}}

2、若二维数组y有m列,则在前的元素个数为(B)

Aj*m+IBi*m+jC/m+j-1Di*m+j+l

3、已知intw⑵[4]={7/5,8,9,20,25,14,17};则w阿1]的值是C(15)

A8B.9C.15D.25

4-.若有说明inta口[3]={1,2,3,4,5,678};则a数组第一维的大小是一

A.2B无确定值C.3D.4

5、若有说明inta[][4]={{l,2,3},{4,5},{}};则a数组第一维的大小是

A.2B无确定值C.3D.语法错误

6、下面程序的运行结果是。

charc[6]={<a,;b\,c\,\0\,c,;\0,};答案是abc(B)

prinlf(tt%s,5,c);

A.Wb'B.abcC.abcD.ab

7、判断字符串a和b是否相等,应当使用D。

A.if(a==b)D.if(a=b)C.if(strcpy(a,b))D.if(strcmp(a,b))

8、用数组名作为实参,传给形参的是(D)

A.数组第。个元素的值

B.数组全部元素的值

C.数组元素个数

D.数组首地址

9、以下能正确读入字符串的是(D)

A.char*p;scanf("%s”,p);

B.charstr[10];scanff%s”,&str);

C.charstr[10],*p;p=str;scanf("%s”,p);

D.charstr[l0],*p=str;scanfr'%s”,p[l]);

10、已知charc[6]="ABCDE",d[6];要将c复制到d中,正确的做法是(D)

A.d=c;

B.c=d;

C.strcmp(c,d);

D.strcpy(d,c);

二、分析下面程序的结果。

main()

{inti,j,sl=0,s2=0,al3]l3J={4,9,6,5,3,128,7);

printf("a:\n");

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

{for(j=0;j<3;j++)printf("%3d",a[i][j]);

printfC'Vn");

)

printf("\nu);

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

{sl=sl+a[i][i];

s2+=ali][2-i];

)

printf("sl=%d,s2=%d\n",s1,s2);

I

答案:

a:

496

531

287

Sl=14,s2=ll

第八章作业

一、选择题

1.在C语言中,当函数调用时(D)。

A.实参和形参各占一个独立的存储单元

B.实参相形参共用存储单兀

C.可以由用户指定实参和形参是否共用存储单元

D.由系统自动确定实参和形参是否共用存储单元

2.以下函数调用语句中实参的个数为(A)<.

exce((v1,v2),(v3,v4,v5),v6);

A.3B.4C.5I).6

3.如果在一个函数的复合语句中定义了一个变量,则该变量(A)o

A.只在该符合语句中有效,在该符合语句外无效

B.在该函数中任何位置都有效

C.在本程序的原文小范围内均有效

D.此定义方法错误,其变量为非法变量

4.C语言规定,函数返回值的类型是由(D)。

A.return语句中的表达式类型所决定

B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型决定

5.在C语言程序中,以下描述正确的是(D)。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可■以嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和函数的调用均可以嵌套

二、写出程序的输出结果

voidmain(void)

inia=1,k;

for(k=0;k<3;k++)printf("%4d",fl(a));

)

in(fl(inix)

{

staticintz=3,y=0;

y++;

z++;

retum(x+y+z);

)

答窠:***6***8***10

第十章作业

一、选择题。

I.若有以下定义和语句,且OWi<IO则对■数组元素的错误引用是(B)o

inta[lO]={l,2,3,4,5,6,7,8,9,IO},*p,i;

p=a;

A.*(a+i)B.a[p-a]C.p+iD.*(&a[i])

2.若有定义:inta[3][4];,(D)不能表示数组元素a⑴⑴。

A.*(all]+l)B.C.(*(a+l))lljD.*(a+5)

3.对如下定义,以下说法中正确的是(D)。

char*a[2]={,,abcd":'ABCD"};

A.数组a的元素值分别为“abed"和“ABCD”

B.a是指针变量,它指向含有两个数组元素的字符型数组

C.数组a的两个元素分别存放的是含有4个字符的一维数组的首地址

D.数组a的两个元素中各自存放了字符'A,的地址

4.char*s="\NNamc\\Addrcss\n”;指针s所指字符串的长度为;(D)。

A.说明不合法B.19C.18D.15

5.分析下面函数,以下说法正确的是(D)。

s*pl,int*p2)

{int*p;

*p=*pl;*pl=*p2;*p2=*p;

)

A.交换*pl和*p2的值B.正确,但无法改变*pl和*p2的值

C.交换*pl和*p2的地址D.可能造成系统故障,因为使用了空指针

6设有说明im(*ptr)[M];其中.是(C),,

A.M个指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论