分类题型练习
填空题
1.设x的值为15n的值为2,则表达式x%=(n+=3)运算后,x的值为(  )。
2.设 int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是(    )。
3.下面程序段的输出结果是(        )。
      int a=1234; a=a&0377; printf(%d %o\n,a,a);
4a数组定义如下,按照内存排列顺序,a数组中的所有元素是(            )。
      char a[3];
5.设有以下宏定义,则执行赋值语句 a=PP*20;aint型变量)后,a的值是(    )。
      #define PR 80
      #define PP PR+403
6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:(  )、(  )和(    )。
7.在C文件中,数据存在的两种代码形式是(      )和(      )。
8C语言中调用(    )函数打开文件,调用(    )函数关闭文件,调用(    )函数可实现文件的随机读写。
9.若有int a[3]={10,12,30};a+1是(    )的地址,*(a+2)=  )。
1.当执行完以下语句后,变量a的值为(    ),b的值为(    ),c的值为(    )。
a=6; b=++a; c=--a;
2.已知a=3b=2,则表达式a*=b+8的值是(    )。
3.下面程序段的输出结果是(        )。
      int a=125;  printf(%d\n,a>>4);
4a数组定义如下,a数组中可用最小下标值是(    ),最大下标值是(    )。
      char a[3];
5.设有以下宏定义,则执行赋值语句a=ADD(4+6)*7;aint型变量)后,a的值是(    )。
#define ADD(x) (x)+(x)
6.若有以下说明、定义和语句,则对x.b成员的另外两种引用方式是:(    )和(    )。
      struct st
      {  int a;
          struct st b;
        } *p,x;
        p=&x;
7.在C中,文件指针变量的类型只能是(    )。
8.在C中文件结束标志EOF只可用于(    )文件。
9a数组定义如下,若使数组a中存放字符串friend ,写出为数组a赋值的语句(      )。
char a[10];
1C语言表达式 5>2>7>8 的值是(  )。
2.当执行完以下语句后,变量a的值为(    ),d的值为(    ),e的值为(    )。
a=6; b=++a; c=--a; d=a++; e=a--;
3.下面程序段的输出结果是(        )。
      char a=111; a=a^00; printf(%d %o\n,a,a);
4a数组定义如下,按照内存排列顺序,a数组中的所有元素是(            )。
      char a[3];
5.设有以下宏定义,则执行赋值语句 a=PP+20;aint型变量)后,a的值是(    )。
      #define PR 8
      #define PP PR*40
6.定义结构体类型时,应使用关键字(  ),定义枚举类型时,应使用关键字(  )。
7C文件可以分为两种类型,它们是(      )文件和(      )文件。
8.若有char a[3]=as;*a=    ),*(a+2)=  )。
二、选择题
1.设 int a=12; 表达式a+=a-=a*=a的值是(  )。
  A 12      B 144      C 0      D 132
2.以下程序的输出结果是(  )。
  main( )
  { int a=011;
printf(%d\n,++a);
}
A 12    B 11        C 10      D 9
3.以下程序的输出结果是(   )。
  #define ADD(x) (x)+(x)
  main()
  {  int a=4,b=6,c=7,d=ADD(a+b)*c;
      printf(d=%d,d);
    }
  A d=70      B d=140    C d=280      D d=80
4.下面的选项中正确的赋值语句是(char a[5],*p=a;)(  )。
  A p=abcd;        B a=abcd;    C *p=abcd;      D *a=abcd;
5.若k为整形,则while循环执行(  )次。
  k=2;  while(k==0)  printf(%d,k);  k--;  printf(\n);
  A 10      B 9    C 0    D 1
6.数组名作为实参传递给形参时,数组名被处理为(  )。
A 该数组的长度  B 该数组的元素个数  C 该数组的首地址  D 该数组中各元素的值
7.两个指针变量不可以(    )
A. 相加      B 比较    C 相减    D 指向同一地址
8.若有以下程序段,则值为6的表达式是(  )。
    struct st{ int n;struct st *next;};
    static struct st a[3]={5,&a[1],7,&a[2],9,‘\0’},*p; p=&a[0];
A p++->n      B p->n++    C (*p).n++    D ++p->n
9.要打开一个已存在的非空文件"file"用于修改,选择正确的语句(  )。
A fpfopen("file","r");  B fp=fopen("file","w");
C fp=fopen("file","r+");  D fp=fopen("file","w+");
1.若有代数式,则错误的C语言表达式是(   )。
  A a*e/c/b    B a*e/b/c    C a*e/b*c  D a/b/c*e
2.以下程序的输出结果是(  )。
  main( )
  { int a=7,b=5;
printf(%d\n,b=b/a);
}
A 不确定值    B 5      C 1      D 0
3.以下程序的输出结果是(   )。
    main()
  {  int k1=1,k2=2,k3=3,x=15;
if(!k1)  x--;
else if(k2) if(k3)  x=4;else x=3;
      printf(x=%d\n,x);
    }
  A x=4      B x=15    C x=14      D x=3
4. 以下程序的输出结果是(  )。
  main()
  {  char s1[20]=China,s2[20]=for,s[10];
      if(strcmp(s1,s2))  printf(c语言六种基本语句“%s\n, strcat(s2,s1));
else  printf(%d\n,strlen(s1));
}
A Chinafor        B 5    C forChina      D 3
5C语言中函数调用的方式有(    )。
A 函数调用作为语句1                B 函数调用作为函数表达式1 
C 函数调用作为语句或函数表达式2    D 函数调用作为语句、函数表达式或函数参数3
6.关于return语句,下列正确的说法是(  )。
A 可以在同一函数中出现多次            B 必须在每个函数中出现
C 只能在除主函数之外的函数中出现一次  D 在主函数中不能出现

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。