C语言期末考试题库第一章-c语言基_第1页
C语言期末考试题库第一章-c语言基_第2页
C语言期末考试题库第一章-c语言基_第3页
C语言期末考试题库第一章-c语言基_第4页
C语言期末考试题库第一章-c语言基_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1/1一、单项选择1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().A、关系运算,赋值运算,算术运算B、算术运算,关系运算,赋值运算C、算术运算,赋值运算,关系运算D、关系运算,算术运算,赋值运算答案:B2.下述正确的C语言常量是:().A、E2B、3e-3C、1.5E2.5D、5.0E答案:B3.使用共用体变量,不可以().A、进行动态管理B、节省存储空间C、同时访问所有成员D、简化程序设计答案:C4.为表示关系x>=y>=z,应使用C语言表达式为:()A、(x>=y)&(y>=z)B、(x>=y>=z)C、(x>=y)&&(y>=z)D、(x>=y)AND(y>=z)答案:C5.以下程序的输出结果是().main(){charstr[]="ABCD",*p=str;printf("%s\n",p);}A、68B、ABCDC、不确定的值D、字符D的地址答案:B6.chara[10];不能将字符串"abc"存储在数组中的是().A、a="abc";B、a[0]=0;strcat(a,"abc");C、inti;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;D、strcpy(a,"abc");答案:A7.fscanf函数的正确调用形式是().A、fscanf(文件指针,格式字符串,输入表列);B、fscanf(格式字符串,文件指针,输出表列);C、fscanf(fp,格式字符串,输出表列);D、fscanf(格式字符串,输出表列,fp);答案:A8.下列数组说明中正确的是().A、intarray[][]={1,2,3,4,5,6,7,8,9,10};B、intarray[][][5]={1,2,3,4,5,6,7,8,9,10};C、intarray[][4]={1,2,3,4,5,6,7,8,9,10};D、intarray[3][]={1,2,3,4,5,6,7,8,9,10};答案:C9.以下选项中,与k=n++完全等价的表达式是().A、n=n+1,k=nB、k+=n+1C、k=++nD、k=n,n=n+1答案:D10.针对下列程序段回答问题().for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A、printf函数永远也不执行B、当x<0时整个循环结束C、x>=0时什么也不输出D、最多允许输出100个非负整数答案:D11.以下正确的字符串常量是()A、"\\\"B、'A'C、'abc'D、OlympicGames答案:A12.如下说法不正确的是().A、若a为真b为假,则a||b为真B、若a为真b为假,则a&&b为假C、若a为真b为假,则!a-1&&b为真D、若a为真,则!a为假答案:C13.C语言中,用于结构化程序设计的三种基本结构是().A、for,while,do-whileB、顺序结构,选择结构,循环结构C、if,switch,breakD、if,for,continue答案:B14.若有以下的定义:intt[3][2];能正确表示t数组元素地址的表达式是().A、t[3]B、t[2]C、&t[3][2]D、&t[1]答案:B15.下列运算符中优先级最高的是().A、<B、&&C、+D、!=答案:C16.C语言程序中,必须有的函数是().A、main()B、#include"stdio.h"C、scanfD、printf答案:A17.已定义chara[10];和char*p=a;,下面的赋值语句中正确的是().A、*p="Turboc";B、p="Turboc";C、a[10]="Turboc";D、a="Turboc";答案:B18.以下叙述正确的是().A、可以把if定义为用户标识符,但不能把define定义为用户标识符B、define和if都不能定义为用户标识符C、可以把define和if定义为用户标识符D、可以把define定义为用户标识符,但不能把if定义为用户标识符答案:D19.若已定义x为int类型变量,下列语句中,说明指针变量p的正确语句是().A、*p=*x;B、int*p=x;C、int*p=&x;D、intp=&x;答案:C20.以下叙述中,正确的是().A、花括号"{"和"}"只能作为函数体的定界符B、构成C程序的基本单位是函数,所有函数名都可以由用户命名C、分号是C语句之间的分隔符,不是语句的一部分D、C程序中,注释部分可以出现在程序中,任意合适的地方答案:D21.以下能对二维数组a进行正确初始化的语句是().A、inta[][3]={{1,2,3},{4,5,6}};B、inta[2][]={{1,0,1},{5,2,3}};C、inta[2][4]={{1,2,3},{4,5},{6}};D、inta[][3]={{1,0,1}{},{1,1}};答案:A22.C语言中,double类型数据占().A、8个字节B、4个字节C、2个字节D、1个字节答案:A23.经过下列的语句intj,a[10],*p=a;定义后,下列语句中,合法的是().A、p=a[5];B、p=a[2]+2;C、p=p+2;D、p=&(j+2);答案:C24.定义chars[10],*p=s;,则下面编译不能通过的语句是().A、s=p+s;B、s[2]=p[4];C、p=s+5;D、*p=s[0];答案:A25.以下函数调用语句中,实参的个数是().exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6答案:A26.若x=2,y=3,则x||y的结果是()A、0B、3C、2D、1答案:D27.已知x=43,ch='A',y=0;,则表达式(x>=y&&ch<'B'&&!y)的值是().A、"假"B、语法错C、0D、1答案:D28.下面四个选项中均是不合法的浮点数的选项是().A、-e3.2341e3B、1232e4.2.e5C、-.18123e40.0D、160.0.12e3答案:B29.以下函数调用语句中,实参的个数是().func((e1,e2),(e3,e4,e5));A、3B、5C、语法错误D、2答案:D30.已定义:floatx=1.25,y=3.37;根据下面的输出结果,正确的输出语句是().y+x=4.62,y-x=2.12A、printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);C、printf("y+x=%6f,y=%6f\n",y+x,y-x);D、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);答案:A31.执行下面程序段后,ch的值是().charch='a';ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A、AB、zC、ZD、a答案:D32.在C语言的函数中,下列正确的说法是().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案:B33.以下正确的描述是().A、在循环中,break语句不能独立出现B、只能用continue语句来终止本次循环C、goto语句只能用于退出多层循环D、switch语句中,不能出现continue语句答案:B34.C语言中,运算对象必须是整型的运算符是().A、〈=B、%=C、=D、/答案:B35.下面不正确的字符串常量是().A、"0"B、""C、"12'12"D、'abc'答案:D36.fwrite函数的一般调用形式是().A、fwrite(buffer,count,size,fp);B、fwrite(fp,count,size,buffer);C、fwrite(fp,size,count,buffer);D、fwrite(buffer,size,count,fp);答案:D37.以下定义语句中错误的是().A、inta[]={1,2};B、intn=5,a[n];C、char*a[3];D、chars[10]="test";答案:B38.下列正确的标识符是().A、%yB、a+bC、6aD、_do答案:D39.C语言源程序的基本单位是().A、子程序B、过程C、标识符D、函数答案:D40.若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时,()是正确的输入A、203040B、2030,40C、20,30,40D、20,3040答案:C41.设有如下程序,请选择正确答案().#include<stdio.h>main(){int**k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}A、100B、i的地址C、j的地址D、运行错误答案:A42.若定义:inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为().A、a的地址B、无确定值C、511D、512答案:C43.以下叙述中,不正确的是().A、C程序中的#include和#define均不是C语句B、在C程序中,赋值运算符的优先级最低C、在C程序中,j++;是一条赋值语句D、一个好的程序应该有详尽的注释答案:B44.下面叙述中错误的是().A、若一个函数没有return语句,则什么值也不会返回B、一般来说,函数的形参和实参的类型要一致C、函数的形式参数,在函数未被调用时就不被分配存储空间D、若函数的定义出现在主调函数之前,则可以不必再加说明答案:A45.设有如下程序段:intk=10;while(k==0)k--;,则下述说明中正确的是().A、循环体执行一次B、死循环C、循环体一次也不执行D、循环体执行10次答案:C46.表示关系x>0且y<=10的C语言表达式为().A、(x<=0)AND(y<=10)B、(x>0)&&(y<=10)C、x>0,y<=10D、(x<=0)&(y<=10)答案:B47.以下叙述不正确的是().A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序可由一个或多个函数组成D、一个C源程序必须包含一个main()函数答案:B48.C语言提供的合法的数据类型关键字是().A、floatB、unsignedC、charD、integer答案:B49.所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:().A、6B、7C、8D、2答案:C50.以下符合C语言语法的赋值表达式是().A、d=9+e+f=d+9B、d=9+e,e++,d+9C、d=9+eD、d=9+e++=d+7答案:C51.下面对函数的叙述,正确的是().A、函数中无论是否有return语句,都能返回正确值B、函数中没有return语句,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过return语句获得的答案:C52.整型变量x=1,y=3,经下列计算后,x的值不等于6的是().A、x=(x=1+2,x*2)B、x=9-(--y)-(--y)C、D、x=y>2?6:5答案:B53.设x,y,z,t均为整型变量,则执行以下语句后,t的值为:()x=y=z=1;t=++x||++y&&++z;A、1B、不定值C、2D、0答案:A54.下列字符序列中不可用作C语言标识符的是().A、a_1B、#abC、symbolD、b70答案:B55.C语言执行程序的开始执行点是().A、包含文件中的第一个函数B、程序中,第一个函数C、程序中的main()函数D、程序中,第一条可以执行语言答案:C56.下列运算符优先级最低的是().A、&&B、+C、=D、!答案:C57.下面所列的语句行中能正确进行赋字符串操作的语句行是().A、charst[4][5]={"ABCDE"};B、chars[5]={'A','B','C','D','E'};C、char*s;scanf("%c",s);D、char*s;s="ABCDE";答案:D58.以下正确的函数定义形式是().A、doublefun(intx,inty)B、doublefun(intx;inty)C、doublefun(intx,y);D、doublefun(intx,inty);答案:A59.下列变量中合法的是().A、$ABCB、B.C.TomC、3a6bD、_6a7b答案:D60.以下标识符中可以作为用户函数名的是().A、unionB、intC、structD、go_to答案:D61.判断两个字符串是否相等,正确的表达方式是().A、while(strcmp(s1,s2)=0)B、while(strcmp(s1,s2)==0)C、while(s1==s2)D、while(s1=s2)答案:B62.下面各语句中能正确进行赋字符串操作的语句是().A、charst[][]={"ABCDE"};B、chars2[6]={'A','B','C','D','E'};C、chars1[5][]={"ABCDE"};D、chars[5]={'A','B','C','D','E'};答案:B63.下列数据中属于"字符串常量"的是().A、'ABC'B、ABCC、"ABC"D、'A'答案:C64.C语言中的文件的存储方式有().A、可以顺序存取,也可随机存取B、只能随机存取(或直接存取)C、只能顺序存取D、只能从文件的开头进行存取答案:A65.putchar函数可以向终端输出一个().A、字符或字符型变量值B、整型变量表达式值C、实型变量值D、字符串答案:A66.下面叙述中正确的是().A、声明函数时必须明确其参数类型和返回类型B、函数可以返回一个值,也可以什么值也不返回C、空函数在不完成任何操作,所以在程序设计中没有用处D、对于用户自己定义的函数,在使用前必须加以声明答案:B67.以下标识符中不能作为合法的C用户定义标识符的是().A、_123B、voidC、ifD、a3_b3答案:B68.将字符串Turbo赋给字符数组word,则下面错误的说明语句是().A、charword[]={"Turbo\0"};B、charword[]="Turbo\0";C、charword[]={'T','u','r','b','o','\0'};D、charword[]='Turbo\0';答案:D69.用下面的scanf函数输入数据,使得i=10,j=15,选择正确的键盘输入方法:().(用[CR]表示回车)main(){inti,j;scanf("i=%d,j=%d",&i,&j);}A、i=10,j=15[CR]B、i=10Uj=15[CR]C、10U15[CR]D、10,15[CR]答案:A70.跳过当前循环体内容,继续执行下一次循环的语句是()A、continue语句B、return语句C、break语句D、空语句答案:A71.设有以下定义:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=a;,则数值为6的表达式是().A、p+5B、*p+6C、*p+=5D、*(p+6)答案:C72.以下程序段执行后输出的结果是().charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));A、不确定的值B、字符'D'的地址C、68D、0答案:D73.用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法().(用"[CR]"表示回车,U表示空格)main(){inti,k;scanf("i=%d,k=%d",&i,&k);}A、10U15[CR]B、i=10,k=15[CR]C、i=10[CR]k=15[CR]D、10,15[CR]答案:B74.设有如下的程序段:charstr[]="Hello";char*ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为().A、'\0'B、'o'C、'o'的地址D、不确定的值答案:A75.定义inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中,0≤i≤9,则对a数组元素的引用不正确的是().A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))答案:D76.以下字符中,不是转义字符的是().A、'\b'B、'\\'C、'\c'D、'\a'答案:C77.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、10<a<15B、!(a<=10)&&!(a>=15)C、a>10&&a<15D、a==11||a==12||a==13||a==14答案:A78.在C语言中,存储类型为()的变量只在使用它们时才占用存储空间.A、static和autoB、register和autoC、register和externD、static和register答案:B79.已知键盘输入a=4,b=3,下面程序输出的结果是().main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、13B、9C、16D、15答案:C80.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是().A、"ab"B、"wb+"C、"rb+"D、"ab++"答案:B81.设有如下说明和语句,请选出哪个是对c数组元素的正确引用().intc[4][5],(*cp)[5];cp=c;A、*(*cp+2)B、*(cp+3)C、cp+1D、*(cp+1)+3答案:A82.以下标识符中不能作为合法的C用户定义标识符的是().A、forB、printfC、sizeofD、WORD答案:C83.在定义构造数据类型时,不能().A、末尾不写分号B、说明变量C、初始化D、说明存储类型答案:A84.以下叙述中,错误的是().A、用户所定义的标识符应尽量做到"见名知意"B、用户所定义的标识符必须以字母或下划线开头C、用户所定义的标识符允许使用关键字D、用户定义的标识符中,大,小写字母代表不同标识答案:C85.选择正确的输入语句().:(其中:charstring[20];)使得string的内容为"Iamstudent".A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);答案:D86.以下选项中,合法的实型常数是().A、.2E0B、1.3EC、E-3D、5E2.0答案:A87.若inta=2,则执行完表达式a-=a+=a*a后,a的值是().A、-4B、0C、-8D、-2答案:B88.设a,b和c都是int型变量,且a=3,b=4,c=5,下面表达式中值为0的表达式是().A、a<=bB、'a'&&'b'C、!((a<b)&&!c||1)D、a||b+a&&b-c答案:C89.定义charb[5],*p=b;,则能正确赋值的语句是().A、*p="abcd";B、p="abcd";C、*b="abcd";D、b="abcd";答案:B90.能正确表示a>=10或a<=0的关系表达式是:()A、a>=10||a<=0B、A>=10ora<=0C、a>=10&a<=0D、a>=10|a<=0答案:A91.设有如下定义:structsk{inta;floatb;}data,*p;若要使p指向data中的a域,正确的赋值语句是().A、p=(structsk*)data.a;B、p=&data.a;C、*p=data.a;D、p=(structsk*)&data.a;答案:D92.若变量已正确定义且k的值是4,计算表达式(j=4,k--)后,j和k的值为().A、j=3,k=3B、j=3,k=4C、j=4,k=4D、j=4,k=3答案:D93.当说明一个结构体变量时系统分配给它的内存是().A、结构中,第一个成员所需内存量B、成员中,占内存量最大者所需的容量C、结构中,最后一个成员所需内存量D、各成员所需内存量的总和答案:D94.int(*p)[6];它的含义为().A、具有6个元素的一维数组B、定义了一个指向具有6个元素的一维数组的指针变量C、指向整型指针变量D、指向6个整数中的一个的地址答案:B95.若有说明语句:charc='\72';,则变量c().A、包含1个字符B、说明不合法,c的值不确定C、包含2个字符D、包含3个字符答案:A96.以下表述中正确的是().A、do-while循环中while语句不能省略B、在do-while循环中while表达式的值不能为"假"C、除了for循环,其他循环中都不能使用复合语句D、do-while循环中while(表达式)后面不能加分号答案:A97.能正确表示a和b同时为正或同时为负的逻辑表达式是:()A、(a+b>0)&&(a+b<=0)B、(a>=0||b>=0)&&(a<0||b<0)C、a*b>0D、(a>=

温馨提示

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

评论

0/150

提交评论