武汉理工大学继续教育《C语言程序设计(本)》在线作业答案_第1页
武汉理工大学继续教育《C语言程序设计(本)》在线作业答案_第2页
武汉理工大学继续教育《C语言程序设计(本)》在线作业答案_第3页
武汉理工大学继续教育《C语言程序设计(本)》在线作业答案_第4页
武汉理工大学继续教育《C语言程序设计(本)》在线作业答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、.一、单选(共计100分,每题2.5分)1、若已定义 int a=11; 执行以下语句后的输出结果是( )。 printf("a=%d,a=%o,a=%xn",a,a,a) ;A. a=11, a=11, a=bB. a=11, a=13, a=bC. a=11, a=13, a=cD. a=11, a=12, a=132、 A. B. C. D. 3、以下程序运行后,文件test.txt的内容是( )。 #include <stdio.h> main() FILE *fp; char str10="first","second&q

2、uot; fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str0); fclose(fp); fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str1); fclose(fp); A. firstB. secondC. first secondD. second first4、若有以下定义: struct node int data; st

3、ruct node *next; struct node *head,*p; 已建立如下图所示的链表: p head datanextdatanext. dataNULL 能删除指针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、若有定义:int

4、 a10=0,1,2,3,4,5,6,7,8,9, *p=a; , 则( )表达式是错误的。A. a2B. p+C. p2D. a+6、下面叙述错误的是( )。A. C源程序可由一个或多个函数组成B. C. D. 注释说明部分只能位于C源程序的最前面 7、 ( )为合法的常量。A. B. C. D. 8、以下程序的运行结果是( )。 void main() int s = 0, i = 0; while(i< 8) i+; if(i%2=0) continue; s+=i; printf("%dn",s); A. 36B. 7C. 16D. 129、以下程序段的运行结

5、果是( )。 main() int i=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(int len,char c) int k; for(k=1;k<=len;k+) putchar(c);A. B. C. D. 10、设有以下程序段: int a=1, b=10, c=1, x; x=a&&b|+c; print

6、f(%d, %dn,x,c); 执行后输出的结果是( ) A. 0,0B. 0,1C. 1,0D. 1,111、以下条件语句中(其中s1和s2分别表示C语言的语句),( )与其他三条语句不等价。A. if(a) s1; else s2;B. if(a = 0) s2; else s1;C. if(a != 0) s1; else s2;D. if(a = 0) s1; else s2;12、若已定义 int arr10; 则不能正确引用arr数组元素的是( )。A. arr0B. arr1C. arr10-1D. arr7+313、若有定义:int *p,k=4; p=&k;以下均代表

7、地址的是( )。A. k, pB. &k, &pC. &k, pD. k, *p14、以下程序的运行结果是( )。 main() int a3=1,2,3; int *num3; int *p,i; for(i=0;i<3;i+) numi=&ai; p=num; printf("%d",*p);A. 1B. 3C. &a0D. num15、以下程序中的循环执行了( )次。 #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() int i,n=0; for(i=0;i<

8、;NUM;i+) n+; printf("%dn",n); A. 5B. 6C. 8D. 916、若有定义:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为( )。A. 2 3 5B. 3 2 5C. 5 2 3D. 5 3 217、以下程序运行后,a的值是( )。 main() int a,b; for(a=1,b=1;a<=100;a+) if(b>=20) break; if(b%3=1) b+=3; continue; b-=5; A. 101B. 100C. 8D. 718、下面叙述正确的是( )。A. 宏展开不

9、占用运行时间,只占用编译时间B. 预处理命令也是C语句,必须以分号结束C. 一个源程序只能有一个预编译处理命令行D. 宏名必须用大写字母表示19、若有定义 int m=4321,n=123,k=21; 语句printf("%4d+%3d+%2d",m,n,k); 执行后的输出结果是( )。A. 4321432143211231231232121B. 432112321C. 4321+123+21D. 432+123+02120、( )语句符合C语言语法。A. B. C. D. 21、已有如下定义和输入语句,char c1,c2;int x; scanf("%c%d

10、%c",&c1,&x,&c2);若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是( )。A. K9HB. K 9 HC. K9 HD. 9KH22、 A. B. C. D. 23、若有定义:struct studentint num; char sex; int age;stu1;下列叙述不正确的是( )。A. student是结构体类型名B. struct student是结构体类型名C. stu1是用户定义的结构体类型变量名D. num,sex,age都是结构体变量stu1的成员24、有以下程序: main

11、() int c; while(c=getchar()!= 'n') switch(c-'2') case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default: putchar(c+2); break; printf("n"); 当输入:247<回车>,程序的输出结果是( )。A. 689B. 6689C. 66778D. 6688725、 A. B. C. D. 26、下面叙述错误的是( )。A. B. C

12、. 预处理命令行必须以分号结束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的值是( )。 int a33=1,2,3,4,

13、5,1,2,3,4; int i,j,s=1; for(i=0;i<3;i+) for(j=i+1;j<3;j+) s+=aij;A. 6B. 120C. 7D. 24032、若有定义:int a=6,b=7,k=0,t=1; 语句 (k=a<b) && (t=a=b); 运行后,k、t的值分别是( )。A. 0 0B. 1 1C. 0 1D. 1 033、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )。A. B. C. D. 34、若有下面定义,能打印出字母'L'的语句是( )。 struct class char name8;

14、 int age; ; struct class s12="Zheng",16,"Lin",18,"Yang",19,"Guo",20;A. printf("%cn",0);B. printf("%cn",0);C. printf("%cn",);D. printf("%cn",);35、设已定义 float a=2.0,b=3.0; 使a值为5.0的表达式是( )。A. a+=

15、bB. a*=b+2.0C. a/=b+2.0D. a-=b+2.036、以下叙述中正确的是( )A. C源程序中注释部分可以出现在程序中任意合适的地方B. C. C源程序编译时注释部分的错误将被发现 D. 构成C源程序的基本单位是函数,所有函数名都可以由用户命名37、( )是正确的数组定义。A. int n=10,xn;B. int x10;C. int N=10;int xN;D. int n;scanf("%d",&n); int xn;38、以下程序段运行后变量k的值为( )。 int m=7,n=2,k;k=(mn)<<1;A. 0B. 98C

16、. 20D. 1039、若定义 int a=-5,b=-8,c=-12; 则表达式 a>=b|b<c 的值为( )。A. 变量i的值B. 变量j的值C. 0D. 140、执行下面程序段后,输出字符B的个数是( ) x=0; while(x<=5) printf(B); x+=2; A. 0个B. 3个C. 5个D. 6个一、单选(共计100分,每题2.5分)1、 A. 0,0B. 10,3C. 13,7D. 7,132、以下程序的运行结果是( )。 void main() int n=9; switch(n-) default: printf("%d ",

17、n+); case 8:case 7: printf("%d ",n); break;case 6: printf("%d ",n+);case 5: printf("%d ",n); A. 8B. 7C. 8 9D. 8 73、x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为( )。A. -20<x<-5B. x>-20 && x<-5C. !(x>-20) && !(x<-5)D. -5<x<-204、若有定义:int x=10,y=8

18、,a; 则执行语句a=(-x=y)? x: y);后,变量a的值是( )。A. 8B. 9C. 10D. 05、以下程序段运行后s的值是( )。 int a33=1,2,3,4,5,1,2,3,4; int i,j,s=1; for(i=0;i<3;i+) for(j=i+1;j<3;j+) s+=aij;A. 6B. 120C. 7D. 2406、若有以下定义: struct node int data; struct node *next; struct node *p; 已建立如下图所示的链表: p datanext datanext . dataNULL 指针p指向第一个结

19、点,能输出链表所有结点的数据成员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、若有定义:int a=6,b=7,k=0,t=1; 语句 (

20、k=a<b) && (t=a=b); 运行后,k、t的值分别是( )。A. 0 0B. 1 1C. 0 1D. 1 08、以下程序的可执行文件名为abc.exe。 #include <stdio.h> #include <stdlib.h> void main(int argc,char *argv) if(argc!=2) printf("Input errorn"); exit(1); printf("I love %sn",argv1); 在DOS命令行输入:abc right<回车>,则输

21、出结果是( )。A. Input errorB. I love abcC. I love rightD. I love9、以下程序的运行结果是( )。 void main() int s = 0, i = 0; while(i< 8) i+; if(i%2=0) continue; s+=i; printf("%dn",s); A. 36B. 7C. 16D. 1210、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )。A. B. C. D. 11、以下程序中的循环执行了( )次。 #define N 2 #define M N+1 #define NUM

22、 (M+1)*M/2 main() int i,n=0; for(i=0;i<NUM;i+) n+; printf("%dn",n); A. 5B. 6C. 8D. 912、 A. B. C. D. 13、C语言整型数据在内存中的代码是用( )表示的。 A. 原码B. 反码C. 补码D. BCD码14、以下程序运行后,文件test.txt的内容是( )。 #include <stdio.h> main() FILE *fp; char str10="first","second" fp = fopen("t

23、est.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str0); fclose(fp); fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str1); fclose(fp); A. firstB. secondC. first secondD. second first15、以下程序段运行后x的值为( )。 int a8=1,2,3,4,5,6,7,8,i,x=0; for(i=0

24、;i<8;i+,i+) x=x+ai;A. 36B. 16C. 20D. 1816、以下程序段的运行结果是( )。 int s=15; switch(s/4) default: printf("Over "); case 1: printf("One "); break; case 2: printf("Two ");A. TwoB. Over TwoC. Over OneD. One17、以下程序段运行后变量k的值为( )。 int a=3,b=2; int k; k=(-a=b+)?a:b+1;A. 0B. 1C. 2D.

25、318、以下程序段的运行结果是( )。 int a=1,2,3,4,i,j; j=1; for(i=3;i>=0;i-) ai=ai*j; j=j*3; for(i=0;i<4;i+) printf("%d ",ai);A. 3 6 9 12B. 18 12 9 4C. 27 18 9 4D. 54 18 9 419、( )语句符合C语言语法。A. B. C. D. 20、以下程序段的运行结果是( )。 char str32= 'a','b','c','0','e','f&#

26、39;printf("%s",str0);A. aB. abcefC. abc0efD. abc21、若有定义:int a=3,b=2,c=3; 则值为0的表达式是( )。A. (a-b)=(c/b)B. a>=cC. c-b|a+b&&(b*c-a-c)D. (b*c-a-c)&&(b*c-a-b)22、对于以下程序,说法正确的是( )。 #include <stdio.h> main() FILE *fp; fp=fopen("quiz.txt", "w"); if(fp!=NUL

27、L) fprintf(fp,"%sn", "success!"); fclose(fp); printf("ok!"); A. 程序运行后,当前工作目录下存在quiz.txt文件,其中的内容是"ok!"B. 程序运行后,当前工作目录下存在quiz.txt文件,其中的内容是"success!"C. 程序运行之前,当前工作目录下一定不存在quiz.txt文件D. 程序运行之前,当前工作目录下一定存在quiz.txt文件23、在对无符号数的位运算中,操作数左移三位相当于( )。A. 操作数除以6B.

28、操作数乘以6C. 操作数除以8D. 操作数乘以24、若已定义 int a=11; 执行以下语句后的输出结果是( )。 printf("a=%d,a=%o,a=%xn",a,a,a) ;A. a=11, a=11, a=bB. a=11, a=13, a=bC. a=11, a=13, a=cD. a=11, a=12, a=1325、 A. B. C. D. 26、若有定义 int m=4321,n=123,k=21; 语句printf("%4d+%3d+%2d",m,n,k); 执行后的输出结果是( )。A. 4321432143211231231232121B. 432112321C. 4321+123+21D. 432+123+02127、执行下面程序段后,输出字符B的个数是( ) x=0; while(x<=5) printf(B); x+=2; A. 0个B. 3个C. 5个D. 6个28、若有定义:int a=3; 语句a+=a-=a*a; 运行后,a的值为( )。A. 0B. -3C. -12D. -629、在

温馨提示

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

评论

0/150

提交评论