什么是C语言标签:面试题,return,int,C语言,IsZero,Var,题库,else From: https://blog.51cto.com/yetaotao/5789762
C語言是1972年左右由DennisRitchie一??人在?????室(?稱AT&T)設?開發出?淼碾?腦程式語言.他??r與KenThompson?扇斯餐??UNIX作?I系統的發展,而 UNIX作?I系統(是一??多人多工的作?I系統)與大部份的公用程式及C本身的?譯器( Compiler)絕大部份是由C設?出?淼?且C的可?y性(Portability)?O佳,如果?跨平 台?绦?只需修改部份程式碼(甚至不需修改)即可?绦??镀??大的程式能力,相信C語 言是值得?W?的
C语言为什么叫C语言?
C语言是1972年由美国的DennisRitchie设计发明的,并首次在UNIX操作系统的DECPDP-11计算机上使用。它由早期的编程语言BCPL(BasicCombindProgrammingLanguage)发展演变而来。在1970年,AT&T贝尔实验室的KenThompson根据BCPL语言设计出较先进的并取名为B的语言,最后导了C语言的问世。
C语言面试题
#include
typedef int(*FUNC1) (int in);
typedef int(*FUNC2) (int*,int*,int*);
int inc(int a)
{return(++a);}
int multi(int*a,int*b,int*c)
return(*c=*a**b);
void show(FUNC2 fun,int arg1,int*arg2)
FUNC1 p=&inc;
int temp=p(arg1);
fun(&temp,&arg1,arg2);
printf("%d",*arg2);
main()
int a;//局部变量a为0;
show(multi,10,&a);
printf("\n");
return 0;
这样就能编译过去了照你的程序,两个函数指针类型的定义会编译出错,应改成:
typedef int(*FUNC1) (int in);
typedef int(*FUNC2) (int*,int*,int*);
输出为:110n11*10=110,
输出是110
C语言简单面试题
浮点型变量并不精确,所以不可将float变量用“==”或“!=”与数字比较,应该设法转化为“>=”或"<="形式。具体如下:
int型变量:
if(a==0)
float型变量:
const float EPSINON=0.00001;
if((x>=-EPSINON)&&(x<=EPSINON)
指针变量:
if(a==NULL)
bool型变量:
if(!a)int IsZero(int Var){
if(Var) return 1;
else return 0;
int IsZero(float Var){
if(Var) return 1;
else return 0;
int IsZero(int Var){//调用时在a前面加(int)
if(Var) return 1;
else return 0;
int IsZero(bool Var){
if(Var) return 1;
else return 0;
}int IsZero(int Var){
if(Var) return 1;else return 0;