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

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言题库(含答案)

一、 简答题。 ( 共14题 ,共0分,每题0分 ) 1.?int?i=10,?j=10,?k=3;?k*=i+j;?k最后的值是? k = 60 ok 2.?写出程序结果: void?Func(char?str[100]) {?????????????????????????????????????????? ??printf(%d\n,?sizeof(str)); } ) 3.?写出sizeof(struct name2)的结果 struct name2{ char str; int num; short x; } 答:此题考察结构对齐的知识,结果为12 4.?写出sizeof(struct name1)?的结果 struct name1{ char str; short x; int num; } 答:同样考察的是结构对齐的知识,结果为5.?A.c?和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)? 答:static变量也就是 static变量6.?(void *)ptr?和?(*(void**))ptr的结果是否相同? *)转换为((**))转换为)二级()。7.?#define DOUBLE(x) x+x?,i = 5*DOUBLE(5);?i?是多少? i = 5 * 5+5 = 30;看书上的结构理解下意思 8.?下面的声明都是什么意思? const int a; int const a; const int *a; int * const a; int const * const a ; ,第二个第,第四个,第引用)9.?关键字const是什么含意? .const修饰比如类型 2.const修饰指针 3.const修饰则 4.const修饰 5.const修饰函数参数,意味着10.?do……while和while……do有什么区别? do…while先执行循环再判断条件,while…do先进行判断再执行循环。 11.语句for(;1;)有什么问题?它是什么意思? 他的意思是循环条件永远为真,不停地进行循环操作,除非循环体中有强制退出循环的语句才能终止循环,其实功能就相当于while(1) 答:无限循环 12.如何引用一个已经定义过的全局变量? 13.switch()结构中条件表达式的类型可以是什么类型? 枚举 14..h头文件中的ifndef/define/endif的作用? 一般二、 问答题。 ( 共63题 ,共0分,每题0分 ) 1.关键字static的作用是什么? 隐藏static全局其它 第二:持久保存变量的内容。static变 第三:默认初始化为0.static变 2.int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p, *q; p=a; q=a[2]; 则a[q-p]=a[2] 这段程序执行完之后数组中元素的值分别是什么? 答:0, 1, 2 3.根据a的值,完成b的初始化,并将b的值返回 int func(float a) { int b; switch(a) { case 1: 30; case 2: 20; case 3: 16; default: 0 } return b; } 此程序段有什么错误,如果有请指出 .switch只能float类型 2.case后面 4.?写出程序运行结果 int sum(int a) { auto int c=0; static int b=3; c+=1; b+=2; return(a+b+c); } void main() { int I; int a=2; for(I=0;I5;I++) { printf(%d,, sum(a)); } } 5.?写出输出结果 void g(int**); int main() { int line[10],i; int *p=line; for (i=0;i10;i++) { *p=i; g(p); } for(i=0;i10;i++) printf(%d\n,line[i]); return 0; } ? void g(int**p) { (**p)++; (*p)++; } 6.?写出输出结果 int main() { int a[5]={1,2,3,4,5}; i

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档