您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 北大网络教育(计算机专业)C程序设计作业答案
北大网络教育(计算机专业)C程序设计作业答案第一章作业一、将数150、10.75、50.375用十六进制表示150=96;10.75=A;50.375=32150(十进制)=96(十六进制)10.75(十进制)=A.C(十六进制)50.375(十进制)=32.6(十六进制)二、填空1.在C语言中,数值常量0x2a的十进制值是42。2.字母m的ASCII码为十进制数______109_____。第三章作业一、选择题:1、下列变量名中,B是非法的。A)TomB)3nC)little_boyD)c102、下列变量名中,A是合法的。A)_booB)70AC)30bD)while3、下列常量中,C是十六进制表示的int型常量。A)17B)x52C)0xa3D)0864、假设所有变量均为整型,则表达式(a=1,b=3,b++,a+b)的值是A。A)5B)8C)6D)75、已知c2为字符型,则执行语句c2=’C’+’8’-‘A’后,c2的值为D。A)12B)11C)不确定的值D)106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为(C)型A)intB)floatC)doubleD)char7、C语言中不可用作标识符的字符有(B)A下划线B%C数字D字母8、设inta;则表达式a=2,4,a+2的值是(D)A.1B.2C.3D.49.设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.20B.22C.24D.44第四章作业一、选择题1、在scanf()函数的格式说明符中,长整型数的输入格式符是B。A.%lfB.%ldC.%fD.%x2、在printf()函数的格式说明符中,字符型数的输出格式说明符是D。A.%sB.%fC.%ldD.%c3、已知ch是字符型变量,下面不正确的赋值语句是C。A)ch=’7’+’9’;B)ch=’\0’;C)ch=’x+y’;D)ch=5+9;4、要使用putchar()函数必须在程序前加语句A。A.#includestdio.hB.includestdio.hC.includestdio.hD.#include'stdio.h'5、若x为int型变量,则执行以下语句后x=A。x=5;x+=x-=x+x;A.-10B.-5C.0D.10二、判断题1、C语言标准输入操作中,gets()函数一次只可以读取一个字符。(F)2、C语言标准输出操作中,putchar()函数可以输出显示一个字符串。(F)3、a与'a'是相同的;(F)三、分析下列程序的输出结果。1.#includestdio.hvoidmain(){charc=’k’;printf(“%d,%c\n”,c,c);printf(“%d,%c\n”,’b’,’b’);}107,k98,b2.#includestdio.hvoidmain(){inta;floatd;printf(“Enteraandd:”);scanf(“%d%f”,&a,&d);printf(“%5d,%8.2f\n”,a,d);}Enteraandd:7080.158↙70,80.16第五章作业一、选择题。1、下列运算符中优先级最高的是C。A.B.&&C.-D.!=2、判断char型变量ch是否为大写字母的正确表达式是B。A.‘A’=ch=’Z’B.(ch=’X’)&&(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的值为B。A.1B.2C.3D.44、已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是A。if(xy)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)A.0B.1C.4D.6.5二、填空题。1).02).03).04)(y%2)==15)x%3==0&&x%4!=01、当a=2,b=1,c=0时,表达式f=abc的值是0。2、当a=2,b=1,c=1时,表达式ab!=c的值是0。3、10!=2+8||54&&39/4的结果是0。4、设y为int型变量,请写出描述“y是奇数”的表达式(y%2)==1。5、整型变量y能被3整除但不能被4整除x%3==0&&x%4!=0。三、程序填空题。请在【】中填上正确内容。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);}1.【1】u,v【2】xy【3】uz2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;main(){charch;scanf(“%c”,&ch);if(【1】)ch=ch+32;elseif(ch=’a’&&ch=’z’)【2】;printf(“%c”,ch);}2.【1】ch=’A’&&ch=’Z’【2】ch=ch-32第六章作业一选择题。1、下面程序段的运行结果是D。intn=0;while(n++=2);printf(“%d”,n);A.1B.2C.3D.42、对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、以下正确的描述是C。A.continue语句的作用是结束整个循环的执行B.在循环体内使用break语句或continue语句的作用相同C.只能在循环体内和switch语句体内使用break语句D.从多层循环嵌套中退出时,只能使用goto语句4.下述关于break语句的描述中,(C)是不正确的。A.break语句可用于循环体内,它将退出该重循环;B.break语句可用于开关语句中,它将退出开关语句;C.break语句可用于if体内,它将退出if语句;D.break语句在一个循环体内可以出现多次;5.执行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是(C)#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.F2.F3.T4.F5.T1、While循环语句的循环体至少执行一次。(F)2、任何循环语句的循环体至少都可执行一次。()F3、break语句可以出现在各种不同循环语句的循环体中。(T)4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。(F)5、条件语句是可以实现多路分支的。(T)三填空题1.已知for(j=1,s=0;j=5;j+=2)s=s+j;执行循环后,s的值是9_。1.2.while循环是先判断表达式,如果为___真____,执行循环体,然后再判断表达式,直到表达式为假,退出循环。四程序填空题1下面程序的功能是打印100以内个数为6且能被3整除的所有数。#includestdio.hmain(){inti,j;for(i=0;【1】;i++){j=i*10+6;if(【2】)continue;printf(“%d”,j);}}1.【1】i=9【2】j%3!=0第七章作业一、选择题1.B2.B3.C4.C5.c6.B7.D8D9.A10.D1、在C语言中,引用数组元素时,其数组下标的数据类型允许是B。A.整型常量B.整型常量或整型表达式C.整型表达式D.任何类型的表达式2、若有说明:inta[3][4];则对a数组元素的正确引用是B。A.a[2][4]B.a[1+1][10/5]C.a[1,3]D.a(2)(1)3、已知intw[2][4]={7,15,8,9,20,25,14,17};则w[0][1]的值是CA8B.9C.15D.254、若有说明inta[][3]={1,2,3,4,5,6,7,8};则a数组第一维的大小是C。A.2B无确定值C.3D.45、若有说明inta[][4]={{1,2,3},{4,5}{}};则a数组第一维的大小是C。A.2B无确定值C.3D.语法错误6、下面程序的运行结果是B。charc[5]={‘a’,’b’,’c’,’\0’,’c’,’\0’};printf(“%s”,c);A.‘a’’b’B.abcC.abcD.ab7、判断字符串a和b是否相等,应当使用D。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、用doubleq[2][5];定义的数组q包含A个元素A.10B8C.5D.210、已知charc[6]=ABCDE,d[6];要将c复制到d中,正确的做法是(D)A.d=c;B.c=d;C.strcmp(c,d);D.strcpy(d,c);二、判断题1、数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。(F)2.数组中的元素类型不能不同;(T)3.字符串The小于字符串the;(T)4.任何数组的下标都是从0开始;(T)5.符数组中的一个元素存放一个字符;(T)三、分析下面程序的结果。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);}a:496531287s1=14,s2=11第八章作业一、选择题1.D2.D3.B4.C5.B1.在C语言中,下面对函数不正确的描述是(D)。A.当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。B.允许函数递归调用。C.函数形参的作用范围只是局限于所定义的函数内。D.子函数必须位于主函数之前。2.以下正确的函数形式是(D)。A.doublefun(intx,inty){z=x+y;returnz;}B.fun(intx,y){intz;returnz;}C.fun(x,y){intx,y;doublez;z=x+y;returnz;}D.doublefun(intx,inty){doublez;z=x+y;returnz;}3.C语言规定,实参变量对形参变量的数据传递是(B)。A.地址传递B.单向值传递C.双向值传递。即由实参传给形参,再由形参传回给实参D.由用户指定传递方式4.关于实参和形参,以下的论述正确的是(C)。A.形参变量未被调用时占用内存B.实参可以没有确定的值。C.实参可以为常量、变量、表达式。5.用数组名作为实参,传给形参的是(B)A.数组第0个元素的值B.数组首地址C.数组元素个数D.数组全部元素的值三、写出程序的输出结果1.voidmain
本文标题:北大网络教育(计算机专业)C程序设计作业答案
链接地址:https://www.777doc.com/doc-2635741 .html