计算机二级C语言五套模拟卷及答案Word文件下载.docx
《计算机二级C语言五套模拟卷及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言五套模拟卷及答案Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。
![计算机二级C语言五套模拟卷及答案Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/13/8114c112-e9ee-4329-a33e-bbf46487f930/8114c112-e9ee-4329-a33e-bbf46487f9301.gif)
A)(x<
=-10)||(x>
=-5)&
&
(x<
=0)||(x>
=100)
B)(x>
=-10)&
=-5)||(x>
=0)&
C)(x>
(x>
D)(x<
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+1
10.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;
i<
3;
i++)printf(“%4d”,f(a));
}
f(inta)
{intb=0,c=3;
b++;
c++;
return(a+b+c);
A)71013B)777
C)7911D)789
13.在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为:
A)voidB)doubleC)intD)char
14.在说明一个结构体变量时系统分配给它的存储空间是。
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的自然数中所有的完数(因子和等于该数本身的数)请填空。
{intm,n,s;
for(m=2;
m<
1000;
m++)
{____
(1)____;
for(n=1;
n<
=m/2;
n++)
if(__
(2)___)s+=n;
if(__(3)___)printf(“%d\n”,m);
}}
2..用起泡法对十个数由大到小排序。
{inta[11],i,j,t;
printf(“input10numbers:
\n”);
for(i=1;
11;
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:
for(i=1;
i<
printf(“%d”,a[i]);
四、写出下面程序的执行结果(本大题24分,每小题4分)
1.#include<
stdio.h>
main()
{charc=‘A’+‘10’-‘5’;
printf(“c=%c\n”,c);
2.#include<
{inta,b,c;
a=1;
b=2;
c=3;
if(a>
b)
c)
printf(“%d\n”,a);
elseprintf(“%d\n”,b);
printf(“over\n”);
3.main()
{chara[6][6],i,j;
6;
for(j=0;
{if(i<
j)
a[i][j]=‘#’;
elseif(i==j)a[i][j]=‘’;
elsea[i][j]=‘*’;
for(i=0;
{for(j=0;
printf(“%c”,a[i][j]);
4.main()
{inti=2,x=5,j=7;
fun(j,6);
printf(“i=%d;
j=%d;
x=%d\n”,i,j,x);
x=%d\n”,i,j,x);
5.#include<
main()
{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;
};
{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.000000
4.以下表达式:
2+’a’+i*f,其中i为整型变量,f为float型变量,则表达式的最终数据类型为。
A)intB)floatC)charD)double
5.有如下语句:
printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);
执行语句后的最终结果为。
A)COMPUTER,CMP.B)COMPUTER,CMP.
C)COMPU,CMP.D)COMPU,CMP.
6.以下if语句中语法错误的是。
A)if(a>
b)printf(“%f”,a);
B)if(a>
elseprintf(“%f”,b);
C)if(a>
b)printf(“%f”,a)D)if(a>
b)printf(“%f”,b);
elseprintf(“%f”,a);
7.能表示整数x符合下面两个条件的语句是。
(1)“能被4整除,但不能被100整除”.
(2)能被4整除,又能被400整除.
A)(x%4==0&
x%100!
=0)||x%400==0
B)(x%4==0||x%100!
x%400==0
C)(x%4==0&
x%400!
=0)||x%100==0
D)(x%100==0||x%4!
8.循环语句中的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[