C 语言考试题21份.docx
- 文档编号:9441995
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:49
- 大小:26.60KB
C 语言考试题21份.docx
《C 语言考试题21份.docx》由会员分享,可在线阅读,更多相关《C 语言考试题21份.docx(49页珍藏版)》请在冰豆网上搜索。
C语言考试题21份
一、选择题(针对以下题目,请选择最符合题目要求的答案。
针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
其中第1-10题每题1分,其余每题1.5分,共100分)
1)
有如下C语言程序:
则程序运行后的输出结果是()。
(选择一项)
#include
voidmain()
{
inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf(“%d,%d,%d\n”,a[1][3],a[2][1],a[3][2]);
}
a)
0,5,0
b)
4,7,0
c)
4,3,0
d)
0,6,0
2)
有如下C语言程序:
#include
voidmain()
{
inti,s=0;
for(i=0;i<10;i+=2)
s+=i+1;
printf(“%d\n”,s);
}
则程序实现的功能是().
a)
计算并输出自然数1~9的和.
b)
计算并输出自然数1~10的和.
c)
计算并输出自然数1~9中的奇数之和.
d)
计算并输出自然数1~10中的偶数之和.
3)
在C语言中,使用如下语句动态申请一个int型的存储单元:
int*p;
p=_____malloc(sizeof(int));
a)
(int*)
b)
(*int)
c)
int*
d)
int
4)
有如下语言程序:
#include
voidmain()
{
chararr[]={‘a’,’c’,’f’,’g’,’h’};
char*ptr;
ptr=arr;
ptr+=2;
printf(“%c,%c\n”,*ptr,*(ptr+2));
}
则其输出结果正确的是()。
(选择一项)
a)
a,f
b)
a,c
c)
f,g
d)
f,h
5)
有如下一段不完整的C语言程序
#include
floataver(
(1))
{
inti=0;
floatav=0.0f;
floats=0;
for(i=0;i<5:
i++)
s=s+a[i];
av=s/5;
returnav;
}
viodmain(viod)
{
inta[5]={0};
floatav=0.0f;
inti=0;
printf(“请输入5个整型数据:
\n”);
for(i=0;i<5:
i++)
scanf(“%d”,
(2));
av=aver((3));
printf(“输入数组的平均值是%6.2f\n”,av);
}
若其功能是实现求数组的的平均值,则空白处应填入的代码是()
(选择一项)
a)
(1)inta[5]
(2)&a[i]
(3)a
b)
(1)inta[]
(2)a[i]
(3)a
c)
(1)inta[5]
(2)a[i]
(3)a[0]
d)
(1)inta[]
(2)&a[i]
(3)a[0]
6)
有如下C语言函数代码:
根据学过的基本路径测试知识,则该函数的圈复杂度是()(选择一项)
voidTest()
{
inti=0;
intsum_a=0,sum_b=0,sum_c=0,sum_d=0;
while(i<100)
{
if(i%2==0)
{
if(i%3==0)
sum_a+=i;
else
sum_b+=i;
}
else
{
if(i%3==0)
sum_c+=i;
else
sum_d+=i;
}
i++;
}
}
}
a)
4
b)
5
c)
6
d)
7
7)
有如下的C语言程序:
#include
voidswap(intx,inty)
{
inttemp;
temp=x;
x=y;
y=temp;
}
voidmain()
{
inta=7;
intb=9;
int*pointer_1=&a;
int*pointer_2=&b;
if(a
swap(*pointer_1,*pointer_2);
printf(“%d,%d”,a,b);
}
则其运行的结果正确的是()。
(选择一项)
a)
7,9
b)
9,7
c)
7,7
d)
9,9
8)
有如下C语言程序:
#include
voidmain()
{
intarray[10]={1,2,3,4,5,6,7,8,9,10};
int*ptr=array;
inti;
for(i=0;i<10;1++)
{
(*ptr)++;
ptr++;
}
for(i=0;i<10;1++)
{
printf("%d",ptr[i]);
}
}
则程序运行后的输出结果为()。
(选择一项)
a)
12345678910
b)
0123456789
c)
234567891011
d)
以上选项都不对
9)
有如下C语言代码:
#include
voidmain()
{
intp,q;
scnaf(“%6d%2d”,&p,&q);
printf(“p=%d,q=%d”,p,q);
}
运行该程序,输入9876543210,该程序的输出结果是().(选择一项)
dfdfdfdsdfsdsdfsdfsdfsdsssss
a)
p=987654,q=64
b)
p=987654,q=32
c)
P=012345,q=67
d)
p=987654,q=3210
10)
有如下C语言代码:
#include
voidmain()
{
inta,b,p,q;
a=1;
p=2;
q=3;
b=-a printf(“b=%d\n”,b); } 则程序运行后的输出结果是()。 (选择一项) a) b=1 b) b=0 c) b=-1 d) b=2 11) 有如下的C程序 #include voidmain() { voidAdda(void) inti=0; for(i=0;i<3;i++) Adda(); } voidAdda(void) { staticintx=0; inty=1; intz=0; x++; y++; z=x+y; printf(“x=%d,y=%d,z=%d”,x,y,z); } 则其运行结果正确的是()。 (选择一项) a) x=1,y=2,z=3 x=2,y=3,z=5 x=3,y=4,z=7 b) x=1,y=2,z=3 x=1,y=2,z=3 x=1,y=2,z=3 c) x=1,y=2,z=3 x=2,y=2,z=4 x=3,y=2,z=5 d) x=1,y=2,z=3 x=1,y=3,z=4 x=1,y=4,z=5 12) 有如下C语言程序: #include voidmain() { intm[][3]={1,4,7,2,5,8,3,6,9}; inti; for(i=0;i<3;i++) { printf(“%d”,m[2][i]); } } 则程序编译运行后其输出结果正确的是()。 (选择一项) a) 456 b) 258 c) 369 d) 789 13) 有如下C语言程序段: intn,t=1,s=0; scanf(“%d”,&n); do { s++; t=t-2; }while(t! =n); 为使此程序段不陷入死循环,从键盘输入的数据应该是().(选择一项) a) 任意正奇数 b) 任意负偶数 c) 任意正偶数 d) 任意负奇数 14) 有如下C语言程序: #include structSTU { charname[10]; intnum; floatTotalScore; }; voidf(structSTU*p) { structSTUs[2]={{“SunDan”,20044,550},{“Penghua”,20045,537}}; structSTU*q=s; ++p; ++q; *p=*q; } voidmain() { structSTUs[3]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580}}; f(s); printf(“%s%d%3.0f\n”,s[1].name,s[1].num,s[1].TotalScore); } 则编译运行后其输出结果是()。 (选择一项) a) SunDan20044550 b) Penghua200045537 c) LiSiGuo20042580 d) SunDan20041703 15) 有如下C语言程序 #include Voidmain() { chara[]={‘b’,’c’,’d’,’f’,’a’}; char*p=a; inti=0; *p++=’d’; p=a; for(i=0;i<5;++i) printf(“%c”,*(p+i)); } 将运行该程序产生的打印输出结果进栈(栈原来为空),再从栈中弹出一个元素,这时栈中保存的元素,从栈顶到栈底元素依次为()。 (选择一项) a) d,c,d,f b) f,d,c,d c) b,c,d,f d) f,d,c,b 16) 在C语言中,有如下定义: intc[4][5]={3,4,5}; int(*p)[5]; p=c; 则能正确引用数组C中元素的是()。 (选择一项) a) p+1 b) *(p+3) c) *(p+1)+3 d) *(p[0]+2) 17) 在C语言中,下列选项中,合法的实型常量是()。 (选择一项) a) 4.7E0.5 b) 3.14159E c) .5E-7 d) E6 18) 有如下C语言程序 #include voidmain() { intx=10; inty=10; printf(“%d%d\n”,x--,--y); } 则程序运行后输出结果是()(选择一项) a) 1010 b) 109 c) 99 d) 910 19) 有如下C语言程序()(选择一项) #include voidmain() { inti,j for(i=0,j=10;i { ; } printf(“%d”,i); printf(“%d\n”,j) } C a) 86 8 b) 67 c) 76 d) 68 20) 有如下C语言程序: #include voidmain() { charch; ch=getchar(); switch(ch) { case65: printf(“%c”,’A’); case66: printf(“%c”,’B’); default: printf(“%s”,“other”); } } 当从键盘输入字母A时,运行结果正确的是().(选择一项) a) A b) ABother c) Aother d) 编译错误,无法运行 21) 下列关于C语言注释规则中正确的是()。 (选择二项) a) 尽量不要在语句指令中添加注释 b) 最好进行嵌套注释 c) 注释的位置一般放在被注释代码的下方 d) 行末注释最好对齐 22) 下列C语言函数中通过正确调用,能够实现交换实参值的是()(选择一项) f a) Funa(int*x,int*y) { int*p; *p=*x; *x=*y; *y=*p; } b) Funb(intx,inty) { intt; t=x; x=y; y=t; } c) Func(int*x,int*y) { *x=*y; *y=*x; } d) Fund(int*x,int*y) { *x=*x+*y; *y=*x-*y; *x=*x-*y; } 23) 有如下C语言程序: #include intd=1; voidfun(intp) { intd=5; d+=p++; printf(“%d”,d); } voidmain() { inta=3; fun(a); d+=a++; printf(“%d”,d); } 则程序运行后的输出结果是()(选择一项) a) 84 b) 96 c) 94 d) 85 24) 有如下C语言程序: #include voidprtv(int*x) { printf(“%d\n”,++*x); } voidmain() { inta=25; prtv(&a); } 则程序运行后的输出结果是()。 (选择一项) a) 23 b) 24 c) 25 d) 26 25) 在C语言中,表达式10! =9的值为()。 (选择一项) a) a) true b) 随机值 c) 0 d) 1 26) 在C语言中,下列关于函数的叙述中正确的是()(选择一项) a) 一个函数内部可以调用另一个函数,也可以调用它本身 b) 每个函数都可以被单独编译 c) 每个函数都可以单独运行 d) 在一个函数内部可以定义另一个函数 27) 在C语言中,下列有关文件操作的叙述中错误的是()(选择一项) a) 使用fseek函数可以实现改变文件的位置指针 b) 在程序结束时,应当用fclose函数关闭已打开的文件 c) 利用fread函数从二 进制文件中读数据,可以用数组名给数组中所有元素读入数据 d) 不可以用FILE定义指向二进制文件的文件指针 28) 有如下C语言代码: #include voidmain() { intm=9,n=2 inta,b a=m%n; b=m/n printf("a=%d,b=%d\n",a++,--b); } 则程序运行后运输结果是().(选择一项) a) a=1,b=4 b) a=2,b=4 c) a=2,b=3 d) a=1,b=3 29) 在C语言中,若有语句: char*line[5]; 则下列叙述中正确的是().(选择一项) a) 定义line是一个长度为5的数组,每个数组元素是指向char类型的指针变量 b) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 c) 定义line是一个指针数组,语句中的*号称为间址运算符 d) 定义line是一个指向字符型函数的指针 30) 有如下C语言程序: #include #include voidmain(void) { structstudentstruct {intNo; charName[20] charSex; floatScore; }; structstudentstructstudent1; structstudentstruct *ps; ps=&student1; student1.No=1 strcpy(student1.Name,"ZhangGuo"); student1.Sex='M'; student1.Score=90.5; ___________________; } 若其实现的功能是记录学员信息并输出,则空白处不可以填入的代码是( )。 (选择一项) a) printf("No: %d\nName: %s\nSex: %c\nScore: %.2f\n",student1.No,student1.Name,student1.Sex,student1.Score) b) printf("No: %d\nName: %s\nSex: %c\nScore: %.2f\n", (*ps).No,(*ps).Name,(*ps).Sex,(*ps).Score) c) printf("No: %d\nName: %s\nSex: %c\nScore: %.2f\n", ps->No,ps->Name,ps->Sex,ps->Score) d) printf("No: %d\nName: %s\nSex: %c\nScore: %.2f\n", ps.No,ps.Name,ps.Sex,ps.Score) 31) 有如下C语言程序: #include voidmain() { charc; chara[]={"shouji"}; char*p=a c=____; putchar(c); } 则在程序空白处填上( )表达式,编译运行后能够输出字符’o’.(选择一项) a) (p+=2,*(p++)) b) (p+=2,*++p) c) (p+=3,*p++) d) (p=p+2,++*p) 32) 有如下C语言程序: #include voidswap1(intc0[],intc1[]) { intt; t=c0[0]; c0[0]=c1[0]; c1[0]=t; } voidswap2(int*c0,int*c1) { intt; t=*c0; *c0=*c1; *c1=t; } voidmain() { inta[2]={3,5},b[2]={3,5}; swap1(a,a+1); swap2(&b[0],&b[1]); printf("%d%d%d%d\n,a[0],a[1],b[0],b[1]); } 则编译运行后其输出结果是()。 (选择一项) a) 3553 b) 5335 c) 3535 d) 5353 33) 在C语言中,下列能够作为合法的变量标识符的是() a) 8abc b) _1_2_3_ c) My.space d) &name 34) 有如下C语言代码: #include voidmain() { inta=077; intb=a&3; printf(“%d\n”,b); } 则程序编译运行后的结果为()。 (选择一项) a) 1 b) 0 c) 3 d) 011 35) 有如下C语言程序 #include voidmain() { intx,y,z,t; scanf(“%d,%d,%d”,&x,&y,&z); if(x>y) { t=x; x=y; y=t; } if(y>z) { t=y; y=z; z=t; } printf(“%d%d%d\n”,x,y,z); } 输入三个互不相等的整数后,程序实现的功能是()。 (选择一项) a) 将三个数按照从大到小的顺序输入 b) 将三个数按照最大数、最小数、中间数的顺序输出 c) 将三个数按照中间数、最大数、最小数的顺序输出 d) 将三个数按照从小到大的顺序输出 36) 有如下C语言代码: #include voidmain() { inta,b; scanf(”%d%d”,&a&b); printf(“%d,%d”,a,b); } 当输入a、b的值时,不能作为输入数据分隔符的是()。 (选择一项) a) 逗号(,) b) 空格 c) 回车 d) [TAB] 37) 有如下C语言程序: #include voidmain() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } printf(“%d\n”,a); } 则程序运行后的输出结果是()。 (选择一项) a) 7 b) 8 c) 9 d) 10 3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言考试题21份 语言 考试题 21