资源描述:
《计算机二级C语言五套模拟卷与答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机二级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个字符
2、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)
3、
4、(x>=-5)&&(x<=0)
5、
6、(x>=100)B)(x>=-10)&&(x<=-5)
7、
8、(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)
9、&&(x>=0)&&(x<=100)D)(x<=-10)
10、
11、(x>=-5)&&(x<=0)
12、
13、(x>=100)7.程序段如下intk=0;while(k++<=2);printf("last=%d",k);则执行结果是last=。A)2B)3C)4D)无结果8.下面有关for循环的正确描述是。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来9.若二维数组a有m列,则a[I
14、][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);
15、12.以下程序的运行结果是:。main(){inta=2,i;for(i=0;i<3;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)该结构体中占用最大
16、存储空间的成员所需存储空间H)该结构体中所有成员所需存储空间的总和15.使用fseek函数可以实现的操作是。E)改变文件的位置指针的当前位置F)文件的顺序读写G)文件的随机读写H)以上都不对二、判断题(本大题10分,每小题1分)1、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。()2、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。()3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。()4、for语句作为循环控制语句时,其括号内各个表达式及其后
17、的分号都可缺省。()5、C程序中函数不可以嵌套定义但可以嵌套调用。()6、字符串可以用来给数组赋值,在C程序的执行语句中可以直接用字符串给数组名赋值。()7、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。()8、在函数内的复合语句中定义的变量在本函数范围内有效。()9、声明一个结构体类型的一般形式为struct结构体名{成员表列};。()10、ANCIC规定了标准输入输出函数库,用fseek()函数来实现打开文件。()三、程序填空题(本大题12分,每小题2分)1.下面程序可求出1~1000的自然数中所有的完数(因子和等于
18、该数本身的数)请填空。main(){intm,n,s;for(m=2;m<1000;m++){____(1)____;...for(n=1;n<=m/2;n++)if(__(2)___)s+=n;if(__(3)___)printf(