C语言综合习题及答案

上传人:M****1 文档编号:492354142 上传时间:2022-12-12 格式:DOCX 页数:17 大小:73.91KB
返回 下载 相关 举报
C语言综合习题及答案_第1页
第1页 / 共17页
C语言综合习题及答案_第2页
第2页 / 共17页
C语言综合习题及答案_第3页
第3页 / 共17页
C语言综合习题及答案_第4页
第4页 / 共17页
C语言综合习题及答案_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《C语言综合习题及答案》由会员分享,可在线阅读,更多相关《C语言综合习题及答案(17页珍藏版)》请在金锄头文库上搜索。

1、C语言练习题一、选择题1. 一个完整的C源程序是【B】。A要由一个主函数或一个以上的非主函数构成B由一个且仅由一个主函数和零个以上的非主函数构成C要由一个主函数和一个以上的非主函数构成D由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的表达中正确的选项是【C】。AC语言程序将从源程序中第一个函数开场执行B可以在程序中由用户指定任意一个函数作为主函数,程序将从此开场执行CC语言规定必须用main作为主函数名,程序将从此开场执行,在此完毕Dmain可作为用户标识符,用以定义任意一个函数3. 以下关于函数的表达中不正确的选项是【B】。AC程序是函数的集合,包括标准库函数和用户自定义函数B在

2、C语言程序中,被调用的函数必须在main函数中定义C在C语言程序中,函数的定义不能嵌套D在C语言程序中,函数的调用可以嵌套4. 在一个C程序中,【B】。Amain函数必须出现在所有函数之前Bmain函数可以在任何地方出现Cmain函数必须出现在所有函数之后Dmain函数必须出现在固定位置5. C程序的执行是从【A】开场的。A)主函数B)子函数C)从程序第一行D)printf()函数6. 以下选项中不合法的标识符是【C】A)printB)FORC)&aD)_007. 以下选项中可作为C语言合法常量的是【A】A)-80B)-080C)-8e1.0D)-80.0e8. 以下选项中不属于字符常量的是【

3、B】A)CB)CC)xCCD)0729. 假设在C语言中未说明函数的类型,那么系统默认该函数的数据类型是【C】AfloatBlongCintDdouble10. 以下关于函数表达中,错误的选项是【D】。A函数未被调用时,系统将不为形参分配内存单元B实参与形参的个数应相等,且实参与形参的类型必须对应一致C当形参是变量时,实参可以是常量、变量或表达式D形参可以是常量、变量或表达式11. C程序中各函数之间可以通过多种方式传递数据,以下不能用于实现数据传递的方式是【D】。A参数的形实哑实结合B函数返回值C全局变量D同名的局部变量12. 假设有定义:inta23;以下选项中对a数组元素正确引用的是【C

4、】A)a2!1B)a23C)a12!1D)a0313. 假设有说明:inta4=0,0;那么下面不正确的表达是【D】A)数组a的每个元素都可得到初值0B)二维数组a的第一维大小为1C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1D)有元素a00网a01可得到初值0,其余元素均得不到初值014. 以下选项中错误的说明语句是【D】A)chara=t,o,y,o0i;B)chara=toyou0;0;D)chara=toyou;15.chara1尸abc,a280=1234;将a1串连接到a2串后面的语句是A)strcat(a2,a1);B)strcpy(a2,a1);C)

5、strcat(a1,a2);D)strcpy(a1,a2);15. 假设函数调用时参数为根本数据类型的变量,以下表达正确的选项是【C】。A实参与其对应的形参共占存储单元B只有当实参与其对应的形参同名时才共占存储单元C实参与对应的形参分别占用不同的存储单元D实参将数据传递给形参后,立即释放原先占用的存储单元16. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【D】。A实参将其地址传递给形参,并释放原先占用的存储单元B实参将其地址传递给形参,调用完毕时形参再将其地址回传给实参C实参将其值传递给形参,调用完毕时形参再将其值回传给实参D实参将其值传递给形参,调用完毕时形参并不将其值

6、回传给实参17. 假设函数调用时的实参为变量时,以下关于函数形参和实参的表达中正确的选项是【D】。A函数的实参和其对应的形参共占同一存储单元B形参只是形式上的存在,不占用具体存储单元C同名的实参和形参占同一存储单元D函数的形参和实参分别占用不同的存储单元18. 假设用数组名作为函数调用的实参,那么传递给形参的是【A】。A)数组的首地址B)数组的第一个元素的值C)数组中全部元素的值D)数组元素的个数19 假设函数调用时,用数组名作为函数的参数,以下表达中正确的选项是【A】。A实参与其对应的形参共用同一段存储空间B实参与其对应的形参占用一样的存储空间C实参将其地址传递给形参,同时形参也会将该地址传

7、递给实参D实参将其地址传递给形参,等同实现了参数之间的双向值的传递20 .如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,那么该变量【C】。A为全局变量,在本程序文件X围内有效B为局部变量,只在该函数内有效C为局部变量,只在该复合语句中有效D定义无效,为非法变量21 .C语言中函数返回值的类型是由【D】决定。Areturn语句中的表达式类型B调用函数的主调函数类型C调用函数时临时D定义函数时所指定的函数类型22 .有以下程序#includemain()A) charp=,a,b,c,q10=a,b,c;printf(%d%dn,strlen(p),strle

8、n(q);以下表达中正确的选项是【B】B) 在给p和q数组置初值时,系统会自动添加字符串完毕符,故输出的长度都为3C) 由于p数组中没有字符串完毕符,长度不能确定,但q数组中字符串长度为3D) 由于q数组中没有字符串完毕符,长度不能确定,但p数组中字符串长度为3E) 由于p和q数组中都没有字符串完毕符,故长度都不能确定23 定义一个void型函数意味着调用该函数时,函数【C】A通过return返回一个用户所希望的函数值B返回一个系统默认值C没有返回值D返回一个不确定的值24 .假设定义函数float*fun(),那么函数fun的返回值为【B】。A一个实数B一个指向实型变量的指针C一个指向实型函

9、数的指针D一个实型函数的入口地址25 .以下数组说明中,正确的选项是【D】A)staticcharstr=China;B)staticcharstr;str=China;C)staticcharstr15,str2=China;str1=str2;D)staticcharstr1,str2;str2=China;strcpy(str1,str2);26 .在C语言程序中,当调用函数时【B】A实参和形参共用一个存储空间B实参和形参各占一个独立的存储空间C由用户指定实参和形参是否共用存储空间D由系统确定实参和形参是否共用存储空间27 .关于以下fun函数的功能表达中,正确的选项是【A】。intfu

10、n(char*s)char*t=s;while(*t+);t-;return(t-s);B) 比拟两个串的大小D) 求字符串 s 所占字节数A)求字符串s的长度C)将串s复制到串t21. 下面程序段运行后的输出结果是【B】inta,b;voidswap()intt;t=a;a=b;b=t;main()scanf(%d,%d,&a,&b);swap();printf(a=%d,b=%dn,a,b);A)a=5,b=3B)a=3,b=522. 以下程序运行后的输出结果是【D】。fun(inta,intb)if(ab)returna;elsereturnb;main()intx=3,y=8,z=6,

11、r;r=fun(fun(x,y),2*z);printf(%dn,r);A)3B)6C)823. 以下程序的运行结果是【C】。voidf(inta,intb)intt;t=a;a=b;b=t;main()intx=1,y=3,z=2;if(xy)f(x,y);elseif(yz)f(x,z);elsef(x,z);printf(%d,%d,%dn,x,y,z);A)1,2,3B)3,1,2C)1,3,25,3回车C)5,3D)3,5D)12D)2,3,125有以下程序#includeintf(intx) inty;if(x=0|x=1)return(3);y=x*x-f(x-2);return

12、y;main() intz;z=f(3);printf(%dn,z);程序的运行结果是【C】A)0B)9C)6D)826.有以下程序voidss(char*s,chart)while(*s)if(*s=t)*s=t-a+A;s+;main()charstr1100=abcddfefdbd,c=d;ss(str1,c);printf(%sn,str1);程序运行后的输出结果是【B】A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd26 以下程序运行后的输出结果为【B】。int*f(int*x,int*y)if(*x*y)returnx;els

13、ereturny;main()inta=7,b=8,*p,*q,*r;p=&a,q=&b;r=f(p,q);printf(%d,%d,%dn,*p,*q,*r);A)7,8,8B)7,8,7C)8,7,7D)8,7,827 .以下程序的正确运行结果是【A】。#incluedmain()intk=4,m=1,p;p=func(k,m);printf(“%,dp);p=func(k,m);printf(%d,p);func(inta,intb)staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);A8,17B8,16C8,20D8,828.有以下程序intfun(intn)if(n=1)return1;elsereturn(n+fun(n-1);main()intx;scanf(%d,&x);x=fun(x);printf(%dn,x);程序执行时,假设输入10,程序的输出结果是【A】。A55B54C65D4529 .下面是一个计算1至m的阶乘并依次输出的程序。程序中应填入的正确选项是【D】。#includedoubleresult=1;factorial(intj)result=result*j;return;main()intm,i=0,x;print

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号