C语言程序设计复习题及答案_第1页
C语言程序设计复习题及答案_第2页
C语言程序设计复习题及答案_第3页
C语言程序设计复习题及答案_第4页
C语言程序设计复习题及答案_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计复习题及答案一、选择题正确的自定义标识符是Aa=2Ba+bCnameDdefault变量的指针含意是指变量的值B.地址C.存储D.名字关系表达式aWxVb的正确描述是A.a=x=a&x=a|xbD.!(x=b)数字12345写入二进制文件和文本文件所占用的字节数分别是A.5,5B.5,2C.2,2D.2,5函数调用语句是:fun(el,(e2,e3),(e4,e5,e6);实在参数的个数是A.1B.2C.3D.6设置inta10,*p=a;与a1等价的是A.*(a+l)B.*(p+l)C.plD.(*p)+在C语言中,正确的说法是函数内部和外部定义的变量同名是合法的没有retur

2、n的函数就失去了返回功能变量的定义和声明(也称说明)功能是相同的只要形参和实参都是变量,那么形实结合一定是地址传递下述对C语言字符数组的描术中错误的是字符数组可以存放字符串字符数组中的字符串可以整体输入、输出可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值不可以用关系运算符对字符数组中的字符串进行比较C语言的关键字是A.NULLB.fileC.includeD.typedef正确的自定义标识符是A.ifB.iFC.a*bD.8bq设inta=0,b=5;执行表达式+all+b,a+b后,a,b和表达式的值分别是A.0,0,0B.0,5,5C.1,5,6D.1,6,7C语言中最简单的数据类

3、型包括A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型,实型,逻辑型,字符型有以下程序段intk=0;while(k=1)k+;while循环执行的次数A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次当调用函数时,实参是一个数组名,则向函数传递的是A.数组的长度B.数组每一个元素地址C.数组的首地址D.数组每个元素中的值为了向二进制文件尾部增加数据,打开文件的方式应采用A.abB.rb+C.wbD.wb+设有inta=10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是A10,11,12B11,12,12C10,12,

4、12D11,11,12设有inti,j,k;则表达式i=l,j=2,k=3,i&j&k的值为A0B1C2D3错误的转义字符是A091BC0D在C语言中,错误的常数是A1E+0.0B5C0 xafD0L某文件中定义的静态全局变量(或称静态外部变量)其作用域是A.只限某个函数B.本文件C.跨文件D.不限制作用域C语言中文件的存取的单位是A.函数B.语句C.字节D.记录设inta=3,b=4;执行printf(%d,%d,(a,b),(b,a);后的输出结果是A.3,4B.4,3C.4,4D.3,3设有inti,j,k;则表达式i=1,j=2,k=3,i&j&k的值为A.0B.1C.2D.3函数返回

5、值的类型是由A.return决定B.调用函数决定C.定义函数时指定D.main函数决定设chars10,*p;正确的操作语句是A.p=MBA;B.s+;C.s=MBA;D.s=MBA设inta,*p;则语句p=&a冲的运算符“&”的含义是A.位与运算B.逻辑与运算C.取指针内容D.取变量地址设有数组定义:chararray=China;则数组array所占的空间为A.4字节B.5字节C.6字节D.7字节二、填空题在C语言中,单目运算符的结合方向(运算方向)是;唯一的一个三目运TOC o 1-5 h z算符是。能正确表示“当ch为小写字母为真,否则为假”的表达式是。循环语句for(;)print

6、f(OKn);和doprintf(OKn);while(O);执行完毕循环,循环次数分别是和。若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为.结构化程序设计的三种基本结构是:选择结构、循环结构和。在C语言中,一个二维数组可以看成若干个数组。文件操作步骤通常是:打开、操作和。一个C语言程序总是从开始执行设宏定义#defineD(x)x/x,则引用D(2+3)后的值是。以下十个运算符+!c)?(b+1):(c+2),3后a的值是。FILE*fp;当文件结束时,结束标志EOF值和函数feof(fp)的返回值分别是和。编译预处理的三种形式除宏定义外,还有和。语句in

7、t(*p)()的含义是.17.全局变量放在内存的区三、阅读程序,写出程序的运行结果(共15分)运行结果:intfunc(intn)if(n=0)return0;elseif(n=1)return1;elsereturnn*n+func(n-2);main()printf(%5d%5dn,func(4),func(5);change(&a,b);printf(a=%d,b=%dn,a,b);运行结果:main()inti=1;while(i=2;j-)switch(j)case0:printf(%4s,ABC);case1:printf(%4s,DEF);case2:printf(%4s,GHI

8、);breakcase3:printf(%4s,JKL);default:printf(%4s,MNO);printf(n);运行结果:main()char*p,s=ABCDEFG;p=s;while(*p!=0)printf(%sn,p);p+;if(*p!=0)elsebreak;运行结果:main()inta=1,3,5,7,9;int*p=a;printf(“%d,%dn”,*p,*(a+2);printf(“%d,%dn”,*(p+3),*p+);四、程序填空(共15分)用循环输出下列形式的数字金字塔。12123211234321123454321123456543211234567

9、65432112345678765432112345678987654321main()inti,j;for(i=1;i=9;i+)for(j=i;j=10;j+)printf();/*输出若干个空格*/for(j=1;j=1;j-)printf(%2d,j);printf(n);下面程序将输入的一个字符串按逆序存放。main()inti,n,temp;gets();n=strlen(a);)for(i=0;i+)temp=ai;an-i-1=temp;puts(a);下面程序是用冒泡法对10个数进行从小到大排序的程序。main()int30,i,j,temp;printf(”请输入10个整数

10、:n);for(i=0;i10;i+)scanf(%d,31);for(i=1;i10;i+)for(j=0;32;j+)if(aj33aj+1)temp=aj;34;aj+1=temp;printf(n排好序的10个整数为:n);for(i=0;i10;i+)printf(%5d,a);打印下列的图形main()intI,J;for(I=1;I=9main()intI,J;for(I=1;I=9for(J=Iprintf(n);I+);J=a&ch=z无限次1次9005.顺序结构6.一维数组关闭main函数5&,11.为写打开一个文本文件为读写打开一个二进制文件12.关闭13.3真真条件编译

11、文件包含定义一个指向函数的指针,函数的返回值为整型17.静态存储区八、阅读程序,写出程序的运行结果(共15分)6.运行结果:20,25运行结果:_246810运行结果:_MNOJKLMNOGHI运行结果:_ABCDEFGCDEFGEFGG10.运行结果:1,59,1九、程序填空(共15分)用循环输出下列形式的数字金字塔。112112321123432112345432112345654321123456765432112345678765432112345678987654321main()9999inti,j;for(i=1;i=9;i+)for(j=i;j=10;j+)printf();/

12、*输出若干个空格*/for(j=1;j=1;j-)printf(%2d,j);printf(n);下面程序将输入的一个字符串按逆序存放。#includestdio.hmain()inti,n,temp;a100;gets(a);n=strlen(a);)for(i=0;in;i+)temp=ai;ai=an-i-1an-i-1=temp;puts(a);下面程序是用冒泡法对10个数进行从小到大排序的程序。main()inta10,i,j,temp;printf(”请输入10个整数:n);for(i=0;i10;i+)scanf(%d,&a);for(i=1;i10;i+)for(j=0;jaj

13、+1)temp=aj;aj=aj+1;aj+1=temp;printf(n排好序的10个整数为:n);for(i=0;i10;i+)printf(%5d,a);打印下列的图形main()intI,J;for(I=1;I=9main()intI,J;for(I=1;I=9for(J=Iprintf(n);I+);J=9;J+)printf(%2d,J);3456789456789567896789789899CC)-3276732768D)-32768327687CC)-3276732768D)-32768327687十、编程题(共30分)编写程序,输入一个字符串,求出这个字符串的长度(使用st

14、rlen函数直接求解不得分)。编写一个程序,将字符串a复制到b中。(使用strcpy函数不得分)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。编写程序,输入10个学生3门课的成绩,计算每个学生的平均成绩,按平均成绩降序排列并打印出结果。编写程序,在主函数中输入10个数,在函数invert中将10个数按反序存放,并在主函数中输出结果。输入一行字符,统计其中字母字符、数字字符和2C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。TOC o 1-5 h z(1)C语言规定:在一个

15、源程序中,main函数的位置。A)必须在最后B)必须在系统调用的库函数的后面。C)必须在最开始。D)可以任意(2)C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。A)必须为字母或下划线。B)必须为下划线。C)必须为字母D)可以是字母、数字和下划线中的任一种字符。(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是。A)-100 x8f-011B)010-0 x110 xf1C)0abc-0170 xcD)0a12-0 x123-0 xa(4)C语言中int型数据在内存中占两个字节,则unsegnedint取值范围是。A)065535B)032767若有定义:inta

16、=7;floax=2.5,y=4.7;TOC o 1-5 h z则表达式x+a%3*(int)(x+y)%2/4的值是。2.750000B)0.00000C)3.500000D)2.500000已知ch是字符型变量,下面不正确的赋值语句是。A)ch=5+9;B)ch=a+b;C)ch=0;D)ch=7+6设x,y和z是int型变量,且x=3,y=4,z=5则下面表达式中值为0的是。A)!(xy)&!z|1)A)!(xy)&!z|1)B)x&yC)x|y+z&y-zD)x=y(8)设有程序段intk=10;while(k=0)k=k-1;以下描述正确的是A)循环体语句一次也不执行。A)循环体语句

17、一次也不执行。B)循环是无限循环。C)while循环语句执行十次。C)while循环语句执行十次。D)循环体语句执行一次。(9)以下C程序正确的运行结果是main()longy=23456;printf(y=%3xn,y);printf(y=%8xn,y);printf(y=%#8xn,y);A)y=5ba0B)y=5ba0C)y=5ba0D)y=5ba0y=5ba0y=5ba0y=bba0y=5ba0y=0 x5ba0y=0 x5ba0y=0 x5ba0y=#5ba0当a=1,b=3,c=5d=4时,则执行完下面一段程序后,x的值是if(ab)if(cd)x=1;elseif(ac)if(b

18、d)x=2;elsex=3;elsex=6;elsex=7;1B)3C)2D)6下面程序的运行结果是。#includestdio.hmain()inta=1,b=10dob-=a;a+;while(b-0);printf(a=%d,b=%dn),a,b);A)a=3,b=11B)a=4,b=9C)a=1,b=-1D)a=2,b=8以下for循环的执行次数是。for(x=0,y=0;(y=123)&(x4);x+);A)无限次。B)4次。C)0次。D)3次。以下是死循环的程序段的是A)for(i=1;)以下是死循环的程序段的是A)for(i=1;)if(+i%2=0)continue;if(+i

19、%3=0)break;C)for(i=1;)if(+i10)continue;i=32767doif(i0)A)if(x0)if(x0)printf(%f,-x)AA)ch=123;B)ch=08;C)ch=xff;D)ch=;AA)ch=123;B)ch=08;C)ch=xff;D)ch=;(21)(21)下面程序中有错误的行是。(前面数字表示行号)(21)(21)下面程序中有错误的行是。(前面数字表示行号)AA)ch=123;B)ch=08;C)ch=xff;D)ch=;AA)ch=123;B)ch=08;C)ch=xff;D)ch=;(21)(21)下面程序中有错误的行是。(前面数字表示

20、行号)(21)(21)下面程序中有错误的行是。(前面数字表示行号)x=x+y;printf(%f,x);elseprintf(%f,-x);AA)ch=123;B)ch=08;C)ch=xff;D)ch=;AA)ch=123;B)ch=08;C)ch=xff;D)ch=;(21)(21)下面程序中有错误的行是。(前面数字表示行号)(21)(21)下面程序中有错误的行是。(前面数字表示行号)AA)ch=123;B)ch=08;C)ch=xff;D)ch=;AA)ch=123;B)ch=08;C)ch=xff;D)ch=;(21)(21)下面程序中有错误的行是。(前面数字表示行号)(21)(21)

21、下面程序中有错误的行是。(前面数字表示行号)elseprintf(%f,-x);D)if(x0)if(x0)D)if(x0)x=x+y;printf(%f,x);x=x+y;peintf(%f,x)x=x+y;printf(%f,x);x=x+y;peintf(%f,x)AA)ch=123;B)ch=08;C)ch=xff;D)ch=;AA)ch=123;B)ch=08;C)ch=xff;D)ch=;(21)(21)下面程序中有错误的行是。(前面数字表示行号)(21)(21)下面程序中有错误的行是。(前面数字表示行号)AA)ch=123;B)ch=08;C)ch=xff;D)ch=;AA)ch

22、=123;B)ch=08;C)ch=xff;D)ch=;(21)(21)下面程序中有错误的行是。(前面数字表示行号)(21)(21)下面程序中有错误的行是。(前面数字表示行号)elseprintf(%f,-x)elseprintf(%f,-x);elseprintf(%f,-x)(18)若W=1,X=2,Y=3,Z=4则条件式:WX?W:YZ?Y:Z的值是。A)1B)3C)4D)2(19)以下程序段。x=-1;dox=x*x;while(!x);A)是死循环B)循环执行一次C)循环执行二次D)有语法错误(20)逻辑运算符两侧运算对象的数据类型。A)只能是0或1B)可以是任何类型的数据C)只能是

23、整型或字符型数据D)只能是0或非0正数C)scanf(%s%s,a,b)D)gets(a);gets(b)C)scanf(%s%s,a,b)D)gets(a);gets(b)1、main()2、1、main()2、i3;i+)a0=a0+ai,3、inta3=1;4、inti;A)3B)6(22)下面的程序段。5、scanf(%d,&a);6、for(i=1;7、printf(a0=%dn,a0);8、C)5D)7for(t=1;t=100,t+)scanf(%d,&x);if(x0)continue;printf(%3d,t);A)当x0时整个循环结束C)printf函数永远也不执行以下对一

24、维整型数组a的正确说明是A)inta(10)C)intn;scanf(%d,&n);intan;下面程序的运行结果是。a=1;b=2;c=2;while(ab=0时什么也不输出D)最多允许输出100个非负整数。intn=10;an;#defineSIZE10intaSIZE;printf(%d,%d,%d,a,b,c);C)scanf(%s%s,a,b)D)gets(a);gets(b)C)scanf(%s%s,a,b)D)gets(a);gets(b)1,2,02,1,01,2,12,1,11,2,02,1,01,2,12,1,1若有说明:inta34;则对数组元素的非法引用是。A)a02*

25、1B)a04C)a4-20D)a13对以下说明的正确理解是。inta10=6,7,8,9,10A)将5个初值依此赋给a1至a5B)将5个初值依此赋给a0至a4C)将5个初值依此赋给a6至a10D)因长度与初值个数不同,故语句错误若二维数组a有m列,则在aij前的元素个数为A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1TOC o 1-5 h z以下程序段运行的结果是。charc5=a,b,0,c,0;printf(%s,c);A)abB)abcC)abcD)ab以下正确的函数定义形式是。A)doublefun(intx,inty)B)doublefun(intx;inty)do

26、ublefun(intx,inty);D)doublefun(intx,inty);以下不正确的说法是。实参可以是常量、变量或表达式。B)形参应与其对应的实参类型一致。C)实参可以为任意类型。D)形参可以是常量、变量或表达式。有两个字符数组a,b,则以下正确的输入格式是。A)scanf(%s%s,&a,&b)B)gets(a,b)C)scanf(%s%s,a,b)D)gets(a);gets(b)C)scanf(%s%s,a,b)D)gets(a);gets(b)以下程序正确的运行结果是。main()inta=2,i;for(i=0;icdef(表示回车)则下面程序的运行结果是。#includ

27、estdio.h#defineN6(36)(36)对下面程序段正确的判断是:(36)(36)对下面程序段正确的判断是:main()charc(N);inti=0;for(;iN;ci=getchar(),i+);for(i=0;iN;i+)putchar(ci);D)abcdD)abcdA)abcdefB)aC)bbcdef(35)请读程序:#defineAD(x)x+xmain()intm=1,n=2,k=3;intsum=AD(m+n)*k;printf(sum=%d,sum);上面程序的运行结果是。A)sum=9sum=12D)sum=18B)sum10C)A)sum=9sum=12D)

28、sum=18B)sum10C)#defineA3#defineB(a)(A+1)*a)Mx=3*(A+B(7);A)程序错误,不许嵌套宏定义。B)x=21C)x=93D)程序错误,宏定义不许有参数。37)执行以下程序后,a,b的值为main()inta,b,k=4,m=6,*p1=&k,*p2=&m;a=p1=&m;b=(-*p1)/(*p2)+7;printf(a=%dn,a);printf(b=%dn,b);A)-1B)0C)1D)457610以下程序中调用scanf函数给变量a输入数值的方法是错误的,因为。main()int*p,*q,a,b;p=&a;printf(inputa:);s

29、canf(%d,*p);(36)(36)对下面程序段正确的判断是:A)*p表示的是变量a的值,而不是变量a的地址。B)*p表示的是指针变量p的地址。C)*p表示的是指针变量p的值。D)*p只能用来说明p是一个指针变量。以下程序的运行结果是。#defineMIN(x,y)(x)sex);D)scanf(%d,&(p-age);(47)若有定义:inta34;贝叹寸a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为。B)(a+j)jA)*(*(a+i)+j)B)(a+j)j若已定义charS10;则在下面表达式中不表示Sl的地址的是。A)S+1B)&S1C)&S0+1D)S+若有

30、定义:inta23则对a数值的第i行,第j列元素地址的正确引用为。A)*(ai+j)B)ai+jC)*(a+j)D)(a+i)TOC o 1-5 h z(50)若有以下定义,且0=i6,则正确的赋值语句是。ints46,t64,(*p)6;A)p=t;B)p=si;C)p=s;D)p=ti;(51)以下程序的运行结果是。#includestdio.hmain()unionlonga;intb;charc;TOC o 1-5 h zm;printf(%dn,sizeof(m);A)4B)2C)6D)8当顺利执行了文件,关闭操作时,fclose函数的返回值是。A)0B)TURNC)-11已知学生记

31、录描述为C)*(a+i+j)D)*(a+i)+jC)*(a+i+j)D)*(a+i)+jstructstudentintno;charname20;charsex;structintyear;intmonth;intday;birth;s;设变量是中的“生日”应是“1984年6日”,下列对“生日A)year=1984;B)birth.year=”的正确赋值方式1984;month=6;birth.month=6;day=6;birth.day=6;C)s.year=1984;D)s.birth.year=1984;s.month=6;s.birth.month=6;s.day=6;s.birt

32、h.day=6;(54)表达式ab|c&d的运算顺序是A),&,|B),&,|C),&,|,D),|,&,(55)设有以下语句:charx=3,y=6,z;C)*(a+i+j)D)*(a+i)+jC)*(a+i+j)D)*(a+i)+jC)*(a+i+j)D)*(a+i)+jC)*(a+i+j)D)*(a+i)+j则z的二进制值是B)00011000C)00011100A)00010100B)00011000C)00011100D)00011011(56)已知函数的调用形式:fread(buffer,size,count,fp),其中buffer代表的是。A)一个整型变量,代表要读入的数据项总

33、数.B)一个文件指针,指向要读的文件.C)一个存储器,存放要读的数据项.D)一个指针,指向要读入数据的存放地址(57)若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是。A)(*p)max(a,b);B)*pmax(a,b);C)*p(a,b)D)(*p)(a,b)(58)在16位IBM-PC机上使用C语言,若有如下定义:uniondatainti;charch;doublef;b;则其共用体变量b占用内存字节数是。A)1B)2C)8D)4A)1B)2C)8D)4(59)若有以下程序段intx=1,y=2;x=x人y;y=y人x;x=x人y;TOC

34、 o 1-5 h z则执行以上语句后x和y的值分别是。A)x=1B)x=2C)x=2D)x=1y=2y=2y=1y=1(60)若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是。A)w+B)ab+C)wb+D)ab二.填空(每空2分,共40分):请在处添上正确答案。条件”2x3或x-10的C语言表达式是1.以下程序的功能是判断输入的年份是不是闰年,请在内添入正确的内容.main()inty,f;scanf(%d,&y);if(y%400=0)f=1;elseif(2)f=1;else3;if(f)printf(%dis,y);elseprintf(%disn

35、ot,y);Printf(aleapyearn);以下程序是用梯形法求sin(x)*cos(x)的定积分,求定积分的公式为其中xi=a+ih,h=(b-a)/n设a=0,b=1.2为积分上下限,积分区间分割数n=100,#include#includemain()inti,n;doubleh,s,a,b;printf(inputa,b:);scanf(%lf%lf,4);n=100;h=5S=0.5*(sin(a)*cos(a)+sin(b)*cos(b);for(i=1;i=n-1;i+)S+=6;S*=h;Printf(S=%10.4lfn,S);下面程序的运行结果是7)#includes

36、tdio.hmain()inti=1;while(i=15)if(+i%3!=2)continue;elseprintf(%d,i);printf(n);(5)下面程序段运行的结果是8。i=1;s=3;dos+=i+;if(s%7=0)continue;else+i;while(s15);printf(%d,i);以下程序是矩阵a,b的乘积:main()inta32=2,-1,-4,0,3,1;intb22=7,-9,-8,10inti,j,k,s,c32for(i=0;i3;i+)for(j=0;j2;j+)for(9;k2;k+)s+=10;cij=s;for(i=0;i3;i+)forf

37、or(j=0;j2;j+)printf(%6d,cij);11设数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存放在数组b中,按每行三个元素的形式输出。main()inta10,b10,i;for(i=0;i10;i+)scanf(%d,&ai);for(12;i10;i+)13for(i=1;i10;i+)printf(%3d,bi);if(14=0)printf(n);以下程序的功能是根据公式求e的近似值,精度要求为10-6.请填空.#includemain()inti;doublee,new;15new=1.0for(i=1;16i+)new/=(dou

38、ble)i;e+=new;printf(e=%fn,e);下面add函数的功能是求两个参数的和,并将和值返回调用函数中,错误的部分是17改正后为18Voidadd(floata,floatb)floatc;c=a+b;returnc;下面程序以每行4个数据的形式输出a数组#defineN20main()intaN,i;for(i=0;iN;i+)scanf(%d,19);for(i=0;iN;i+)if(20)21printf(%3d,ai);printf(n);chara20,b10;chara20,b10;chara20,b10;chara20,b10;1464114641以下程序是Y4X

39、1=a4X4XX4X1main()floata44=1,-0.2,0,0,-0.8,1,-0.2,-0.2,0,-0.8,1,-0.2,0,-0.8,-0.8,1;floatX4=1,1,1,1,Y4;inti,j,k;for(i=0;i4;i+)Yi=0for(j=0;j4;j+)22for(k=o;k4;k+)printf(nY%d=%-6.2f,k+1,23);函数yang能够按以下方式构成一个杨辉三角形1111211331#defineN11yang(intaN)inti,j;for(i=1;iN;i+)ai1=1;aii=1;for(24;ib/n.a*+pn-b+pn-f的值是36

40、,表达式(*pn).a+pn-f的值是37以下程序运行的结果是38main()(5)(5)若有定义:inta=7;floax=2.5,y=4.7;(5)(5)若有定义:inta=7;floax=2.5,y=4.7;1464114641structEXAstructintx;inty;in;inta;intb;e;e.a=1;e.b=2;e.in.x=e.a*e.be.in.y=e.a+e.b;printf(%d,%d,e.in.x;e.in.y);C语言规定:在一个源程序中,main函数的位置。A)必须在最后B)必须在系统调用的库函数的后面。C)必须在最开始。D)可以任意C语言中的标识符只能由

41、字母、数字和下划线三种字符组成,且第一个字符A)必须为字母或下划线。B)必须为下划线。C)必须为字母D)可以是字母、数字和下划线中的任一种字符。下面四个选项中,均是正确的八进制数或十六进制数的选项是。A)-100 x8f-011B)010-0 x110 xf1C)0abc-0170 xcD)0a12-0 x123-0 xaC语言中int型数据在内存中占两个字节,则unsegnedint取值范围是A)065535B)032767C)-3276732768D)-32768327687则表达式x+a%3*(int)(x+y)%2/4的值是AA)a=3,b=11B)a=4,b=9AA)a=3,b=11

42、B)a=4,b=9AA)a=3,b=11B)a=4,b=9AA)a=3,b=11B)a=4,b=9A)2.750000B)0.00000C)3.500000D)2.500000A)2.750000B)0.00000C)3.500000D)2.500000TOC o 1-5 h z已知ch是字符型变量,下面不正确的赋值语句是。ch=5+9;B)ch=a+b;C)ch=0;D)ch=7+6;设x,y和z是int型变量,且x=3,y=4,z=5则下面表达式中值为0的是。A)!(xy)&!z|1)B)x&yC)x|y+z&y-zD)x=y(8)设有程序段intk=10;while(k=0)k=k-1;

43、以下描述正确的是A)循环体语句一次也不执行。A)循环体语句一次也不执行。B)循环是无限循环。C)while循环语句执行十次。C)while循环语句执行十次。D)循环体语句执行一次。(9)以下C程序正确的运行结果是main()longy=23456;printf(y=%3xn,y);printf(y=%8xn,y);printf(y=%#8xn,y);A)y=5ba0B)y=5ba0C)y=5ba0D)y=5ba0y=5ba0y=5ba0y=bba0y=5ba0y=0 x5ba0y=0 x5ba0y=0 x5ba0y=#5ba0(10)当a=1,b=3,c=5d=4时,则执行完下面一段程序后,X

44、的值是0if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;D)6A)1B)3C)2D)6下面程序的运行结果是#includestdio.hmain()inta=1,b=10dob-=a;a+;while(b-0);printf(a=%d,b=%dn),a,b);AA)ch=123;B)ch=08;C)ch=xff;D)ch=;AA)ch=123;B)ch=08;C)ch=xff;D)ch=;D)a=2,b=8CD)a=2,b=8以下for循环的执行次数是。for(x=0,y=0;(y=123)&(x4);x+);A)无限次。

45、B)4次。C)0次。D)3次。以下是死循环的程序段的是。A)for(i=1;)B)i=32767if(+i%2=0)continue;doif(i0)break;while(+i)if(+i%3=0)break;for(i=1;)D)i=1if(+i0)printf(%f,-x)elseprintf(%f,-x);D)if(x0)B)if(x0)printf(%f,-x)elseprintf(%f,-x);D)if(x0)x=x+y;peintf(%f,x)elseprintf(%f,-x);x=x+y;printf(%f,x);elseprintf(%f,-x);C)if(x0)x=x+y;printf(%f,x);elseprintf(%f,-x);(18)若W=1,X=2,Y=3,Z=4则条件式:WX?W:YZ?Y:Z的值是A)1B)3C)4D)2(19)以下程序段。x=-1;dox=x*x;while(!x);A)是死循环B)循环执行一次C)循环执行二次D)有语法错误(20)逻辑运算符两侧运算对象的数据类型A)只能是0或1B)可以是任何类型的数据C)只能是整型或字符型数据D)只能是0或非0正数(21)下面程序中有错误的行是

温馨提示

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

评论

0/150

提交评论