C语言

C语言试题

时间:2024-10-20 03:09:34 C语言 我要投稿

C语言试题

  1.函数指针申明时可以不用确定参数类型,只需要在定义和使用时带上参数类型即可。参考《func1.c》

C语言试题

  main()

  {

  int f();

  int i,a,b;

  int (*p)();

  scanf("%d",&a);

  p=f;

  for(i=1;i<9;i++)

  {

  printf("Please Input The %d Number:",i);

  scanf("%d",&b);

  a=(*p)(a,b);

  }

  printf("The Max Number is:%d",a);

  }

  f(int x,int y)

  {

  int z;

  z=(x>y)?x:y;

  return z;

  }

  2.数组指针与指针数组:数组指针int (*a)[10],指向数组的指针,指针数组int *a[10],包含10个指针的数组。

  3.char *p1="I love you";和char p2[]="I love you";区别:字符串存放的位置不同,读写属性不同。指针p1指向的字符串位于内存的只读区,不可改变,数组p2的字符串位于堆栈中,可读可写,可以改变。

  4.C语言的extern和static是对立的关键字。

  5.strcpy,memcpy,strcat等str函数返回值都是char *.

  6.一般的,如果想让if判断一个变量的“真”、“假”,应直接使用if(var)、if(!var),表明其为“逻辑”判断;如果用if判断一个数值型变量(short、int、long等),应该用if(var==0),表明是与0进行“数值”上的比较;而判断指针则适宜用if(var==NULL),这是一种很好的编程习惯。

  7.结构体数组和链表很相似,如果不需要中间插入元素,可以优先考虑用结构体数组。

  8.extern "C"作用:实现在C++中调用C函数。

  例如:

  /*C语言头文件example.h*/

  #ifndef EXAMPLE_H

  #define EXAMPLE_H

  extern int add(int x,int y);

  /*C语言实现文件example.c*/

  int add(int x,int y)

  {

  return (x)+(y);

  }

  /*C++实现文件,调用add(),example.cpp*/

  9.宏实现函数功能在参数有自增自减操作时有副作用

  代码:

  #define MIN(a,b) (a)<(b)?(a):(b)

  test10()

  {

  int x=3;

  int y=8;

  printf("MIN:%d\n",MIN(x++,y));

  }

  输出: MIN:4

  extern "C"

  {

  #include "example.h"

  }

  int main(int argc,char *argv[])

  {

  add(2,3);

  return 0;

  }

  实际上extern "C"是表明下面的申明编译时按照C语言的方式处理,不要做优化,如果没有extern "C",在C++中将会对申明的函数名处理,上例中就会是add_int_int类似的函数名。

  9.static 在函数内部,表示该变量的值在各个调用间一直保持延续性;

  在函数这一级,表示该函数只对本文件可见

  10.文件存在判断 -access

  access函数用于判断文件权限,用F_OK模式可以判断文件是否存在。

  If(0 == access(*filename,F_OK))

  文件存在时的操作

  11.位宽可变的printf输出

  int i;

  printf("12345678901234567890\n");

  for(i=10;i>0;i--)

  pirntf("%*s",i,"*\n");

  12.程序在内存中的分段

  存储态:

  代码段:存放可执行代码,变量和申明是不可执行的。字符串常量也存放在此。

  数据段:包含静态初始化的数据,有初值的全局变量和static变量存放在此。

  BSS段:存放未初始化的全局变量和静态变量。

  运行态还有stack和heap段。stack段存放局部变量、函数形参和返回值,heap段用于内存的动态分配。

  13.C语言中,仅有4种基本数据类型-整型,浮点型,指针和聚合类型(如数组和指针等).

  整型:字符,短整型,整型和长整型.每一种都有有符号和无符号两种.

  14.指针和指针变量区别?

  变量存储于计算机的内存中,每个变量都占据一个特定的位置.每个内存位置都由地址唯一确定并引用,就像一条街道的房子由他们的门牌号码标识一样.指针只是地址的另一个名字罢了.指针变量就是一个其值为另外一个(一些)内存地址的变量.

  15.指针和数组区别?

  指针使用必须赋初值,数组使用可以不用赋初值;指针的地址可以轻易改变,数组的首地址不会改变。

【C语言试题】相关文章:

C语言试题11-01

C语言试题08-02

C语言程序试题04-26

C语言考点试题08-19

C语言试题及答案07-26

C语言练习试题07-01

C语言试题训练08-07

C语言模拟试题练习08-11

标准c语言笔试题09-07

C语言笔试题及答案08-25