计算机二级C语言各章汇总.docx
《计算机二级C语言各章汇总.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言各章汇总.docx(30页珍藏版)》请在冰豆网上搜索。
![计算机二级C语言各章汇总.docx](https://file1.bdocx.com/fileroot1/2022-12/12/46954153-3de3-4776-a781-9a6230788ff7/46954153-3de3-4776-a781-9a6230788ff71.gif)
计算机二级C语言各章汇总
第一章
1.用C语言编写的代码程序( )。
A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行
2.结构化程序由三种基本结构组成,三种基本结构组成的算法( )。
A)可以完成任何复杂的任务
B)只能完成部分复杂的任务
C)只能完成符合结构化的任务
D)只能完成一些简单的任务
3.以下叙述中正确的是
A)C语言程序将从源程序中第一个函数开始执行
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D)main可作为用户标识符,用以命名任意一个函数作为主函数
4.以下叙述中正确的是。
A)C语言程序将从源程序中第一个函数开始执
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D)main可作为用户标识符,用以命名任意一个函数作为主函数
5.以下叙述不正确的是。
A)一个C源程序可以由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
BCCCD
第2章
1.以下叙述中错误的是______。
A)算法正确的程序最终一定会结束
B)算法正确的程序可以有零个输出
C)算法正确的程序可以有零个输入
D)算法正确的程序对于相同的输入一定有相同的结果
2.以下叙述中正确的是______。
A)用C程序实现的算法必须要有输入和输出操
B)用C程序实现的算法可以没有输出但必须要输入
C)用C程序实现的算法可以没有输入但必须要有输出
D)用C程序实现的算法可以既没有输入也没有输出
BC
第三章
1.以下定义语句中正确的是( )。
A)chara='A'b='B';B)floata=b=10.0;
C)inta=10,*b=&a;D)float*a,b=&a;
2.下列选项中,不能用作标识符的是( )。
A)_1234_B)_1_2C)int_2_D)2_int_
3.有以下程序
main()
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是( )。
A)3B)5C)-1D)-2
4.有以下程序
main()
{chara='a',b;
print("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是( )。
A)b,bB)b,cC)a,bD)a,c
5.有以下程序
main()
{intm=0256,n=256;
printf("%o%o\n",m,n);
}
程序运行后的输出结果是( )。
A)02560400B)0256256C)256400D)400400
6.有以下程序
main()
{inta=666,b=888;
printf("%d\n",a,b);
}
程序运行后的输出结果是( )。
A)错误信息B)666C)888D)666,888
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.有以下程序
main()
{unsignedinta;
intb=-1;
a=b;
printf("%u",a);
}
程序运行后的输出结果是( )。
A)-1B)65535C)32767D)-32768
9.若在定义语句:
inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()
A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);
C)scanf("%d",p); D)scanf("%d",&p);
10.以下关于long、int和short类型数据占用内存大小的叙述中正确的是()。
A)均占4个字节
B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义
D)由C语言编译系统决定
11.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
A)x=y==5; B)x=n%2.5;
C)x+n=i; D)x=5=4+1;
12.有以下程序段
intj; floaty; charname[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777abc后,y的值为()。
A)55566.0 B)566.0 C)7777.0 D)566777.0
13.已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。
A)A,B B)A,68 C)65,66 D)65,68
14.以下正确的字符串常量是()。
A)"\\\" B)’abc’ C)OlympicGames D)""
15.当用户要求输入的字符串中含有空格时,应使用的输入函数是()。
A)scanf() B)getchar()
C)gets()D)getc()
16.以下关于字符串的叙述中正确的是()。
A)C语言中有字符串类型的常量和变量
B)两个字符串中的字符个数相同时才能进行字符串大小的比较
C)可以用关系运算符对字符串的大小进行比较
D)空串一定比空格打头的字符串小
17.以下选项中属于C语言的数据类型是( )。
A)复数型 B)逻辑型 C)双精度型D)集合型
18.在C语言中,不正确的int类型的常数是( )。
A)32768 B)0 C)037 D)0xAF
19.以下程序的输出结果是( )。
A)17,021,0x11 B)17,17,17
C)17,0x11,021 D)17,21,11
main()
{intk=17;
printf("%d,%o,%x\n",k,k,k);
}
20.设有如下的变量定义:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是( )。
A)a+=a-=(b=4)*(a=3) B)x%(-3);
C)a=a*3=2 D)y=float(i)
21.假定有以下变量定义:
intk=7,x=12;
则能使值为3的表达式是( )。
A)x%=(K%=5) B)x%=(k-k%5)
C)x%=k-k%5 D)(x%=k)-(k%=5)
22.以下叙述中正确的是( )。
A)输入项可以是一个实型常量,如:
scanf("%f",3.5);
B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scanf("a=%d,b=%d")
C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf("%4.2f",&d);
D) 当输入数据时,必须指明变量地址,例如:
scanf("%f",&f);
23.设x和y均为int型变量,则以下语句:
x+=y;y=x-y;x-=y;的功能是( )。
A)把x和y按从大到小排列
B)B把x和y按从小到大排列
C)无确定结果D)交换x和y中的值
24.以下程序的输出结果是( )。
A)1010 B)1212 C)1110 D)1113
main()
{inta=12,b=12;
printf("%d%d\n",--a,++b);
}
25.设有定义:
intk=0;以下选项的4个表达式中与其他3个表达式的值不同的是()。
A)k++B)k+=1C)++kD)k+1
26.以下程序段的输出结果是_____
inti=9;
printf("%o\n",i);
27.以下程序运行后的输出结果是_______。
main()
{inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n',a,b,c);
}
28.执行以下程序时输入1234567,则输出结果是________.
#include
main()
{ int a=1,b;
scanf("%2d%2d",&a&b);printf("%d %d\n",a,b);
}
1-25CDDACBABCDABCDCDCADADDDDA
26.11
27.252137
28.1234
第四章
1.语句:
printf("%d",(a=2)&&(b=-2);的输出结果是( )。
A)无输出 B)结果不确定 C)-1 D)1
2.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )。
A)c=b=a;B)(a=c)‖(b=c);
C)(a=c)&&(b=c);D)a=c=b;
3.能正确表示a和b同时为正或同时为负的逻辑表达式是( )。
A)(a>=0‖b>=0)&&(a<0‖b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)
C)(a+b>0)&&(a+b<=0)D)a*b>0
4.设有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:
(m=a>b)&&(n=c>d)后,n的值为( )。
A)1 B)2 C)3 D)0
5.以下程序的输出结果是( )。
A)-11 B)01 C)10 D)00
main()
{inta=-1,b=1,k;
if((++a<0)&&!
(b--<=0))
printf("%d%d\n",a,b);
else
printf("%d%d\n",b,a);
}
6.以下程序输出结果是( )。
A)7 B)6 C)5 D)4
main()
{intm=5;
if(m++>5)print("%d\n",m);
elseprintf("%d\n",m--);
}
printf("\n");
}
7.有以下程序
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{
case0:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
程序运行后的输出结果是( )。
A)022111B)021021C)000122D)012
8.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是( )。
A)abs(x-y)<10B)x-y>-10&&x-y<10C)(x-y)<-10||!
(y-x)>10D)(x-y)*(x-y)<100
9.有以下程序
main()
{
inta=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d+++1);
else
printf("%d",++d+1);
printf("%d\n",d);
}
程序运行后的输出结果是( )。
A)2B)3C)43D)44
10.下列条件语句中,功能与其他语句不同的是()。
A)if(a)printf("%d\n",x);elseprintf("%d\n",y);
B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x);
C)if(a!
=0)printf("%d\n",x);elseprintf("%d\n",y);
D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y);
11.已有定义:
charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是
A)isupper(c) B)’A’<=c<=’Z’
C)’A’<=c&&c<=’Z’
D)c<=(‘2’-32)&&(‘a’-32)<=c
12. 以下程序的功能是:
输出a、b、c三个变量中的最小值.请填空。
#include
main()
{inta,b,c,t1,t2;
scanf("%d%d%d",&a,&b,&c);
t1=a
t2=cprintf("%d\n",t2);
}
13.以下程序运行后的输出结果是______。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
}
printf("%d%d\n",a,b);
}
1-11DCDBCBCCADB
12.?
a:
b?
c:
t1
13.21
第五章
1.以下程序的输出结果是( )。
A)20 B)31 C)321 D)210
main()
{intn=4;
while(n--)printf("%d",--n);
}
2.执行语句:
for(i=1;i++<4;);后变量i的值是()。
A)3 B)4 C)5 D)不定
3.有以下程序
main()
{inti=0,x=0;
for(;;)
{
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i;
};
printf("%d\n",s);
}
程序运行后的输出结果是( )。
A)10B)13C)21D)程序进入死循环
4.若变量已正确定义,要求程序段完成求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);
5.若变量已正确定义,有以下程序段
i=0;
doprintf("%d,",i);while(i++);
printf("%d\n",i)
其输出结果是
A)0,0 B)0,1 C)1,1 D)程序进入无限循环
6.有以下程序
#include
main()
{inty=9;
for(;y>0;y--)
if(y%3==0) printf("%d",--y);
}
程序的运行结果是()。
A)741 B)963 C)852 D)875421
7.有以下程序
#include
main()
{inti,j,m=55;
for(i=1;i<=3;i++)
for(j=3;j<=i;j++)m=m%j;
printf("%d\n",m);
}
程序的运行结果是()。
A)0 B)1 C)2 D)3
8.以下程序的输出结果是( )。
A)#*#*# B)##### C)***** D)*#*#*
main()
{inti;
for(i=1;i<6;i++)
{if(i%2){printf("#");continue;}
printf("*");
}
printf("\n");
}
9.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为( )。
A2,0 B5,0 C5,5 D2,5
#include
main()
{intv1=0,v2=0;
charch;
while((ch=getchar())!
='#')
switch(ch)
{case'a':
case'h':
default:
v1++;
case'0':
v2++;
}
printf("%d,%d\n",v1,v2);
10.以下程序的输出结果是( )。
A)x=4 B)x=8 C)x=6 D)x=12
main()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
11.以下程序的输出结果是( )。
A)10192 B)9876C)10990 D)101091
main()
{intx=10,y=10,I;
for(i=0;x>8;y=++i)
printf("%d,%d",x--,y);
12.以下程序的输出结果是_______.
#include
main()
{ int n=12345,d;
while(n!
=0){ d=n%10; printf("%d",d);n/=10;}
}
13.有以下程序段,且变量已正确定义和赋值
for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
请填空,使下面程序段的功能为完全相同
s=1.0;k=1;
while(________){s=s+1.0/(k*(k+1));________;}
printf("s=%f\n\n",s);
14.以下程序的输出结果是________.
#include
main()
{ int i;
for(i='a';i<'f';i++,i++) printf("%c",i-'a'+'A');
printf("\n");
}
}
1-11.ACDBBCBACBD
12.54321
13.k<=n,k++
14.ACE
第六章
1.以下能正确定义二维数组的是( )。
A)inta[][3];B)inta[][3]=2{2*3};
C)inta[][3]={0};D)inta[2][3]={{1},{2},{3,4}};
2.有以下程序
intf(inta)
{returna%2;}
main()
{ints[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s[i]);i++)d+=s[i];
printf("%d\n",d);
}
程序运行后的输出结果是( )。
A)9B)11C)19D)21
3.s12和s2已正确定义并分别指向两个字符串。
若要求:
当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是( )。
A)if(s1>s2)S;B)if(strcmp(s1,s2))S;C)if(strcmp(s2,s1)>0)S;D)if(strcmp(s1,s2)>0)S;
4.有以下程序
main()
{intx[]={1,3,5,7,2,4,6,0},i,j,k;
for(i=0;i<3;i++)
for(j=2;j>=i;j--)
if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}
for(i=0;i<8;i++)printf("%d",x);
printf("\n");
}
程序运行后的输出结果是:
( )。
A)75310246B)01234567C)76310462D)13570246
5.以下程序的输出结果是( )。
A)52 B)51 C)53 D)97
main()
{inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2)printf("%d",p[i]);
}
6.以下程序的输出结果是( )。
A)6 B)6789 C)'6' D)789
main()
{chara[10]={'1','2','3','4','5','6','7','8','9',0},*p;
inti;
i=8;
p=a+i;
printf("%s\n",p-3);
}
7.以下程序运行后,输出结果是( )。
A)1000 B)10010 C)00110 D)10100
main()
{inty=18,i=0,j,a[8];
do
{a[i]=y%2;i++;
y=y/2;
}while(y>=1);
for(j=i-1;j>0;j--)printf(%d",a[j]);
printf("\n");
}