




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计习题一.选择题(每小题2分,共40分,答案必须填写半角大写字母ABCD)1、在C语言中,要求运算数必须是整型的运算符是( )。A) /B) +C) !=D) %2、设int n=3,则+n的结果是_。 A) 2 B) 3 C) 4 D) 5 3、设n=10,i=4,则赋值运算 n%=i+1执行后,n 的值是_C_。 A) 0 B) 3 C) 2 D) 1 4、若有定义:int a=7; float x=2.5 ,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( A )。A) 2.500000B) 2.750000C) 3.500000D) 0.000005、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b) 的值是( B )。A) 7B) 8C) 6D) 26、若int类型数据占两个字节,则以下程序的输出为( D )。main() int k=-1; Printf(“%d,%un”,k,k);A) -1, -1B) -1, 32767C)-1, 32768D) -1, 655357、若给定条件表达式(x)? (a+):(a-), 则表达式x ( C )。A) 和(x=0)等价B) 和(x=1)等价C) 和(x!=0)等价D) 和(x!=1)等价8、下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 main() int a,b,t; scanf(%d,%dn,a,b); while_ if(ab) t=a; a=b; b=t; printf(%d,%dn,a,b); scanf(%d%d,&a,&b); A) !a=bB)a!=b C)a=b D)a=b9、在C语言中,引用数组元素时,其数组下标的数据类型允许是( )A) 整型常量 B) 整型表达式C) 整型常量或整型表达式D) 任何类型表达式10、对以下说明语句的正确理解是( ) int a10=6,7,8,9,10;A) 将5个初始值依次赋给a1至a5B) 将5个初始值依次赋给a0至a4C) 将5个初始值依次赋给a6至a10D) 因为数组长度与初始数值的个数不相同,所以此语句不正确11、以下对二维数组a的正确说明是( )A) int a3B) float a(3,4);C) double a14;D)float a(3)(4);12、若有说明 int a3=1,2,3,4,5,6,7;,则a数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值13、C语言规定,函数返回值的类型是由( )。A) return语句中的表达式类型所决定B) 调用该函数时的主调用函数类型所确定、C) 调用该函数时系统临时决定的D) 在定义该函数时所指定的函数类型所决定14、下面函数调用语句中含有实参个数为( )。func(exp1,exp2),(exp2,exp4,exp5);A) 1B)2C)3D)415、以下不正确的语句(设有 int q,p)是_。 A) p*=3; B) p/=q; C) p+=3; D) p&=q; 16、变量的指针,其含义是指该变量的( )。A) 值B)地址 C)名 D)一个标志17、设 char *s;以下正确的表达式是( )。 A) s=computer B) *s=computer C) *s=computer D) *s=c 18、在C语言中,( )A) 函数的定义可以嵌套,但函数的调用不可以嵌套B) 函数的定义不可以嵌套,但函数的调用可以嵌套c) 函数的定义和调用均不可以嵌套D) 函数的定义和调用均可以嵌套19、以下正确的定义语句是( )。A) int a14=1,2,3,4,5;B) float x3=1,2,3;C) long b23=1,1,2,1,2,3;D) double y3=0;20、设i和x 都是int类型,则以下for循环( )。for(i=0,x=0;i=9&x!=876;i+) scanf(%d,&x);A) 最多执行者10次B) 最多执行者9次C) 是无限循环D) 循环体一次也不执行二、填空题(每小题2分,共10分)1、若a是int 整型变量,且a 的初始值为6,则计算表达式a + = a - = a * a后的值为_。 2、设 a 和 n 为整型变量,a=10,n=5,则表达式 a*=3+4 的值为_。 3、若 char str10=computer0;则执行 strlen(str)的结果是_。 4、若 int i,j,k; 则计算表达式 x=(i=4,j=16,k=32)后,x的值为_。 5、以下程序的输出结果为_。 #define s 5.5 #define f(x) s*x*x main() int a=1,b=2; printf(%4.1fn,f(a+b); /以下二题考生可以自行将试卷中的源程序复制到C:TC中。方法为:在考试界面中选中相应的源程序代码,Ctrl+C复制,然后打开“附件”中的记事本,粘贴到记事本中,“另存为”扩展名为.c的文件(保存的目标文件夹必须是C:TC),最后,在TC环境中F3找到该程序即可。*/三、程序改错并得到答案(10分)求s=1!+4!+7!+10!。程序中有一处错误。 (1) 输入原程序并运行,记录运行结果,将结果填入答题窗口的。(程序名由考 生自定) (2) 更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口 的。 #include stdio.h #include math.h main() long s,f; int I,j; s = 0; for (I=1; I=10; I+=3) f = 1; for (j=1; j=I; j+) f = f*j; s += f; printf(%dn,s); 错误程序的结果为:更正后的结果为:返回卷首四、程序填空并得到答案(10分)下面的程序段功能是统计100-999之间所有满足三个数字之积为24,三个数字之和为12的数的个数,请补充程序并将运行结果填空:main()int x,y,z,count=0;for(x=1;x=9;x+)for(y=0;y=9;y+) for(z=0;z=0);A) 3B) 4C)5D)不定6、若int类型数据占两个字节,则以下程序的输出为( )。main() int k=-1; Printf(“%d,%un”,k,k);A) -1, -1B) -1, 32767C)-1, 32768D) -1, 655357、在C语言中,当while语句中的条件为( )时,结束该循环。A)0B)1C) trueD)非08、以下程序的输出结果是( )。#includemain() int i=0,j=0,a=6; if(+i0)|(+j0) a+; printf(i=%d,j=%d,a=%dn,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=79、设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)%d,s);则( ) A) 运行程序后输出0 B) 运行程序后输出1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次10、若有说明:int a10;,则对a数组元素的正确引用是( )A) a10B)a3.5 C)a(5) D)a10-1011、以下对二维数组a进行初始化的语句错误的是( )A) int a23=0;B) int a3=1,2,0;C) int a23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;12、下面描述正确的是( )。A) 两个字符串所包含的字符个数相同时,才能比较字符串B) 字符个数多的字符串比字符个数少的字符串大C) 字符串stop与Stop相等D) 字符串that小于字符串the13、若有说明 int a3=1,2,3,4,5,6,7;,则a数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值14、C语言规定,函数返回值的类型是由( )。A) return语句中的表达式类型所决定B) 调用该函数时的主调用函数类型所确定、C) 调用该函数时系统临时决定的D) 在定义该函数时所指定的函数类型所决定15、当输出含空格的字符串时,应使用_函数。 A) printf B) puts() C) putchar() D) putc() 16、变量的指针,其含义是指该变量的( )。A) 值B)地址 C)名 D)一个标志17、设 char *s;以下正确的表达式是( )。 A) s=computer B) *s=computer C) *s=computer D) *s=c 18、下面函数调用语句中含有实参个数为( )。func(exp1,exp2),(exp2,exp4,exp5);A) 1B)2C)3D)419、一个C语言程序是由_。 A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成20、若用数组名作为函数调用的实参,传递给形参的是( )。A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数二、填空题(每小题2分,共10分)1、设 a 和 n 为整型变量,a=10,n=5,则表达式 a+=n/2的值为_。 2、设x=1,y=2,z=3,则表达式 !y&(x=z) 的值为_。 3、执行语句int a=2; a+=a-=a*a;后,a的值是_。 4、在C语言类型说明中,int 类型的长度为_。 5、若有定义和语句:char c1=b,c2=e;printf(%d,%cn,c1-c2,c2-a+A);则输出结果是_。 /以下二题考生可以自行将试卷中的源程序复制到C:TC中。方法为:在考试界面中选中相应的源程序代码,Ctrl+C复制,然后打开“附件”中的记事本,粘贴到记事本中,“另存为”扩展名为.c的文件(保存的目标文件夹必须是C:TC),最后,在TC环境中F3找到该程序即可。*/三、程序改错并得到答案(10分)以下程序求1,700之间能被3 或5整除的数之和。 (1) 输入原程序并运行,记录运行结果,将结果填入答题窗口的。(程序名 由考生自定) (2) 更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题 窗口的。 #include stdio.h #include math.hmain() int I; long sum; sum=0; for ( I=1;I=700;I+) if ( fmod(I,3)=0)|(fmod(I,5)=0) sum+=I; printf(%dn,sum);错误程序的结果为:更正后的结果为:返回卷首四、程序填空并得到答案(10分)2)鸡兔共有30只,脚共有90只,下面的程序段是计算鸡兔各有多少只,请补充程序并将运行结果填空:(注:x代表兔子,y代表鸡) main()int x,y;for(x=1;x=30;x+)y=30-x;if( ) printf(%d,%dn,x,y);程序的结果为:返回卷首五、程序设计并得到答案(30分)1.编程序求出1-5000以内能被37整除的整数之和。程序的结果为:2.所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出300600的范围内所有回文数的和。程序的结果为:1下列四组选项中,均不是C语言关键字的选项是( )。AA) define of typeB) getc char printfC) include scanf caseD) if struct type2假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b) 的值是( )。BA) 7B) 8C) 6D) 23在C语言中,要求运算数必须是整型的运算符是( )。DA) /B) +C) !=D) %4设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。DA)floatB) charC) intD) double5若int类型数据占两个字节,则以下程序的输出为( )。Dmain() int k=-1; Printf(“%d,%un”,k,k);A) -1, -1B) -1, 32767C)-1, 32768D) -1, 655356若k 为int 变量,则以下程序( )。Cmain() int k=8567; Printf(“|%-06d|n”, k);A) 输出格式描述不合法B) 输出为 |008567|C) 输出为 |8567|D) 输出为 |-08567|7若给定条件表达式(x)? (a+):(a-), 则表达式x ( )。CA) 和(x=0)等价B) 和(x=1)等价C) 和(x!=0)等价D) 和(x!=1)等价8. 若a是float型变量,b是unsigned型变量,以下输入语句( )是合法的。CA) scanf(%6.2f%d,&a,&b)B) scanf(%f%n,&a,&b)C) scanf(%f%3o,&a,&b)D) scanf(%f%f,&a,&b)9. 以下叙述正确的是( )。CA) 在C语言中,每行只能写一条语句。B) 若X是实型变量,C语言中允许赋值X=100,因此实型变量中允许存放整型变量。C) 在C程序中,%只能用于整数运算的运算符。D) 在C程序中,无论是整数还是实数,都能被准确无误地表示。7. 设变量a是整型,b是实型,c是双精度型,则表达式10+a+b*c值的数据类型为( )。CA) int B)floatC)doubleD)不确定8. 在C语言中,int型数据在内存中的存储形式是( )。DA) 补码B) 反码C)原码D)ASC|码9. 若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。AA) 2.500000B) 2.750000C) 3.500000D) 0.0000010. 设以下变量均为int类型,则值不等于7的表达式是( )。CA) (x=y=6,x+y,x+1)B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y)D) (x=6,x+1,y=x,y+1)11. 在C语言中,当while语句中的条件为( )时,结束该循环。AA)0B)1C) trueD)非012. 设i和x 都是int类型,则以下for循环( )。Afor(i=0,x=0;i=9&x!=876;i+) scanf(%d,&x);A) 最多执行者10次B) 最多执行者9次C) 是无限循环D) 循环体一次也不执行13. 以下程序的输出结果是( )。C#includemain() int i=0,j=0,a=6; if(+i0)|(+j0) a+; printf(i=%d,j=%d,a=%dn,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=714. 设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)%d,s);则( ) BA) 运行程序后输出0B) 运行程序后输出1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次15. C语言中while和do-while循环的主要区别是( )AA) do-while的循环体至少无条件执行一次B) while的循环控制条件比do-while的循控制条件严格C) do-while允许从外部转到循环体内D) do-while的循环体不能是复合句16. 下面程序段中循环体的执行次数是( )Aa=10;b=0;dob+=2;a-=2+b;while(a=0);A) 3B) 4C)5D)不定17. 下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 B#includemain() int a,b,t; scanf(%d,%dn,a,b); while_ if(ab) t=a; a=b; b=t; printf(%d,%dn,a,b); scanf(%d%d,&a,&b); A) !a=bB)a!=b C)a=b D)a=b18. 若有说明:int a10;,则对a数组元素的正确引用是( )DA) a10B)a3.5 C)a(5) D)a10-1019. 对以下说明语句的正确理解是( ) Bint a10=6,7,8,9,10;A) 将5个初始值依次赋给a1至a5B) 将5个初始值依次赋给a0至a4C) 将5个初始值依次赋给a6至a10D) 因为数组长度与初始数值的个数不相同,所以此语句不正确20. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )CA) 整型常量 B) 整型表达式C) 整型常量或整型表达式D) 任何类型表达式21. 以下对一维整型数组a的正确说明是( )。DA) int a(10); B) int n=10, an;C) int n; scanf(%d,&n); int a10;D) #define max 10 int amax;22. 若有说明:int a34;,则对a数组元素正确引用是( )。CA) a24B) a1,3C) a1+10D) a(2)(1)23. 以下对二维数组a的正确说明是( )CA) int a3B) float a(3,4);C) double a14;D)float a(3)(4);24. 若有说明:int a34;,则数组a中各元素( )BA)可在程序运行阶段得到初值0B)可在程序编译阶段得到初值0C)不能得到确定的初值A)可在程序的运行或编译阶段得到初值025. 以下对二维数组a进行初始化的语句错误的是( )CA) int a23=0;B) int a3=1,2,0;C) int a23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;26. 下面描述正确的是( )。DA) 两个字符串所包含的字符个数相同时,才能比较字符串B) 字符个数多的字符串比字符个数少的字符串大C) 字符串stop与Stop相等D) 字符串that小于字符串the27. 若有说明 int a3=1,2,3,4,5,6,7;,则a数组第一维的大小是( )。BA) 2 B)3 C)4 D)无确定值28. 以下正确的定义语句是( )。DA) int a14=1,2,3,4,5;B) float x3=1,2,3;C) long b23=1,1,2,1,2,3;D) double y3=0;29. C语言规定,函数返回值的类型是由( )。DA) return语句中的表达式类型所决定B) 调用该函数时的主调用函数类型所确定、C) 调用该函数时系统临时决定的D) 在定义该函数时所指定的函数类型所决定30. 以下不正确的说法是( )。BA) 实参可以是常量、变量或表达式B) 形参可以是常量、变量或表达式C) 实参可以是任意类型D) 形参应与其对应的实参类型一致31. 下面函数调用语句中含有实参个数为( )。Bfunc(exp1,exp2),(exp2,exp4,exp5);A) 1B)2C)3D)432. 若调用一个函数,且函数中没有return语句,则正确的说法是( )。DA) 该函数没有返回值B) 返回若干个系统默认值A) 能返回一个用户所希望的函数值A) 返回一个不确定的值33. 建立函数的目的之一是( )。DA) 提高程序的执行效率B) 提高程序的可移植性C) 减少程序的篇幅A) 提高程序的可读性34. 在C语言中,( )BA) 函数的定义可以嵌套,但函数的调用不可以嵌套B) 函数的定义不可以嵌套,但函数的调用可以嵌套c) 函数的定义和调用均不可以嵌套D) 函数的定义和调用均可以嵌套35. 若用数组名作为函数调用的实参,传递给形参的是( )。AA) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值C) 数组元素的个数36. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。BA) 地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届重庆一中学物理八上期末经典试题含解析
- 2026届安徽省池州市第十中学物理八上期末考试试题含解析
- 2026届江苏省常州市新北区外国语学校物理八上期末质量跟踪监视模拟试题含解析
- 职工活动场地管理办法
- 肃宁标准扳手管理办法
- 花椒扶贫基地管理办法
- 苏州退租管理办法细则
- 茶叶加工园区管理办法
- 草原景区规范管理办法
- 药品企业流通管理办法
- 家具厂封边技能培训
- 重点群体人员本年度实际工作时间表
- DBJ50-T-386-2021 建筑施工现场扬尘控制标准
- 《美丽中国是我家》-教学设计
- 实验动物微生物学和寄生虫学质量控制课件
- 视网膜分支静脉阻塞的护理课件
- 外墙保温一体板监理细则
- 云南省学校食堂“六T”实务管理验收评分标准(2021版)
- 复变函数与积分变换课件
- 弱电智能化建设报价清单
- 应急第一响应人线上理论考试
评论
0/150
提交评论