您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 北京大学15秋《C程序设计》在线作业答案
谋学网年秋季学期《C语言程序设计》作业作业提交格式要求:请同学们把答案集中单独写在一个.doc文档中,作为附件上传(不要把答案直接填写在题目的空中)。特规定格式如下:一、ABCDDAAAAA二、题号12345678910结果∨∨∨∨╳╳╳╳╳╳三、(1)BeiJingShangHai(2)x=8,y=7(3)r=k:i+j=90……以上只是举例,不是正确的输出结果。请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。鼓励独立完成作业,严惩抄袭。第一章作业一、将数213、12.75、79.375用十六进制表示二、填空1.在C语言中,数值常量0x9f的十进制值是。2.字母a的ASCII码为十进制数___________。第二章作业(1)一、选择题:1、下列变量名中,是非法的。A)MyCarB)4aC)my_carD)a482、下列变量名中,是合法的。A)56AB)_abcC)48bD)while3、下列常量中,是十六进制表示的int型常量。A)78B)0x7aC)x56D)0634、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。A)7B)8C)6D)25、已知c2为字符型,则执行语句c2=’A’+’6’-‘3’后,c2的值为。A)‘C’B)‘D’C)不确定的值D)706、设a为整型变量,b为字符型变量,c为double型变量,则a+b+c为()型A)intB)floatC)doubleD)char7、C语言中不可用作标识符的字符有()A字母B数字C%D下划线谋学网、设inta;则表达式a=2,4,a+1的值是()A.1B.2C.3D.49.设a为整型变量,b为字符型变量,c为double型变量,则a*b+c为()型A.intB.floatC.doubleD.char10.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为()A.20B.23C.26D.46第二章作业(2)一、选择题1、在scanf()函数的格式说明符中,长整型数的输入格式符是。A.%ldB.%lfC.%dD.%x2、在printf()函数的格式说明符中,字符型数的输出格式说明符是。A.%cB.%fC.%ldD.%s3、已知ch是字符型变量,下面不正确的赋值语句是。A)ch=’a+b’;B)ch=’\0’;C)ch=’7’+’9’;D)ch=5+9;4、要使用putchar()函数必须在程序前加语句。A.#includestdio.hB.includestdio.hC.includestdio.hD.#include'stdio.h'5、若x为int型变量,则执行以下语句后x=。x=7;x+=x-=x+x;A.-14B.-7C.0D.14二、判断题1、C语言标准输入操作中,gets()函数一次只可以读取一个字符。()2、C语言标准输出操作中,putchar()函数可以输出显示一个字符串。()3、r与'r'是相同的;()三、分析下列程序的输出结果。1.#includestdio.hvoidmain(){charc=’p’;谋学网(“%d,%c\n”,c,c);printf(“%d,%c\n”,’a’,’a’);}2.#includestdio.hvoidmain(){inta;floatd;printf(“Enteraandd:”);scanf(“%d%f”,&a,&d);printf(“%5d,%8.2f\n”,a,d);}Enteraandd:5615.765↙第四章作业一、选择题。1、下列运算符中优先级最高的是。A.B.+C.&&D.!=2、判断char型变量ch是否为大写字母的正确表达式是。A.‘A’=ch=’Z’B.(ch=’A’)&&(ch=’Z’)C.(ch=’A’)&(ch=’Z’)D.(‘A’=ch)AND(‘Z’=ch)3、设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&&(n=cd)后n的值为。A.1B.2C.3D.44、已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是。if(xy)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,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的值为()A.0B.1C.4D.6.5二、填空题。1、当a=3,b=2,c=1时,表达式f=abc的值是。2、当a=5,b=4,c=2时,表达式ab!=c的值是。3、15!=8+7||45&&39/4的结果是。4、设y为int型变量,请写出描述“y是奇数”的表达式。5、整型变量X能被100整除但不能被400整除。三、程序填空题。请在【】中填上正确内容。1、该程序实现输出x,y,z三个数中的最大者。main()谋学网{intx=4,y=6,z=7;int【1】;if(【2】)u=x;elseu=y;if(【3】)v=u;elsev=z;printf(“v=%d”,v);}2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;main(){charch;scanf(“%c”,&ch);if(【1】)ch=ch+32;elseif(ch=’a’&&ch=’z’)【2】;printf(“%c”,ch);}第五章作业一选择题。1、下面程序段的运行结果是。intn=0;while(n++=2);printf(“%d”,n);A.2B.3C.4D.有语法错误2、对for(表达式1;;表达式3)可理解为。A.for(表达式1;0;表达式3)B.for(表达式1;表达式1;表达式3)C.for(表达式1;1;表达式3)D.for(表达式1;表达式3;表达式3)3、以下正确的描述是。A.continue语句的作用是结束整个循环的执行B.在循环体内使用break语句或continue语句的作用相同C.只能在循环体内和switch语句体内使用break语句D.从多层循环嵌套中退出时,只能使用goto语句4.下述关于break语句的描述中,()是不正确的。A.break语句可用于循环体内,它将退出该重循环;B.break语句可用于开关语句中,它将退出开关语句;C.break语句可用于if体内,它将退出if语句;D.break语句在一个循环体内可以出现多次;5.执行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是()#includestdio.hmain(){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.668966B.6688766C.668977D.66778777二判断题1、条件语句是可以实现多路分支的。()2、任何循环语句的循环体至少都可执行一次。()3、break语句可以出现在各种不同循环语句的循环体中。()4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。()5、While循环语句的循环体至少执行一次。()三填空题1.已知for(j=1,s=0;j=9;j+=2)s=s+j;执行循环后,s的值是_。2.while循环是先判断表达式,如果为________,执行循环体,然后再判断表达式,直到表达式为假,退出循环。四程序填空题1下面程序的功能是计算1-3+5-7+……-99+101的值#includestdio.hmain(){inti,t=1,s=0;for(i=1;i=101;i+=2){【1】;s=s+t;【2】;}printf(“%d\n”,s);}2下面程序的功能是打印100以内个数为6且能被3整除的所有数。#includestdio.hmain(){inti,j;for(i=0;【1】;i++){j=i*10+6;if(【2】)continue;printf(“%d”,j);}}第六章作业一、选择题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是。A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式谋学网、以下能对一维数组a进行正确初始化的语句是。A.inta[10]=(0,0,0,0)B.inta[10]={};C.inta[]={0};D.inta[10]={10*1};3、若有说明:inta[3][4];则对a数组元素的正确引用是。A.a[2][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)4、已知intw[2][4]={7,15,8,9,20,25,14,17};则w[0][1]的值是A8B.9C.15D.255、若有说明inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是。A.2B无确定值C.3D.46、下面程序的运行结果是。charc[5]={‘a’,’b’,’\0’,’c’,’\0’};printf(“%s”,c);A.‘a’’b’B.abcC.abcD.ab7、判断字符串a和b是否相等,应当使用。A.if(a==b)B.if(a=b)C.if(strcpy(a,b))D.if(strcmp(a,b))8、用数组名作为实参,传给形参的是()A.数组第0个元素的值B.数组全部元素的值C.数组元素个数D.数组首地址9、用doubleq[3][5];定义的数组q包含个元素A.3B5C.8D.1510、已知charc[6]=ABCDE,d[6];要将c复制到d中,正确的做法是()A.d=c;B.c=d;C.strcmp(c,d);D.strcpy(d,c);二、判断题1、数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。()2.数组中的元素类型可以不同;()3.字符串This大于字符串that;()4.任何数组的下标都是从0开始;()5.符数组中的一个元素存放一个字符;()三、程序填空题。invstring(chara[])函数的功能是使输入的一个字符串按逆序存放,在主函数中输入和输出字符串。请填空【?】。voidinvstring(chara[]){intn,j;charc;n=0;填空:while(a[n]!=【1】)n++;【1】for(j=0;j【2】;j++)【2】{c=a[j];【3】;【4】;}【3】}【4】谋学网(){chara[80];gets(a);invstring(【5】);【5】puts(a);puts(\n);}四、分析下面程序的结果。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;i3;i++){for(j=0;j3;j++)printf(%3d,a[i][j]);printf(\n);}printf(\n);for(i=0;i3;i++){s1=s1+a[i][i];s2+=a[i][2-i];}printf(s1=%d,s2=%d\n,s1,s2);}第七章作业一、选择题1.在C语言中,下面对函数不正确的描述是()。A.当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。B.允许函数递归调用。C.函数形参的作用范围只是局限于所定义的函数内。D.子函数必须位于主函数之前。2.以下正确的函数形式是()。A.doublefun(intx,inty){z=x+
本文标题:北京大学15秋《C程序设计》在线作业答案
链接地址:https://www.777doc.com/doc-2622193 .html