一:选择题
3-2int x=2,y=3;,表达式x=(y==3)的值是(    )。
A) 0        B) 1      C) 2    D) 3
4-1.下列语句中,不符合C语言语法的赋值语句是(  )。
A) a=7+b+c=a+7;  B) a=7+b++=a+7;  C) a=7+b,b++,a+7;  D) a=7=b,c=a+7;
注:a=7+b,b++,a+7;实为逗号语句,非赋值语句
5-3float x;  要从键盘输入36.282x,应选(  )语句。
Ascanf("%5.3f",&x);          Bscanf("%2.3f",&x);
Cscanf("%6.3f",&x);          Dscanf("%6f",&x);
注:scanf后面没有(.nf的表达方式)
9-2int a; 下列语句中,非死循环的是(    )。
A) while(-1) { a++; }      B) for(;(a=getchar())!='\n';);
C) for(;;a+=2);            D) for(a=10;;a--);
注:省略了表达式二,在不做其它处理的时候将成为死循环,一个空表达式的值一般为非零。P99.
10-1.设已定义char s[]="\"Name\\Address\023\n";,则字符串所占的字节数是( )。
A) 19        B) 16        C) 18        D) 14
注:'\023’,即ASCII码值为八进制23的字符;
'\n’即回车符。
strlen(s)15(不算'\0');算上'\0',所占的字节数是16
11-1.以下程序段的运行结果是(    )。
main()
{ int i=4,j;
  j=i;
  pic(i+2*j-2,'*'); 
  putchar('\n');
  for(j- =2; j>=0; j--)
  { pic(3-j, ' ');
pic(i+2*j,'*');
putchar('\n');
  }
}
pic(int len,char c)
{ int k;
for(k=1;k<=len;k++) putchar(c);
}
D) **********
    ********
    ******
      ****
C)  ****
  ******
  ********
B)  **********
  **********
  **********
    **********
A)    *
  ***
  *****
*******
注:
j
4
2
1
0
-1
输出
10enum c++个*
回车换行
1个空格
8*
回车换行
2个空格
6*
回车换行
3个空格
4*
回车换行
11-2. 以下程序运行结果是(  )。
main()
{ char a[ ][5]={"ABCD","1234","abcd","5678","EFGH"};
int i;
for(i=0;i<3;i++) printf("%s",a[i]);
}
A)Ala      BABCD1234abcd      CABC      DABCD1234abcd5678EFGH
12-2.以下程序第一个printf ()的运行结果是ffd6,第二个printf () 的运行结果是(    )。
main()
{ char ch[]="I am student!", *p;
  p=ch;
  printf("%x\n",p);
  printf("%x\n",p+9);
}
A) ffdf    B) ffe8      C) ffd6      D) ffcf
15-3.设有下列语句,且0i5,则不能访问a数组元素的是(  )。
int a[5]={0,1,2,3,4,5},i;
int *p=a;
A) *(*(a+i))      B) *(&a[i])        C)  a[p-a]          D) p[i]
16-2.设有下列语句,则不能访问a数组元素a[1][2]的是(  )。
    int (*p)[3];
int a[][3]={1,2,3,4,5,6,7,8,9};
p=a;
A) *(*(a+1)+2)      B) p[1][2]        C)  (*(p+1))[2]          D) p[1]+2
17-2.以下程序的输出结果是(  )。
main()
{union u_type
{int i;
  double x;
  float f;
};
struct str_type
{char str[100];
  union u_type u[2];
};
printf("%d\n",sizeof(struct str_type));
}
A) 100    B) 116     C) 120      D)200
19-3. 以下对枚举类型进行定义,不正确的是(  )。
Aenum b{1,2,2};               Benum a{A,B, C}; 
Cenum c{D=3,E,F};            Denum d{X=0,Y=5,Z=9};
20-1.以下程序的功能是(    )。
#include <stdio.h>
main()
{ FILE *fp;
  long int n;
  fp=fopen("wj.txt","rb");
  fseek(fp,0,SEEK_END);
  n=ftell(fp);
  fclose(fp);
  printf("%ld",n);
}
A) 计算文件wj.txt的起始地址        B) 计算文件wj.txt的终止地址 
C) 计算文件wj.txt的长度           D) 将文件指针定位到文件末尾
20-2. 标准函数fgets(s, n, f)的功能是(  )。
A)从文件f中读取长度为n的字符串存入指针s所指的内存
B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C)从文件f中读取n个字符串存入指针s所指的内存
D)从文件f中读取长度为n-1的字符串存入指针s所指的内存
二:改错、编程、填空
 
1-1.(Cmody011.C
  从键盘输入大小不同的两个正整数,由小到大输出其间所包含的奇数。
如输入11,3 输出5 7 9
#include <stdio.h>
#include <conio.h>
void main()
{
  int a,b,temp;
  scanf("%d,%d",&a,&b);
  /**/if (a>b) /**/
  {
    temp=a; a=b; b=temp;
  }
  while(++a<b)
  {
    if(a%2==0)
  /**/ continue; /**/
    printf("%d ",a);
  }
  printf("\n");
  getch();
}
              |x|-2
1-2  计算f(x)=---------
                x2+1
#include <stdio.h>
#include <math.h>
void main()
{
  int x;
  /**/ double f;   /**/  float f;
  printf("Input an integer: ");
  scanf("%d",&x);
  f = /**/ (fabs(x)-2)/(x*x+1)   /**/ ; /* (abs(x)-2.0)/(x*x+1) */
  printf("F(x)=%f\n",f);
  getch();
}
2-2.Cprog012.C
完成函数fun2(int a[],int n,int b[],int c[]),实现:
1)将数组a中大于-20的元素,依次存放到数组b中;
2)将数组b中的元素按从大到小的顺序存放到数组c中;
3)函数返回数组b中的元素个数。
#include <string.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
int fun2(int a[],int n,int b[],int c[])
{
  /**/ 
int i, j, m=0, max_at, temp;
for(i=0;i<=n-1;i++) /* 数组an个数, 大于-20的元素依次复制到数组b */
  if (a[i]>-20) {b[m]=a[i]; m++;}
for(i=0;i<=m-1;i++) /* 数组bm个数,逐一复制到数组c */
  c[i]=b[i];
/*或对c冒泡排序*/
for(i=m-1;i>=1;i--)
  for(j=0;j<=i-1;j++)
    if(c[j]<c[j+1])
    {temp=c[j];c[j]=c[j+1]; c[j+1]=temp; }
for(i=0;i<=m-2;i++) /* c选择排序 */
{ max_at=i;
    for(j=i+1;j<=m-1;j++)
      if(c[j]>c[max_at]) max_at=j;
    if(max_at!= i)
    {temp=c[i]; c[i]=c[max_at]; c[max_at]=temp; }
/*或对c直接交换排序*/
for(i=0;i<=m-2;i++)
  for(j=i+1;j<=m-1;j++)
    if(c[i]<c[j])
    {temp=c[i];c[i]=c[j];c[j]=temp; }
}
return m;
  /**/ 
}
void main()
{ int n = 10, i, nb;
  int aa[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20};

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