2010年(下)全国信息技术水平考试计算机程序设计技术水平证书(C语言)考
试试卷
第一大题:单选题 (30 分)
1. C语言中,语句的结束符号是( )。
(A) , (B) ; (C) 。
(D) :
2. 下列程序的运行结果是( )。
#include
void main( )
{
int i=3;
printf("%d, ",i++);
printf("%d, ",i);
printf("%d, ",++i);
printf("%d\n",i);
}
(A) 3,4,5,5
4,3,4
3. 下列选项中不合法的常量是( )。
(A) \6 (B) \286 (C) " " (D) "\286" (B) 3,3,4,4 (C) 4,3,3,3 (D) 4,
4. 设int x=1,y=1;则表达式(!x||- - y)的值是( )。 (A) -1 (B) 1 (C) 2 (D) 0
5. 设int x=11,则表达式(x + +*1/3)的值是( )。 (A) 4 (B) 11 (C) 3 (D) 12
6. 若a=2,b=3,c=4,则表达式 a= =3 和 a=3的值分别为( )。
(A) 0和3 (B) 1和3 (C) 3和3 (D) 0和0
7. 下列程序的运行结果是( )。
main()
{
char c1=6,c2=0;
printf("%c,%c,%d\n",c1,c2,c1-c2);
}
(A) 因程序格式不合法,提示出错信
息 (B) 6,0,5 (C) 6,0,7 (D) 6,0,6
8. 下列选项中对于以下程序段描述正确的是( )。
int k=10; while(k!=0) k=k-1;
(A) 循环体执行了10次
(B) 循环体是无限循环
(C) 循环体语句一次也不执行
(D) 循环体语句执行了一次
9. 下列选项中与while(!x)中的!x等价的条件是( )。 (A) x==1 (B) x!=1
(C) x==0 (D) x!=0
10. 关于文件包含的说法中错误的是( )。
(A) 文件包含是指一个源文件可以将另一个源文件的全部内容包含进来
(B) 一条包含命令可以指定多个被包含文件
(C) 文件包含处理命令的格式为#include“包含文件名”或#include
(D) 文件包含可以嵌套,即被包含文件中又包含另一个文件
11. 一个函数的形式参数的作用域是( )。
(A) main主函数
尾 (B) 整个程序 (C) 从定义处到文件(D) 形参所在的函数体
12. 下列程序的运行结果是( )。
int m=14,n=26;
max(int x,int y)
{
int max;
max=x>y?x:y;
return(max);
}
main()
{
int m=32;
printf("%d",max(m,n));
} (A) 32 (B) 14 (C) 24 (D) 26
13. C语言共用体类型变量在程序运行期间( )。
(A) 所有成员一直驻留在内存中
(B) 部分成员驻留在内存中
(C) 没有成员驻留在内存中
(D) 只有一个成员驻留在内存中
14. 下列选项中能对二维数组a进行正确说明和初始化的语句是( )。 (A) int a( )(3)={ ( 1, 0 ), ( 2, 5 ) } (B) int a[2][]={ { 3, 2 }, { 5, 6 } } (C) int a(2)( )={ ( 1, 1 ), ( 2, 5 ) }
(D) int a[][2]={ { 2, 1 }, { 6, 7 } }
15. 设fp是指向某个文件的指针,且已读到文件末尾,则库函数feof(fp)的
返回值是( )。
(A) 非零值 (B) EOF
(C) -1 (D) NULL
16. 下列程序运行结果是( )。
#define MIN(a,b) (a)
void main()
{int a=10,b=15,c;
c=10*MIN(a,b);
printf("%d\n",c); } (A) 10 (B) 100 (C) 15 (D) 150
17. get)函数可以向终端输入一个( )。
(A) 整型变量表达式值
串 (D) 实型变量值 (B) 字符
(C) 字符
18. 若运行以下程序时输入:-2,则程序的输出结果是( )。
main()
{ int a,b;
scanf("%d",&a);
b=(a>=0)?a:-a;
printf("b=%d",b);
} (A) b=-2 (B) b=2
(C) b=0 (D) 结果出错
19. 下列程序的运行结果是( )。
void del(char s[],char c)
{
int i,j;
for (i=j=0;s[i]!=\0;i++)
if(s[i]!=c)
s[j++]=s[i];
s[j]=\0;
}
main()
{
char s[]="ABCDA";
del(s,A);
printf("%s",s);
} (A) ABCDA (B) ABCD
(C) BCD (D) AA
20. 在C语言中,auto型变量( )
(A) 存储在静态存储区中
中 (B) 存储在计算机CPU的寄存器(D) 存储在动态存储区中 (C) 存储在外存储器中
21. 下列程序的运行结果是( )。
main()
{
char *str="liaoning\nshenyang\0sydx";
puts(str);
} (A) liaoning
(B) liaoning
shenyang (C) shenyang
(D) 0sydx shenyang
22. 已知字母A的ASCII码为十进制数65,则下面程序段的运行结果为
( )。
char ch1,ch2;
ch1= A+5-3; ch2= A+6-3;
printf("%c, %d\n", ch1,ch2);
(A) 67,D (B) B,C (C) 不确定值
(D) C,68
23. 下列程序的运行结果为( )。
#include
void main()
{
int a=2,b=-1,c=2;
if (a
if (b<0) c=0;
else c++;
printf("%d\n",c); } (A) 2 (B) 0 (C) 1 (D) 3
24. 若有如下语句:float *p1,*p2;则其中float所指的是( )。
(A) p1的类型
的类型 (B) p1和p2所能指向变量的类型
(C) p2(D) *p1和*p2的类型
25. 能正确表示x的取值范围在[5,10]和[-10,-5]之间的表达式为( )。
(A) (x<=-10)||(x>=-5)&&(x<=5)||(x>=10)
(B) (x>=-10)&&(x<=-5)||(x>=5)&&(x<=10)< p="">
(C) (x>=-10)&&(x<=-5)&&(x>=5)&&(x<=10)< p="">
(D) (x<=-10)||(x>=-5)||(x<=5)||(x>=10)
26. C语言中,数组名代表( )。
(A) 数组全部元素的值
(B) 数组第一个元素的值
(C) 数
组元素的个数 (D) 数组的首地址
27. 若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式
a>b?a:c>d?c:d的值是( )。 (A) 1 (B) 2 (C) 3 (D) 4
28. 下列程序的运行结果是( )。
# include
void main()
{
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++)p[i]=i;< p="">
for(i=0;i<3;i++)printf("%d",a[i][1]); } (A) 258 (B) 147
(C) 036 (D) 678
29. 下列选项中,全为C语言的基本数据类型的是 ( )。
(A) 数组 结构体 共用体
型 实型 字符型 (B) 整型 数组 指针
(C) 整(D) 指针 逻辑型 空类型
30. 在C语言中,for语句的一般形式如下:for(表达式1;表达式2;表达式
3),其中表示循环条件的是( )。
(A) 表达式1 (B) 表达式2 (C) 表达式3 (D) 语句 第二大题:填空题(在记事本中作答,答案前注明小题标号,并按照系(30 统提示保存) 分)
1. 输入10个员工的工号和工资,并打印出工资最高者的工号和工资。
#include
void main()
{
int num[10],i,*p,wage[10], max;
for(i=0; 【1】 ;i++) scanf(" 【2】 ",num+i,wage+i); max=wage[0];
p=wage+1;
while(p
{
if(*p> 【3】 ) max=*p;
【4】 ;
}
for(i=0;i<10;i++)< p="">
if(*(wage+i)==max)
printf("num[%3d]=%2d;wage[%2d]=%3d\n",i, 【5】 ,i,wage[i]);
}
2. 用4~8之间不同的3个数构成一个三位数,下列程序将统计出共有多少
种组合方法。
#include
void main()
{ int a,b,c, 【6】 ;
for(a=4; 【7】 ;a++)
for(b=4;b<=8; 【8】 )
if(a==b) 【9】 ;
else
for(c=4;c<=8;c++)< p="">
if(c!=a&&c!=b) 【10】 ;
printf("%d\n",count);
}
第三大题:编程题 (40 分)
1. 编写程序,将键盘上输入的一个阿拉伯数字(0123456789)改写成对应的
中文字(零壹贰叁肆伍陆柒捌玖),然后显示在屏幕上输出。
备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹内的文件命名参照提示所给的程序架构。 例:第一题的试题文件名为“1”,文件名为“Test1.C”
2. 编写程序,计算本利和的公式:P1=P(1+R)N,P是存款数,R是年利率,N
是年数,P1是N年后本利和。设P=1000,R=0.05,N=3,求三年后的本利和,取两位小数。
备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹内的文件命名参照提示所给的程序架构。 例:第一题的试题文件名为“1”,文件名为“Test1.C”