03C语言试题汇总4套.docx
《03C语言试题汇总4套.docx》由会员分享,可在线阅读,更多相关《03C语言试题汇总4套.docx(38页珍藏版)》请在冰豆网上搜索。
03C语言试题汇总4套
全国高校计算机等级考试(广西考区)
二级C语言
练习题
2013年03月编印
全国高校计算机联合考试(广西考区)二级C试题卷
2012年12月15日闭卷考试考试时间:
120分钟
考生注意:
①本试卷包括第一卷和第二卷。
②第一卷全部为选择题,每题下都有四个备选答案,但只有一个是正确的或是最佳的答案。
第一卷答案必须填涂在标准化答题卡上,标记在试题卷上的答案一律无效。
每题只能填涂一个答案,多涂本题无效。
考生答第一卷的题目时务必使用2B铅笔按正确的填涂方法在标准化答案卡上相应题号的答案的方格涂黑,如果改动答案,可用橡皮擦擦干净再另涂新的答案。
③第二卷均为填空题,在阅读和理解原题程序的基础上,在第二卷答题卡相应题号的空栏处填入适当的字符、语句。
考生答第二卷的题目时,要用钢笔或圆珠笔书写,用铅笔答题无效。
在试题卷上直接答题者无效。
④请考生在标准化答题卡和第二卷答题卡上准确填涂或填写准考证号码。
第一卷
本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第一部分:
基础知识
1.在C语言中,main()函数的特征是D.。
A.可独立运行的函数B.必不可少的函数C.最先执行的函数D.具有前述三特征的函
2.下列选项中,合适的C语言关键字是B.。
A.VARB.charC.integerD.begin
3.以下选项中,合法的C语言用户标识符是C。
A.shortB.3DC._2GoodD.A.bat
4.以下选项中,合法的C语言常数是A。
A.0XabB.6E3.0C.0128D.1.5E
5.表达式1!
=0的值是B。
A.0B.1C.trueD.false
6.设有charc;intx;floaty;doublez;,则表达式c*x+z+y的结果类型是A。
A.doubleB.intC.charD.float
7.设有inta=5;,则执行完表达式a+=a-=a*a后,a的值是D。
A.-5B.10C.-20D.-40
8.设有inta,b,c,z;a=1;b=2;c=3;,则执行z=(a>b)?
a+c:
(ab:
c;语句后z的值是B。
A.1B.2C.3D.4
9.设有inti;for(i=0;i<=5;){printf(“#”);i++;},则输出的字符“#”个数为C。
A.4B.5C.6D.7
10.设有定义:
inta[10];则对数组a的元素引用正确的是B。
A.a[10]B.a[3]C.a.3D.a(3)
11.设有如下定义:
inta[3][4];则关于二维数值的叙述错误的是C。
A.数组a包含12个元素B.a[0]可以看成包含4个整型元素的一维数组
C.可以进行a[0]=0的赋值操作D.a[0]是数组名,代表数组a[0][0]的地址
12.在函数调用中,调用函数的实参与被调用函数的形参应有如下关系D。
A.只要求实参与形参个数相等B.只要求实参与形参顺序相同
C.只要求实参与形参数据类型相同D.上述三点均具备
13.设有charstr[10];,若用str存储一个字符串,则该字符串最多能表示A。
A.9个字符B.10个字符C.8个字符D.11个字符串
14.设有int*px=&a;,则指针变量的名字是__C___。
A.*pxB.aC.pxD.&a
15.设有intm[]={2,4,6,8};*k=m;则表达式*(k+2)的值是A。
A.6B.4C.2D.8
16.以下选项中有语法错误的是D。
A.charstr[10]=”guest”;B.char*str;str=”guest”;
C.charstr[]=”guest”;D.charstr[10];str=”guest”;
17.设有inta[3][2]={1,2,3,4,5,6};*p=a[0];,则对数组元a[2][1]引用正确的是C。
A.*(p+6)B.*(a+2)+1C.*(a[2]+1)D.*(*(a+2+1))
18.设有如下定义,则能输出字母M的语句是D。
structperson
{charname[9];
intage;}stu[4]={”Johu”,17,”Paul”,19,”Mary”18,”Adam”,16};
A.prinft(”%c\n”,stu[3].name);B.prinft(”%c\n”,stu[3].name[10]);
C.prinft(”%c\n”,stu[2].name[1]);D.prinft(”%c\n”,stu[2].name[0]);
19.设有定义:
typedefintAPPAY[10];则以下叙述不正确的是B。
A.APPAY是数组类型,包含10个元素B.typedef创造了新的类型APPAY
C.typedef没有创造新的类型D.typedef只是对己有的类型用一个新名字表示
20.若要打开D盘上user子目录名为file.txt的文本文件进行读、写操作,则下面符合此
要求的函数用是A。
A.fopen(“D:
\user\file.txt”,“r+”);B.fopen(“D:
\user\file.txt”,”r”);
C.fopen(“D:
\user\file.txt”,”rb”);D.fopen(“D:
\user\file.txt”,”w”);
第二部分:
简单程序
21.以下程序的运行结果为C。
#include
main()
{inta=2,b=3,x;
x=((a++,++b),b+2);
printf(“%d,%d,%d\n”,a,b,x);
}
A.2,3,4B.3,4,5C.3,4,6D.2,4,6
22.以下程序的输出结果是A。
#include
main()
{intx=15,y;
if(x<0)y=-1;
elseif(x<10)y=0;
elsey=1;
printf(“%d\n”,y);
}
A.1B.-1C.0D.2
23.运行下面的程序,其输出是B。
#include
main()
{inta=0,i;
for(i=0;i<4;i++)
{switch(i)
{case0:
case1:
a+=1;
case2:
a+=2;break;
default:
a+=5;}
}
printf(“%d\n”,a);
}
A.11B.13C.15D.18
24.以下程序运行后,输出结果是C。
#include
main()
{inti,sum;
for(i=1;i<=5;sum++)
sum=sum+i;
printf(“%d\n”,sum);
}
A.10B.15C.死循环D.5
25.下列程序的输出结果是B。
#include
main()
{inta[7]={0,1},i;
for(i=2;i<7;i++)
a[i]=a[i-1]+a[i-2];
printf(“%d”,a[6]);
}
A.2B.8C.5D.3
26.下面程序运行后,其输出是D。
#include
intfunc(inta,intb)
{return(a*b);}
main()
{inta=2,b=5,c=8,x;
x=func(a,func(b,c));
printf(“%d\n”,x);
}
A.10B.20C.40D.80
27.以下程序运行后,输出结果是A。
#include
main()
{intx[3][3]={{1,3,5},{12,14,16},{15,17,13}};inti,j,min=x[0][0];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(min>x[i][j])min=x[i][j];
printf(“%d\n”,min);
}
A.1B.12C.15D.17
28.以下程序运行后,输出结果是C。
#include
#defineF(x,y)(x)*y
main()
{inta=5,b=6;
printf(“%d\n”,F(a+b,a+b));
}
A.121B.155C.61D.330
29.运行下面的程序后,其正确的输出是D。
#include
fun(intz)
{staticintt=3;intsum;
sum=z+t;t--;
return(sum);
}
main()
{inta[]={1,2,3,4},i,x;
for(i=0;i<4;i++)
{x=fun(a[i]);
printf(“%d”,x);}
}
A.1234B.3333C.4567D.4444
30.下面程序运行后,其输出是_B___。
#include
f(int*b)
{
inti,s=0;
for(i=0;i<10;i++)
if(*(b+i)%2)s++;
returns;
}
main()
{intx,a[]={15,24,1,3,4,9,16,25,23,11},*p=a;
x=f(p);
printf("%d\n",x);
}
A.3B.7C.10D.5
31.下面程序运行后,其输出是__D____。
#include
func(intn)
{intf;
if(n<0)
{printf("n<0,dataerror\n");}
elseif(n<=1)f=1;
elsef=n*func(n-1);
return(f);
}
main()
{intn=5,y;
printf("%d\n",y=func(n));
}
A.24B.1C.60D.120
31.下面程序运行后,其输出是__A____。
#include
voidfun(char*p)
{inti=0;
while(p[i]!
='\0')
{if(p[i]>='A'&&p[i]<='Z'){p[i]=p[i]-'A'+'a';i++;}
elsei++;
}
}
voidmain()
{charstr[20]="abcdEFG123";
fun(str);
printf("%s\n",str);
}
A.abcdefg123B.ABCDEFG123C.abcdEFG123D.abcd123efg
第二卷
说明:
(1)第二卷均为填空题,在阅读和理解源程序的基础上,在第二卷答题卡上编号对应的栏目中填入适当的字符、语句、以构成一个正确的C语言程序。
(2)每空栏3分,十个空共30分。
试题一:
以下程序的功能是:
计算s=1+1/2!
+1/3!
+······+1/n!
。
#include
main()
{intn=20;doubles=,fac=1.0;inti;0
for(i=1;i<=n;i++)
{fac=;fac*i
s=s+;}1/fac
printf(“%f\n”,s);
}
试题二:
以下程序的功能是,从键盘输入20个学生的成绩,统计计算出平均成绩,并输入低于平均分的学生成绩。
#include
#defineN20
main()
{floatscore[N],sum=0.0,ave,a;intn=0,i;
printf(“Entermark:
\n”);
for(i=0;i<=N;i++){原题有错,应为i<=N-1
scanf(“%f”,&a);
sum+=;a
score[i]=;a
}
ave=;sum/N
printf(“ave=%f\n”,ave);
for(i=0;i<=N;i++){原题有错,应为i<=N-1
if()printf(“%4.2f\n”,score[i]);score[i]}
试题三:
下面的程序的功能是:
在字符串str中查找第一次出现字符变量ch值得位置,如找到则返回该位置的下标,若未找到返回-1.例:
字符串为HelloEveryone!
若ch值为e,则返回1;若ch值为a,则返回-1.
#include
intfun(char*p,charch)
{inti=0;
while(p[i]!
=)’\0’
{if(p[i]!
=ch);i++
elsereturni;
}
if()return-1;p[i]==’\0’
}
main()
{charstr[20]=”HelloEveryone!
”;intx;charch=’e’;
x=fun(str,ch);
printf(“%d\n”,x);
}
全国高校计算机联合考试(广西考区)二级C试题卷
2012年7月1日闭卷考试考试时间:
120分钟
第一卷
本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第一部分:
基础知识
1、下面各选项,不是C语言关键字的是()
A.unsignedB.ifC.untilD.while
2、以下常数不是C语言的合法常量的是()
A.0x5AB.“A”C.‘A’D.3.0E2.5
3、若变量定义inti=1,a=2;,则表达式4.5+i/a的值是()
A.4B.4.500000C.5D.5.000000
4、若变量a为int类型,且其值为4,则执行完表达式a+=a*=4,a的值是()
A.4B.8C.16D.32
5、若变量定义intx,y;charc;floatz;,则表达式x/y+c*z的结果类型为()
A.doubleB.intC.charD.float
6、若变量定义inta=1,b=0,c=0;,则表达式a&&||!
c的结果为()
A.0B.1C.trueD.false
7、表示关系式-1≤x≤1的正确C语言表达式是()
A.-1<=x<=1B.-1≤x≤1C.x>=-1&&x<=1D.x>=-1andx<=1
8、若有说明语句inta,*p=&a;则能正确从键盘读入整数赋给变量a的语句是()
A.scanf(”%d”,&a,);B.scanf(“%d“,&p);
C.scanf(”%d”,a);D.scanf(“%d”,*p);
9、若变量定义inta,x=9,y=10;,则执行完a(x==y)?
--x:
++y后,a的值是()
A.8B.9C.10D.11
10、执行语句for(i=1;i<4;i++);后,变量i的值是()
A.3B.4C.5D.6
11、变量定义charstr[10];,以下不能为字符数组输入数据的是()
A.scanf(%s,str);B.gets(str);C.scanf(%s,&str[0]);D.scanf(%s,&str);
12、变量定义inta[3][4];,则对数组元素的正确应用为()
A.a[3][4]B.a[1,2]C.a[0][0]D.a
(2)(3)
13、当调用函数时,实参是一组数组名,则向函数传送的是()
A.数组的长度B.数组的首地址C.数组的每一个元素的地址D.数组每个元素的值
14、定义inta[5]={1,2,3,4,5},*p=a;,则以下值不为3的是()
A.a[3]B.p[2]C.*(p+2)D.a[2]
15、变量定义ints[5]={10,20,30,40,50},*p=&s[1];,则*++p的值是()
A.20B.21C.30D.31
16、一下不能正确进行字符串赋初值的语句是()
A.charstr[5]=”hell0”;B.charstr[]=”hell0”;
C.char*str=”hellp”;D.charstr[5]={‘h’,’e’,’l’,’l’,’\0’};
17、若有以下定义和语句:
inta[4][5],(*pa)[5];pa=a;则对a数组元素的正确引用形式是()
A.pa+1B.*(pa+3)C.pa[0][2]D.*(pa+1)+3
18、若有如下定义,则对data中的成员a引用正确的是()
strue{inta;
floatb;
}data,*p;p=&data;
A.p.aB.p-->data.aC.*p.aD.(*p).a
19、若有如下定义:
typedefstructST
{intg;charh;}T;
则下面说法正确的是()
A.ST是结构体变量名B.可以用T定义结构体变量
C.T是structST类型的变量D.T是struct类型的变量
20、若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是()
A.EOFB.-1C.非零值D.NULL
第二部分:
简单程序
21、以下程序的运行结果为()
#include
main()
{intm=5,n=6,x;
x=(m-=m-2,n=m,n+2);
printf(“%d\n”,x);
}
A.2B.3C.4D.5
22、以下程序的输出结果是()
#include
main()
{inta=4,b=3,c=5,d=8;
if(a
if(belsed++;
printf(“%d,%d\n”,c,d);
}
A.5,8B.6,8C.5,9D.6,9
23、运行以下程序,其输出是()
#include
main()
{inti,sum=0;
for(i=1;i<=10;i++)
if(i%3==0)continue;
elsesum++;
printf(“%d\n”,sum);
}
A.10B.9C.8D.7
24、以下程序运行后,输出结果是()
#include
main()
{inti,count=0;
for(i=0;i<4;i++)
{switch(i)
{case1:
count++;
case2:
count++;break;
case3:
count++;
default:
count++;
}
}
printf(“%d”,count);
}
A.4B.5C.6D.7
25、下列程序的输出结果是:
()
#include
main()
{inta[5]={1,2,3,4,5},sum=0,i;
for(i=0;i<5;i++)
{if(i%2==0)sum=sum+a[i];}
printf(“%2d”,sum);
}
A.5B.9C.6D.15
26、下面程序运行后,其输出是:
()
#include
main()
{inta[3][3]={1,2,3,4,5,6,7,8,9},i,s=0;
for(i=0;i<3;i++)
s=s+a[i][1];
printf(“%d\n”,s);
}
A.10B.12C.15D.18
27、以下程序运行后,输出结果是()
#include
voidfun(int*p,int*q)
{
*p=*p+5;*q=*q+3;
}
main()
{inta=3,b=4;
fun(&b,&a);
printf(“%d,%d\n”,a,b);
}
A.9,6B.3,4C.8,7D.6,9
28以下程序运行后,输出结果是()
#include
#defineM(x,y)x*y
main()
{inta=1,b=2,c=3,d=4;
printf(“%d\n”,M(a+b,c+d));
}
A.11B.9C.7D.21
29、运行下面程序后,其正确的输出是()
#include
intfun()
{staticinti=0;ints=2;
s*=i;
i++;
returns;
}
main()
{inti,a=1;
for(i=0;i<3;i++)a+=fun();
printf(“%d\n”,a);
}
A.6B.7C.8D.9
30、下面程序运行后,其输出是()
#include
f(intb[],intm,intn)
{inti,s=0;
for(i=m;is=s+b[i];
returns;
}
main()
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,2,5);
printf(“%d\n”,x);
}
A.10B.7C.8D.11
31、下面程序运行后,其输出结果是()
#include
fun(intn)
{
if(n==0)return1;
elsereturn(n+fun(n-1));
}
main()
{intn=5;
printf(“%d\n”,fun(n));
}
A.16B.15C.12D.14
32、下面程序运行后,其输出是()
#include
main()
{char