一、2018年高考真题
(一)选择题
41.以下选项中均是合法C语言标识符的是(  )
A.A  W1  if       
B.scanf  2bc  _Q   
C.a#b  FOR  123   
D.ab_1  INT  b1
42.以下正确的字符常量是(  )
A.A               
B.\072               
C.a+b               
D.F
43.若定义语句float x=5,y=4.6;,表达式x/2+(int)(x+y)%4的值是(  )
A.3                   
B.3.0               
C.3.5               
D.4.5
44.若a是int型变量,表达式((a=3*5,a*2),a++,a+6)的值是(  )
A.31               
B.37                 
C. 21                 
D.22
45.以下程序段的运行结果是(  )
int n=290;char c;
c=n;
printf(c=%d\n,c);
A.c=290           
B.c=34               
C.c=137               
D.c=68
46.以下程序段的运行结果是(    )
int a=032;
printf(%d%5o%6x\n,a,a,a);
A.26  32  1a     
B.26  032  0x20     
C.32  40  20     
D.32  040  0x20
47.以下程序段的运行结果是(  )
int x,y,z,d;
x=2;y=3;z=5;
d=z>y>x&&++y;
printf(%d,%d\n,d,y);
A.0,4               
B.1,4         
C. 0,3             
D.1,3
48.若x,y,w均是int型变量,以下正确的switch语句是(    )
A.switch x                    B. switch(x+y)
{ case 10:w=x+y;break;            { case 11:w=y-x;break;
  case 11:w=y-x;break;            case 10:w=x+y;break;
default:w=x*y;}                  default:w=x*y;}
C.switch(x*y)                  D. switch(x)
{ case 1:w=x+y;                { case x:w=x+y;break;
  case 2:w=y-x;break;            case y:w=y-x;break;
case 1+1:w=x*y;break;}          default:w=x*y;}
49.若iint型变量,以下循环体执行的次数是( 
for(i=2;i==0;)
printf(“%d\n”,i--);
A.0         
B.1             
C.2             
D.2018年高考成绩查询无限次
50.以下程序实现的功能是输入20名学生的4门科目成绩,分别计算出每名学生的平均成绩。该程序中位置错误的语句是    (    )
    # include<stdio.h>
    main()
    {    int i,j;
        float cj,sum, avg;
        sum=0;
        for(i=1;i<=20;i++)
        {    for(j=1;j<=4;j++)
            { scanf("%f",&cj);
            sum+=cj;
            }
        avg=sum/4;
        printf("avg= %f\n",avg);
      }
    }
A.sum=0;     
B.scanf("%f",&cj);   
C.avg= sum/4;       
D.printf( "avg=%f\n", avg);
(二)简答题
5.阅读以下程序,请写出程序运行结果____________________
#include<stdio.h>
  main()
  {  int i,j,k;
      for(i=1;i<=5;i++)
    {      for(j=1;j<=i;j++)
              printf(" ");
            printf("*");
        for(k=l;k<=10-2*i;k++)
              printf(" ");
            printf("*");
        printf("\n");}}
(三)案例分析
5.以下程序的功能是出100 - 200之间的所有素数,且一行只打印7个数,请完成程序填空。
#include<stdio.h>
main()
{  int num,i,t,count;
        (1)         
for(num=100;num<=200;num++)
{            (2)       
for(      (3)      ;i<=num-1;i++)
if(num%i=0)
{t=0;        (4)      }
if(t=1)
{  printf("%5d",num);
count++;
if(  (5)    )
printf("\n");
}
}
(四)综合应用
3.按要求编写以下C语言程序:
(1)(2018年高考真题)从键盘输入三个正整数a,b,c,判断是否以这三个数为边构成三角形,若可以则计算三角形的面积且保留两位小数,若不可以则输出“不能构成三角形”。
(提示:三角形的面积公式为:,其中)
  (2)一个数列是:求这个数列前20项的和。