历年二级C语言笔试真题及答案
A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1(18)设有定义:int a; float b;执行
scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>,a和b的值分别是________。A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.000000
(19)有以下程序
main()
{int a=0,b=0;
a=10; /*给a赋值b=20; 给b赋值*/ printf("a+b=%d\n",a+b); /* 输出计算结果*/ }程序运行后输出结果是________。A)a+b=0 B)a+b=30 C)30 D)出错(20)在嵌套使用if语句时,C语言规定else总是________。A)和之前与其具有相同缩进位置的if配对
B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对
(21)下列叙述中正确的是________。A)break语句只能用于switch语句
B)在switch语句中必须使用default C)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句
22)有以下程序
m ain()
{int k=5; while(-k) printf("%d",k-=3); printf("\n") } 执行后的输出结果是
________。A)1 B)2 C)4 D)死循环
(23)有以下程序
main()
{int i;
for(i=1;i<=40;i++)
{if(i++%5=0)
if (++i%8=0) printf("%d",i) }
printf("\n") } 执行后的输出结果是
________。A)5 B)24 C)32 D)40 (24)以下选项中,值为1的表达式
________。A)1-"0" B)1-"\0" C)"1"-0 D)"\0"-"0"
(25)有以下程序
fun(int x,int y){return(x+y);}
main()
{int a=1,b=2,c=3,sum;
sum=fun((a++,b++b,a+b),c++);
printf("%d\n",sum); }执行后的输出结果是________。
A)6 B)7 C)8 D)9
(26)有以下程序
main()
{ char s[ ]= "abcde"; s+=2;
printf("%d\n",s[0]); }
执行后的结果是________。A)输出字符a的ASCII码B)输出字符c的ASCII 码C)输出字符c D)程序出错
(27)有以下程序
fun(int x,int y)
{static int m=0,i=2; i+=m+1;m=i+x+y; return m; }
main()
{int j=1,m=I,k;
k=fun(j,m); printf("%d",k); k=fun(j,m);
printf("%d\n",k } 执行后的输出结果是
________。
A)5,5 B)5,11 C)11,11 D)11,5
(28)有以下程序fun(int x)
{int p;
if(x==0║x= =1) return(3);
p=x-fun(x=2); retum p; }main()
{ prinf("%d\n",fun(7));} 执行后的输出结
果是________。A)7 B)3 C)3 D)0
(29)在16位编译系统上,右有定义int
a[ ]={10,20,30},*p=&a;,当执行p++;后,
下列说法错误的是________。
A)p向高地址移了一个字节B)p抽高
地址移了一个存储单元C)p向高地址移
了两个字节D)p与a+1等价
(30)有以下程序
main()
{int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2); printf("%d\n",c); }执行后
的输出结果是A)1 B)2 C)3 D)4
(31)若有定义:int w[3][5];,则以下不
能正确表示该数组元素的表达式是
________。
A)*(*w+3)B)*(w+1)[4] C)*(*(w+1))
D)*(&w[0][0]+1)
(32)若有以下函数首部int fun(double
x[10],int *n) 则下面针对此函数声母语句
中正确的是________。
A)int fun(double x,int *n); B)int
fun(double ,int);C)int fun(double*x,int n);
D)int fun(double *,int*);
(33)若有定义语句:int k[2][3],*pk[3];,
则以下语句中正确的是________。
A)pk=k; B)pk[0]=&k[1][2]; C)pk=k[0];
D)pk[1]=k;
(34)有以下程序
void change(int k[ ]){k[0]=k[5];}
main()
{int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<=4) {change(&x[n]);n++;}
for(n=0;n<5;n++)
printf("%d",x[n]);printf("\n"); }
程序运行后输出的结果是________。A)
678910 B)13579 C)12345 D)62345
(35)若要求定义具有10个int型元素的
一维数组a,则以下定义语句中错误的是
A)#define N 10 Int a[N] B)#define n 5
Int a[2*n] C)int a[5+5] D)int n=10,a[n]
(36)有以下程序
main() {int x[3][2]={0},I;
for(I=0;I<3;I++) scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1
][0]);} 若运行时输入:246<回车>,则输
出结果为________。A)2 0 0 B)2 0 4
C)2 4 0 D)2 4 6
(37)有以下程序
main()
{char s[ ]={ "aeiou"},*ps;
ps=s; printf("%c\n",*ps+4);}程序运行后
的输出结果是________。A)a B)e
C)u D)元素s[4]的地址
(38)以下语句中存在语法错误的是
________。A)char ss[6][20];ss[1]=
"right? ";
B)char ss[][20]={ "right? "}; C)char
*ss[6];ss[1]= "right? "; D)char
*ss[]={"right? "};
(39)若有定义:char *x= “abcdefghi”;,
以下选项中正确运用了strepy函数的是
________。
A)char y[10]; strcpy(y,x[4]); B)char
y[10]; strcpy(++y,&x[1]);
C)char y[10],*s; strcpy(s=y+5,x);D)
char y[10],*s; strcpy(s=y+1,x+1);
(40)有以下程序
int add(int a,int b){return+b};}
main()
{int k,(*f)(),a=5,b=10;
f=add;
… }则以下函数调用语句错误的是
________。A)k=(*f)(a,b); B)
k=add(a,b);C)k=*f(a,b); D)k=f(a,b);
(41)有以下程序#include <string.h>
main(int argc,char *argv[])
{int i=1,n=0;
while(i<arge){n=n+strlen(argv[i]);i++;}
printf(“%d\n”,n); }该程序生成的可执行
文件名为:proc.exe。若运行时输入命令
行:proc 123 45 67
则程序的输出结果是________。A)3 B)
5 C)7 D)11
(42)有以下程序
void fun2(char a, char
b){printi(“%b%c”,a,b);}
char a= …A?,b= …B?;
void fun1( ){ a= …C?l b= …D?; }
main( )
{ fun1( )
printf( “%c%c”,a,b);fun2(…E?, …F?); } 程
序的运行结果是________。A)CDEF B)
ABEF C)ABCD D)CDAB
(43)有以下程序
#include <stdio.h>
#define N 5
#define M N+1
#define f(x) (x*M)
main()
{int i1,i2; i1=f(2); i2=f(1+1);
printf(“%d %d\n”,i1,i2); }程序的运行
结果是________。
A)12 12 B)11 7 C)11 11 D)12 7
(44)设有以下语句typedef struct
TT{char c; int a[4];}CIN; 则下面叙述中正
确的是________。A)可以用TT定义
结构体变量B)TT是struct类型的变量
C)可以用CIN定义结构体变量D)CIN
是struct TT类型的变量
(45)有以下结构体说明、变量定义和赋
值语句
struct STD {char name[10];
int age; char sex;
}s[5],*ps; ps=&s[0];} 则以下scanf函数
调用语句中错误引用结构体变量成员的
是________。
16
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库历年二级C语言笔试真题及答案(16)在线全文阅读。
相关推荐: