资源描述:
《公司c语言笔试题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。(#defineMIN(A,B)((A)<=(B)(A):(B)))2.用变量a给出下面的定义 a)一个整型数(inta) b)一个指向整型数的指针(int*a) c)一个指向指针的的指针,它指向的指针是指向一个整型数(int**a) d)一个有10个整型数的数组(inta[10]) e)一个有10个指针的数组,该指针是指向一个整型数的(int*a[10]) f)一个指向有10个整型数数组的指针(int(*a)[10]) g)一个指向函数的指针,该函数有一个整型参数
2、并返回一个整型数(int(*a)(int))3.inta=5,b=7,c;c=a+++b;a=(6),c=(12)4.charstr[]=“Hello”;char*p=str;intn=10;请计算sizeof(str)=(6);sizeof(p)=(4)sizeof(n)=(4)5.voidFunc(charstr[100]){请计算sizeof(str)=(4);}6.void*p=malloc(100);请计算sizeof(p)=(4);7.以下程序的输出结果是main(){intk=17;printf(“%d,%o,%x”,k,k
3、,k);}(17,21,11)8.在位运算中,操作数每右移一位,其结果相当于(操作数除以2)9.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为(10),n的值为(6)10.若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(0),a[2][1]得到的初值是(6)。11.若有定义:inta=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为(1)12.请写出下列代码的输出内容(10,12,120)#includemai
4、n(){inta,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",b,c,d);return0;}13.填写下列代码运行的结果。voidmain(void){inta[2][3]={{1,2,3},{4,5,6}};int*p=(int*)(a+1);p--;printf(“%d”,*p);}输出(3)14.填写下列代码运行的结果。voidmain(void){inta[2][3]={{1,2,3},{4,5,6}};int*p=(int*)(a[0]+1);p--;prin
5、tf(“%d”,*p);}输出(1)15.填写下列代码运行的结果。voidmain(void){inta[2][3]={{1,2,3},{4,5,6}};int*p=(int*)(&a+1);p--;printf(“%d”,*p);}输出(6)16.填写下列代码运行的结果。voidmain(void){inta[2][3]={{1,2,3},{4,5,6}};printf(“%d,%d”,sizeof(a),sizoe(a[1]));}输出(24,12)17.填写下列代码运行的结果。intmain(){chara[2][3]={{‘a
6、’,‘b’,‘c’},{‘d’,‘e’,‘ ’}};printf(“%s”,a[0]);return0;}输出(abcde)18.#include和#include“filename.h”有什么区别?答:对于#include,编译器从标准库路径开始搜索filename.h对于#include“filename.h”,编译器从用户的工作路径开始搜索filename.h19.写一个函数找出一个整数数组中,第二大的数。自己设计函数的形式参数和返回值。20.写一个函数,输入一个字符串,分别统计出其中的
7、英文字母数,数字,空格,和其他字符。