您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > 计算机二级C语言五套模拟卷及答案
计算机二级C语言五套模拟卷及答案模拟试题一一、选择题(本大题30分,每小题2分)1.下列说法正确的是。E)main函数必须放在C程序的开头F)main函数必须放在C程序的最后G)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的H)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.在下面几组数据类型中,全为最常用的基本数据类型的是哪一组:。A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型3.若有说明语句:charc=‘\64’;则变量C包含:。A)1个字符B)2个字符C)3个字符D)说明不合法,C值不确定4.设有如下定义和执行语句,其输出结果为:。inta=3,b=3;a=--b+1;printf(“%d%d”,a,b);A)32B)42C)22D)235.C语言中,运算对象必须是整型数的运算符是。A)%B)\C)%和\D)**6.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。A)(x=-10)||(x=-5)&&(x=0)||(x=100)B)(x=-10)&&(x=-5)||(x=0)&&(x=100)C)(x=-10)&&(x=-5)&&(x=0)&&(x=100)D)(x=-10)||(x=-5)&&(x=0)||(x=100)7.程序段如下intk=0;while(k++=2);printf(last=%d\n,k);则执行结果是last=。A)2B)3C)4D)无结果8.下面有关for循环的正确描述是。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来9.若二维数组a有m列,则a[I][j]元素前的数组元素个数为:。A)j*m+iB)i*m+jC)i*m+j-113D)i*m+j+110.C语言中变量的指针指的是:。A)变量类型B)变量值C)变量值D)变量地址11.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为:。A)strcpy(str1,str2);B)strcpy(str1,“China”);C)strcat(str1,“China”)D)strcat(“Beijing”,str2);12.以下程序的运行结果是:。main(){inta=2,i;for(i=0;i3;i++)printf(“%4d”,f(a));}f(inta){intb=0,c=3;b++;c++;return(a+b+c);}A)71013B)777C)7911D)78913.在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为:。A)voidB)doubleC)intD)char14.在说明一个结构体变量时系统分配给它的存储空间是。E)该结构体中第一个成员所需存储空间F)该结构体中最后一个成员所需存储空间G)该结构体中占用最大存储空间的成员所需存储空间H)该结构体中所有成员所需存储空间的总和15.使用fseek函数可以实现的操作是。E)改变文件的位置指针的当前位置F)文件的顺序读写G)文件的随机读写H)以上都不对二、判断题(本大题10分,每小题1分)1、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。()2、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。()3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。()4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。()5、C程序中函数不可以嵌套定义但可以嵌套调用。()6、字符串可以用来给数组赋值,在C程序的执行语句中可以直接用字符串给数组名赋值。()7、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。()8、在函数内的复合语句中定义的变量在本函数范围内有效。()9、声明一个结构体类型的一般形式为struct结构体名{成员表列};。()10、ANCIC规定了标准输入输出函数库,用fseek()函数来实现打开文件。()三、程序填空题(本大题12分,每小题2分)1.下面程序可求出1~1000的自然数中所有的完数(因子和等于该数本身的数)请填空。main(){intm,n,s;for(m=2;m1000;m++){____(1)____;for(n=1;n=m/2;n++)if(__(2)___)s+=n;if(__(3)___)printf(“%d\n”,m);}}2..用起泡法对十个数由大到小排序。main(){inta[11],i,j,t;printf(“input10numbers:\n”);for(i=1;i11;i++)scanf(“%d”,&a[i]);printf(“\n”);for(j=1;j=9;j++)for(i=1;_(1)__;i++)if(__(2)___){t=a[i];a[i]=a[i+1];__(3)__;}printf(“thesortednumbers:\n”);for(i=1;i11;i++)printf(“%d”,a[i]);}四、写出下面程序的执行结果(本大题24分,每小题4分)1.#includestdio.hmain(){charc=‘A’+‘10’-‘5’;printf(“c=%c\n”,c);}2.#includestdio.hmain(){inta,b,c;a=1;b=2;c=3;if(ab)if(ac)printf(“%d\n”,a);elseprintf(“%d\n”,b);printf(“over\n”);}3.main(){chara[6][6],i,j;for(i=0;i6;i++)for(j=0;j6;j++){if(ij)a[i][j]=‘#’;elseif(i==j)a[i][j]=‘’;elsea[i][j]=‘*’;}for(i=0;i6;i++){for(j=0;j6;j++)printf(“%c”,a[i][j]);printf(“\n”);}}4.main(){inti=2,x=5,j=7;fun(j,6);printf(“i=%d;j=%d;x=%d\n”,i,j,x);}printf(“i=%d;j=%d;x=%d\n”,i,j,x);5.#includestdio.hmain(){inti,j;int﹡p,﹡q;i=2;j=10;p=&i;q=&j;﹡p=10;﹡q=2;printf(〞i=%d,j=%d\n〞,i,j);}6.structstru{intx;charc;};main(){structstrua={10,’x’},*p=&a;func(p);printf(“%d,%c”,a.x,a.c);}func(structstru*b){b-x=20;b-c=’y’;}五、编程题(本大题24分,第一题7分,第二题8分,第三题9分)1.把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。2.编一程序,从键盘输入10个整数并保存到数组,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换位置。3.编写一个函数计算一个字符串的长度,输入输出在主函数内完成。(使用指针)模拟试题二一、选择题(本大题30分,每小题2分)1.C语言中不能用来表示整常数的进制是。A)十进制B)十六进制C)八进制D)二进制2.C语言规定标识符由等字符组成。A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线3.若有如下定义:inta=2,b=3;floatx=3.5,y=2.5;则表达式:(float)(a+b)/2+(int)x%(int)y的值是。A)2.500000B)3.500000C)4.500000D)5.0000004.以下表达式:2+’a’+i*f,其中i为整型变量,f为float型变量,则表达式的最终数据类型为。A)intB)floatC)charD)double5.有如下语句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为。A)COMPUTER,CMP.B)COMPUTER,CMP.C)COMPU,CMP.D)COMPU,CMP.6.以下if语句中语法错误的是。A)if(ab)printf(“%f”,a);B)if(ab)printf(“%f”,a);elseprintf(“%f”,b);C)if(ab)printf(“%f”,a)D)if(ab)printf(“%f”,b);elseprintf(“%f”,b);elseprintf(“%f”,a);7.能表示整数x符合下面两个条件的语句是。(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4==0&&x%100!=0)||x%400==0B)(x%4==0||x%100!=0)&&x%400==0C)(x%4==0&&x%400!=0)||x%100==0D)(x%100==0||x%4!=0)&&x%400==08.循环语句中的for语句,其一般形式如下:for(表达式1;表达式2;表达式3)语句其中表示循环条件的是。A)表达式1B)表达式2C)表达式3D)语句9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。A)地址传递B)单向值传递C)双向值传递D)随机传递10.将字符串str2连接到字符串str1中应使用。A)strcpy(str1,str2)B)strcat(str1,str2)C)strcmp(str1,str2)D)strcat(str2,str1)11.若有以下定义:inta[10],*p=a;则*(p+3)表示的是。A)元素a[3]的地址B)元素a[3]的值C)元素a[4]的地址D)元素a[4]的值12.若有如下语句:int*p1,*p2;则其中int所指的是。A)p1的类型B)*p1和*p2的类型C)p2的类型D)p1和p2所能指向变量的类型13.若有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10};charb=’a’,d,e;则数值为4的表达式是。A)a[4]B)a[d-b]C)a[‘d’-b]D)a[e-b]14.有如下程序段,在TurboC环境下运行的结果为。main(){inti=2,p,k=1;intf(inta,intb)p=f(i,++k);{intc;printf(“I=%d,p=%d”,k,p);if(ab)c=1;}elseif(a==b)c=0;elsec=-1;return(c);}A)1,0B)2,0C)2,-1D)1,115.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是。A)EOFB)0C)非零值D)NULL二、判断题(本大题10分,每小题1分)1.在每个C语言的程序中都必须并且只能有一个main函数。()2.在C语言中,整型数据与字符型数据在任何情况下都可以通用。()3.在C语言程序中,AHP和ahp分别代表两个不同的标识符。()4.在if语句中,不可以没有else子句。()5.C语言规定,简单变量做实参时,与其对应的形参之间是单向的值传递。()6.for语句作为循环控制语句时,括号内的分号是用来分开表达式的,因此要根据需要加分号。()7.数组名也可作为函数参数使用,此时是地址传递。()8.C程序有三种结构化程序设计方法,分别嵌套结构、选择结构和循环结构。()9.数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个
本文标题:计算机二级C语言五套模拟卷及答案
链接地址:https://www.777doc.com/doc-7028039 .html