您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C程序设计有关试题与答案
1C语言程序设计总复习题一、选择题1以下选项中正确的整型常量是A)12.B)-20C)1,000D)4.56答案:B2以下选项中正确的实型常量是A)0B)3.1415C)0.329×102D)871答案:B3C语言中运算对象必需是整型的运算符是A)%B)/C)!D)*答案:A4可在C程序中用作用户标识符的一组标识符是A)voiddefineWORDB)as_b3_123IfC)For-abccaseD)2cDOSIG答案:B5MicrosoftC++中int类型变量所占字节数是A)1B)2C)3D)4答案:D2.12不合法的八进制数是A)0B)028C)077D)01答案:B6若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=100;B)d++;C)c+b;D)d=(c=22)-(b++);答案:C7以下程序的输出结果是A)0B)1C)3D)不确定的值main(){intx=10,y=3;printf(%d\n,y=x/y);}答案:C8若变量以正确定义,要将a和b中的数进行交换,下面正确的语句组是A)a=b;b=a;a=a-b;B)a=t;a=b;b=t;C)t=a;a=b;b=t;D)b=t;b=a;a=t;答案:C9若有以下程序段,c3中的值是A)0B)1/2C)0.5D)1intc1=1,c2=2,c3;c3=c1/c2;答案:A10下列运算符中优先级最高的运算符是A)!B)%C)=D)&&答案:A11为表示关系x≥y≥z,应使用的C语言表达式是A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)答案:A12以下程序段的输出结果是A)15B)14C)不确定D)0main(){inti,sum=0;for(i=1;i6;i++)sum+=i;printf(%d\n,sum);}答案:A13C语言中,字符(char)型数据在微机内存中的存储形式是A)反码B)补码C)EBCDIC码D)ASCII码答案:D14判断char型变量c是否为大写字母的最简单且正确的表达式是A)‘A’=c=’Z’B)(c=’A’)&(c=’'Z’)C)(‘A’=c)AND(‘Z’=c)D)(c=’A’)&&(c=’Z’)答案:D15以下说法中正确的是A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main函数中定义C)C语言程序总是从main函数开始执行D)C语言程序中的main函数必须放在程序的开始部分答2案:C16若i,j已定义为int类型,则以下程序段中循环体的执行次数是(③)for(i=6;i;i--)for(j=0;j5;j++){…}①20②24③30④2517设x为整型变量,不能正确表达数学关系:3x7的c语言表达式是(②)①x=4||x=5||x=6②3x7③x3&&x7④!(x=3)&&!(x=7)18正确的标识符是(①)①x_2②x·1③x=2④?x19以下叙述不正确的是D。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面20以下正确的函数定义形式是(②)①doublefun(intx;inty)②doublefun(intx,inty)③doublefun(intx,y)④doublefun(x,inty)21若x,i,j和k都是int型变量,则计算下面表达式后,x的值为C。x=(i=4,j=16,k=32)A)4B)16C)32D)5222在C语言中,char型数据在内存中的存储形式是D。A)补码B)反码C)原码D)ASCII码23若有说明:intx,y=5,*p=&y,则与*&x=*p;等价的语句是(①)①x=y②y=*p③x=&y④y=&x24已知学生记录描述为structstudent{intno;struct{intyear;intmonth;intday;}birth;}s;设变量S中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是(①)①s·birth·year=1984;②birth·year=1984;s·birth·month=11;birth·month=11;s·birth·day=11;birth·day=11;③s·year=1984;④year=1984;s·month=11;month=11;s·day=11;day=11;25根据题目中给出的数据输入和输出形式,程序中输入输出语句的正确内容是B。main(){intx;floaty;printf(“enterx,y:”)输入语句3输出语句}输入形式enterx,y:2,3.4输出形式x+y=5.40A)scanf(“%d%f”,&x,&y);printf(“\nx+y=%4.2f”,x+y)B)scanf(“%d,%f”,&x,&y);printf(“\nx+y=%4.2f”,x+y)C)scanf(“%d,%f”,x,y);printf(“\nx+y=%6.1f”,x+y)D)scanf(“%d%3.1f”,&x,&y);printf(“\nx+y=%4.2f”,x+y);26在C语言中,合法的长整型常数是(④)①1297560②0.05678③2.1869e10④0L27设x为5,执行下列语句后,y的值不为2的是(③)①y=x/2②y=6-(--x)③y=x%2④y=x3?2:228.设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是C。A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次29.C语言中while和do-while循环的主要区别是A。A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句30若有说明:inta[10];则对a数组元素的正确引用是D。A)a[10]B)a[3.5]C)a(5)D)a[10-10]31以下不能对二维数组a进行正确初始化的语句是A。A)inta[2][3]=0B)inta[2][3]={{1,2},{0}}C)inta[2][3]={{1,2,3},{4,5,6}};D)inta[][3]={1,2,3,4,5,6};432下面函数调用语句含有实参的个数为(③)func((exp1,exp2),(exp3,exp4,exp5));①1②4③2④533设x为5,执行下列语句后,y的值不为2的是___C________A)y=x/2B)y=6-(--x)C)y=x%2D)y=x3?2:234C语言允许函数不返回值,此时该函数的类型是B。A)float型B)void型C)long型D)double型27.若用数组名作为函数调用的实参,传递给形参的是A。A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数35以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是B。main(){int*p,*q,a,b;p=&a;printf(“inputa:”);scanf(“%d”,*p);······}A)*p表示的是指针变量P的地址B)*p表示的是变量a的值,而不是变量a的地址C)*P表示的指针变量p的值D)*p只能用来说明p是一个指针变量36变量的指针,其含义是指该变量的B。A)值B)地址C)名D)一个标志37若有以下定义,则对a数组元素地址的正确引用是D。inta[5],*p=a;A)p+5B)*a+1C)&a+1D)&a[0]38字符串“ABC”在内存占用的字节数是(④)①3②8③6④439若有以下定义:charx,inty,floatt,doublev,则表达式x*y+t—v值的类型为(②)①char②double③int④float40若有以下的定义,则值为4的表达式是(②)5inta[]={1,2,3,4,5,6},*p=a;①p+=2,*(p++)②p+=3,*p++③p+=4,*p++④p+=3,*++p二、填空题:1在Microsoftc++环境中运行一个C程序时,所运行的程序的后缀是______。答案:.exe2C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。答案:.c.obj.exe3结构化程序由_____、_____、_____三种基本结构组成。答案:顺序、选择、循环4若k为int整型变量且赋值11。请写出运算k++后表达式的值A)_____和变量的值B)_____。答案:11、125函数体由符号____开始,用符号____结束。函数体的前面是____部分,其后是____部分。答案:{、}、定义、执行6在C语言程序中,用关键字____定义基本整型量,用关键字____定义单精度实型变量,用关键字___定义双精度实型变量。答案:int、float、double7把a1、a2定义成单精度实型变量,并赋初值1的定义语句是____。答案:floata1=1.0,a2=1.0;8表达式3.5+1/2的计算结果是____。答案:3.59表达式s=10应当读做“____”。答案:将10赋给变量s10计算机中内存储器的最小存储单位称____,其中能容纳的数是____。答案:位、0或111在C语言中整数可用____进制数、____进制数和____进制数三种数制表示。答案:十、八、十六12复合语句在语法上被认为是____。空语句的形式是____。答案:一条语句、;13C语句的最后用____结束。答案:;14以下程序段的输出结果是____。15C语言中用____表示逻辑值“真”,用____表示逻辑值“假”。答案:非0、016将下列数学式改写成C语言的关系表达式或逻辑表达式A)____B)____。A)a=b或acB)|x|4答案:A)a==b||acB)x4||x-417请写出以下程序的输出结果____。main(){inta=100;if(a100)printf(%d\n,a100);elseprintf(%d\n,a=100);}答案:118请写出与以下表达式等价的表达式A)____B)____。A)!(x0)B)!0答案:A)6x=0B)119当a=1,b=2,c=3时,以下if语句执行后,a、b、c中的值分别为____、____、____。if(ac)b=a;a=c;c=b;答案:3、2、220以下程序段的输出结果是____。intk,n,m;n=10;m=1;k=1;while(k=n)m*=2;printf(%d\n,m);答案:死循环21一个C源程序至少包含一个_main_函数。C程序是由_函数_构成。22在一个C源程序中,注释部分两侧的分界符分别为_/*__和_*/_。23请写出数学式“cba*”的C语言表达式a/b/c。24*后跟指针变量名,表示该指针变量_指向的变量__。25函数中的形参和调用时的实参都是数组名时,传递方式为_地址_传递方式。26设inta[20],*p=a;则对a[5]的引用可以是p[5]。27C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线_。28请写出数学式dcba的C语言表达式(a+b)/(c+d)。29设有char*a=”ABCD”,则printf(“%s”,a)的输出是ABCD;30若已知a=10,b=20,则表达式!ab的值为_1_。31设a=2,c=‘a’,f=3.0,下列表达式的值为_1__f==3.0?a=c:a=c32设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为__1.0_。33若自定义函数要求不返回一个值,则在该函数说明时加一个类型说明符_void
本文标题:C程序设计有关试题与答案
链接地址:https://www.777doc.com/doc-2907712 .html