您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > C语言题带答案--安阳工学院2
1.选择题数据类型和表达式81.以下选项中不属于C语言的类型的是_____。DA.signedshortintB.unsignedlongintC.unsignedintD.longshort2.C语言提供的合法的数据类型关键字是:_____。BA.doubleB.shortC.integerD.char3.两路选择用_____语句实现。DA.caseB.elseifC.switchD.if…else4.下列标识中合法的用户标识符为____。AA.yearB.longC.7xyzD.struct5.若有说明语句:charc='\72';则变量c____。AA.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定6.下面哪个不是C中的字符常量:____。CA.’C’B.’b’C.“C”D.’’7.inti;floatf;doubled;表达式15+d*f+’A’-i的值是______类型。DAfloatBintCcharDdouble8.哪个不是C中的有效标示符:____。AAnum-2Bnum_2C_num_2D_num_29.下列语句正确的是:______。DA具有静态存储期限的变量具有文件作用域B在函数内部声明的变量具有外部链接C具有内部链接的变量都具有静态存储期限D每个形式参数都具有块作用域10.x是const类型的变量,下列关于x的陈述错误的是:______。AA若x是int类型,可以作为switch语句中分支标号的值B编译器将检查是否对x进行初始化Cx遵循和变量一样的作用域规则Dx可以是任意类型判断和循环811.设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是________。CA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次12.执行语句for(i=1;i++4;);后变量i的值是。CA.3B.4C.5D.不定13.下面哪个C循环式后判断循环_____。AA.do…whileB.forC.whileD.for和while14.关于先判断循环的描述正确的是:_______。CA.先判断循环的限制条件为假,循环再执行一次。B.先判断循环的初始化首先在循环体完成。C.先判断循环的循环体可以不执行。D.先判断循环在每次循环体执行之后测试限制条件。15.有以下程序intmain(void){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf(”%d\n”,m);}程序运行后的输出结果是_________。AA1B2C3D416.执行以下语句后,y的值为______。Aintmain(void){intx,y,z;x=y=z=0;++x||++y&&++z;printf(%d,y);return0;}A.0B.1C.2D.不确定值17.下列代码的输出结果是:______。Dinti=16,j=3;switch(i%j){case0:printf(“Zero”);case1:printf(“One”);case2:printf(“Two”);case3:printf(“Three”);break;default:printf(“Default”);}A.ZeroB.ZeroOneTwoThreeDefaultC.ThreeD.OneTwoThree函数818.C语言规定,在一个源程序中,main函数的位置。CA.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后19.关于函数的陈述中,正确的是:。DA.空的参数列表用关键词void来申明。B.如果只有一个参数,那么函数的列表圆括号就不需要了。C.在函数定义中,参数是实参。D.参数通过分号来分隔。20.以下哪个函数能够产生范围在30~50之间的随机数:。DA.rand(33)B.(rand()%20)+1C.(rand()%21)+20D.(rand()%21)+3021.下面哪个不是函数头的一部分:。DA.名字B.参数列表C.返回类型D.标题数组822.以下一维数组a的正确定义是。DA.inta(10);B.intn=10,a[n];C.intn;scanf(“%d”,&n);inta[n];D.#defineSIZE10inta[SIZE];23.关于二维数组的语句,正确的是:_____。AA.二维数组可以认为是一维数组的数组。B.二维数组可以存储两种不同类型的元素。C.第一维表示列。D.当将数组传递给函数时,第二维的大小必须以值参数形式来传递。24.下列数组初始化语句正确的是_____.CA.intary{}={1,2,3,4};B.intary[]=[1,2,3,4];C.intary[]={1,2,3,4};D.intary{}=[1,2,3,4];25.关于数组元素传递的语句,正确的是:____.DA数组不能被传递给函数,因为其结构过于复杂。B不可能紧紧将二维数组的某一行传递给函数。C.在参数类表中申明一个二维数组是,仅需要给出第一维的大小。D.在把数组传递给函数时,总是按引用传递(传递的仅只是地址)。26.在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][1]的值是。DA.4B.1C.2D.527.为了判断两个字符串s1和s2是否相等,应当使用。DA.if(s1==s2)B.if(s1=s2)C.if(strcmp(s1,s2))D.if(strcmp(s1,s2)==0)28.下列哪个语句把x的值赋给了ary数组的第一个元素:_____.DA.ary=x;B.ary=x[0];C.ary=x[1];D.ary[1]=x;29.C语言字符串的分隔符是____.BA.换行符B.由程序员设计C.‘\0’字符(NUL字符)D.在标准C中没有定义30.关于字符串变量的说明错误的是____.AA.赋值操作符将一个字符串的值拷贝到另一个字符串B.如果字符串被定义为一个字符指针,数组的括号是不需要的。C.字符串名字是一个指针。D.当在定义字符串时初始化,C会自动添加分隔符。31.下面哪个字符串操作函数返回除去NULL分隔符之后的字符数目_____.CAstrcmpBstrcpyCstrlenDstrtok指针832.关于指针的描述,哪个是错误的_____。BA指针的构建基于标准类型地址B指针是机器地址C指针是派生类数据类型D指针可以被定义为变量33.下述语句不正确的是______.DA.while(1);B.k=a=b;C.if(a=b);D.(*p)++;34.假设p的定义如下:char*p=“abc”;下面的那个函数调用是合法的:____.CAputchar(p);Bputchar(&p);Cputs(p);Dputs(*p);35.假设str是字符数组,下面那条语句与其他3条不等价:_____.DA*str=0;Bstr[0]=’\0’;Cstrcpy(str,””);Dstrcat(str,””);36.用于同指针一起间接引用指针中地址的运算符______.CA地址(&)B赋值(=)C间接引用(*)D选择(-)37.关于指针兼容性的描述,正确的是_______.DA所有指针都是地址,指向不同类型的指针可以互相赋值而无需强制转换。B如果不同类型的指针互相赋值,C语言使用隐式的强制类型转换C当指针被强制类型转换时,C语言自动重新格式化数据以映射到正确类型。D当间接引用一个void指针时,必须进行强制类型转换。38.关于“指向指针的指针”描述正确的是_______.DA任何指向某个变量的指针B任何指向相同变变量的两个指针C任何指向相同类型变量的两个指针D其内容为另一个指针地址的指针39.关于指针和数组描述正确的是:_______.CA当ary是一个数组时,*ary和&ary[0]等价B当ary是一个数组时,*ary和*ary[0]等价C可以将间接运算符用于数组名,从而引用数据。D数组名是一个指针变量40.一个C语言程序总是从_______开始执行。CA.主程序B.子程序C.主函数D.函数2.填空题20道题数据类型和表达式41.有定义:inta;unsignedintb;假设int型为4个字节。则变量a的取值范围为,变量b的取值范围为。-32768-327670-655352.若用数组名作为函数调用的实参,则实参传递给形参的是,而数组中的数据是传递的。地址双向3.在一个C源程序文件中,若要定义一个只允许本文件中所有函数使用的变量,则该变量的存储类别必须是。Static4.C语言中,double型数据存储在内存中占个字节。float型数据存储在内存中占个字节。int型数据存储在内存中占个字节。8445.有定义:intk;intb;执行k=((b=2*3,b*2),b+10);后,变量k的值是。166.若a=5,当执行语句a-=a+=a*a;后,a的值为。07.下列程序段的输出结果是_______。81610intu=010,v=0x10,w=10;printf(“%d,%d,%d\n”,u,v,w);8.逻辑操作符只有当两个操作数都为true结果才为true。&&或与9.intx=3;inty=5;x+++y之后,x的值为____,y的值为____。4510.intx=2;inty=3;intz=2;(x++)+(++y)+(++z)的值是_____。911.intx=369;(x/10)%10的值是____.6判断和循环412.intx=0;inty=0;intz=1;if(z==0||x&&!y)if(!z)y=1;elsex=2;执行上述代码后,x的值为,y的值为,z的值为。00113.有以下代码:intx=0,y=0,z=1;switch(x){case0:x=2;y=3;case1:x=4;default:y=3;x=1;z=2;}执行上述代码后,x的值为,y的值为,z的值为。13214.intx=0;inty=0;intz=1;if(zx||y=z&&z==1)if((z&&y))y=1;elsex=1;执行上述代码后,x的值为,y的值为,z的值为。001函数415.fabs(-3.6)的值是____。3.616.rand()%2+1的值为____和____。1和2数组417.执行下列语句后:chars1[10];chars2[10];strcpy(s1,computer);strcpy(s2,science);if(strcmp(s1,s2)0)strcat(s1,s2);elsestrcat(s2,s1);s1[strlen(s1)-6]='\0';puts(s1);屏幕上输出为:__________.computers18.请分析如下代码:constintN=10;inta[]={1,2,3,4,5,6,7,8,9,10};int*p=&a[0];int*q=&a[N-1];inttmp;while(pq){tmp=*p;*(p++)=*q;*(q--)=tmp;}for(inti=0;iN;i++)printf(%d,a[i]);请输出屏幕上打印内容___________.1098765432119.下面程序的输出是:_______.Grinch#includestdio.hintmain(void){chars[]=Hsjodi;char*p;for(p=s;*p;p++)--*p;puts(s);return0;}20.指针4下面程序的输出是:________.hijkl#includestdio.hintmain(void){chars[]=HIJKL,*p;for(p=s;*p;p++)*p+=32;puts(s);return0;}3.程序填空15道题数据类型和表达式31.输入一个小写字母,然后输出对应的大写字母的ASCII码
本文标题:C语言题带答案--安阳工学院2
链接地址:https://www.777doc.com/doc-5203124 .html