二级真题4.docx
《二级真题4.docx》由会员分享,可在线阅读,更多相关《二级真题4.docx(12页珍藏版)》请在冰豆网上搜索。
二级真题4
一.单项选择题
1.设intx=1,y=1;表达式(!
x++||y--)的值是_________
A.0
B.1
C.2
D.-1
2.main()
{intn;
(n=6*4,n+6),n*2;
printf(“n=%d\n”,n);
}此程序的输出结果是______________.
A.30
B.24
C.60
D.48
3.若有如下定义,则__________是对数组元素的正确的引用。
inta[10],*p;
p=a;p=a;p=a;p=a;
A.*&a[10]
B.a[11]
C.*(p+10)
D.*p
4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
A.0
B.4
C.-4
D.2
5.以下不能正确定义二维数组的语句是___________
A.inta[2][2]={{1},{2}};
B.inta[][2]={1,2,3,4};
C.inta[2][2]={{1},2,3};
D.inta[2][]={{1,2},{3,4}};
6.程序段___________的功能是将变量u、s中的最大值赋给变量t。
A.if(u>s)t=u;t=s;
B.t=u;if(t)t=s;
C.if(u>s)t=s;elset=u;
D.t=s;if(u)t=u;
7.下列程序段的输出结果是___________。
voidmain()
{intk;
for(k=1;k<5;k++〉
{if(k%2!
=0)
printf("#");
else
printf(“*”);}
}
A.#*#*
B.*#*#
C.##
D.以上都不对
8.设变量定义为inta[3]={1,4,7},*p=&a[2],则*p的值是(35)。
A.&a[2]
B.4
C.7
D.1
9.能正确表示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
10.C语言中,合法的字符型常数是_________。
A.‘A’
B.“A”
C.65
D.A
11.设有数组定义:
chararray[]=”China”;则数组所占的空间是________。
A.4个字节
B.5个字节
C.6个字节
D.7个字节
12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。
A.’a’<=c<=’z’
B.(c>=’a’)||(c<=’z’)
C.(‘a’<=c)and(‘z’>=c)
D.(c>=’a’)&&(c<=’z’)
13.设有定义:
longx=-123456L;则以下能够正确输出变量x值的语句是_______。
A.printf(“x=%d\n”,x)
B.printf(“x=%ld\n”,x)
C.printf(“x=?
l\n”,x)
D.printf(“x=%LD\n”,x);
14.下列关于指针定义的描述,___________是错误的。
A.指针是一种变量,该变量用来存放某个变量的地址值的。
B.指针变量的类型与它所指向的变量类型一致。
C.指针变量的命名规则与标识符相同。
D.在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。
15.已知:
intx;inty[10];下列______是合法的。
A.&x
B.&(x+3)
C.&5
D.&y
16.指出下面正确的输入语句__________。
A.scanf(“a=b=%d”,&a,&b);
B.scanf(“%d,%d”,&a,&b);
C.scanf(“%c”,c);
D.scanf(“%f%d\n”,&f);
17.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r”
B.“w”
C.“rb”
D.“a”
18.Break语句的正确的用法是()。
A.无论在任何情况下,都中断程序的执行,退出到系统下一层。
B.在多重循环中,只能退出最靠近的那一层循环语句。
C.跳出多重循环。
D.只能修改控制变量。
19.为表示关系x≥y≥z,应使用C语言表达式
A.(x>=y)&&(y>=z)
B.(x>=y)AND(y>=z)
C.(x>=y>=z)
D.(x>=z)&(y>=z)
20.以下可以作为C语言合法整数的是________。
A.1010B
B.0368
C.0Xffa
D.x2a2
21.在函数中默认存储类型说明符的变量应该是________存储类型。
A.内部静态
B.外部
C.自动
D.寄存器
二.判断题
1.C语言源程序文件通过了编译、连接之后,生成一个后缀为.EXE的文件。
()
2.在C程序中,函数既可以嵌套定义,也可以嵌套调用。
()
3.在C程序中,APH和aph代表不同的变量。
()
4.表达式0195是一个八进制整数。
()
5.表达式_ya是不合法的C语言标识符。
()
6.C程序总是从main()函数的第一条语句开始执行的。
()
7.A-=7等价于a=a-7。
()
8.利用fclose函数关闭已打开的文件。
()
9.数组名可以作为参数进行传递。
()
10.执行printf("%x",12345);,输出12345。
()
三、填空
1.C语言的预处理语句以__________开头。
2.表达式7+8>2&&25%5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
intn=0,ch;
ch=getchar();
while(__________________)
{if(________________)n++;
c=getchar();}
4.C语言中putchar(c)函数的功能是_________________________________。
5.int*p的含义是___________________________________________。
6.定义fp为文件型指针变量的定义方法为_______________________。
7.数组inta[3][4];共定义了____________个数组元素。
四、读出程序。
1.改正下列程序中不正确的语句。
main()
{inta=8,b=1;
a=a+b;
b=a*b;
printf("%d,%d",a,b);}
2.写出下列程序的运行结果。
fun(inta,intb)
{if(a>b)return(a);
Elsereturn(b);}
main()
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf(“%d\n”,r);}
3.改正下列程序中不正确的语句。
main()
{intn;
floats=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf(“%6.1f\n”,s);}
4.写出下列程序的运行结果。
main()
{intn;
For(n=3;n<=10;n++)
{if(n%5==0)break;
Printf(“%d”,n);}}
5.写出下列程序的运行结果。
#include“stdio.h”
main()
{inta[]={1,2,3,-4,5};
intm,n,*p;
p=&a[0];p=&a[0];
m=*(p+2);
n=*(p+4);
printf(“%d%d%d”,*p,m,n);}
五.编程序
1.编程计算下列表达式:
s=1!
+2!
+3!
+4!
+……+10!
2.从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。
例a=2,n=4,则sum=2+22+222+2222。
3.求3X3矩阵的主对角线元素之和。
4.从键盘上输入10个数存入一维数组中,求这10数中的最大值与最小值并输出。
5.从键盘上输入若干个字符存入文件write.txt中,遇到回车键输入结束。
(用“\n”表示回车键)
参考答案
一.单项选择题
1B2B3D4C5D
6C7A8C9D10A
11C12D13B14D15A
16B17D18B19A20C21C
二.判断题
1√2Ⅹ3√4Ⅹ5Ⅹ6√7√8√9√10Ⅹ
三、填空
1#号
20
3ch!
=’\n’ch>=’0’&&ch<=’9’
4将变量c中的字符显示到屏幕上。
5指针变量p为整型
6FILE*fp
712
四、读出程序。
1printf("%d,%d",&a,&b);212
3s=s+1.0/n
4.34
5135
五.编程序
1.
#include"stdio.h"
main()
{longs=0,t=1;
inti;
for(i=1;i<=10;i++)
{t=t*i;
s=s+t;
}
printf("%ld",s);}
2
#include"stdio.h"
main()
{inta,ncount=1,sn=0,tn=0;
scanf("%d%d",&a,&n);
while(count<=n)
{tn=tn+a;
sn=sn+tn;
a=a*10;
++count;}
printf("%d",sn);}
3.
#include"stdio.h"
main()
{inta[3][3],i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
s=s+a[i][j];
printf("%d",s);}
4.
#include"stdio.h"
main()
{inta[10],max,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<10;i++)
if(a[i]>max)
max=a[i];
min=a[0];
for(i=1;i<10;i++)
if(a[i]
min=a[i];
printf("%d%d",max,min);}
5.
#include"stdio.h"
main()
{intc;
FILE*fp;
fp=open("write.txt","w");
c=getchar();
while(c!
=’\n’)
{fputc(c,fp);
c=getchar();
}
fclose();}