2021年计算机二级c语言题库
距2021年计算机二级考试时间越来越近了,为帮助大家尽快复习C语言考试,下面小编整理了关于C语言的考试题库,希望对大家有所帮助!
计算机二级C语言题库【一】
1.若变量c为char类型,能正确判断出c为小写字母的表达式是
A′a′<=c<=′z′
Bc>=′a′||c<=′z′
C′a′=C
Dc>=′a′&&c<=′z′
2.下面程序的输出结果是
main
int x=2,y=0,z;
x+=3+2;printf"%d",x;
x*=y=z=4;printf"%d",x;
A728 B无法计算 C7,4 D8,4
3.有如下程序
main
int x=1,a=0,b=0;
switchx
case 0∶b++;
case 1∶a++;
case 2∶a++;b++;
printf"a=%d,b=%d\n",a,b;
程序运行后的输出结果是
Aa=2,b=1 Ba=1,b=1 Ca=1,b=0 Da=2,b=2
4.以下选项中,正确的if-else语句是
Aifx!=0
printf"%d",x
else
printf"%d",-x;
Bifx!=0
x=x+y;printf"%d",x;
else
printf"%d",-x;
Cifx!=0
x=x+y;printf"%d",x;
else
printf"%d",-x;
Difx!=0
x=x+y;printf"%d",x;
else
printf"%d",-x;
5.有以下程序段
int n=0,p;
do scanf"%d",&p;n++;whilep!=12345 &&n<3;
此处do-while循环的结束条件是
Ap的值不等于12345并且n的值小于3
Bp的值等于12345并且n的值大于等于3
Cp的值不等于12345或者n的值小于3
Dp的值等于12345或者n的`值大于等于3
6.若有如下程序段:
main
int n=0;
whileprintf"*"
n++;
ifn<3break;
则下列描述正确的是
A其中循环控制表达式与0等价
B其中循环控制表达式与’0’等价
C其中循环控制表达式是不合法的
D以上说法都不对
7.C语言中main函数参数的非法表示形式是
Amainchar *argv[],int argc
Bmainint a,char**b
Cmainint y,char *x[]
Dmainint argv,char *argc[]
8.设有如下枚举类型定义:
enum language Basic=3,Assembly,Ada=100,COBOL,Fortran;
枚举类型Fortran的值为
A4 B7 C102 D103
9.阅读下述程序段:
y=-1;
if x!=0
if x>0
y=1;
else
y=0;
该程序段所描述的数学关系是
Ay=-1x<0
0x=0
1x>0
By=1x<0
0x=0
-1x>0
Cy=0x<0
-1x=0
1x>0
Dy=-1x<0
1x=0
0x>0
10.设有数组定义:char array[]="China";蚴?閍rray所占的空间为
A4个字节 B5个字节 C6个字节 D7个字节
答案:1.D 2.A 3.A 4.B 5.D 6.B 7.A 8.C 9.C 10.C
计算机二级C语言题库【二】
1.若变量已正确定义并赋值,对库函数错误调用的是
A k=scanf"%d%d",&i,&j;
B printf"\\%d\\\n",k;
C getcharch;
D putcharch;
2.要求定义一个返回值为double类型的名为mysum的函数,其功能为求两个double类型数的和值,正确的定义是:
A mysumdouble a,b
return a+b;
B mysumdouble a, double b
return a+b;
C double mysumint a, intb;
return a+b;
D double mysumdouble a, double b
retrun a+b;
3.以下是对fun函数的正确调用:
funa+b,funa+b,a,b;
则fun函数有______个形参。
4.若有以下函数定义:
myfundouble a, int n
……
则myfun函数值的类型是
A void
B double
C int
D char
5.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值。以下选项中错误的程序是
A double fun int a,int b
……
main
┇
fun i,k ;
┇
B main
printf "%f\n",fun 2,10 ;
┇
double fun int a,int b
……
C double fun int, int ;
main
┇
x=fun i,k ;
┇
double fun int a,int b
……
D main
double funint i,int y;
┇
x=fun i,k ;
┇
double funint a,int b
……
6.若有以下函数:
int funint x
return 1+x*x;
则语句printf" %d\n",funfunfunfun 1 ;的输出结果是
答案:C D 2 C B 677
计算机二级C语言题库【三】
1.若有以下定义:floatx;inta,b,c=2;,则正确的switch语句是
Aswitchx
case1.0∶printf"*\n";
case2.0∶printf"**\n";
Bswitchintx
case1∶printf"*\n";
case2∶printf"**\n";
C
switcha+b
case1∶printf"*\n";
case1+2∶printf"**\n";
Dswitcha+b
case1∶printf"*\n";
casec∶printf"**\n";
2.执行下面程序片段的结果是
int x=123;
do
printf"=\n",x--;
while!x;
A打印出321
B打印出123
C不打印任何内容
D陷入死循环
3.以下程序的输出结果是
# include
main
int i=0,a=0;
whilei<20
for;; ifi==0break;else i--;
i+=11;a+=i;
printf"%d\n",a;
A21 B32 C33 D11
4.下列与表达式“b=a<0?-1∶a>0?1∶0”的功能等价选项是
Ab=0;
ifa>=0
ifa>0 b=1;
else b=-1;
Bifa>0b=1;
else ifa<0b=-1;
elseb=0
Cifa
ifa<0 b=-1;
else ifa>0b=1;
else b=0;
D b=-1;
ifa
ifa>0b=1;
else ifa==0b=0;
else b=-1;
5.若有以下定义:char a; int b; float c; double d; 则表达式“a*b+d-c”值的类型为
Afloat Bint Cchar Ddouble
6.以下叙述中正确的是
A在函数中必须要有return语句
B在函数中可以有多个return语句,但只执行其中的一个
Creturn语句中必须要有一个表达式
D函数值并不总是通过return语句传回调用处
7.有以下程序
float funint x,int y
returnx+y;
main
int a=2,b=5,c=8;
printf"%3.0f\n",funintfuna+c,b,a-c;
程序运行后的输出结果是
A编译出错 B9 C21 D9.0
8.若已定义:
inta[]=0,1,2,3,4,5,6,7,8,9,*p=a,I;
其中0≤i≤9,则对a数组元素不正确的引用是
Aa[p-a] B*&a[i] Cp[i] Da[10]
9.以下叙述中正确的是
A全局变量的作用域一定比局部变量的作用域大
B静态static类型变量的生存期贯穿于整个程序的运行期间
C函数的形参都属于全局变量
D未在定义语句中赋初值的auto变量和static变量的初值都是随机值
10.若有如下程序:
main
char a[][9]="china","Japan","USA","France";
printf"\′%s\′\n",a[2];
则程序运行后的输出结果是
A′Japan′ B′USA′ CUSA D′inaJapanUSAFrance′
答案:1.C 2.B 3.B 4.B 5.D 6.B 7.B 8.D 9.B 10.B