C语言专升本考试(习题卷12)_第1页
C语言专升本考试(习题卷12)_第2页
C语言专升本考试(习题卷12)_第3页
C语言专升本考试(习题卷12)_第4页
C语言专升本考试(习题卷12)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

试卷科目:C语言专升本考试C语言专升本考试(习题卷12)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言专升本考试第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.不合法的main函数命令行参数表示形式是______。A)main(intA,char*c[])B)main(intarc,char**arv)C)main(intargc,char*argv)D)main(intargv,char*arge[])[单选题]2.若调用fputc函数输出字符成功,则其返回值是()。A)EOFB)1C)0D)输出的字符[单选题]3.以下能正确定义数组并正确赋初值的语句是______。A)intN=5,b[N][N];B)inta[1][2]={{1},{3}};C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{3,4}};[单选题]4.凡在函数中未指定存储类别的变量,其隐含的存储类别是A)自动B)静态C)外部D)寄存器[单选题]5.如果要求在if后一对括号中的表达式在表示a不等于0的时候的值为?真?,则能正确表示这一关系的表达式为()。A)a<>0B)!aC)a=0D)a[单选题]6.以下正确的函数声明形式是()。(2分)A)1.intfun(intx,inty)B)1.intfun(intx;inty)C)1.intfun(intx,y);D)1.intfun(intx,inty);[单选题]7.若要说明一个类型名STP,使得定义语句STPs;等价于char*s;,以下选项中正确的是______。A)typedefSTPchar*s;B)typedef*charSTP;C)typedefSTP*char;D)typedefchar*STP;[单选题]8.请选出以下程序段的输出结果______。#include<stdio.h>#defineMIN(x,y)(x<y)?x:yMain(){Inti,j,k;I=10;j=15;K=10*MIN(i,j);Printf("%d\n",k);}A)15B)100C)10D)150[单选题]9.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。Longa=0xffffff;Intb;charc;A)0ffffff和0x61B)-1和98C)-1和97D)指向同一地址[单选题]10.利用fseek函数可以实现的操作是()。A)改变文件的位置指针B)文件的顺序读写C)文件的随机读写D)以上答案均正确[单选题]11.在数组中,数组名表示()。A)数组第1个元素的首地址B)数组第2个元素的首地址C)数组所有元素的首地址D)数组最后1个元素的首地址[单选题]12.判断字符串s1是否大于字符串s2,应当使用()。(2分)A)1.if(s1>s2)B)1.if(strcmp(s1,s2))C)1.if(strcmp(s2,s1)>0)D)1.if(strcmp(s1,s2)>0)[单选题]13.若输入ab,程序运行结果为()。Main(){staticchara[2];scanf("%s",a);printf("%c,%c",a[1],a[2]);}A)a,bB)a,C)b,D)程序出错[单选题]14.下列语句中,正确的是()A)chara[3][]={'abe','1'};B)chara[][3]={'abc',"1"}:C)chera[3][]={?a?,?1?};D)chara[][3]={?a?,?1?}[单选题]15.有以下程序,其中函数f的功能是将多个字符串按字典顺序排序#include<string.h>Voidf(char*p[],intn){char*t;inti,j;For(i=0;i<n-1;i++)For(j=i+1;j<n;j++)If(strcmp(p[i],p[j])>0){t=p[i];p[i]=p[j];p[j]=t;}}Main(){char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"};F(p,5);Printf("%d\n",strlen(p[1]));}程序运行后的输出结果是______。A)2B)3C)6D)4[单选题]16.若?intn;floatf=13.8;?,则执行?n=(int)f%3?后,n的值是()。A)1B)4C)4.33333D)4.6[单选题]17.下列定义的字符数组中,输出pintf("%s\n",tr(21);的输出是Staticstr[3][20]={"basic","foxpro","windows"}A)basicB)foxproC)windowsD)输出语句出错[单选题]18.以下叙述不正确的是()。(2分)A)1.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,且b中的值不变。B)1.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。C)1.在C程序中,逗号运算符的优先级最低。D)1.在C程序中,MAX和max是两个不同的变量。[单选题]19.若有表达式(w)?(--x):(++y),则其中与w等价的表达式是______。A)w==1B)w==0C)w!=1D)w!=0[单选题]20.设有如下定义:Structss{charname[10];Intage;Charsex;}std[3],*p=std;下面各输入语句中错误的是______。A)scanf("%d",&(*p).age);B)scanf("%s",&);C)scanf("%c",&std[0].sex);D)scanf("%c",&(p->sex));[单选题]21.若有以下说明,则数值为4的表达式是()。Inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};Charc=?a?,d,g;A)a[g-c]B)a[4]C)a[?d?-?c?]D)a[?d?-c][单选题]22.已知inti;floatf;正确的语句是A)(intf)%iB)int(f)%iC)int(f%i)D)(int)f%i[单选题]23.能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是()。A)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10‖a<=0[单选题]24.下面程序的运行结果是()。#include<stdio.h>intmain(void){intx[5]={2,4,6,8,10},*p,**pp;p=x;pp=&p;printf(?%d?,*(p++));printf(?%d\n?,**pp);return0;}A)44B)24C)22D)46[单选题]25.Int(*p)[6];它的含义为()。A)具有6个元素的一维数组B)定义了一个指向具有6个元素的一维数组的指针变量C)指向整型指针变量D)指向6个整数中的一个的地址[单选题]26.若有如下宏定义:#defineN2#definey(n)((N+1)*n)则执行下列语句:z=4*(N+y(5))后的结果是。A)语句有错误B)z值为68C)z值为60D)z值为180[单选题]27.#include<stdio.h>Main(){charc1,c2,c3,c4,c5,c6;Scanf("%c%c%c%c",&c1,&c2,&c3,&c4);C5=getchar();c6=getchar();Putchar(c1);putchar(c2);Printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是______。A)1267B)1256C)1278D)1245[单选题]28.有以下定义,Chars[]="012M356",*p=s;不能表示字符M的表达式是()。(2分)A)1.*(p+3)B)1.s[3]C)1.*(s+3)D)1.*p+3[单选题]29.函数的形式参数隐含的存储类型说明是()。A)externB)staticC)registerD)auto[单选题]30.设有定义:intA,*pa=&a;以下scanf语句中能正确为变量a读入数据的是______。A)scanf("%d",pa);B)scanf("%d",a);C)scanf("%d",&pa);D)scanf("%d",*pa);[单选题]31.当执行以下程序段时。inta=1;do{a=a*a;}while(!a);A)循环体将执行1次B)循环体将执行2次C)循环体将执行无限次D)系统将提示有语法错误[单选题]32.下列程序运行后的输出结果是。voidmain(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);k=fun(m,n);printf("%d\n",k);}intfun(intx,inty){staticintn=3,i=2;i+=n+1;n=i+x+y;return(n);}A)1212B)1223C)1225D)1216[单选题]33.有以下程序#defineP3VoidF(intx){return(P*x*x);}Main(){printf("%d\n",F(3+5));}程序运行后的输出结果是______。A)192B)29C)25D)编译出错[单选题]34.若有下列语句,则以下引用方式不合法的是()。structstudent{intnum;intage;};structstudentstu[3]={{101,20},{102,19},{103,20}},*p=stu;A)(p++)->numB)p++C)(*p).numD)p=&stu.age[单选题]35.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是______。A)'a'&&'b'B)a<=bC)a||+c&&b-cD)!((a<b)&&!c||1)[单选题]36.下面标识符中,合法的用户标识符是A)1abcB)includeC)a-b-c123D)char[单选题]37.以下不合法的用户标识符是______。A)j2_KEYB)DoubleC)4dD)_8_[单选题]38.若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是______。(代表一个空格符)A)1,2,3<回车>B)123<回车>C)1,2,3<回车>D)1,2,3<回车>[单选题]39.已知:charw;intx;floaty:doublez;则表达式w*x+z-y结果的类型是___A)floatB)charC)intD)double[单选题]40.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。(2分)A)1.静态(static)B)1.自动(auto)C)1.外部(extern)D)1.寄存器(register)[单选题]41.求平方根函数的函数名为()。A)cosB)absC)powD)sqrt[单选题]42.Fscanf函数的正确调用形式是()。A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);[单选题]43.设int型占2个字节,且inti=-2;,则语句printf("%u",i);的输出结果为A)0B)-2C)65534D)65535[单选题]44.设有条件表达式:(EXP)?i++:j--,则以下表达式中与(EXP)完全等价的是______。A)(EXP==0)B)(EXP!=0)C)(EXP==1)D)(EXP!=1)[单选题]45.有以下程序Voidfun(int*a,inti,intj){intt;If(i<j){t=a[i];a[i]=a[j];a[j]=t;Fun(a,++i,--j);}}Main(){inta[]={1,2,3,4,5,6},i;Fun(a,0,5);For(i=0;i<6;i++)Printf("%d",a[i]);}执行后输出结果是______。A)654321B)432156C)456123D)123456[单选题]46.已知inti,a;执行语句?i=(a=2*3,a*5),a+6;?后,变量i的值是A)6B)12C)30D)36[单选题]47.以下程序执行后的输出结果是Main(){inti,n=0;For(i=2;i<5;i++)Do{if(i%3)continue;n++;}while(!i);N++;}Printf("n=%d\n",n);A)n=5B)n=2C)n=3D)n=4[单选题]48.题号:94在C语言中,能代表逻辑值?真?的是()。A)TrueB)大于0的数C)非0整数D)非0的数[单选题]49.下面程序Intaa[3][3]={{2},{4},{6}};Main(){inti,*p=&aa[0][0];For(i=0;i<2;i++){If(i==0)aa[i][i+1]=*p+1;Else++p;Printf("%d",*p);}}的输出是______。A)23B)26C)33D)36[单选题]50.全局变量的定义不可能在()。A)函数内部B)函数外面C)文件外面D)最后一行[单选题]51.以下选项中,不能正确赋值的是。A)chars1[10];s1="Ctest";B)chars2[]={'C','t','e','s','t'};C)chars3[20]="Ctest";D)chars4[30];strcpy(s4,"Ctest");[单选题]52.设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。A)10101001B)10101000C)11111101D)01010101[单选题]53.若有Chars1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是()。A)if(strcmp(s1,s1)>0)puts(s2);B)if(strcmp(s2,s1)>0)puts(s2);C)if(strcmp(s2,t)>0)puts(s2);D)if(strcmp(s1,t)>0)puts(s2);[单选题]54.若已建立如下图所示的单向链表结构:PDatanext↓┌─┬─┐┌─┬─┐┌─┬─┐Head→││┼→…→│E│┼→│F│\0│└─┴─┘└─┴─┘└─┴─┘┌─┬─┐S→│G││└─┴─┘在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是______。A)p=p->next;s->next=p;p->next=s;B)p=p->next;s->next=p->next;p->next=s;C)s->next=NULL;p=p->next;p->next=s;D)p=(*p).next;(*s).next=(*p).next;(*p).next=s;[单选题]55.以下叙述正确的是______。A)可以把define和if定义为用户标识符B)可以把define定义为用户标识符,但不能把if定义为用户标识符C)可以把if定义为用户标识符,但不能把define定义为用户标识符D)define和if都不能定义为用户标识符[单选题]56.下面关于数组的描述不正确的是。A)数组是构造数据类型B)数组是基本数据类型C)数组是相同数据类型的集合D)同一个数组共用一个数组名[单选题]57.C语言中的文件类型只有()。A)索引文件和文本文件两种B)ASCII文件和二进制文件两种C)文本文件一种D)二进制文件一种[单选题]58.有以下函数Fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}Return(*a-*b);}该函数的功能是______。A)计算a和b所指字符串的长度之差B)将b所指字符串连接到a所指字符串中C)将b所指字符串连接到a所指字符串后面D)比较a和b所指字符串的大小[单选题]59.若有说明:inta[][4]={0,0};则下面不正确的叙述是()。A)数组a的每个元素都可得到初值0B)二维数组a的第一维大小为1C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1D)有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0[单选题]60.若有inti=3,*p;p=&i;下列语句中输出结果为3的是()。A)printf("%d",&p);B)printf("%d",*i);C)printf("%d",*p);D)printf("%d",p);[单选题]61.若有以下程序段:inta=3,b=4;a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是()。A)a=3,b=4B)a=4,b=3C)a=4,b=4D)a=3,b=3[单选题]62.执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。#include<stdio.h>Main(){FILE*fp;Char*s1="Fortran",*s2="Basic";If((fp=fopen("test.txt","wb"))==NULL){printf("Can'topentest.txtfile\n");Exit(1);}Fwrite(s1,7,1,fp);把从地址s1开始的7个字符写到fp所指文件中*/Fseek(fp,0L,SEEK_SET);文件位置指针移到文件开头*/Fwrite(s2,5,1,fp);Fclose(fp);}A)BasicanB)BasicFortranC)BasicD)FortranBasic[单选题]63.在C语言中,合法的长整型常数是______。A)OLB)4962710C)324562&D)216D[单选题]64.对以下说明语句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)因为数组长度与初值的个数不相同,所以此语句不正确[单选题]65.根据声明int(*p)[10],p是一个()。A)数组B)指针C)函数D)数组的元素[单选题]66.以下所列的C语言整形常量中,正确的是A)0x10gB)0976C)076LD)01ff[单选题]67.已知"inta=4,b=5,c;?,则执行表达式?c=a=a>b"后变量a的值为A)0B)1C)4D)5[单选题]68.下列程序的输出结果是()。Main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}A)a=1,b=0B)a=2,b=1C)a=1,b=1D)a=2,b=2[单选题]69.在C语言中,函数的隐含存储类别是()。A)autoB)staticC)externD)无存储类别[单选题]70.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:Main(){intn,k;Floatscore,sum,ave;Sum=0.0;For(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score;}Ave=sum/4.0;Printf("NO%D.%f\n",n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条语句是______。A)sum=0.0;B)sum+=score;C)ave=sum/4.0;D)printf("NO%D.%f\n",n,ave);第2部分:判断题,共18题,请判断题目是否正确。[判断题]71.C语言中变量名r和R表示同一个变量。A)正确B)错误[判断题]72.c语言中书写程序时一行可以写多个语句。A)正确B)错误[判断题]73.在c程序中,注释语句只能位于一条语句的后面。A)正确B)错误[判断题]74.数组初始化时,初始值个数小于数组元素的个数,C语言自动将剩余的元素初始化为初始化列表中的最后一个初始值。A)正确B)错误[判断题]75.模运算符%,可以用于任何类型变量或常量。A)正确B)错误[判断题]76.结构体的各个成员各自占用自己的存储单元,各有自己的地址,各个成员所占的存储单元的总和一般就是结构体的长度。A)正确B)错误[判断题]77.C语言中的结构体类型属于一种构造类型。A)正确B)错误[判断题]78.用puts和gets函数只能输入或输出一个字符串。A)正确B)错误[判断题]79.C语言中只有相同类型的指针变量才能相互赋值。A)正确B)错误[判断题]80.对于两个字符串变量s1和s2,使用if(s1>s2)来比较大小是可以的。A)正确B)错误[判断题]81.case后面不必有空格,紧接着是变量表达式。A)正确B)错误[判断题]82.fprintf(fp,"%d",a);表示将变量a以十进制整数形式保存到指针fp所指向的文件中。A)正确B)错误[判断题]83.在多层循环中,continue语句只结束本次循环,而不是终止整个循环的执行。A)正确B)错误[判断题]84.使用strcpy(字符数组,字符串)函数时,字符数组长度没有限制。A)正确B)错误[判断题]85.符号常量在C程序中必须用define进行说明。A)正确B)错误[判断题]86.全局变量本身不是静态存储方式。A)正确B)错误[判断题]87.这个赋值语句是正确的:5=a;A)正确B)错误[判断题]88.用指针变量做函数参数时,参数间进行的是地址传递。A)正确B)错误第3部分:问答题,共12题,请在空白处填写正确答案。[问答题]89.凡在函数中未指定存储类别的局部变量,其默认的存储类别为_____[问答题]90.结构化程序设计是()应遵循的方法和原则。[问答题]91.设x=0,y=2,则表达式"!x+y"的值是()______。[问答题]92.在三种基本结构中,先执行后判断的结构被称为()。[问答题]93.若有以下整型的a数组,数组元素和它们得值如下所示:数组元素:a[O]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]元素的值:941282107513①请写出对该数组的说明,并赋以上初值。②该数组的最小下标值为_____,最大下标值为______________③写出下面各式的值:a[a[9]]的值为_______A[a[4]+a[8]]的值为_______.[问答题]94.下列程序段的运行结果是_____。#definesub(x,y)x-yMain(){inta,b,s;A=5,b=6;S=sub(a,b);Printf("s=%d\n",s);}[问答题]95.凡在函数中未指定存储类别的局部变量,其默认的存储类别为。[问答题]96.可以被连续执行的一条条指令的集合称为计算机的()。[问答题]97.一个整数称为完全平方数,是指它的值是另一个整数的平方。例如81是个完全平方数,因为它是9的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是完全平方数,且三位数字中又有两位数字相同:例如144(12*12)、676(26*26)等,程序找出并输出所有满足上述条件的三全数。程序如下:main(){intn,k,a,b,c;for(k=1;;k++){①if(n<100)②;if(n>999)③;a=n/100;b=④;c=n%10;if(flag(a,b,c))printf("n=%d=%d*%d\n",n,k,k);}}flag⑤{return(!((x-y)*(x-z)*(y-z)));}[问答题]98.执行下列的程序段后,正确的结果是()______。Intm=4;DoPrintf("%d",m-=3);While(--m);[问答题]99.宏定义必须写在______之外[问答题]100.任何简单或复杂的算法都是由()和()这两个要素组成。1.答案:C解析:知识点/选择题/C8指针/命令行参数T2.答案:D解析:3.答案:D解析:知识点/选择题/C7数组/二维数组定义初始化及引用T4.答案:A解析:5.答案:D解析:6.答案:D解析:7.答案:D解析:知识点/选择题/C9结构体与共用体/基本数据类型重定义T8.答案:C解析:知识点/选择题/C6函数与编译预处理/带参数的宏定义T9.答案:C解析:10.答案:D解析:11.答案:A解析:12.答案:D解析:13.答案:C解析:14.答案:D解析:15.答案:D解析:知识点/选择题/C8指针/【16.答案:A解析:17.答案:C解析:18.答案:B解析:19.答案:D解析:知识点/选择题/C4选择结构程序设计/条件运算符T20.答案:B解析:知识点/选择题/C9结构体与共用体/指针与结构体数组T21.答案:D解析:22.答案:D解析:23.答案:D解析:24.答案:B解析:25.答案:B解析:26.答案:B解析:27.答案:D解析:知识点/选择题/C3顺序结构程序设计/字符数据输入输出T28.答案:D解析:29.答案:D解析:30.答案:A解析:知识点/选择题/C8指针/指针变量与输入函数T31.答案:A解析:循环-测验32.答案:C解析:33.答案:D解析:知识点/选择题/C6函数与编译预处理/函数的基本概念34.答案:D解析:35.答案:D解析:知识点/选择题/C4选择结构程序设计/表达式运算T36.答案:

温馨提示

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

评论

0/150

提交评论