| 一单选题 1.下列程序的运行结果是(     )。
 
 复制代码#include <stdio.h>
  void main( )
  { 
    int i=3;
      printf("%d, ",i++);
      printf("%d, ",i);  
      printf("%d, ",++i); 
           printf("%d\n",i); 
   }
(A) 3,4,5,5   (B) 3,3,4,4   (C) 4,3,3,3   (D) 4,4,3,4
 2.下列选项中不合法的常量是(     )。
 (A) ˊ\6ˊ  (B) ˊ\286ˊ   (C) " "   (D) "\286"
 3.设int x=1,y=1;则表达式(!x||- - y)的值是(      )。
 (A) -1  (B) 1   (C) 2   (D) 0
 4.设int x=11,则表达式(x + +*1/3)的值是(     )。
 (A) 4  (B) 11   (C) 3   (D) 12
 5.若a=2,b=3,c=4,则表达式 a= =3 和 a=3的值分别为(     )。
 (A) 0和3  (B) 1和3   (C) 3和3   (D) 0和0
 6.下列选项中对于以下程序段描述正确的是(     )。
 int k=10;
 while(k!=0) k=k-1;
 (A) 循环体执行了10次
 (B) 循环体是无限循环
 (C) 循环体语句一次也不执行
 (D) 循环体语句执行了一次
 7.下列选项中与while(!x)中的!x等价的条件是(     )。
 (A) x==1  (B) x!=1   (C) x==0   (D) x!=0
 8.一个函数的形式参数的作用域是(     )。
 (A) main主函数  (B) 整个程序   (C) 从定义处到文件尾   (D) 形参所在的函数体
 9.下列程序的运行结果是(     )。
 
 复制代码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
 10.C语言共用体类型变量在程序运行期间(     )。
 (A) 所有成员一直驻留在内存中
 (B) 部分成员驻留在内存中
 (C) 没有成员驻留在内存中
 (D) 只有一个成员驻留在内存中
 11.下列选项中能对二维数组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 } }
 12.设fp是指向某个文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是(     )。
 (A) 非零值  (B) EOF   (C) -1   (D) NULL
 13.下列程序运行结果是(      )。
 
 复制代码#define MIN(a,b) (a)<(b)?(a):(b)
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
 14.getchar()函数可以向终端输入一个(     )。
 (A) 整型变量表达式值  (B) 字符   (C) 字符串   (D) 实型变量值
 15.若运行以下程序时输入:-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) 结果出错
 16.下列程序的运行结果是(     )。
 
 复制代码void del(char s[],char c)
{
  int i,j;
  for (i=j=0;s!='\0';i++)
       if(s!=c)
          s[j++]=s;
           s[j]='\0';
}
main()
{
  char s[]="ABCDA";
  del(s,'A');
  printf("%s",s);
}
(A) ABCDA  (B) ABCD   (C) BCD   (D) AA
 17.下列程序的运行结果是(     )。
 
 复制代码main()
{
     char *str="liaoning\nshenyang\0sydx";
   puts(str);
}
(A) liaoning
 (B) liaoning
 shenyang
 (C) shenyang
 (D) 0sydx shenyang
 18.已知字母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
 19.下列程序的运行结果为(     )。
 
 复制代码#include<stdio.h>
void main()
{
   int a=2,b=-1,c=2;
       if (a<b)
       if (b<0) c=0;
       else c++;
   printf("%d\n",c);
}
(A) 2  (B) 0   (C) 1   (D) 3
 20.若有如下语句:float  *p1,*p2;则其中float所指的是(     )。
 (A) p1的类型  (B) p1和p2所能指向变量的类型   (C) p2的类型   (D) *p1和*p2的类型
 21.能正确表示x的取值范围在[5,10]和[-10,-5]之间的表达式为(     )。
 (A) (x<=-10)||(x>=-5)&&(x<=5)||(x>=10)
 (B) (x>=-10)&&(x<=-5)||(x>=5)&&(x<=10)
 (C) (x>=-10)&&(x<=-5)&&(x>=5)&&(x<=10)
 (D) (x<=-10)||(x>=-5)||(x<=5)||(x>=10)
 22.C语言中,数组名代表(     )。
 (A) 数组全部元素的值  (B) 数组第一个元素的值   (C) 数组元素的个数   (D) 数组的首地址
 23.若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a>b?a:c>d?c:d的值是(     )。
 (A) 1  (B) 2   (C) 3   (D) 4
 24.下列程序的运行结果是(     )。
 
 复制代码# include<stdio.h>
void main()
{
  int a[3][3],*p,i; 
p=&a[0][0]; 
  for(i=0;i<9;i++)p=i; 
  for(i=0;i<3;i++)printf("%d",a[1]); 
}
(A) 258  (B) 147   (C) 036   (D) 678
 25.下列选项中,全为C语言的基本数据类型的是 (     )。
 (A) 数组 结构体 共用体  (B) 整型 数组 指针   (C) 整型 实型 字符型   (D) 指针 逻辑型 空类型
 二填空题(在记事本中作答,答案前注明小题标号,并按照系统提示保存)
 26.输入10个员工的工号和工资,并打印出工资最高者的工号和工资。
 #include<stdio.h>
 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<wage+10)
      {
if(*p>    【3】    ) max=*p;
     【4】    ;
      }
      for(i=0;i<10;i++)
      if(*(wage+i)==max)                
   printf("num[%3d]=%2d;wage[%2d]=%3d\n",i,    【5】    ,i,wage);
}
27.用4~8之间不同的3个数构成一个三位数,下列程序将统计出共有多少种组合方法。
 
 复制代码#include<stdio.h> 
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++)
                      if(c!=a&&c!=b)    【10】    ;
         printf("%d\n",count);
}
 三编程题
 28.编写程序,将键盘上输入的一个阿拉伯数字(0123456789)改写成对应的中文字(零壹贰叁肆伍陆柒捌玖),然后显示在屏幕上输出。
 备注:按系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹内的文件命名参照提示所给的程序架构。
 例:第一题的试题文件名为“1”,文件名为“Test1.C”
 
 |