武汉理工大学继续教育《C语言程序设计本》在线作业答案.docx
- 文档编号:5091831
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:16
- 大小:20.58KB
武汉理工大学继续教育《C语言程序设计本》在线作业答案.docx
《武汉理工大学继续教育《C语言程序设计本》在线作业答案.docx》由会员分享,可在线阅读,更多相关《武汉理工大学继续教育《C语言程序设计本》在线作业答案.docx(16页珍藏版)》请在冰豆网上搜索。
武汉理工大学继续教育《C语言程序设计本》在线作业答案
一、单选(共计100分,每题2.5分)
1、若已定义inta=11;执行以下语句后的输出结果是()。
printf("a=%d,a=%o,a=%x\n",a,a,a);
A.a=11,a=11,a=b
B.a=11,a=13,a=b
C.a=11,a=13,a=c
D.a=11,a=12,a=13
2、
A.
B.
C.
D.
3、以下程序运行后,文件test.txt的内容是()。
#include
charstr[][10]={"first","second"};fp=fopen("test.txt","w");if(fp!
=NULL)
fprintf(fp,"%s",str[0]);fclose(fp);fp=fopen("test.txt","w");if(fp!
=NULL)
fprintf(fp,"%s",str[1]);fclose(fp);}
A.first
B.second
C.firstsecond
D.secondfirst
4、若有以下定义:
structnode{intdata;structnode*next;}structnode*head,*p;已建立
如下图所示的链表:
p↓┌──┬──┐
┌──┬──┐┌──┬──┐head→│data│next┼→│data│next┼→...
→│data│NULL│└──┴──┘└──┴──┘└──┴──┘
能删除指针p所指向结点的程序段是()。
A.p=p->next;head->next=p->next;free(p);
B.free(p);p=p->next;head->next=p->next;
C.head->next=p->next;free(p);
D.free(p);head->next=p->next;
5、若有定义:
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,则()表达式是错误的。
A.a[2]
B.p++
C.p[2]
D.a++
6、下面叙述错误的是()。
A.C源程序可由一个或多个函数组成
B.
C.
D.注释说明部分只能位于C源程序的最前面
7、()为合法的常量。
A.
B.
C.
D.
8、以下程序的运行结果是()。
voidmain(){ints=0,i=0;while(i<8)
{i++;if(i%2==0)continue;s+=i;}
printf("%d\n",s);}
A.36
B.7
C.16
D.12
9、以下程序段的运行结果是()。
main(){inti=4,j;j=i;pic(i+2*j-2,'*');putchar('\n');
for(j-=2;j>=0;j--){pic(3-j,'');pic(i+2*j,'*');putchar('\n');}}pic(intlen,charc){int
k;for(k=1;k<=len;k++)putchar(c);}
A.
B.
C.
D.
10、设有以下程序段:
inta=1,b=10,c=1,x;x=a&&b||++c;printf(″%d,%d\n″,x,c);
执行后输出的结果是()
A.0,0
B.0,1
C.1,0
D.1,1
11、以下条件语句中(其中s1和s2分别表示C语言的语句),()与其他三条语句不等
价。
A.if(a)s1;elses2;
B.if(a==0)s2;elses1;
C.if(a!
=0)s1;elses2;
D.if(a==0)s1;elses2;
12、若已定义intarr[10];则不能正确引用arr数组元素的是()。
A.arr[0]
B.arr[1]
C.arr[10-1]
D.arr[7+3]
13、若有定义:
int*p,k=4;p=&k;以下均代表地址的是()。
A.k,p
B.&k,&p
C.&k,p
D.k,*p
14、以下程序的运行结果是()。
main(){inta[3]={1,2,3};int*num[3];int**p,i;
for(i=0;i<3;i++)num[i]=&a[i];p=num;printf("%d",**p);}
A.1
B.3
C.&a[0]
D.num
15、以下程序中的循环执行了()次。
#defineN2#defineMN+1#defineNUM(M+1)*M/2
main(){inti,n=0;for(i=0;i A.5 B.6 C.8 D.9 16、若有定义: intx,a,b;语句x=(a=2,b=3,a+b);运行后,x、a、b的值依次为()。 A.235 B.325 C.523 D.532 17、以下程序运行后,a的值是()。 main(){inta,b;for(a=1,b=1;a<=100;a++) {if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}} A.101 B.100 C.8 D.7 18、下面叙述正确的是()。 A.宏展开不占用运行时间,只占用编译时间 B.预处理命令也是C语句,必须以分号结束 C.一个源程序只能有一个预编译处理命令行 D.宏名必须用大写字母表示 19、若有定义intm=4321,n=123,k=21;语句printf("%4d+%3d+%2d",m,n,k);执行后的输出结 果是()。 A.4321432143211231231232121 B.432112321 C.4321+123+21 D.432+123+021 20、()语句符合C语言语法。 A. B. C. D. 21、已有如下定义和输入语句,charc1,c2;intx;scanf("%c%d%c",&c1,&x,&c2);若要求x、c1、 c2的值分别为9、'K'和'H',正确的数据输入是()。 A.K9H B.K9H C.K9H D.9KH 22、 A. B. C. D. 23、若有定义: structstudent{intnum;charsex;intage;}stu1;下列叙述不正确的是()。 A.student是结构体类型名 B.structstudent是结构体类型名 C.stu1是用户定义的结构体类型变量名 D.num,sex,age都是结构体变量stu1的成员 24、有以下程序: 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;}}printf("\n");}当输入: 247<回车>,程序的输出结果 是()。 A.689 B.6689 C.66778 D.66887 25、 A. B. C. D. 26、下面叙述错误的是()。 A. B. C.预处理命令行必须以分号结束 D.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率 27、 A. B. C. D. 28、对二维数组的正确定义是() A. B. C. D. 29、在C语言中,运算符″=″和″==″的功能分别是() A.关系运算和赋值运算 B.关系运算和赋值运算 C.都是关系运算 D.都是赋值运算 30、下面叙述错误的是() A.数组中每一个元素都属于同一个数据类型 B.C语言数组名称是数组在内存中的首地址 C.C语言数组长度在定义数组时可不作确定 D.C语言规定可逐个引用数组元素但不能一次引用整个数组 31、以下程序段运行后s的值是()。 inta[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1; for(i=0;i<3;i++)for(j=i+1;j<3;j++)s+=a[i][j]; A.6 B.120 C.7 D.240 32、若有定义: inta=6,b=7,k=0,t=1;语句(k=a ()。 A.00 B.11 C.01 D.10 33、以下在任何情况下计算平方数时都不会引起二义性的宏定义是()。 A. B. C. D. 34、若有下面定义,能打印出字母'L'的语句是()。 structclass{charname[8];int age;};structclasss[12]={"Zheng",16,"Lin",18,"Yang",19,"Guo",20}; A.printf("%c\n",s[1].name[0]); B.printf("%c\n",s[2].name[0]); C.printf("%c\n",s[1].name); D.printf("%c\n",s[2].name); 35、设已定义floata=2.0,b=3.0;使a值为5.0的表达式是()。 A.a+=b B.a*=b+2.0 C.a/=b+2.0 D.a-=b+2.0 36、以下叙述中正确的是() A.C源程序中注释部分可以出现在程序中任意合适的地方 B. C.C源程序编译时注释部分的错误将被发现 D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名 37、()是正确的数组定义。 A.intn=10,x[n]; B.intx[10]; C.intN=10;intx[N]; D.intn;scanf("%d",&n);intx[n]; 38、以下程序段运行后变量k的值为()。 intm=7,n=2,k;k=(m^n)<<1; A.0 B.98 C.20 D.10 39、若定义inta=-5,b=-8,c=-12;则表达式a>=b||b A.变量i的值 B.变量j的值 C.0 D.1 40、执行下面程序段后,输出字符B的个数是()x=0; while(x<=5){printf("B");x+=2;} A.0个 B.3个 C.5个 D.6个 一、单选(共计100分,每题2.5分) 1、 A.0,0 B.10,3 C.13,7 D.7,13 2、以下程序的运行结果是()。 voidmain(){intn=9;switch(n--){default: printf("%d",n++);case8: case7: printf("%d",n);break;case6: printf("%d",n++); case5: printf("%d",n);}} A.8 B.7 C.89 D.87 3、x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()。 A.-20 B.x>-20&&x<-5 C.! (x>-20)&&! (x<-5) D.-5 4、若有定义: intx=10,y=8,a;则执行语句a=((--x==y)? x: y);后,变量a的值是()。 A.8 B.9 C.10 D.0 5、以下程序段运行后s的值是()。 inta[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1; for(i=0;i<3;i++)for(j=i+1;j<3;j++)s+=a[i][j]; A.6 B.120 C.7 D.240 6、若有以下定义: structnode{intdata;structnode*next;}structnode*p;已建立如下 图所示的链表: ┌──┬──┐┌──┬──┐┌──┬──┐ p→│data│next┼→│data│next┼→...→│data│NULL│└──┴──┘ └──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点的 数据成员data的循环语句是()。 A.while(p! =NULL){printf("%d,",p->data);p++;} B.while(p){printf("%d,",p.data);p=p->next;} C.for(;p! =NULL;p++)printf("%d,",p->data); D.for(;p;p=p->next)printf("%d,",(*p).data); 7、若有定义: inta=6,b=7,k=0,t=1;语句(k=a A.00 B.11 C.01 D.10 8、以下程序的可执行文件名为abc.exe。 #include main(intargc,char*argv[]){if(argc! =2){printf("Inputerror\n"); exit (1);}printf("Ilove%s\n",argv[1]);}在DOS命令行输入: abcright<回车>,则输出 结果是()。 A.Inputerror B.Iloveabc C.Iloveright D.Ilove 9、以下程序的运行结果是()。 voidmain(){ints=0,i=0;while(i<8) {i++;if(i%2==0)continue;s+=i;} printf("%d\n",s);} A.36 B.7 C.16 D.12 10、以下在任何情况下计算平方数时都不会引起二义性的宏定义是()。 A. B. C. D. 11、以下程序中的循环执行了()次。 #defineN2#defineMN+1#defineNUM(M+1)*M/2 main(){inti,n=0;for(i=0;i A.5 B.6 C.8 D.9 12、 A. B. C. D. 13、C语言整型数据在内存中的代码是用()表示的。 A.原码 B.反码 C.补码 D.BCD码 14、以下程序运行后,文件test.txt的内容是()。 #include charstr[][10]={"first","second"};fp=fopen("test.txt","w");if(fp! =NULL) fprintf(fp,"%s",str[0]);fclose(fp);fp=fopen("test.txt","w");if(fp! =NULL) fprintf(fp,"%s",str[1]);fclose(fp);} A.first B.second C.firstsecond D.secondfirst 15、以下程序段运行后x的值为()。 inta[8]={1,2,3,4,5,6,7,8},i,x=0;for(i=0;i<8;i++,i++) x=x+a[i]; A.36 B.16 C.20 D.18 16、以下程序段的运行结果是()。 ints=15;switch(s/4){default: printf("Over");case 1: printf("One");break;case2: printf("Two");} A.Two B.OverTwo C.OverOne D.One 17、以下程序段运行后变量k的值为()。 inta=3,b=2;intk;k=(--a==b++)? a: b+1; A.0 B.1 C.2 D.3 18、以下程序段的运行结果是()。 inta[]={1,2,3,4},i,j;j=1;for(i=3;i>=0;i--) {a[i]=a[i]*j;j=j*3;}for(i=0;i<4;i++)printf("%d",a[i]); A.36912 B.181294 C.271894 D.541894 19、()语句符合C语言语法。 A. B. C. D. 20、以下程序段的运行结果是()。 charstr[3][2]={'a','b','c','\0','e','f'};printf("%s",str[0]); A.a B.abcef C.abc\0ef D.abc 21、若有定义: inta=3,b=2,c=3;则值为0的表达式是()。 A.(a-b)==(c/b) B.a>=c C.c-b||a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b) 22、对于以下程序,说法正确的是()。 #include fp=fopen("quiz.txt","w");if(fp! =NULL){fprintf(fp,"%s\n","success! ");fclose(fp); printf("ok! ");}} A.程序运行后,当前工作目录下存在quiz.txt文件,其中的内容是"ok! " B.程序运行后,当前工作目录下存在quiz.txt文件,其中的内容是"success! " C.程序运行之前,当前工作目录下一定不存在quiz.txt文件 D.程序运行之前,当前工作目录下一定存在quiz.txt文件 23、在对无符号数的位运算中,操作数左移三位相当于()。 A.操作数除以6 B.操作数乘以6 C.操作数除以8 D.操作数乘以 24、若已定义inta=11;执行以下语句后的输出结果是()。 printf("a=%d,a=%o,a=%x\n",a,a,a); A.a=11,a=11,a=b B.a=11,a=13,a=b C.a=11,a=13,a=c D.a=11,a=12,a=13 25、 A. B. C. D. 26、若有定义intm=4321,n=123,k=21;语句printf("%4d+%3d+%2d",m,n,k);执行后的输出结 果是()。 A.4321432143211231231232121 B.432112321 C.4321+123+21 D.432+123+021 27、执行下面程序段后,输出字符B的个数是()x=0; while(x<=5){printf("B");x+=2;} A.0个 B.3个 C.5个 D.6个 28、若有定义: inta=3;语句a+=a-=a*a;运行后,a的值为()。 A.0 B.-3 C.-12 D.-6 29、在C语言中,若定义二维数组a[2][3],设a[0][0]在数组中位置为1,则a[1][1]在数组中 位置是()。 A.3 B.4 C.5 D.6 30、当顺利执行了文件关闭操作时,fclose函数的返回值是()。 A.1 B.0 C.-1 D.一个非0值 31、以下程序的运行结果是()。 main(){inta[3]={1,2,3};int*num[3];int**p,i; for(i=0;i<3;i++)num[i]=&a[i];p=num;printf("%d",**p);} A.1 B.3 C.&a[0] D.num 32、只能向终端输出一个字符的是()。 A.printf()函数 B.scanf()函数 C.getchar()函数 D.putchar()函数 33、构成C源程序的基本单位是() A.语句 B.变量 C.运算符 D.函数 34、C语言函数体由()括起来。 A. B. C. D. 35、若有定义: inti,x=0;语句for(i=1;i<=3;i++)x+=2;与下列()程序段不等价。 A.i=1;for(;i<=3;i++)x+=2; B.i=1;for(;;i++)x+=2; C.for(i=1;i<=3;){x+=2;i++;} D.i=1;for(;i<=3;){x+=2;i++;} 36、若有定义: intx;charc='A';则正确的赋值表达式是()。 (说明: 'A'的ASCII码的十 进制值为65,'a'的ASCII码的十进制值为97) A.x=c+32 B.x=c+'ABC' C.x=c+'CBA' D.x='ABC' 37、 A.计算文件wj.txt的起始地址 B.计算文件wj.txt的终止地址 C.计算文件wj.txt的长度 D.将文件指针定位到文件末尾 38、若有定义: floatx=3.5,y=3.6;则表达式()的值为6。 A.(int)x+(int)y B.x+y C.(int)(x+y) D.int(x+y) 39、 A.4 B.5 C.8 D.9 40、 A. B. C. D.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计本 武汉理工大学 继续教育 语言程序设计 在线 作业 答案