C语言考试可能会涉及到的内容
以下是汽院下属科院C(B)考试范围,C(A)的话,不考的内容应该都会涉及到,重点内容会延伸至三、四章。
一、教材上的两套自测题
二、C语言实验与实训教程 第一章、第二章、第三章、第四章的典型练习及解释以及练习题中的选择题(凡二维数组,二重循环不考,递归不考,第一章、第二章是重点)
三、程序设计题
1、会编写函数计算所给参数因子之和
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
/*
* 改进版:能够求任意实数范围内的素数,并且将其逐个显示出来
* 能够根据用户需要 自定义输出任意个数最大的素数
*/
int j,k,n,m=,i,temp=,input,input1;
int a[];
printf("请问您想输入多少范围内的素数?比如500以内,输入500,回车键结束\n");
scanf("%d",&input);
printf("1-%d内的所有素数如下表所示:\n",input);
for(n=;n<=input;n++)
{
k=;
for(j=;j<=sqrt(n);j++)
{
if(n%j==)
{
k++;
break;//如果N能被j整除,则k+1
}
}
if(k==)
{
m++;
printf("%5d",n);//如果N是素数输出n
a[m]=n;
if((m+)%==)
{
printf("\n");//每行输入5个素数 }
}
}
printf("\n合计有%d个素数\n",m);
printf("你想输出多少个最大的素数?(倒序排列)\n比如 输出三个素数就填3\n");
scanf("%d",&input1);
printf("\n最后%d个素数为:\n\n",input1);
for(i=m;i>(m-input1);i--)
{
printf("a[%d]=%d\n",i,a[i]);
temp=temp + a[i]; }
printf("最后%d个元素之和为:%d\n",input1,temp); }
2、编写函数float cal(float d1,char op,float d2),根据OP计算d1和d2的运算结果。
#include<stdio.h>
float cal(float d1,char op,float d2)
{
if(op=='+')
return (d1+d2);
else if(op=='-')
return (d1-d2);
else if(op=='*')
return (d1*d2);
else if(op=='/')
return (d1/d2);
else
{
printf("输入非法关联符!\n");
return ;
}
}
int main()
{
float d1,d2,result;
char op;
printf("请输入两个数:");
scanf("%f %f",&d1,&d2);
getchar(); //用来接收上句的回车符,避免对后续输入造成影响
printf("\n请输入您想对两个数进行的操作符(+ - * /):");
scanf("%c",&op);
result=cal(d1,op,d2);
printf("结果为:%.2f\n",result);
}
3、编写函数会求四个参数的最大值和最小值。
#include<stdio.h>
float array[];
void compare(float a,float b,float c,float d)
{
float temp=;
int i,j;
array[]=a;array[]=b;array[]=c;array[]=d;
/* 由于有四个参数,写一堆if else很蠢,这里选择冒泡排序 */
for(i=;i<;i++)
{
for(j=;j<-i;j++)
{
if(array[j]>array[j+])
{
temp=array[j];
array[j]=array[j+];
array[j+]=temp;
}
}
}
printf("最大值为:%.2f,最小值为:%.2f",array[],array[]);
} int main()
{
float x1,x2,x3,x4;
printf("请输入四个数:");
scanf("%f %f %f %f",&x1,&x2,&x3,&x4);
compare(x1,x2,x3,x4);
return ;
}
4、会编写函数计算所给参数组的元素之和或平均值。
#include<stdio.h>
float sum(float array[],int n)
{
float sum=;
for(int i=;i<n;i++)
{
sum+=array[i];
}
return sum;
}
float average(float array[],int n)
{
float sum=,average=;
for(int i=;i<n;i++)
{
sum+=array[i];
}
average=sum/n;
return average;
}
int main()
{
float array[]={,,,,,,,,};
printf("%.2f\n",sum(array,));
average(array,);
printf("%.2f\n",average(array,));
}
5、会编写函数计算参数所表示的重量的托运费。
例题3-5 编写程序计算行李的托运费。行李托运费计算方法:行李重量不超过50公斤时,每公斤0.5元;超过50公斤不超过100公斤时,其超过部分每公斤1.5元;超过100公斤时,其超过部分每公斤2元;
#include<stdio.h>
int main()
{
float weight,money;
printf("请输入重量:");
scanf("%f",&weight);
if(weight<=)
money=0.5*weight;
if(weight>&&weight<=)
money=*0.5+1.5*(weight-);
if(weight>)
money=*0.5+1.5*+*(weight-);
printf("托运费为%.2f",money);
return ;
}
6、会编写函数,求出形参数组所指字符串中指定字符的个数。
#include<stdio.h>
#include<string.h>
int f(char a[],char x)
{
int len;
int count = ;
len=strlen(a);
for(int i=;i<len;i++)
{
if(a[i]==x)
count++;
} return count;
}
int main()
{
char input;
char a[];
printf("请输入一串字符串:");
gets(a);
printf("请输入您想查询的字符:");
scanf("%c",&input);
printf("包含%c的字符个数有:%d个\n",input,f(a,input));;
return ;
}
C语言考试可能会涉及到的内容的更多相关文章
- PJ考试可能会用到的数学思维题选讲-自学教程-自学笔记
PJ考试可能会用到的数学思维题选讲 by Pleiades_Antares 是学弟学妹的讲义--然后一部分题目是我弄的一部分来源于洛谷用户@ 普及组的一些数学思维题,所以可能有点菜咯别怪我 OI中的数 ...
- C语言:一个涉及指针函数返回值与printf乱码、内存堆栈的经典案例
一个奇怪的C语言问题,涉及到指针.数组.堆栈.以及printf.以下实现: 整数向字符串的转换,返回字符串指针,并在main函数中调用printf显示. #include<stdio.h> ...
- C语言考试解答十题
学院比较奇葩,大一下期让学的VB,这学期就要学C++了,然后在开学的前三个周没有课,就由老师讲三个周的C语言,每天9:30~11:30听课,除去放假和双休日,实际听课时间一共是12天*2小时,下午是1 ...
- 快要C语言考试了,大学生们收好这些经典程序案例,包你考试过关!
距离考试越来越近 编程大佬早已饥渴难耐 电脑小白还在瑟瑟发抖 但是不要怕! 来看看这些经典程序案例 包你考试过关! [程序1] 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多 ...
- C语言利用fgetc复制拷贝文件内容
#include <stdio.h> #include <stdlib.h> //文件的内容复制 int main(int a,char *argv[]){ if(a!=3){ ...
- C语言考试第一题详细过程
1.计算 ,并输出其结果. 思路是先设计一个函数计算阶乘,再用循环,逐个求和. #include<stdio.h> int mul(int n) { int num,i; num=; ;i ...
- C语言考试
1.如何定义一个占用空间为0的变量 2.c++如何在指定内存区域创建对象 3.gcc动态库如何调用宿主执行文件的函数,阐述动态链接库的两种加载方式 4.static有什么用处 5.阐述do{...}w ...
- Linux第七次实验笔记
#期中总结 习题总结与分析 填空:Linux Bash中,Ctrl+a快捷键的作用是(将光标移至输入行头,相当于Home键). [ctrl]+u 从游标处向前删除指令串 [ctrl]+k 从游标处向后 ...
- R语言 一套内容 从入门 到放弃
[怪毛匠子整理] 1.下载 wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz 2.解压: tar -zxvf R-3.0. ...
随机推荐
- MVC之Ajax
MVC之Ajax如影随行 2014-07-04 10:34 by 书洞里的猫, 15 阅读, 0 评论, 收藏, 编辑 一.Ajax的前世今生 我一直觉得google是一家牛逼的公司,为什么这样说呢? ...
- AngularJS Change Path Without Reloading
To change path URL with AngularJS, $location.path() is passed the new URL as a parameter, and the pa ...
- ASP.NET MVC Model元数据
ASP.NET MVC Model元数据(三) 前言 在上篇中我们大概的讲解了Model元数据的生成过程,并没有对Model元数据本身和详细的生成过程有所描述,本篇将会对详细的生成过程进行讲解,并且会 ...
- Node填坑教程——整理文件
如果你能把所有代码写进一个文件,并且能很好的管理.协调.多人开发.那么可以跳过这期(请务必带我飞). 我们接着完善上期的代码,给代码分家. node并没有启动入口,更没有固定的项目结构,文件配置.这些 ...
- 关于使用 jBox 对话框的提交问题
http://www.cnblogs.com/haogj/archive/2012/11/04/2754303.html 关于使用 jBox 对话框的提交问题 jBox 是个不错的对话框组件. 在 A ...
- PL/SQL配置大小写转换等快捷键
Tools(工具) --> Preferences(首选项) --> Key Configuration(键配置) 然后修改自己需要的快捷键方式 作者:itmyhome
- 让MyEclipse里的Tomcat自动reloadable
1 修改server.xml Context path="/***" docBase="XXX" reloadable="true"/&g ...
- CNN for Visual Recognition (02)
图像分类 参考:http://cs231n.github.io/classification/ 图像分类(Image Classification),是给输入图像赋予一个已知类别标签.图像分类是计算机 ...
- Winform 让跨线程访问变得更简单
Winform 让跨线程访问变得更简单 前言 由于多线程可能导致对控件访问的不一致,导致出现问题.C#中默认是要线程安全的,即在访问控件时需要首先判断是否跨线程,如果是跨线程的直接访问,在运行时会抛出 ...
- mybatis逆向工程生成代码
1 什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml.po. ...