C语言开发基础(习题卷70)_第1页
C语言开发基础(习题卷70)_第2页
C语言开发基础(习题卷70)_第3页
C语言开发基础(习题卷70)_第4页
C语言开发基础(习题卷70)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

试卷科目:C语言开发基础C语言开发基础(习题卷70)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言开发基础第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。A)外模式B)概念模式C)内模式D)存储模式答案:B解析:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,由若干个概念记录类型组成,还包含记录间联系、数据的完整性、安全性等要求。它不涉及具体的硬件环境与平台,与具体的软件环境也无关。答案选择B选项。[单选题]2.调用函数f(27)的输出结果是()A)102B)201C)21D)20答案:B解析:[单选题]3.设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则。A)运行程序段后输出0B)运行程序段后输出1C)循环的控制表达式不正确D)程序段执行无限次答案:B解析:[单选题]4.C语言中,整数数据在内存中的存储形式是A)ASCII码B)补码C)原码D)反码答案:B解析:[单选题]5.下面四个运算符中属于单目运算符的是_______。A)+B)>C)-D)++答案:D解析:[单选题]6.合法的c语言字符常量是_____。A)"T"B)39C)TD)'\n'答案:D解析:[单选题]7.若已定义intA,则表达式a=10,a+10,a++的值是___.A)20B)10C)21D)11答案:B解析:[单选题]8.设二叉树如下:则中序遍历为()。A)ABDEGCFHB)DBGEAFHCC)DGEBHFCAD)ABCDEFGH答案:B解析:中序遍历,即访问根结点在访问左子树和访问右子树两者之间。根结点A在BDEG四个节点后面访问,CHF三个节点前面访问,很容易排除ACD选项,选B。另外,可以复习一下三种遍历方式的规则,本题中前序遍历为ABDEGCFH,中序遍历为DBGEAFHC,后序遍历为DGEBHFCA。答案选择B选项。[单选题]9.设有函数?voidfun(intn,char*s){}?,下面对函数指针的定义和赋值均正确的是________。A)Void(*pf)();pf=funB)Void*pf();pf=funC)Void*pf();*pf=funD)Void(*pf)(int,char);pf=&fun答案:A解析:[单选题]10.设有定义语句intx[6]={2,4,6,8,5,7},*p=x,i;,要求依次输出x数组6个元素中的值,不能完成此操作的语句是()。A)for(i=0;i<6;i++)cout<<*(p++);B)for(i=0;i<6;i++)cout<<*(p+i);C)for(i=0;i<6;i++)cout<<*p++;D)for(i=0;i<6;i++)cout<<(*p)++;答案:D解析:[单选题]11.表达式!(x>0&&y>0)等价于A)!(x>0)||!(y>0)B)!x>0||!y>0C)!x>0&.&!y>0D)!(x>0)&&!(y>0)答案:A解析:[单选题]12.整数在计算机中存储和运算通常采用的格式是()A)原码B)补码C)反码D)偏移码答案:B解析:根据符号位和数值位的编码方法不同,机器数有原码、补码和反码3种表示。整数在计算机中存储和运算通常采用的格式是补码。本题答案为B选项。[单选题]13.对于数学式x/2a,下面正确的C语言表达式是()。A)sqr(x)/2aB)sqr(x)/2*aC)sqrt(x)/(2*a)D)sqrt(x)/2*a答案:D解析:[单选题]14.在C语言程序中()。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数调用均可以嵌套D)函数的定义和函数调用不可以嵌套答案:B解析:[单选题]15.有两个字符数组a,b,则以下能正确为a,b进行赋值的语句是____A)gets(a,b);B)scanf("%s%s",&a,&b);C)getchar(a);getchar(b);D)gets(a);gets(b);答案:D解析:[单选题]16.设有inta[8][9];,则数组a有______个数组元素。A)72B)80C)90D)56答案:A解析:[单选题]17.已知:inta;floatb;scanf("%d,%f",&a,&b);,使a和b的值分别为10和1.5,则正确的输入是______。A)101.5B)10,1.5C)a=10,b=1.5D)a=10b=1.5答案:B解析:[单选题]18.有以下程序:#include<iostream>Usingnamespacestd;Voidsum(inta[]){a[0]=a[-1]+a[1];}Intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);cout<<a[2]<<endl;return0;}程序运行后的输出结果是()。A)5B)6C)7D)8答案:B解析:[单选题]19.阅读下面的程序#include<stdio.h>voidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_____()___.A)8,10,8,10B)9,11,8,10C)9,11,9,10D)9,10,9,11答案:C解析:[单选题]20.下面程序中,while循环的循环次数是()。main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}A)1B)10C)死循环D)不确定答案:C解析:[单选题]21.从循环体内某一层跳出,继续执行循环外的语句是()A)break语句B)return语句C)continue语句D)空语句答案:A解析:题号:55805[单选题]22.下面属于系统软件的是()。A)财务管理系统B)编译软件C)编辑软件WordD)杀毒软件答案:B解析:应用软件是为解决特定领域的应用而开发的软件,如事务处理软件,工程与科学计算软件,学生成绩管理系统、教务管理系统、浏览器、编辑软件等应用性质不同的各种软件。系统软件是计算机管理自身资源,提高计算机使用效率并服务于其他程序的软件,如操作系统,编译程序,汇编程序,数据库管理系统等。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件,设计工具软件,编码工具软件,测试工具软件,维护工具软件等。答案选择B选项。[单选题]23.表达式,0x13&0x17的值是()。A)0x17B)0x13C)0xf8D)0xec答案:B解析:[单选题]24.由以下while构成的循环,循环体执行的次数是Intk=0;While(k=1)k++;A)有语法错,不能执行B)一次也不执行C)执行一次D)无限次答案:D解析:本题考查while语句,while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。k=1为赋值语句,即k的值等于1。while(k=1)=while(1)是死循环,执行无限次。[单选题]25.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式答案:C解析:[单选题]26.以下语句中,循环次数不为10次的语句是().A)for(i=1;i<10;i++);B)i=1;do{i++;}while(i<=10);C)i=10;while(i>0){--i;}D)i=1;m:if(i<=10){i++;gotom;}答案:A解析:[单选题]27.以下描述中正确的是()。A)在do-while循环体中一定要有能使while后面表达式的值变为零(?假?)的操作B)由于do-while循环中循环体语句只能是一条可执行的语句,所以循环体内不能使用复合语句C)do-while循环中,根据情况可以省略whileD)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号答案:A解析:题号:55740[单选题]28.在C语言中,char型数据在内存中的存储形式是_______。A)补码B)反码C)原码D)ASCII码答案:D解析:[单选题]29.关于以下三条语句的描述中,正确的是()。①if(a)a=1;elsea=2;②if(a==0)a=2;elsea=1;③if(a!=0)a=1;elsea=2;A)三条语句相互等效B)三条语句中,②与③等效C)三条语句中,①②与③等效D)三条语句各不等效答案:A解析:[单选题]30.下列程序代码运行结果正确的是()。#includemain(){inta=1,b=3,c=5;if(c==a+b)printf("yes\n");elseprintf("no\n");}A)yesB)noC)yes和noD)代码错误答案:B解析:[单选题]31.有以下程序,若想从键盘上输入数据,使变量m的值为123,n的值为456,p的值为789,则正确的输入是()。Main(){intm,n,p;Scanf("m=%dn=%dp=%d",&m,&n,&p);Printf("%d%d%d\n",m,n,p);}A)m=123n=456p=789B)m=123n=456p=789C)m=123,n=456,p=789D)123456789答案:A解析:输入格式应与输入格式控制字符一致或兼容。[单选题]32.若char。a【10】;已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句的是()A)for(i=0;i<10;i++)a【i】=getchar();B)a=getchar();C)gets(a);D)scanf(?%s?,a);答案:B解析:[单选题]33.从键盘输入整数n(n<=100),输出1+2+3+5+…前n项的和(流程图如图所示)1处应填入的算法步骤为()A)0=>i,0=>sumB)1=>i,0=>sumC)1=>i,1=>sumD)0=>i,1=>sum答案:B解析:[单选题]34.对以下定义说明语句的理解正确的是()Inta[10]={6,7,8,9,10};A)将5个初始值依次赋给a[1]至a[5]B)将5个初始值依次赋给a[0]至a[4]C)将5个初始值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以语句不正确答案:B解析:[单选题]35.当接受用户输入的含有空格的字符串时,应使用___()___函数.A)gets()B)getchar()C)scanf()D)printf()答案:A解析:[单选题]36.C语言源程序的基本单位是()。A)过程B)函数C)子程序D)标识符答案:B解析:[单选题]37.执行下列语句后,变量b的值是()。intx=35;charz='A';intb;b=((x&&15)&&(z<'a'));A)0B)1C)2D)3答案:B解析:[单选题]38.已定义以下函数Fun(char*p2,char*p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是______。A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'答案:A解析:while((*p2=*p1)!='\0'表示将p1所指向的值赋给*p2,即将p1所指字符串复制到p2所指内存空间。在这里?*P2=*p1?是赋值操作,而不是比较是否相等,比较应当为双等号?==?。所以B,C,D都不对。[单选题]39.有变量定义:intk=6,x=12;则能使x、k值为5、6的表达式是()。A)x%=k+k%5B)x%=++k%10C)x-=++k%5D)x-=k++%5答案:A解析:[单选题]40.对于循环语句:for(i=0;i<=10;i++){;}下面各选项的叙述中错误的是______。A)省略i=0,可引起无限循环B)省略i<=10,可引起无限循环C)省略i++,可引起无限循环D)圆括号()内三个表达式都省略,可引起无限循环答案:A解析:[单选题]41.若有代数式6xy/bc,则不正确的C语言表达式是A)x/b/c*y*6B)6*x*y/b/cC)6*x*y/b*cD)x*y/c/b*6答案:C解析:[单选题]42.设有定义:struct{charmark[12];intnum1;doublenum2;}t1,t2;,若变量均已正确赋初值,则以下语句中错误的是()。A)t1=t2;B)t2.num1=t1.num1;C)t2.mark=t1.mark;D)t2.num2=t1.num2;答案:C解析:[单选题]43.表达式!x等价于。A)x==0B)x==1C)x!=0D)x!=1答案:A解析:[单选题]44.(c>='a'&&c<='z')?c-'a'+'A':c表达式的功能是什么A)字母变数字B)大写转小写C)小写转大写D)表达式有误答案:C解析:[单选题]45.42、C语言中主函数的个数为()个。A)1B)2C)无穷个D)任意个答案:A解析:[单选题]46.下面选项中不正确的实型常量是A)0.23E1B)2.3e-1C)1E3.2D)2.3e0答案:C解析:[单选题]47.在面向对象方法中,不属于?对象?基本特点的是()。A)一致性B)分类性C)多态性D)标识唯一性答案:A解析:对象的基本特点有:①标识惟一性,是指对象是可区分的;②分类性,是指可将具有相同属性和操作的对象抽象成类;③多态性,是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果;④封装性,是指对象的内部对外不可见,在外面不可直接使用对象的处理能力,也不能直接修改对象的内部状态;⑤模块独立性,是指模块内部各部分及模块间的关系的一种衡量标准。答案选择A选项。[单选题]48.已定义两个字符数组a,b,则以下正确的输入格式是A)scanf("%s%s",a,b);B)get(a,b);C)scanf("%s%s",&a,&b);D)gets("a"),gets("b");答案:A解析:[单选题]49.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是。A)2.500000B)2.750000C)3.500000D)0.000000答案:A解析:[单选题]50.设有chars[3][4];,则数组s占用_____个字节。A)12B)4C)3D)7答案:A解析:[单选题]51.下列______是不合法的C语言常量。A)'xabcde'B)"x1f"C)0x12D)2.1e3答案:A解析:[单选题]52.以下语句的输出结果是()printf("%d\n",strlen("\tc\065\xff\n"));A)5B)14C)8D)输出项不合法,无正常输出答案:A解析:[单选题]53.若有intx[10],*p=x;,则*(p+5)表示______。A)数组元素x[5]的地址B)数组元素x[5]的值C)数组元素x[6]的地址D)数组元素x[6]的值答案:B解析:[单选题]54.若有intp,q;以下不正确的语句是()A)p*=3;B)p/=q;C)p+=3;D)p&&=q;答案:D解析:[单选题]55.C语句的基本单位是()。A)函数B)语句C)字符D)单词答案:D解析:[单选题]56.下面选项均欲声明变量p,其中错误的是_________。A)TypedefstructPer{charname[20];Intage;}Person;Personp;B)StructPer{charname[20];intage;};StructPerp;C)Struct{charname[20];Intage;}Person;Personp;D)Struct{charname[20];intage;}p;答案:C解析:[单选题]57.阅读以下程序Main(){intx;Scanf("%d",&x);If(x--<5)printf("%d\n",x);Elseprintf("%d\n",x++);}程序运行后,如果从键盘上输入5,则输出结果是______。A)3B)4C)5D)6答案:B解析:[单选题]58.某二叉树的中序遍历为DCBAEFG,后序遍历为DCBGFEA,则该二叉树的深度(根结点在第1层)为()。A)5B)4C)3D)2答案:B解析:定义一棵树的根结点所在的层次为1,其他结点所在的层次等于它的父结点所在的层次加1,树的最大层次称为树的深度。本题中,后序遍历为DCBGFEA,所以A为根结点;中序遍历为DCBAEFG,可知DCB为左子树结点,EFG为右子树结点。同理B为C父结点,C为D父结点,E为F根结点,F为G根结点。所以二叉树深度为4层。答案选择B选项。[单选题]59.若要判断char型变量c中存放的是否为小写字母,以下正确的表达式是()A)'a'<=c<='z'B)(c>='a')&&(c<='z')C)(c>='a')||(c<='z')D)('a'<=c)AND('z'>=c)答案:B解析:C语言中,char型变量的值是其对应字符的ASC码值,可以作比较运算,由于小写字母的ASC码值按字母表的顺序连续递增,所以判断char型变量是否是小写字母时,判断c的ASCl码值是否在a和Z之间,即:(c>=a)&&(c<=z),本题答案B[单选题]60.C语言中的简单数据类型包括()。A)整型、实型、逻辑型B)整型、实型、逻辑型、字符型C)整型、字符型、逻辑型D)整型、实型、字符型答案:D解析:[单选题]61.华氏和摄氏温度的转换公式为C=5/9×(F-32)。式中,C表示摄氏温度,F表示华氏温度。要求:华氏0℉~300℉,每隔20℉输出一个华氏温度对应的摄氏温度值。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。1.A)第8行代码:c=5.0/9*(f-32)第10行代码:f=f-stepB)第8行代码:c=5.0/(9*(f-32))第10行代码:f=f+stepC)第8行代码:c=5/9*(f-32)第10行代码:c=c+stepD)第8行代码:c=5.0/9*(f-32)第10行代码:f=f+step答案:D解析:[单选题]62.设有inta[5]={2,4,6,8,10},*p=a;,则p[3]的值是______。A)4B)6C)8D)10答案:C解析:[单选题]63.要使下列程序的输出结果是字符A,则下划线处应填()。main(){charx='b';inti=0;do{--x;}while(_____);printf("%c",x);}A)i++<31B)i++<32C)i<31D)i<32答案:B解析:[单选题]64.10+?a?+1.5-567.345/?b?的结果是()型数据。A)longB)doubleC)intD)unsignedfloat答案:B解析:[单选题]65.以下程序段执行后sum的值是()。inta[3][3]={9,8,7,6,5,4,3,2,1};inti,j,sum=0;for(i=0;i<3;i++)for(j=i;j<3;j++)sum+=a[i][j];A)15B)20C)26D)34答案:D解析:sum=9+8+7+5+4+1=34[单选题]66.设变量p是指针变量,语句p=NULL;是给指针变量赋NULL值,它等价于()。A)p="";B)p='0';C)p=0;D)p='';答案:C解析:NULL的ASCII码值为0,p=NULL等价于p='\0';或p=0。答案选择C选项。[单选题]67.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是()。(注:□代表空格字符)A)10□X<回车>20□Y<回车>B)10□X20□Y<回车>C)10X<回车>20Y<回车>D)10□X□20□Y<回车>答案:C解析:[单选题]68.不属于字符型常量的是A)'B'B)"C"C)'\n'D)'\x65'答案:B解析:[单选题]69.若有intn;,则循环语句for(n=-1;n==1;)n++;的循环体______。A)执行两次B)执行无限次C)一次也不执行D)只执行一次答案:C解析:[单选题]70.若二维数组a有m列,则在a[i][j]前的元素个数为()。A)j*m+iB)i*m+jC)i*m+j+1D)i*m+j-1答案:B解析:题号:55765第2部分:多项选择题,共4题,每题至少两个正确答案,多选或少选均不得分。[多选题]71.下列选项中,能用作标识符的是()A)_1234_B)a-2C)int_2_D)2_int_答案:AC解析:[多选题]72.158、若已定义a为int型变量,则()是对指针变量p的不正确说明和初始化。A)intp=&a;B)int*p=a;C)int*p=*a;D)int*p=&a;答案:ABC解析:[多选题]73.下列选项中关于双分支if-else结构,以下说法正确的是()A)当条件成立时,if和else后的语句块都会执行B)当条件不成立时,if和else后的语句块都不会执行C)当条件成立时,执行if后的语句块D)当条件不成立时,执行else后的语句块答案:CD解析:[多选题]74.下列选项中switch可以判断的数据类型是()A)intB)charC)boolD)string答案:ABD解析:第3部分:填空题,共2题,请在空白处填写正确答案。[填空题]75.以下程序段针对输入的截止日期(年:yend,月:mend,日:dend)和出生日期(yman,mman,dman),计算出实际年龄。请分析程序填空。设有:intyend,mend,dend,yman,mman,dman;age=yend-yman;if(mend【1】)mman)age--;elseif(mend【2】mman&&dend【3】dman)age--;答案:【1】<【2】==【3】<解析:[填空题]76.等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有数的和。请分析程序填空。#include<stdio.h>main(){inta,d,sum;a=2;d=3;sum=0;do{sum+=a;a+=d;if()printf("%4d\n",sum);}while(sum<200);}答案:sum%4==0解析:第4部分:判断题,共11题,请判断题目是否正确。[判断题]77.C语言的书写格式不会影响程序的可读性。A)正确B)错误答案:错解析:[判断题]78.C语言标准格式输入函数scanf()的参数表中要使用变量的地址值。A)正确B)错误答案:对解析:[判断题]79.字符数组中的数据存储时必须以?\0?结尾。A)正确B)错误答案:错解析:[判断题]80.sizeo(float)的值是4A)正确B)错误答案:对解析:[判断题]81.文件指针和位置指针都是随着文件的读写操作在不断改变。A)正确B)错误答案:错解析:[判断题]82.C程序中一行可以写多条语句A)正确B)错误答案:对解析:[判断题]83.表达式?3.6%2?符合C语言语法。答案:错解析:[判断题]84.在C语言中,逻辑?真?等价于不等于0的数()A)正确B)错误答案:对解析:第5部分:问答题,共13题,请在空白处填写正确答案。[问答题]85.为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的未配对的_____配对.答案:if解析:[问答题]86.以下程序的输出结果为()。main括号{printf("*%f,%4.3f*\n",3.14,3.1415);}答案:*3.140000,3.142*解析:[问答题]87.if嵌套语句与swtich语句都能解决()的选择问题。答案:多分支解析:[问答题]88.功能:求出1*1+2*2++n*n<=1000中满足条件的最大的n。#include<stdio.h>Intmain(){intn=1,s=0;*********FOUND**********/while(s>1000){*********FOUND**********/++n;s+=n*n;}*********FOUND**********/printf("n=%d\n",&n-1);return0;}答案:while(s<=1000)++n;与s+=n*n;位置互换printf("n=%d\n",n-2);解析:[问答题]89.执行语句ch

温馨提示

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

评论

0/150

提交评论