大一c语言考试试题.docx
- 文档编号:7269101
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:37
- 大小:30.03KB
大一c语言考试试题.docx
《大一c语言考试试题.docx》由会员分享,可在线阅读,更多相关《大一c语言考试试题.docx(37页珍藏版)》请在冰豆网上搜索。
大一c语言考试试题
试卷一(参考答案在后面!
)
1,有以下程序
#include
voidf(inta[],inti,intj)
{intt;
if(i<j)
{t=a[i];a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
voidmain()
{inti,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");
}
执行后输出结果是
A)5,4,3,2,1,B)5,2,3,4,1C)1,2,3,4,5,D)1,2,3,4,5
2,下面程序的输出结果是()
#include
voidmain()
{intx=2,y=1;
voidf(intx,inty);
f(x,y);
printf(“%d,%d”,x,y);
}
voidf(intx,inty)
{y=x+y;
x=x-y;
}
A)3,1B)2,1C)1,3D)1,2
3,以下程序的输出结果是 。
#include<stdio.h>
voidmain()
{intk=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);
}
inta,b;
func(a,b)
{staticintm=0,i=2;
i+=m+1;m=i+a+b;return(m);
}
A)8,17B)8,16C)8,20D)8,8
4,以下()是不正确的转义字符。
A.'\\'B.'\'
C.'081'D.'\0'
5,在C语言中,int,char,和short三种类型数据所占用的内存
A.均为2个字节B.由用户自己定义
C.由所用机器的机器字长决定D.是任意的
6,有以下程序
main()
{
intx=102,y=012;
printf("%2d,%2d\n",x,y);
}执行后输出结果是
A)10,012B)102,12C)102,10D)0102,10
7,下列程序的输出结果是
main()
{doubled=3.2;
intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A)3
B)3.2
C)0
D)3.07
8,已知inta;那么﹠a表示
(A)变量名(B)变量a的地址(C)变量a的值(D)其他
9,以下程序段中与语句k=a〉b?
(b〉c?
1:
0):
0;功能等价的是()
A)if((a〉b)﹠﹠(b〉c))k=1;elsek=0;B)if((a〉b)||(b〉c))k=1;elsek=0;
C)if(a〈=b)k=0;elseif(b〈=c)k=1;D)if(a〉b)k=1;elseif(b〉c)k=1;elsek=0;
10,当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为
A)1B)2C)3D)6
if(a〈b)
if(c〈d)x=1;
else
if(a〈c)
if(b〈d)x=2;
elsex=3;
elsex=6;
11,以下错误的if语句是。
A)if(x〉y)z=x;
B)if(x==y)z=0;
C)if(x!
=y)printf("%d",x)elseprintf("%d",y);
D)if(x〈y){x++;y--;}
12,有以下程序
main()
{inti=10;
printf("%d\n",i++);
}
执行后输出结果是
A.9
B.10
C.11
D.8
13,若x,i,j和k都是int型变量,则计算表达式x=(i=14,j=16,k=j)后,x的值为
A.14
B.16
C.30
D.56
14,设有以下程序段
intx=0,s=0;
while(!
x!
=0)s+=++x;
printf("%d",s);
则
A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次
15,以下程序执行后输出结果是________。
inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
A)011122B)012C)012020D)120
16,若变量已正确定义,要求程序段完成求5!
的计算,不能完成此操作的程序段_________。
A)for(i=1,p=1;i<=5;i++)p*=i;
B)for(i=1;i<=5;i++){p=1;p*=i;}
C)i=1;p=1;while(i<=5){p*=i;i++;}
D)i=1;p=1;do{p*=i;i++;}while(i<=5);
17,以下叙述不正确的是
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
18以下叙述不正确的是_________。
A.分号是C语言的必要组成部分
B.C程序的注释可以写在句的后面
C.函数是C程序的基本单位
D.主函数的名字不一定用main表示
19,源程序要正确地运行,必须要有什么函数?
A.printf函数B.自定义的函数
C.main函数D.不需要函数
20,不能把字符串:
Hello!
赋给数组b的语句是
A.charb[10]={’H’,’e’,’l’,’l’,’o’,’!
’};
B.charb[10];b="Hello!
";
C.charb[10];strcpy(b,"Hello!
");
D.charb[10]="Hello!
";
21在C语言中,一维数组的定义方法为
类型说明符数组名
A.[常量表达式]
B.[整型常量]
C.[整型变量]
D.[整型常量]或[整型表达式]
22,下列选项中错误的说明语句是
A.chara[]={′t′,′o′,′y′,′o′,′u′,′\0′};
B.chara[]={"toyou\0"};
C.chara[]="toyou\0";
D.chara[]=′toyou\0′;
23字符串常量不能直接赋值给字符数组,但可以通过____strcpy_____函数来实现。
24,下面程序段运行的结果__-1_____。
inty=2,a=1;
do{
a*=y;
a++;
}while(y--);
printf("%d\n",y);
25,
分析如下程序,此程序运行时输出结果是:
20
#include
voidtest(int*x,int*y);
voidmain()
{
inta=10,b=20;
test(&a,&b);
printf("%d",a);
}
voidtest(int*x,int*y)
{
intt;
t=*x;*x=*y;*y=t;
}
26分析如下程序,此程序运行时输出结果是:
28
#include
voidmain()
{
structu{char*name;
intage;
intincome;}s;
s.name="Wangling";s.age=28;s.income=1000;
printf("%d\n",s.age);
}
27,以下程序输出的结果是(0)
#include
voidmain()
{
inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
28,考生注意:
先将源程序文件715.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!
要求:
补充程序使得程序运行时完成以下功能:
计算2个数的立方差(结果=第一个数的立方减去第二个数的立方)
要求:
1)2个数由键盘输入
2)通过函数调用实现(计算方法在子函数中,通过主函数调用实现)
3)将结果显示出来
29,考生注意:
先将源程序文件113.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!
要求:
补充程序使得程序运行时完成以下功能:
********************
onedreamoneworld!
********************
并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。
30考生注意:
先将源程序文件208.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!
要求:
补充程序使得程序运行时完成以下功能:
计算公式:
[xx<1
y=[2*x-11<=x<=10
[3*x-11x>10
要求:
1)从键盘输入x的值,根据x的值求y的值
2)输出y的值
并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。
31,考生注意:
先将源程序文件501.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!
要求:
补充程序使得程序运行时完成以下功能:
计算公式:
s=1+3+...+(2n-1)
要求:
1)n的值由键盘输入;
2)将s的值显示出来。
试卷2
1,有以下程序
#include
charfun(charx,chary)
{if(x<y)
returnx;
returny;
}
voidmain()
{inta='9',b='8',c='7';
printf("%c\n",fun(fun(a,b),fun(b,c)));
}
程序的执行结果是
A)函数调用出错B)8C)9D)7
2,请读程序:
#include
voidf(intb[],intn)
{inti,r;
r=1;
for(i=0;i<=n;i)r=r*b[i];
returnr;
}
voidmain()
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf(“%d、n”,x);
}
上面程序输出结果是
A)720B)120C)24D)6
3,以下程序有语法错误,有关错误原因的正确说法是
#include
voidmain()
{intG=5,k;
voidprt_char();
...
k=prt_char(G);
...
}
A)语句voidprt_char();有错,它是函数调用语句,不能用void说明
B)变量名不能使用大写字母
C)函数说明和函数调用语句之间有矛盾
D)函数名不能使用下划线
4,以下叙述中,不正确的是()
A、x*=2.5B、x%=2.5C、x+=2.5D、x-=2.5
5,以下叙述中,不正确的是()
A、x*=2.5B、x%=2.5C、x+=2.5D、x-=2.5
6,以下程序的输出结果是
A)17,021,0x11B)17,17,17
B)17,0x11,021D)17,21,11
main()
{intk=17;
printf("%d,%o,%x\n",k,k,k);
}
7,有以下程序
main()
{chara,b,c,*d;
a='\';b='\xbc';
c='\0xab';d="\0127";
printf("%c%c%c%c\n",a,b,c,*d);
}
编译时出现错误,以下叙述中正确的是
A)程序中只有a='\';语句不正确
B)b='\xbc';语句不正确
C)d="\0127";语句不正确
D)a='\';和c='\0xab';语句都不正确
8,以下程序的输出结果是
main()
{charc='z';
printf("%c",c-25);
}
A)aB)ZC)z-25D)y
9,以下程序的输出结果是
main()
{charc='z';
printf("%c",c-25);
}
A)aB)ZC)z-25D)y
10,当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为
A)1B)2C)3D)6
if(a〈b)
if(c〈d)x=1;
else
if(a〈c)
if(b〈d)x=2;
elsex=3;
elsex=6;
11,下列程序段运行后x的值是()
#include"stdio.h"
voidmain()
{
inta=0,b=0,c=0,x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
printf("%d\n",x);
}
A)34B)4
C)35D)3
12,有以下程序
main()
{inti=10;
printf("%d\n",++i);
}
13,执行后输出结果是
A.9
B.10
C.11
D.8
设intx=1,y=1;表达式(!
x||y--)的值是
A.0B.1C.2D.-1
14,有如下程序
main()
{floatx=2.0,y;
if(0.0>x)y=0.0;
elseif(10.0>x)y=1.0/x;
elsey=1.0;
printf("%f\n",y);}
该程序的输出结果是
A.0.000000
B.0.250000
C.0.500000
D.1.000000
15,假定a和b为int型变量,则执行以下语句后b的值为_______。
a=1,b=10;
do{b-=a;
a++;
}while(b--<0);
A)9B)-2C)-1D)8
16,以下程序中,while循环的循环次数是
#include
voidmain()
{inti=0;
while(i<10)
{if(i==5)break;
i++;
}
......
}
A)1B)10
C)6D)死循环,不能确定次数
17,一个C程序中必须包括
A.scanf函数B.main函数C.变量D.#include《math.h》
18以下叙述中正确的是
A构成C程序的基本单位是函数
B可以在一个函数中定义另一个函数
Cmain()函数必须放在其他函数之前
D其他函数必须放在main函数之前
19,一个C语言的程序总是从()开始的。
A.主过程B.主函数
C.子程序D.主程序
20,以下定义语句中,错误的是
A.inta[]={1,2};
B.char*a[3];
C.chars[10]=”test”;
D.intn=5,a[n];
21,判断字符串s1是否大于字符串s2,应当使用_______。
A)if(s1>s2)B)if(strcmp(s1,s2))
C)if(strcmp(s2,s1)>0)D)if(strcmp(s1,s2)>0)
22,下面判断正确的是
A.char*a="china";等价于char*a;*a="china";
B.charstr[5]={"china"};等价于charstr[]={"china"};
C.char*s="china";等价于char*s;s="china";
D.charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";
23,下面程序运行结果是()
#include
voidmain()
{inta[5],i,m;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
m=a[0];
for(i=1;i<5;i++)
if(m<a[i])m=a[i];
printf("%d",m);
}
输入数据为:
63517(回车)
24,设有如下程序段:
inti=0,sum=1;
do
{sum+=i++;}
while(i<6);
printf("%d\n",sum);
上述程序段的输出结果是________。
25,分析以下程序,写出此程序的运行结果:
#include
intx,y;
ints()
{intz;
x=3;y=4;
z=x+y;
return(z);
}
voidmain()
{
intn;
x=1;y=2;
n=s();
printf("n=%d",n+x+y);
}
26,分析如下程序,此程序运行时输出结果是:
#include
typedefstruct
{inta;
floatb;
char*c;
}UN;
voidmain()
{
staticUNx={19,83.5,"zhang"};
UN*px;
px=&x;
printf("%s",px->c);
}
27,如果想输出字符“%”,则应该在“格式控制”字符串中用________表示。
28,用函数调用完成求一个数组{12,3,2,4,5,8,9,12,2,40}中的平均值
要求:
通过函数调用实现(计算方法在子函数中,通过主函数调用实现)
29,在屏幕上显示以下内容:
******************
------------------
******************
并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。
30.要求:
补充程序使得程序运行时完成以下功能:
计算公式:
[x+1x<0
y=[x*x+20<=x<=2
[x*x*x+3x>2
要求:
1)从键盘输入x的值,根据x的值求y的值
2)输出y的值
并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。
31,已知inta[10]={23,45,23,56,45,86,34,23,9,45},从键盘输入一个数,查找该数在数组中出现的次数。
要求:
1)数组定义时初始化为给定数据;
2)从键盘输入一个待查找的数;
3)查找方法不限;
4)输出该数的出现次数
试卷3
1,有以下程序
#include
intf(inta)
{returna%2;}
voidmain()
{ints[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s);i++)d+=s;
printf("%d\n",d);
}
程序运行后的输出结果是
A)9B)11C)19D)21
2,以下叙述中正确的是
A)调用printf函数时,必须要有输出项
B)使用putchar函数时,必须在之前包含头文件stdio.h
C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
3,
有以下程序
#include"stdio.h"
intabc(intu,intv);
voidmain()
{inta=24,b=16,c;
c=abc(a,b);
printf('%d\n",c);
}
intabc(intu,intv)
{intw;
while(v)
{w=u%v;u=v;v=w}
returnu;
}
输出结果是
A)6B)7C)8D)9
4,设有int型变量a,b,c,a=9,b=4,则表达式c=a/b+1.25的值为()
A、2B、3C、3.5D、4
5,
不合法的字符常量是.
A)'\t'B)"A"C)'a'D)'\x32'
6,
若有说明语句:
inta;floatb;,以下输入语句正确的是。
A)scanf("%f%f",﹠a,﹠b);
B)scanf("%f%d",﹠a,﹠b);
C)scanf("%d,%f",﹠a,﹠b);
D)scanf("%6.2f%6.2f",﹠a,﹠b);
7,
有以下程序
main()
{chara,b,c,d;
scanf("%c,%c,%d,%d",﹠a,﹠b,﹠c,﹠d);
printf("%c,%c,%c,%c\n",a,b,c,d);
}
若运行时从键盘上输入:
6,5,65,66"回车"。
则输出结果是()
A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6
8,
已知i、j、k为int型变量,若从键盘输入:
1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
A)scanf(“%2d%2d%2d”,﹠i,﹠j,﹠k)
B)scanf("%d%d%d",﹠i,﹠j,﹠k)
C)scanf("%d,%d,%d",﹠i,﹠j,﹠k)
D)scanf("i=%d,j=%d,k=%d",﹠i,﹠j,﹠k)
9,若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是()
A)swich(a+b);B)switch(a*a+b*b)
{case1:
y=a+b;break;{case3:
case0:
y=a-b;break;case1:
y=a+b;break;
}case3:
y=b-a,break;
}
C)switchaD)switch(a-b)
{casec1:
y=a-b;break;{default:
y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 语言 考试 试题