概述
计算机二级《C语言程序设计》笔试试题及答案
(21)有以下程序
#include
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf(“%d %dn”,k,n);
}
程序运行后的输出结果是
A)0 2
B)1 3
C)5 7
D)1 2
(22)有以下定义语句,编译时会出现编译错误的是
A)char a=’a’;
B)char a=’n’;
C)char a=’aa’;
D)char a=’x2d’;
(23)有以下程序
#include
main()
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%dn”,c1,c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是
A)E,68
B)D,69
C)E,D
D)输出无定值
(24)有以下程序
#include
void fun(int p)
{ int d=2;
p=d++; printf(“%d”,p);}
main()
{ int a=1;
fun(a); printf(“%dn”,a);}
程序运行后的输出结果是
A)32
B)12
C)21
D)22
(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能
#define MIN -2147483647
int findmax (int x[],int n)
{ int i,max;
for(i=0;i
{ max=MIN;
if(max
return max;
}
造成错误的原因是
A)定义语句int i,max;中max未赋初值
B)赋值语句max=MIN;中,不应给max赋MIN值
C)语句if(max
D)赋值语句max=MIN;放错了位置
(26)有以下程序
#include
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%dn”,m,n,*p,*q);
}
程序运行后的输出结果是
A)1,2,1,2
B)1,2,2,1
C)2,1,2,1
D)2,1,1,2
(27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是
A)p=a
B)q[i]=a[i]
C)p=a[i]
D)p=&a[2][1]
(28)有以下程序
#include
#include
main()
{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%sn”,p);
}
程序运行后的输出结果是
A)9,One*World
B)9,One*Dream
C)10,One*Dream
D)10,One*World
(29)有以下程序
#include
main()
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“n”);
}
A)3 3 4 4
B)2 0 5 0
C)3 0 4 0
D)0 3 0 4
(30)有以下程序
#include
#include
main()
{ char a[10]=”abcd”;
printf(“%d,%dn”,strlen(a),sizeof(a));
}
程序运行后的输出结果是
A)7,4
B)4,10
C)8,8
D)10,10
(31)下面是有关C语言字符数组的描述,其中错误的是
A)不可以用赋值语句给字符数组名赋字符串
B)可以用输入语句把字符串整体输入给字符数组
C)字符数组中的内容不一定是字符串
D)字符数组只能存放字符串
(32)下列函数的功能是
fun(char * a,char * b)
{ while((*b=*a)!=’ ’) {a++,b++;} }
A)将a所指字符串赋给b所指空间
B)使指针b指向a所指字符串
C)将a所指字符串和b所指字符串进行比较
D)检查a和b所指字符串中是否有’ ’
(33)设有以下函数
void fun(int n,char * s) {……}
则下面对函数指针的定义和赋值均是正确的是
A)void (*pf)(); pf=fun;
B)viod *pf(); pf=fun;
C)void *pf(); *pf=fun;
D)void (*pf)(int,char);pf=&fun;
(34)有以下程序
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%dn”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序运行以后的输出结果是
A)7
B)8
C)9
D)10
(35)有以下程序
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%dn’,s,t);
}
程序运行后的输出结果是
A)10,64
B)10,10
C)64,10
D)64,64
(36)下面结构体的定义语句中,错误的是
A)struct ord {int x;int y;int z;}; struct ord a;
B)struct ord {int x;int y;int z;} struct ord a;
C)struct ord {int x;int y;int z;} a;
D)struct {int x;int y;int z;} a;
(37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是
A)char str[ ]=”string”;c=str;
B)scanf(“%s”,c);
C)c=getchar();
D)*c=”string”;
(38)有以下程序
#include
#include
struct A
{ int a; char b[10]; double c;};
struct A f(struct A t);
main()
{ struct A a={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1fn”,a.a,a.b,a.c);
}
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )
程序运行后的输出结果是
A)1001,ZhangDa,1098.0
B)1001,ZhangDa,1202.0
C)1001,ChangRong,1098.0
D)1001,ChangRong,1202.0
(39)若有以下程序段
int r=8;
printf(“%dn”,r>>1);
输出结果是
A)16
B)8
C)4
D)2
(40)下列关于C语言文件的叙述中正确的是
A)文件由一系列数据依次排列组成,只能构成二进制文件
B)文件由结构序列组成,可以构成二进制文件或文本文件
C)文件由数据序列组成,可以构成二进制文件或文本文件
D)文件由字符序列组成,其类型只能是文本文件
参考答案
(1)
C
(2)
B
(3)
D
(4)
A
(5)
B
(6)
A
(7)
C
(8)
B
(9)
C
(10)
D
(11)
D
(12)
C
(13)
A
(14)
B
(15)
B
(16)
D
(17)
C
(18)
A
(19)
A
(20)
B
(21)
D
(22)
C
(23)
A
(24)
C
(25)
D
(26)
B
(27)
A
(28)
C
(29)
C
(30)
B
(31)
D
(32)
A
(33)
A
(34)
C
(35)
A
(36)
B
(37)
A
(38)
D
(39)
C
(40)
C
【计算机二级《C语言程序设计》笔试试题及答案】相关文章:
最后
以上就是冷酷冬日为你收集整理的c语言程序设计二级试题,计算机二级《C语言程序设计》笔试试题及答案的全部内容,希望文章能够帮你解决c语言程序设计二级试题,计算机二级《C语言程序设计》笔试试题及答案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复