05C语言试题汇总打印稿1.docx
- 文档编号:5419544
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:82
- 大小:45.75KB
05C语言试题汇总打印稿1.docx
《05C语言试题汇总打印稿1.docx》由会员分享,可在线阅读,更多相关《05C语言试题汇总打印稿1.docx(82页珍藏版)》请在冰点文库上搜索。
05C语言试题汇总打印稿1
C语言试题
(一)
2010年6月26日闭卷考试考试时间:
120分钟
第一卷(本卷第1~20题每题2分,第21~30题每题3分,共70分)
第一部分基础知识(20项,每项2分,共40分)
1.可以从循环体内跳出,继续执行该循环外语句的是__________。
A.break语句B.return语句C.continue语句D.空语句
2.下列语句不具有赋值功能的是__________。
A.a*=bB.x=1C.a+bD.a++
3.下列标识符中不是合法标识符的是__________。
A.hot_doB.cat1C._priD.2ab
4.数学表达式ax2+bx+c所对应的C语言表达式为__________。
A.ax2+bx+cB.a*x2+b*x+cC.a*x*x+b*x+cD.a*x*2+b*x+c
5.若x为一个实数,那么输出x应该使用下面哪个语句__________。
A.printf(“x=”,x);B.printf(“x=%d”,x);
C.printf(“x=%f”,x);D.printf(“x=%”,x);
6.设i和k都是int类型,则以下对循环语句
for(i=0,k=-1;k=1;i++,k++)
{
printf(“****\n”);
}
说法正确的是__________。
A.循环结束条件不合法B.循环体一次也不执行
C.循环体执行一次D.该循环是无限循环
7.下面说法错误的是__________。
A.do…while{}语句至少执行一次循环B.break语句可以跳出switch语句和循环语句
C.每个if一定有一个else和它对应D.每个else一定有一个if和它对应
8.以下程序输出结果为
#include“stdio.h”
main()
{
charc=‘c’;
printf(“%c”,c+2);
}
输出结果是__________。
A.有语法错误,不能通过编译B.eC.99D.c
9.判断字符串a和b相等的正确表达式是__________。
A.if(a=b)B.if(strcpy(a,b))
C.if(strcmp(a,b)==0)D.if(a==b)
10.C语言程序中,函数返回值的类型是由__________决定。
A.return语句中的表达式类型B.调用该函数的主调函数类型
C.调用该函数的形参类型D.在定义该函数时所指定的函数类型
11.下列叙述中不正确的是__________。
A.C程序的注释部分放在“/*”和“*/”之间,“/”和“*”之间不能有空格
B.一个C源程序可由一个或多个函数组成
C.一个可正确运行C语言程序必须有一个且只能有一个main函数
D.C程序编译时注释部分的错识将被发现.
12.为了用宏名PR表示常量printf,以下宏定义中符合C语言语法的是__________。
A.#definePR,printfB.definePRprintf
C.#definePRprintf;D.#definePRprintf
13.与y=a>b?
a:
b语句等价的程序段的是______________。
A.if(a>b)y=a;elsey=b;B.if(a>b)y=b;elsey=a;
C.if(a>b)y=a;y=b;D.if(a>b)y=b;y=a;
14.一个C语言程序总是从__________开始执行的。
A.编译预处理B.输出语句
C.主函数D.排在前面的语句
15.对于程序段:
int*p,a=5;
p=&a;
下列表达式中代表地址的是__________。
A.a,p,*&aB.&*a,&a,*pC.*p,*&p,&aD.&a,&*p,p
16.有说明“intn=2,*p=&n,*q=p”,则以下非法的赋值语句是__________。
A.p=n;B.*p=*q;C.n=*q;D.p=q;
17.运行以下程序段时编译出错,其原因是_____________。
charc1=‘a’,c2=‘123’;
printf(“%c,%d\n”,c1,c2);
A.字符串要用“123”表示
B.’123’只能赋值给字符数组
C.c2是字符变量,不能用%d格式输出
D.‘123’不是正确的字符常量,不能赋值给字符变量c2
18.以下程序段运行的结果是__________。
enumwd{a=1,b,c,d,e}wk=e;printf(“%d\n”,wk));
A.4B.5C.-1D.e
19.设整型变量a为5,使b不为2的表达式是__________。
A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?
2:
1
20.对于定义inta[3][5],下列描述中正确的数组元素引用语句是__________
A.a[2][3]B.a[3,2]C.a[1+2][2]D.a(3)
(2)
第二部分简单程序(10项,每项3分,共30分)
21.下列程序执行后输出的结果是_____________。
main()
{
intx=6,y=10,z=15,m;
z++;
m=x*y+z;
printf(“%d\n”,m);
}
A.75B.76C.31D.32
22.在执行下列程序时输出的结果是_____________。
main()
{intx=4,y=7;
x-=y;y+=x;
printf(“%d%d”,x,y) ;
}
A.47B.-3-3C.-311D.-34
23.下列程序输出的结果是_____________。
main()
{intn=1,sum=0;
while(n<1)
{sum=sum+n;
n=n+4;
};
printf(“%d\n”,sum);
}
A.0B.1C.5D.4
24.下列程序执行后输出结果是____________。
main()
{
intm=3;
printf(“f(%d)=%d”,m,(m>=0?
1:
0));
}
A.f(3)=1B.f(3)=0C.f(3)=3D.f
(1)=3
25.下列程序执行后输出结果是_____________。
main()
{intx=1,y=2,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
case1:
b++;
}
break;
case2:
a++;b++;break;
}
printf(“a=%d,b=%d\n”,a,b);
}
A.a=0,b=0B.a=1,b=0C.a=0,b=1D.a=1,b=1
26.下列程序执行后输出结果是_____________。
main()
{inti,n=1;
for(i=3;i<5;i++)n++;
printf(“%d”,n);
}
A.2B.3C.4D.5
27下列程序执行后输出结果是_____________。
main()
{inti,a[3]={0};
for(i=1;i<3;i++)
{a[i]=a[i-1]*2+1;
printf(“%d”,a[i]);
}
}
A.01B.02C.12D.13
28.以下程序执行后输出的结果是_____________。
main()
{chars[]=”abcdefg”;
s[5]=‘\0’;
printf(“%s\n”,s);
}
A.abcdB.abcdeC.abcdefD.abcdefg
29.以下程序执行后输出的结果是_____________。
main()
{inta,b,x=45;
a=b=0;
if(!
a)x--;
if(b)x=30;
elsex=40;
printf(“x=%d\n”,x);
}
A.x=0B.x=30C.x=40D.x=44
30.以下程序执行后输出的结果是_____________。
main()
{inta,m;
for(m=10;m<25;m++)
{a=m%10;
if(a==5&&m%3==0)
{
printf(“%d”,m);
}
}
}
A.5B.10C.15D.25
第二卷(本卷10项,每项3分,共30分)
第二卷均为填空题,在阅读和原题程序的基础上,在第二卷答题卡上编号对应的栏目中填入适当的字符、语句,以构成一个正确的C语言程序。
1.以下程序输出的结果是123
intfund(inti)
{printf(“%d\n”,i);
return++i;
}
main()
{
inti=2;
printf(“%d”,fund(i));
}
2.以下程序输出的结果是29
main()
{intx=5;
while(x<10)
{x++;
if(x%4!
=1)continue;
elseprintf(“%d\t”,x);
}
}
3.以下程序输出的结果是:
3abcd
intisnumber(charc)
{
Return((c>='0'&&c<='9')?
1:
0);
}
main()
{chara[]="a1b23c45d6",*p=a;
intk=0;
while(*p!
='\0')
{if(isnumber(*p)==0)
a[k++]=*p;
p++;
}
a[k]='\0';
printf("%s\n",a);
}
4.以下程序是计算S=1-2+3-4...+99-100并输出结果,填空完成程序。
intfun(intn)
{ints=0,f=1,i;
for(i=1;i<=n;i++)
{4s+=f*i;
f=-f;
}
return5;s
}
main()
{intfun(intn);
printf("S=1-2+3-4...+99-100=%d\n",6);fun(100)
}
5.以下程序的功能是输入一个字符串S,将所有空格删除后再输出。
请填空完成程序。
main()
{chars[80];
intx,y;
printf("pleaseenterastringtos:
");
gets(s);
for(x=0,y=0;7;x++)s[x]!
='\0'
{if(s[x]!
='')
{
8;s[y]=s[x]
y++;
}
}
s[y]=9;'\0'
printf(10);"%s",s
}
C语言试题
(二)2009.6
第一卷
本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第一部分:
基础知识
1.对于声明inta[10],*p;,下面选项中合的赋值语句是__________。
A.p=100;B.p=a[6];C.p=a[3]+3;D.p=a+2
2.以下叙述正确的是___________。
A.C语言程序中,main函数必须位于程序的最前面
B.C语言程序中大、小写字母是有区别的
C.C语言程序的每行只能写一条语句
D.编译C程序时,可以发现注释行中的错误
3.若x、i、j和k都是int型变量,则执行下列语句后,x的值为____________。
x=(i=4,j=16,k=32);
A.4B.16C.32D.52
4.对于程序段int*p,a=5;p=&a;,下列各选项中全部表示地址的是___________。
A.a,p,*&aB.*p,*p,&aC.&*a,&a,*pD.&a,&*p,p
5.对于定义:
inta[3][5],能正确引用数组元素的语句是_________。
A.a[3,2]B.a[2][3]C.a(3)
(2)D.a[1+2][2]
6.判断char型变量ch是否为大写字母的正确表达式是___________。
A.’A’<=ch<=‘Z’B.(ch>=‘A’)OR(ch<=‘Z’)
C.(ch>=‘A’)&&(ch<=‘Z’)D.(‘A’<=ch)AND(‘Z’>=ch)
7.对于声明inti,j=2,*p=&j;,能完成i=j功能的语句是_________。
A.i=**p;B.i=*p;C.i=&j;D.*p=*&j;
8.若希望当inta;a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”.则以下不能满足要求的表达式是__________。
A.a%2==1B.!
(a%2==0)C.a%2D.!
(a%2)
9.对于下面的定义:
structstr{intx;floaty;charz[6];}sample;下面的各项中,正确的赋值语句是___________。
A.sample.z=abcd;B.z=“abcd”;
C.strcpy(sample.z,“abcd”);D.strcmp(sample.z,“abcd”)
10.假设inta=2;floatb=3;doublec=3.14;则表达式a*b+c的类型为__________。
A.floatB.charC.doubleD.int
11.正确判断字符串a和b相等的表达式为_____________.
A.a==bB.a=bC.strcpy(a,b)D.strcmp(a,b)==0
12.若x[][4]={1,2,3,4,5,6,7};,则数组x是一个________的二维数组。
A.行列无确定值B.4行7列C.2行4列D.4行2列
13.以下能正确定义整型变量a,b和c并为其赋初值5的语句是_________.
A.inta=b=c=5;B.inta,b,c=5;C.inta=5,b=5,c=5;D.inta=5;b=5;c=5;
14.与y=a﹥b?
a:
b语句等价的程序段是____________。
A.if(a﹥b)B.if(a﹥b)C.if(a﹥b)D.if(a﹥b)
{y=a;{y=b;{y=a;{y=b;
}}}}
elseelsey=b;y=a;
{y=b;{y=a;
}}
15.若用数组名做函数调用的实参,专递给形参的是数组的__________。
A.首地址B.第一个元素的值C.全部元素的值D.元素的个数
16.以下程序段__________。
x=-1;
do{x=x*x;}while(lx);
A.循环执行1次B.循环执行2次C.循环执行无限次D.有语法错
17.以下关于C语言变量的叙述,错误的是___________。
A.变量名必须由字母或下划线开头B.程序中的变量必须在使用之前定义
C.不同基本类型的变量之间可以混合运算D.在定义变量的同时不能对变量赋初值
18.下面的程序执行后的输出结果为________。
#inolude
#defineF(x,y)x*(y)
main()
{
intm=2,n=3;
printf(“%d\n”,F(m+3,n+2);
}
A.25B.17C.13D.10
19.语句if(!
e)中e等于__________时条件为真.
A.0B.1C.非0D.2
20.在C语言程序中,变量所分配的内存空间大小_________。
A.均为一个字节B.由用户自己定义C.由变量的类型决定D.是任意的
第二部分:
简单程序
21.以下程序的运行结果是_________。
#include
constintM=3;
main()
{
intx=5,t;
t=M*x++;
prinf(“x=%d,t=%d\n”,x,t);
}
A.x=5,t=18B.x=5,t=15C.x=6,t=15D.x=6,t=18
22.以下程序的运行结果是_________。
#include
main()
{
inta=9,b=10;
if(a==b)
{printf(“#####”);}
else
{printf(“*****”);}
if(a=b)
{peintf(“$$$$$﹨n”);}
}
A.#####B.#####$$$$$C.*****D.*****$$$$$
23.以下程序的运行结果是_____________。
#include
main()
{
intx=2,y=0,a=0,b=0;
while(x>0)
{switch(y)
{case0:
a++;break;
case1:
b++;break;
case2:
a++;b++;}
y=x--;
}
printf(“a=%d.b=%d\n”,a,b);
}
A.a=0,b=0B.a=1,b=0C.a=1,b=1D.a=2,b=1
24.以下程序的运行结果是______。
#include
main()
{intx,a=10,b=20,c=5;
if(a
{x=-1;
if(b!
=10)
{if(!
c)
{x=1;}
else
{x=2;}
}
}
A.-1B.1C.2D.不确定值
25.以下程序的运行结果是___________。
#include
main()
{intx,y,k=0;
for(x=0,y=5;x<=y;x++,y--)
{k++;}
printf(“%d\n”,k);
}
A.2B.3C.4D.5
26.以下程序的运行结果是___________。
#include
intf(inta)
{staticintc=3;
return(a+2*c++);}
main()
{intk;
for(k=1;k<3;k++)
{printf(“%d\t”,f(k));}
}
A.710B.78C.910D.89
27.以下程序的运行结果是__________。
#include
main()
{intx,y,sum=0;
intarray[4][4]={{10,9,3,8},{4,7,12,5},{11,15,2,9},{2,4,6,8}};
for(x=0;x<4;x++)
for(y=0;y<4;y++)
if(array[x][y]%5==0)
{sum+=array[x][y];}
printf(“sum=%d\n”,sum);
}
A.sum=5B.sum=10C.sum=15D.sum=30
28.以下程序的运行结果是_________。
#include
longfun(intn)
{if(n>2)
return(n*fun(n-1);
else
return2;
}
main()
{printf(“%d”,fun(3));}
A.8B.6C.4D.2
29.以下程序的运行结果是__________。
#include
main()
{char*str[6]={“abc”,”ef”,”ghi”,”jkl”,”mno”};
char**p;
intk;
p=str;
for(k=1;k<4;k+=2)
{printf(”%s:
p[k]);}
printf(“\n”);
}
A.abcghiB.defjklC.defmnoD.abcjkl
30.以下程序的运行结果是_________。
#include
voidfun(int*a,int*b)
{int*k;
k=a;a=b;b=k;
}
main()
{inta=3,b=4;
fun(&a,&b);
printf(“%d,%d\n”,a,b);
}
A.3,4B4,3C3,3D4,4
31.以下程序的运行结果是________。
#include
intx=5;
voidf1()
{x+=10;
printf(“%d\t”,x);}
voidf2()
{x-=5;
printf(“%d\t”,x);}
main()
{intx=3;
f1();
printf(“%d\t”,x);
f2();
}
A.3510B.3515C.15310D.15103
32.以下程序的运行结果是________。
#include
main()
{structexample
{inta,b;
struct
{intx,y;}in;
}e,*p;
p=&e;
p->a=10;
p->b=20;
p->in.x=e.a+e.b;
p->in.y=e.a*e.b;
pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 05 语言 试题 汇总 打印
![提示](https://static.bingdoc.com/images/bang_tan.gif)