c语言程序设计(专)复习题(编辑修改稿)内容摘要:

下选项中非法的表达式是 A) 0=x100 B) i=j==0 C) (char)(65+3) D) x+1=x+1 46. 有以下程序 main() { int a=1,b=2,m=0,n=0,k。 k=(n=ba)||(m=aB)。 printf(%d,%d\n,k,m)。 } 程序运行后的输出结果是 A) 0,0 B) 0,1 C) 1,0 D) 1,1 47. 有定义语句: int x, y。 ,若值 11,变量 y 得到数值 12,下面四组输入要通过scanf(%d,%d,amp。 x,amp。 y)。 语句使变量 x得到数形式中,错误的是 A) 11 12回车 B) 11, 12回车 C) 11,12回车 D) 11,回车 12回车 48. 设有如下程序段: int x=2020, y=2020。 printf(%d\n,(x,y))。 则以下叙述中正确的是 A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B)运行时产生出错信息 C)输出值为 2020 D)输出值为 2020 49. 设变量 x为 float型且已赋值,则以下语句中能将 x中的数值保留到小数点后两位,并将第三位四舍五入的是 A) x=x*100+。 B) x=(x*100+)/。 C) x=(int)(x*100+)/。 D) x=(x/100+)*。 50. 有以下程序 if(iJ) { t=a。 a=a[j]。 a[j]=t。 fun(a,i,j)。 } fun(x,0,3)。 intf(\n)。 程序运行后的输出结果是 1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D) 8 6 1 2 51. 有以下说明和定义语句 struct student struct student stu[3]={{20,202001},{21,202002},{10\9,202003}}。 struct student *p=stu。 以下选项中引用结构体变量成员的表达式错误的是 num B) pnum C) (*p).num D) stu[3].age 52. 有以下程序 for(i=0。 i3。 i++) ) if(x[j+1]x[j]){ k=x[j]。 x[j]=x[j+1]。 x[j+1]=k。 } for(j=4。 j7i。 j++) if(x[j+1]x[j]){ k=x[j]。 x[j]=x[j+1]。 x[j+1]=k。 } for (i=0。 i3。 i++) for(j=4。 j7i。 j++) if(x[j]x[j+1]){ k=x[j]。 x[j]=x[j+1]。 x[j+1]=k。 } for (i=0。 i8。 i++) printf(%d,x)。 printf(\n)。 程序运行后的输出结 果是: 75310246 B) 1234567 C) 76310462 D) 13570246 53. 有如下程序 FILE *fp1。 fp1=fopen(,w)。 fprintf(fp1,abc)。 fclose(fp1)。 若文本文件 : good,则运行以上程序后文件 goodabc B) abcd C) abc D) abcgood 53~55. 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。 (53) CreatList(char *s) h=(struct node *) malloc(sizeof(struct node))。 \039。 ) pdata= (54)。 qnext=p。 q= (55)。 s++。 } pnext=39。 \039。 return h。 { char str[]=link list。 struct node *head。 head=CreatList(str)。 ... 53) A) char * B) struct node C) struct node* D) char 54) A) *s B) s C) *s++ D) (*s)++ 5) A) pnext B) p C) s D) snext 56. 有以下程序 main() { int s=0,a=1,n。 scanf(%d,amp。 n)。 do { s+=1。 a=a2。 } while(a!=n)。 printf(%d\n,s)。 } } 若要使程序的输出值为 2,则应该从键盘给 n输入的值是 A) 1 B) 3 C) 5 D) 0 57. 若有如下程序段,其中 s、 a、 b、 c均已定义为整型变量 ,且 a、 c均已赋值( c大于 0) s=a。 for(b=1。 b=c。 b++) s=s+1。 则与上述程序段功能等价的赋值语句是 A) s=a+b。 B) s=a+c。 C) s=s+c。 D) s=b+c。 58. 要求以下程序的功能是计算: s= 1+1/2+1/3+„„+1/10 main() { int n。 float s。 s=。 for(n=10。 n1。 n) s=s+1/n。 printf(%\n,s)。 } 程序运行后输出结果错误,导致错误结果的程序行是 A) s=。 B) for(n=10。 n1。 n) C) s=s+1/n。 D)printf(%\n,s)。 59. 已定义 ch为字符型变量,以下赋值语句中错误的是 A) ch=39。 \39。 B) ch=62+3。 C) ch=NULL。 D) ch=39。 \xaa39。 60. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 61. 有以下函数定义: void fun(int n, double x) { „„ } 若以下选项中的变量都已正确定义并赋值,则对函数 fun的正确调用语句是 A) fun(int y,double m)。 B) k=fun(10,)。 C) fun(x,n)。 D) void fun(n,x)。 62. 有以下程序 void fun(char *a, char *b) { a=b。 (*a)++。 } main() { char c1=39。 A39。 ,c2=39。 a39。 ,*p1,*p2。 p1=amp。 c1。 p2=amp。 c2。 fun(p1,p2)。 printf(%c%c\n,c1,c2)。 } 程序运行后的输出结果是 A) Ab B) aa C) Aa D)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。