二级试题5.docx
《二级试题5.docx》由会员分享,可在线阅读,更多相关《二级试题5.docx(9页珍藏版)》请在冰豆网上搜索。
二级试题5
一、填空
1.实型变量的类型说明符有:
__________、____________。
2.表达式7+8>2&&25%5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Intn=0,ch;
Ch=getchar();
While(__________________))))
{if(________________)n++;
4.putchar(c)函数的功能是是是_____________________________________。
5int*p的含义是是是是___________________________________________。
6.C语言中数组的下标下限为___________________________。
7.定义fp为文件型指针变量的定义方法为_______________________。
8.数组inta[3][4];共定义了____________个数组元素。
二、单项选择题
1、下列属于整型常量的是________。
A、12B、12.0
C、-12.0
D、10E10
2、不属于字符型常量的是_________。
A.‘A’
B、'a'
C、“A”
D、'b'
3、下列表达式为关系表达式的为_________。
(其中a为一整型变量)
A.3+4*5
B、a==10
C、a>0?
a:
-a
D、a=1
4、下面不正确的赋值语句是_____________。
A.a=a+1
B、a==b
C、a+=b
D、a=1
5、下列对数组定义不正确的语句是______________。
A.intm[5];
B、charb[]={‘h’,’e’};
C、inta[10]={1,6,8,4};
D、charp[];
6、若有以下定义,则______和______是对数组元素的正确引用。
inta[5],*p=a
A.*&a[6]
B、*p+8
C、*(a+2)
D、*p
7、执行下列语句后,a的值是______。
inta=8;
a+=a-=a*a;
A.-240
B、64
C、112
D、-112
8.指出下面正确的输入语句()。
A.scanf(“a=b=%d”,&a,&b);
B.scanf(“%d,%d”,&a,&b);
C.scanf(“%c”,c);
D.scanf(“%f\n”,&f);
9.下面的变量说明中正确的是____________。
A.int:
a,b,c;
B.inta;b;c;
C.inta,b,c
D.inta,b,c;
10.C语言用()表示逻辑“真”值。
A.True
B.t或y
C.非零整型值
D.整型值0
11.若x=5,y=4则y*=x+5;y的值为().
A.40
B.20
C.15
D.30
13.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r”
B.“w”
C.“rb”
D.“a”
14.Break语句的正确的用法是()。
A.无论在任何情况下,都中断程序的执行,退出到系统下一层。
B.在多重循环中,只能退出最靠近的那一层循环语句。
C.跳出多重循环。
D.只能修改控制变量。
15.两个指针变量的值相等时,表明两个指针变量是________________。
A.占据同一内存单元。
B.指向同一内存单元地址或者都为空。
C.是两个空指针。
D.都没有指向。
16.字符串指针变量中存入的是________________。
A.字符串的首地址。
B.字符串
C.第一个字符
D.字符串变量。
17.以_______________个是不正确的描述。
A.不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B.在定义函数时,必须指定形参的类型。
C.形参和实参之间可以是值传递。
D.数组名可以作为参数进行传递。
18表达式“1?
(0?
3:
2):
(10?
1:
0)”的值为_____________________。
A.3
B.2
C.1
D.0
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.以下说法中正确的是_______________。
A.C语言程序总是从第一个定义的函数开始执行。
B.在C语言程序中,要调用的函数必须有main()函数中定义。
C.C语言程序总是从main()函数开始执行。
D.C语言程序中的main()函数必须放在程序的开始部分。
21.设有数组定义:
chararray[]=”China”;则数组所占的存贮空间为__________。
A.4个字节
B.5个字节
C.6个字节
D.7个字节
22.根据C语言的语法规则,下列________个是不合法标识符。
A.While
B.Name
C.Rern5
D._exam
三、读出下列程序,写出程序的运行结果。
1.main()
{inta=8,b=1;
a=a+b;
b=a*b;
printf("a=%d,b=%d",a,b);}
该程序的运行结果是___________________________________。
2.main()
{inti,num[5];
for(i=0;i<5;i++)
num[i]=i*10-2;
printf("%d",num[3]);}
该程序的运行结果是___________________________________。
3.main()
{floatc,f;
c=30.0;
f=(6*c)/5+32;
printf("f=%f",f);}
该程序的运行结果是___________________________________。
4.main()
{inta=6095,b;
b=a_00;
printf("%d",b);}
该程序的运行结果是___________________________________。
5.#include“stdio.h”
main()
{inta[]={8,2,9,4,1},*p;
p=a;
*(p+2)+=2;
printf(“%d,%d”,*p,*(p+2));}
该程序的运行结果是___________________________________。
四、将下列程序中不正确的语句改正。
1.main()
{intk;
k=35555;
printf(“%d“,k);}
2.main()
{inta,b;
scanf(“inputa,b:
”,a,b);
printf(“a=%d,b=%d”,a,b);}
3.main()
{intsum,k;
sum=0;
k=1;
while(k<=100)
sum=sum+k;
k++;
printf(“sum=%d\n”,sum);}
4.main()
{intk,a(8);
for(k=0;k<10;k++)
scanf(“%d”,&a(k));
......}
5.main()
scanf(“%d”,a);
if(a=1)
printf(“One\n”);}
五.编程题
1.用程序计算下列表达式:
s=1!
+2!
+3!
+4!
2、从键盘上输入三个数,求出其中最大的一个数。
3.输入两个整数,调用函数stu()求两个数差的平方,返回主函数显示结果。
。
4.从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分,输出平均分,最高分,最低分。
5.write.txt中,遇到回车键输入结束。
。
(用“\n”表示回车键)
参考答案
一、填空
1.floatdouble
2.0
3.ch!
=‘\0’(ch>=‘a’&&ch<=‘z’)||(ch>=‘A’&&ch<=‘Z’)
4.将字符c所包含的值输出到标准的输出设备上。
5.定义一个整型的指针变量p
6.0
7.FILE*fp
8.12
二、单项选择题
1、A2、C3、B4、B5、D6、CD7、D
8、B9、D10、C11、A.13、D14、B
15、A.16、A17、A.18、B19、A20、C21、C22、A
三、读出下列程序,写出程序的运行结果。
1.a=9,b=92.283.f=684.955.8,11
四、将下列程序中不正确的语句改正。
1.longintk;printf(“%ld“,k);}
2.scanf(“%d,%d”,a,b);
3.while(k<=100)
{sum=sum+k;
k++;}
4.intk,a[8];
scanf(“%d”,&a[k]);
5.if(a==1)
五.编程题
1.main()
{longinta,b,sum=0,p;
for(a=1;a<=4;a++)
{p=1;
for(b=1;b<=a;b++)
p*=b;
sum+=p;}
printf(“%ld”,sum);}
2、main()
{inta,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(maxmax=c;
printf(“max=%d”,max);}
3.intstu(inta,intb)
{intc;
c=a*a+b*b;
returnc;}
main()
{intx,y,z;
scanf(“%d,%d”,&x,&y);
z=stu(x,y);
printf(“%d”,z);}
4.main()
{floata[10],b,max,min,sum=0,aver;
for(b=0;b<10;b++)
scanf(“%f”,&a[b]);
max=min=a[0];
for(b=1;b<10;b++)
{if(a[b]>max)
max=a[b];
if(a[b]min=a[b];
sum+=a[b];}
sum=sum-max-min;
aver=sum/8;
printf(“%f,%f,%f”,aver,max,min);}
5.main()
{FILE*fp;
Charch;
fp=fopen(“write.txt”,“w”);
ch=getchar();
while(ch!
=‘\n’)
{fputc(ch,fp);
ch=getchar();}
fclose(fp);
}