C语言题库(含答案).doc

C语言题库(含答案).doc

ID:51226386

大小:167.50 KB

页数:35页

时间:2020-03-10

C语言题库(含答案).doc_第1页
C语言题库(含答案).doc_第2页
C语言题库(含答案).doc_第3页
C语言题库(含答案).doc_第4页
C语言题库(含答案).doc_第5页
资源描述:

《C语言题库(含答案).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、简答题。(共14题,共0分,每题0分)1. int i=10, j=10, k=3; k*=i+j; k最后的值是?答:k=60ok2. 写出程序结果:void Func(char str[100]){                                            printf("%d", sizeof(str));}答:4或者8(如果操作系统为32位则为4,64位则为8)是地址吗3. 写出sizeof(structname2)的结果structname2{charstr;intn

2、um;shortx;}不会!看结构答:此题考察结构对齐的知识,结果为124. 写出sizeof(structname1) 的结果structname1{charstr;shortx;intnum;}不会!答:同样考察的是结构对齐的知识,结果为85. A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?答:没有问题,static变量只在当前文件中有效,也就是说static变量的作用域属于所在的文件域。static变量保存

3、在全局/静态区6. (void*)ptr 和 (*(void**))ptr的结果是否相同?答:相同。首先第一个(void*)ptr将ptr转换为空指针类型(一级指针),(*(void**))ptr相当于先将ptr转换为空类型指针(二级指针)。二级指针是指向指针的指针,在前面加上*(解指针),也就是空类型指针了(一级指针)。7. #defineDOUBLE(x)x+x ,i=5*DOUBLE(5); i 是多少?答:i=5*5+5=30;看书上的结构理解下意思8. 下面的声明都是什么意思?constinta;int

4、consta;constint*a;int*consta;intconst*consta;答:第一个定义常量a,第二个也是定义常量a,第三个定义常量指针a,第四个定义指针常量a,第五个定义指向常量的指针常量(相当于const引用)。9. 关键字const是什么含意?答:1.const修饰基本类型,比如int类型为常量。2.const修饰指针分为两种情况:指针常量或者常量指针。3.const修饰类的成员函数,则在此函数中无法修改类中数据成员的值。???4.const修饰返回值意味着返回值不可被改变5.const修饰

5、函数参数,意味着函数参数不能被有意或者无意修改。10. do……while和while……do有什么区别?答:do…while先执行循环再判断条件,while…do先进行判断再执行循环。11.语句for(;1;)有什么问题?它是什么意思?他的意思是循环条件永远为真,不停地进行循环操作,除非循环体中有强制退出循环的语句才能终止循环,其实功能就相当于while(1)答:无限循环12.如何引用一个已经定义过的全局变量?答:题目说的有点不太清楚,如果是引用其它文件中定义的全局变量用extern,如果是在本文件中引用的话用

6、作用域运算符::是在c++中的13.switch()结构中条件表达式的类型可以是什么类型?答:整型,字符型,常量,枚举类型14..h头文件中的ifndef/define/endif的作用?答:预编译命令,一般是用来防止头文件多重包含结构?二、问答题。(共63题,共0分,每题0分)1.关键字static的作用是什么?第一:隐藏。static全局变量只在本文件中可访问,其它文件无法访问。第二:持久保存变量的内容。static变量一经初始化便到程序运行结束后才会被释放。第三:默认初始化为0.static变量会被编译器默

7、认初始化为02.inta[3];a[0]=0;a[1]=1;a[2]=2;int*p,*q;p=a;q=&a[2];则a[q-p]=a[2]这段程序执行完之后数组中元素的值分别是什么?q-p=2答:0,1,23.根据a的值,完成b的初始化,并将b的值返回intfunc(floata){intb;switch(a){case1:30;break;case2:20;case3:16;default:0}returnb;}此程序段有什么错误,如果有请指出答:1.switch只能用整型或者字符型或者枚举类型,float类

8、型不正确。2.case后面没有加break4. 写出程序运行结果intsum(inta){autointc=0;staticintb=3;c+=1;b+=2;return(a+b+c);}voidmain(){intI;inta=2;for(I=0;I<5;I++){printf("%d,",sum(a));}}答:8,10,12,14,165. 写出输出结果voidg(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。