当前位置:首页 > 职场头条 > 全国信息技术水平考试C语言考试试卷

全国信息技术水平考试C语言考试试卷

时间:2023-05-18 23:00:13

  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”