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

下载本文档

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

文档简介

C程序设计作业--本页仅作为文档封面,使用时请直接删除即可--

--内页可以根据需求调整合适字体及大小本页仅作为文档封面,使用时请直接删除即可--

--内页可以根据需求调整合适字体及大小--C程序设计作业全文共11页,当前为第1页。C程序设计作业(总9页)C程序设计作业全文共11页,当前为第1页。PAGE2作业答案:一,59,,二1小题,592,15一、将数89、、用十六进制表示二、填空1.在C语言中,数值常量0x3b的十进制值是。2.字母f的ASCII码为十进制数___________。第三章作业一、选择题:1、下列变量名中,B是非法的。A)TomB)3nC)little_boyD)c102、若有以下类型说明 chara; intb; floatc; doubled;则表达式a*b+d-c的结果类型是(A) A)float B)char C)int D)double3、若x为整型,则逗号表达式(x=4*5,x*5),x+25的结果及x的值分别是(C )正确答案是100,45 A)45 20 B)125 20 C)125 45 D)100 1004、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)的值是C。A)5B)8C)6D)75、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2的值为C。A)12B)11C)不确定的值D)106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为(C)型A)intB)floatC)doubleD)char7、C语言中不可用作标识符的字符有(C)A下划线B%C数字D字母8、下面四个选项中,均是合法整型常量的是(D )C程序设计作业全文共11页,当前为第2页。 A)160 B)-0xcdf C)-01 D)0xC程序设计作业全文共11页,当前为第2页。 -0xffff 01a 0668 2e59、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为(C)型A.intB.floatC.doubleD.char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为(C)A.20

C.24

D.

44

第四章作业一、选择题1、若x为int型变量,则执行以下语句后x=C。x=5;x-=x-=x+x;A.-10B.-52、在printf()函数的格式说明符中,字符型数的输出格式说明符是D。A.%sB.%fC.%ldD.%c已知ch是字符型变量,下面不正确的赋值语句是C。A)ch=’7’+’9’;B)ch=’\0’;C)ch=’x+y’;D)ch=5+9;4、要使用putchar()函数必须在程序前加语句A。A.#include<>B.include<>C.include""D.#include''5、在scanf()函数的格式说明符中,长整型数的输入格式符是B。A.%lfB.%ldC.%fD.%x二、判断题C语言标准输入操作中,gets()函数一次只可以读取一个字符。(Flase)C语言标准输出操作中,putchar()函数可以输出显示一个字符串。(Flase)"a"与'a'是不同的;(True)三、分析下列程序的输出结果。1.#include<>voidmain()C程序设计作业全文共11页,当前为第3页。{C程序设计作业全文共11页,当前为第3页。charc=’m’;printf(“%c,%d\n”,c,c);printf(“%d,%c\n”,’c’,’c’);}分别是,m,10999,c2.#include<>voidmain(){inta;floatd;printf(“Enteraandd:”);scanf(“%d%f”,&a,&d);printf(“%5d,%\n”,a,d);}Enteraandd:70↙输入结果,Enteraandd:70,第五章作业选择题。1、逻辑运算符两侧的运算对象的数据(D)只能是0和1只能是0或非0正数只能是整型或字符型数据可以是任何类型的数据2、判断char型变量ch是否为大写字母的正确表达式是C。A.‘A’<=ch<=’Z’B.(ch>=’A’)&&(ch<=’Z’)C.(ch>=’A’)&(ch<=’Z’)D.(‘A’<=ch)AND(‘Z’>=ch)3、执行以下程序段后,b=A。 inta=5,b=6,c=1,x=2,y=3,z=4; c=(a=c>x)&&(b=y>z);A.6B.0C.14、已知intx=10,y=20,z=30;以下语句执行后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=30C.x=20,y=30,z=10D.x=20,y=30,z=205、设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为(B)C程序设计作业全文共11页,当前为第4页。A.

0

B.

1

C.

4

D.

C程序设计作业全文共11页,当前为第4页。填空题。1、以下程序 main() {intx1=3,x2=0,x3=0; if(x1=x2+x3) printf(“****”); else printf(“####”);}输出####。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;printf(“n=%d”,n);}答案:mx>yn>m2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;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=10;C程序设计作业全文共11页,当前为第5页。 while(x=0)x=x-1;C程序设计作业全文共11页,当前为第5页。 则下面描述正确的是(C )。 A)while循环执行10次 B)循环是无限循环 C)循环体一次也不执行 D)循环体只执行一次2、对for(表达式1;;表达式3)可理解为C。A.for(表达式1;0;表达式3)B.for(表达式1;表达式1;表达式3)C.for(表达式1;1;表达式3)D.for(表达式1;表达式3;表达式3)3、语句while(!y);中表达式!y等价于(A ) A)y==0 B)y!=1 C)y!=0 D)y==14.下述关于break语句的描述中,(C)是不正确的。A.break语句可用于循环体内,它将退出该重循环;B.break语句可用于开关语句中,它将退出开关语句;C.break语句可用于if体内,它将退出if语句;D.break语句在一个循环体内可以出现多次;5.执行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是(C)#include<>main(){

intc;while((c=getchar())!=’\n’)

switch(c-'2')

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:putchar(c+2);break;}}A.668966

B.

6688766

C.668977

D.二判断题1、While循环语句的循环体至少执行一次。(false)2、任何循环语句的循环体至少都可执行一次。(false)3、break语句可以出现在各种不同循环语句的循环体中。(true)4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。(false)5、条件语句是可以实现多路分支的。(true)三填空题C程序设计作业全文共11页,当前为第6页。1.已知for(j=1,s=0;j<=5;j+=2)s=s+j;执行循环后,s的值是9_。C程序设计作业全文共11页,当前为第6页。2.执行以下程序段后,y=8_,x=2_。 intx=1,y=10; do{y-=x; x++; }while(y--<0);四程序填空题1下面程序段的功能是将字符串s中所有的字符c删除,请填空. main() { chars[80]; intI,j; gets(a); for(i=0,j=0;s[i]!=’\0’;i++) if(s[i]!=’c’)( 【1】 ); s[j]=’\0’; puts(s); }答案:else第七章作业一、选择题1、以下能对二维数组正确初始化的是(D )inty[2][]={{1,0,1},{5,2,3}}inty[][3]={{1,0,1},{5,2,3}}inty[2][4]={{1,0,1},{5,2},{3}}inty[][3]={{1,0,1,0},{},{5,2}}2、若二维数组y有m列,则在y[i][j]前的元素个数为(B ) Aj*m+I Bi*m+j Ci*m+j-1 Di*m+j+13、已知intw[2][4]={7,15,8,9,20,25,14,17};则w[0][1]的值是C(15)A8C.15D.254、若有说明inta[][3]={1,2,3,4,5,6,7,8};则a数组第一维的大小是A。A.2B无确定值C.3D.45、若有说明inta[][4]={{1,2,3},{4,5},{}};则a数组第一维的大小是D。A.2B无确定值C.3D.语法错误6、下面程序的运行结果是。charc[6]={‘a’,’b’,’c’,’\0’,’c’,’\0’};答案是abc(B)printf(“%s”,c);A.‘a’’b’B.abcC.abcD.abC程序设计作业全文共11页,当前为第7页。7、判断字符串a和b是否相等,应当使用D。C程序设计作业全文共11页,当前为第7页。A.if(a==b)B.if(a=b)C.if(strcpy(a,b))D.if(strcmp(a,b))8、用数组名作为实参,传给形参的是(D)A.数组第0个元素的值B.数组全部元素的值C.数组元素个数D.数组首地址9、以下能正确读入字符串的是( D )*p;scanf(“%s”,p);str[10];scanf(“%s”,&str);str[10],*p;p=str;scanf(“%s”,p);str[10],*p=str;scanf(“%s”,p[1]);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,s1=0,s2=0,a[3][3]={4,9,6,5,3,1,2,8,7};printf("a:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%3d",a[i][j]);printf("\n");}printf("\n");for(i=0;i<3;i++){s1=s1+a[i][i];s2+=a[i][2-i];}printf("s1=%d,s2=%d\n",s1,s2);}答案:a:496531287S1=14,s2=11C程序设计作业全文共11页,当前为第8页。第八章作业C程序设计作业全文共11页,当前为第8页。一、选择题1.在C语言中,当函数调用时(D)。A.实参和形参各占一个独立的存储单元B.实参和形参共用存储单元C.可以由用户指定实参和形参是否共用存储单元D.由系统自动确定实参和形参是否共用存储单元2.以下函数调用语句中实参的个数为(A)。exce((v1,v2),(v3,v4,v5),v6); A.3 B.4 C.5 D.63.如果在一个函数的复合语句中定义了一个变量,则该变量(A)。A.只在该符合语句中有效,在该符合语句外无效 B.在该函数中任何位置都有效 C.在本程序的原文件范围内均有效 D.此定义方法错误,其变量为非法变量4.C语言规定,函数返回值的类型是由(D)。A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型决定5.在C语言程序中,以下描述正确的是(D)。A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套二、写出程序的输出结果1.voidmain(void){inta=1,k;for(k=0;k<3;k++)printf("%4d",f1(a));}intf1(intx){staticintz=3,y=0;y++;z++;return(x+y+z);}答案:***6***8***10C程序设计作业全文共11页,当前为第9页。第十章作业C程序设计作业全文共11页,当前为第9页。选择题。1.若有以下定义和语句,且0≤i<10则对数组元素的错误引用是(B)。inta[10]={1,2,3,4,5,6,7,8,9,10},*p,i;p=a;A.*(a+i)B.a[p-a]C.p+iD.*(&a[i])2.若有定义:inta[3][4];,(D)不能表示数组元素a[1][1]。 A.*(a[1]+1)B.*(&a[1][1])C.(*(a+1))[1]D.*(a+5)3.对如下定义,以下说法中正确的是(D)。 char*a[2]={"abcd","ABCD"}; A.数组a的元素值分别为"abcd"和"ABCD" 是指针变量,它指向含有两个数组元素的字符型数组 C.数组a的两个元素分别存放的是含有4个字符的一维数组的首地址 D.数组a的两个元素中各自存放了字符’a’、’A’的地址*s="\t\\Name\\Address\n";指针s所指字符串的长度为:(D)。 A.说明不合法B.19C.18D.155.分析下面函数,以下说法正确的是(D)。 swap(int*p1,int*p2) {int*p; *p=*p1;*p1=*p2;*p2=*p; } A.交换*p1和*p2的值B.正确,但无法改变*p1和*p2的值 C.交换*p1和*p2的地址D.可能造成系统故障,因为使用了空指针6.设有说明int(*ptr)[M];其中ptr是(C)。 A.M个指向整型变量的指针 B.指向M个整型变量的函数指针 C.一个指向具有M个

温馨提示

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

评论

0/150

提交评论