C语言考试可能会涉及到的内容

以下是汽院下属科院C(B)考试范围,C(A)的话,不考的内容应该都会涉及到,重点内容会延伸至三、四章。

一、教材上的两套自测题

二、C语言实验与实训教程 第一章、第二章、第三章、第四章的典型练习及解释以及练习题中的选择题(凡二维数组,二重循环不考,递归不考,第一章、第二章是重点)

三、程序设计题

1、会编写函数计算所给参数因子之和

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.h>
 4 int main()
 5 {    
 6     /*
 7      * 改进版:能够求任意实数范围内的素数,并且将其逐个显示出来
 8      * 能够根据用户需要 自定义输出任意个数最大的素数
 9      */
10     int j,k,n,m=0,i,temp=0,input,input1;
11     int a[150];
12     printf("请问您想输入多少范围内的素数?比如500以内,输入500,回车键结束\n");
13     scanf("%d",&input);
14     printf("1-%d内的所有素数如下表所示:\n",input);
15     for(n=2;n<=input;n++)
16     {
17         k=0;
18         for(j=2;j<=sqrt(n);j++)
19         {
20             if(n%j==0)
21             {
22                 k++;
23                 break;//如果N能被j整除,则k+1
24             }
25         }
26         if(k==0)
27         {
28             m++;
29             printf("%5d",n);//如果N是素数输出n
30             a[m]=n;
31             if((m+1)%5==0)
32             {
33                 printf("\n");//每行输入5个素数
34                 
35             }
36         }
37     }
38     printf("\n合计有%d个素数\n",m);
39     printf("你想输出多少个最大的素数?(倒序排列)\n比如 输出三个素数就填3\n");
40     scanf("%d",&input1);
41     printf("\n最后%d个素数为:\n\n",input1);
42     for(i=m;i>(m-input1);i--)
43     {
44         printf("a[%d]=%d\n",i,a[i]);
45         temp=temp + a[i];
46         
47     }
48     printf("最后%d个元素之和为:%d\n",input1,temp);
49 
50 }

 

2、编写函数float cal(float d1,char op,float d2),根据OP计算d1和d2的运算结果。

 1 #include<stdio.h>
 2 float cal(float d1,char op,float d2)
 3 {
 4     if(op=='+')
 5         return (d1+d2);
 6     else if(op=='-')
 7         return (d1-d2);
 8     else if(op=='*')
 9         return (d1*d2);
10     else if(op=='/')
11         return (d1/d2);
12     else 
13     {
14         printf("输入非法关联符!\n");
15         return 0;
16     }
17 }
18 int main()
19 {
20     float d1,d2,result;
21     char op;
22     printf("请输入两个数:");
23     scanf("%f %f",&d1,&d2);
24     getchar();    //用来接收上句的回车符,避免对后续输入造成影响
25     printf("\n请输入您想对两个数进行的操作符(+ - * /):");
26     scanf("%c",&op);
27     result=cal(d1,op,d2);
28     printf("结果为:%.2f\n",result);
29 }

 

 

3、编写函数会求四个参数的最大值和最小值。

 1 #include<stdio.h>
 2 float array[4];
 3 void compare(float a,float b,float c,float d)
 4 {
 5     float temp=0;
 6     int i,j;
 7     array[0]=a;array[1]=b;array[2]=c;array[3]=d;
 8     /* 由于有四个参数,写一堆if else很蠢,这里选择冒泡排序 */
 9     for(i=0;i<3;i++)
10     {
11         for(j=0;j<3-i;j++)
12         {
13             if(array[j]>array[j+1])
14             {
15                 temp=array[j];
16                 array[j]=array[j+1];
17                 array[j+1]=temp;
18             }
19         }
20     }
21     printf("最大值为:%.2f,最小值为:%.2f",array[3],array[0]);
22 }
23 
24 int main()
25 {
26     float x1,x2,x3,x4;
27     printf("请输入四个数:");
28     scanf("%f %f %f %f",&x1,&x2,&x3,&x4);
29     compare(x1,x2,x3,x4);
30     return 0;
31 }

 

4、会编写函数计算所给参数组的元素之和或平均值。

 1 #include<stdio.h>
 2 float sum(float array[],int n)
 3 {
 4     float sum=0;
 5     for(int i=0;i<n;i++)
 6     {
 7         sum+=array[i];
 8     }
 9     return sum;
10 }
11 float average(float array[],int n)
12 {
13     float sum=0,average=0;
14     for(int i=0;i<n;i++)
15     {
16         sum+=array[i];
17     }
18     average=sum/n;
19     return average;
20 }
21 int main()
22 {
23     float array[]={1,2,3,4,5,6,7,8,9};
24     printf("%.2f\n",sum(array,9));
25     average(array,9);
26     printf("%.2f\n",average(array,9));
27 }

 

5、会编写函数计算参数所表示的重量的托运费。

例题3-5 编写程序计算行李的托运费。行李托运费计算方法:行李重量不超过50公斤时,每公斤0.5元;超过50公斤不超过100公斤时,其超过部分每公斤1.5元;超过100公斤时,其超过部分每公斤2元;

 1 #include<stdio.h>
 2 int main()
 3 {
 4     float weight,money;
 5     printf("请输入重量:");
 6     scanf("%f",&weight);
 7     if(weight<=50)
 8         money=0.5*weight;
 9     if(weight>50&&weight<=100)
10         money=50*0.5+1.5*(weight-50);
11     if(weight>100)
12         money=50*0.5+1.5*50+2*(weight-100);
13     printf("托运费为%.2f",money);
14     return 0;
15 }

 

6、会编写函数,求出形参数组所指字符串中指定字符的个数。

 1 #include<stdio.h>
 2 #include<string.h>
 3 int f(char a[],char x)
 4 {
 5     int len;
 6     int count = 0;
 7     len=strlen(a);
 8     for(int i=0;i<len;i++)
 9     {
10         if(a[i]==x)
11             count++;
12     }
13 
14     return count;
15 }
16 int main()
17 {
18     char input;
19     char a[50];
20     printf("请输入一串字符串:");
21     gets(a);
22     printf("请输入您想查询的字符:");
23     scanf("%c",&input);
24     printf("包含%c的字符个数有:%d个\n",input,f(a,input));;
25     return 0;
26 }

 

posted @ 2016-12-13 21:23  ccsoft  阅读(518)  评论(0编辑  收藏  举报