欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C程序chapter练习+参考答案.docx

    • 资源ID:30103070       资源大小:24.12KB        全文页数:21页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C程序chapter练习+参考答案.docx

    1、C程序chapter练习+参考答案C程序设计练习题(chapter1)选择1一个C程序的执行是从_A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2 以下叙述不正确的是_A) 一个C源程序可由一个或多个函数组成B) 一个 C源程序必须包含一个main函数C) C程序的基本组成单位是函数D) 在C程序中注释说明只能位于一条语句的后面3 一个C语言程序是由_A) 一个主程序和若干子程序组成B) 函数组成C) 若干过

    2、程组成D) 若干子程序组成判断1. 编译时可以发现注释中的错误。 ( F )2C程序的执行总是从程序第一句开始。 ( F )C程序练习题(chapter2)选择1下列标识符中,合法的是_ A) signed B) 5ab C) INT# D)_num22以下合法的C常量是_A)098 B)3c C)3H D)a3 下列各组字符序列中,全部为合法标识符的一组是_A)S.B,sum,average,_above B)class,day,lotus_1,2dayC)#md,&12x,month,student_n1 D)D56,r_1_2,name,st_14 下列形式的常数中,C程序不允许出现的是

    3、_A).45 B) E5 C)25.6e-2 D)4e35 若有代数式 ,则不正确的C语言表达式是_A)a/b/c*e*3 B)3*a*e/b/cC)3*a*e/b*c D)a*e/c/b*36 设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是_A)3.9 B)4 C)4.2 D)3.757 int a;float f;double i;则表达式10+a+i*f结果的数据类型是_A) int B)float C)double D)不确定8在C语言中,char型数据在内存中的存储形式是_A)补码 B)反码 C)原码 D)ASCII码9 设一个int型数据

    4、在内存中占2个字节,则unsigned int型数据的取值范围是_A) 0255 B) 032767 C)-3276832767 D)06553510设x=3,y=2,则表达式x*=y+8的值为_。A)3 B)2 C)30 D)10填空1. int x=5,n=5;计算表达式x+=n+后x的值为_10_,n的值为_6_。2. C语言运算符中,优先级最低的是 ,或者(逗号运算符)。3. 优先级仅高于逗号运算符的是 赋值 或者 (=) 运算符。 4.在16位C环境里,char型变量占_1_个字节,double型占_8_个字节。C程序设计练习(chapter3)选择1 若输入12345 abc,下列

    5、程序的输出结果是_ main() int a;char ch; scanf(“%3d%3c”,&a,&ch); printf(“%d,%c”,a,ch); A) 123,abc B)123,4 C)123,a D)12345,abc2正确输出结果 是 _main() int x=1,y=5,z; float f; f=x/y; z=f*10; printf(“%d”,z); f=1.0*x/y;z=f*10; printf(“%d”,z); f=x/y*1.0;z=f*10; printf(“%d”,z); A) 2 2 2 B) 0 0 0 C) 0 2 2 D) 0 2 03 正确输出结果

    6、是_main() char a=15; int b=a; printf(“%d%o%x”,b,a,a); /*a的ASCII码为97*/ A)a 17 f B) a 15 f C) 97 17 f D) 97 15 f4执行下面两个语句后,输出的结果为_。char c1=B; printf(“%d %c”,c1,c1+32); A)66 98 B)66 b C)b 98 D)66 B填空1、 int x; float y;且执行scanf(“%3d%f”,&x,&y);语句时,从第一列开始输入数据12345 678 ,则x的值是_ 123 y的值是_45678.0_。2、 要得到下列结果:a,

    7、 b A, B97,98,65,66请按要求完善程序。 main( )char c1,c2; c1=a;c2=b; printf(“_%c,%c_”,c1,c2); printf(“%c,%cn”,_c1-32,c2-32_); printf(“%d,%d,%d,%dn”,_c1,c2,c1-32,c2-32)_; 3、 程序的运行结果为_total=300_#define GZ 30 main() int num,total,gz; gz=40;num=10;total=num*GZ; printf(“total=%dn”,total); 4、 计算圆的周长,要求输出结果5位,带1位小数。#

    8、define PI 3.1415 main( ) float r=2.3,l;l=2*PI*r ; printf(“the area is %5.1f n”,l); C程序设计练习(chapter4)选择1能正确表示“当x的取值在1,10和200,210范围内为真,否则为假”的表达式是_A)(x=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(xy) z=x;x=y;y=z;A) x=10,y=20,z=30 B)x=20,y=30,z=30C) x=20,y=30,z=10 D)x=20,y=30,z=203 以下程序运行结果是_

    9、main( )int m=5; if(m+5) printf(“%dn”,m); else printf(“%dn”,m-); A) 4 B) 5 C) 6 D) 7填空1 int a=5,b=6,w=1,x=2,y=3,z=4; (a=wx)&(b=yz); a的值为_0_,b的值为_6_。2 以下程序把大写字母转换成对应的小写字母,其他字符不转换:main( ) char ch; scanf(_”%c”,&ch_); ch=(_ch=A &ch=Z_)? ch+32:ch; printf(“char=%cn”,_ch_); 写出程序的运行结果main( ) int x=7,y; if(x5

    10、) y=x;else if(x10) y=2*x+1;else y=3*x-1; printf(“%dn”,y); 运行结果:15Chapter5练习选择1与“for(i=0;i10;i+) putchar(a+i); ”功能不同的语句是_A) for (i=0;i10;) putchar(a+(+i);B) for (i=0;i10;) putchar(a+(i+);C) for (i=0;i10; putchar(a+i),i+);D) for (i=0;i=9;i+) putchar(a+i);2以下程序的运行结果为_ main() int n; for(n=1;n=10;n+) if(

    11、n%3=0) continue; printf(“%d”,n);3设有程序段 int x=0,s=0; while(!x!=0) s+=+x; printf(“%d”,s);则_A)运行后输出0 B)运行后输出1C)控制表达式非法 D)无限循环4下面程序段的运行结果是_ int n=0; while(n+=2); printf(“%d”,n); A)2 B) 3 C) 4 D)有语法错填空 1下列程序计算1到100的整数的累加和。main( )int i,_sum=0_; for(_i=1;i=100;i+) sum+=i; printf(“sum=%dn”,sum); 2以下程序计算数的阶乘

    12、。main( ) int i,n; long np; scanf(“%d”,&n); np=_1_; for(i=2;i=n;i+) _np*=i_; printf(“n=%d n!=%ldn”,n,np); 写出运行结果 main( )int i,j; for(i=1;i=3;i+) for(j=1;j=i;j+) printf(“%d”,j);printf(“n”); 运行结果: 1 1 2 1 2 3C程序chapter6练习选择1若有以下语句 static int a4=1,2,3,i; i=a0*a1+a2*a3; i的值为_A)2 B) 5 C ) 3 D) 以上都不对2若二维数组

    13、a有m列,则在aij前的元素个数为_A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+13对两个数组a和b进行如下初始化 char a=“ABCDEF”; char b= A,B,C,D,E,F; 则以下叙述正确的是_A)a和b数组完全相同 B)a和b长度相同C)a和b中都存放字符串 D)a数组比b数组长度长4有两个字符数组a、b,则以下正确的输入语句是_A)gets(a,b); B) scanf(“%s%s”,a,b);C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”);5 下面程序段的运行结果是_ char a7=“abc

    14、def”,b4=“ABC”; strcpy(a,b);printf(“%c”,a5);A)空格 B)0 C) e D f6以下程序运行结果是_ main()int n4=0,0,0,0,k; for(k=0;k4;k+) if(k=2) break; nk+; printf(“%dn”,n+k);A)不确定的值 B)0 C) 1 D) 27下列语句中,不正确的是_A) static int a5=1,2,3,4,5;B) static int a5=1,2,3;C) static int a=0,0,0,0,0;D) static int a5=0*5;8 下列定义数组的语句中正确的是_A)

    15、#define size 10char str1size,str2size+2;B) char str ;C) int num10;D) int n=5; int ann+2;填空1从键盘输入由5个字符组成的单词,判断此单词是不是hello,并显示结果。#include main( )_int flag_;static char str=”hello”;char str16; _gets(str1)_;flag=0;for(i=0;str1i!=0;i+)if(stri!=str1i)flag=1;break;if(flag)printf(“this word is not hellon”);

    16、elseprintf(“this word is hellon”);2 采用折半查找法在数组中查询某个数据,假设数组已排好序。main() int a10=-12,0,6,16,23,56,80,100,110,114;int n,low=0,high=9,mid,flag=0;scanf(“%d”,&n);while(lowamid)low=mid+1; else high=mid-1if(flag=1)printf(“找到n”); elseprintf(“没找到n”);Chapter7练习选择1 以下正确的函数定义形式是_A) double fun(int x,int y)B) doubl

    17、e fun(int x;int y)C) double fun(int x,int y);D) double fun(int x,y);2 如果要限制一个变量只能为本文件所使用,必须通过_来实现。(这道题值得商榷)A)外部变量说明 B)静态内部变量C)静态外部变量 D)局部变量说明3 以下正确的说法是_A) 实参和与其对应的形参各占用独立的存储单元A) 实参和与其对应的形参共占用一个存储单元B) 只有当实参和与其对应的形参同名时才共占用存储单元C) 形参是虚拟的,不占用存储单元4以下不正确的说法是_A) 实参可以是常量、变量或表达式B) 形参可以是常量、变量或表达式C) 实参可以为任意类型D)

    18、 形参应与其对应的实参类型一致5若调用一个函数(类型为void),此函数中没有return语句,则正确的说法是_A) 没有返回值 B) 返回若干个系统默认值C) 能返回一个用户所希望的函数值D) 返回一个不确定的值6以下正确的说法是_A) 定义函数时,形参的类型说明可以放在函数体内B) return后边的值不能为表达式C) 如果函数值的类型与返回值类型不一致,以函数值类型为准。D) 如果形参与实参的类型不一致,以实参类型为准7 C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回给实参D) 由用户指定传递方式8 C语言

    19、规定,函数返回值的类型是由_A) return语句中的表达式类型所决定B) 调用该函数时的主调函数类型所决定C) 调用该函数时系统临时决定D) 在定义该函数时所指定的函数类型所决定9 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_A) float型B) int型C) long型D) double型10 下面函数调用语句含有实参的个数为_func(exp1,exp2),(exp3,exp4,exp5);A)1 B)2 C)4 D)511以下错误的描述是_函数调用可以 A)出现在执行语句中B)出现在一个表达式中C)作为一个函数的实参D)作为一个函数的形参12以下正确的描述是_A) 函数的

    20、定义可以嵌套,函数的调用不可以嵌套B) 函数的定义不可以嵌套,函数的调用可以嵌套C) 函数的定义和函数的调用均不可以嵌套D) 函数的定义和函数的调用均可以嵌套13若用数组名作为函数调用的实参,传递给形参的是_A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数14若使用一维数组名作函数实参,则以下正确的说法是_A) 必须在主调函数中说明此数组的大小B) 实参数组类型与形参数组类型可以不匹配C) 在被调函数中,需要考虑形参数组的大小D) 实参数组名与形参数组名必须一致15以下不正确的说法是_A) 在不同函数中可以使用相同名字的变量B) 形参是局部变量C) 在函数

    21、内定义的变量只在本函数范围内有效D) 在函数内的复合语句中定义的变量在本函数范围内有效16凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是_A)自动(auto) B)静态(static)C)外部(extern) D)寄存器(register)填空1以下程序的运行结果是_111_ main( ) void inc(void);inc( ); inc( ); inc( );void inc(void) int x=0; x+=1; printf(“%d”,x);2计算数组元素的平均值。float average(int n,int array)int i ;float sum=0; for

    22、(i=0;in;_i+) _sum+=i_; return(_sum/n);main()int i; float aver,score10; printf(“input 10 score:n”); for(i=0;i10;i+) scanf(“%f”,&scorei); aver=average(10,_score_);printf(“average score is %.2fn”,aver);写出运行结果1. main ( ) int a=4,x=5,b=8;fun(b,6);printf(%d,%d,%dn,a,b,x);fun (int a,int b) int x=3;printf(%

    23、d,%d,%dn,a,b,x);运行结果:8,6,3 4,8,52int abc(int u,int v);main ( )int a=48,b=32,c;c=abc(a,b);printf(%dn,c);int abc(int u,int v)int w;while (v)w=u%v;u=v;v=w;return u; 运行结果:16Chapter8C语言练习选择1在宏定义#define PI 3.14159中,用宏名PI代替一个_A)常量 B)单精度数 C)双精度数 D)字符串2以下有关宏替换的叙述不正确的是_A) 宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符替换 D)宏名必须用

    24、大写字母表示3 C语言的编译器对宏命令的处理是_A) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其他语句同时进行编译的D) 在对源程序中其他成分正式编译之前进行的4 #define ADD(x) x+xmain()int m=1,n=2,k=3,sum; sum=ADD(m+n)*k; printf(“sum=%d”,sum);上面程序的运行结果是_A) sum=9 B)sum=10 C)sum=12 D) sum=185 若有以下宏定义: #define N 2 #define Y(n) (N+1)*n)则执行语句z=2*(N+Y(5);后,z的结果是_A)语法错误B) 3

    25、4 C)70 D)无定值C程序指针练习选择1变量的指针,其含义是指该变量的 _A)值 B)地址 C)名 D 一个标志2若有语句 int a=4,*point=&a; 下面均代表地址的一组选项是_A)a,point,*&a B) &*a, &a , *pointC) &point, point , &a D) &a, &*point, point3若已定义 char s10;则在下面表达式中不表示s1的地址的是_A)s+1 B) s+ C) &s0+1 D) &s14.下面程序段的运行结果是_char *s=“abcde”;s+=2; printf(“%d”,s);A) cde B)字符c C)

    26、字符c的地址 D)无确定结果5若有以下定义,则对a数组元素的正确引用是_int a5,*p=a;A) *&a5 B) a+2 C) *(p+5) D) *(a+2)6若已定义a为整型变量,则_是对指针变量p的正确定义和初始化。A) int *p=a; B) int * p=a; C) int p=&a; D) int *p=&a;7两个指针变量不可以_A) 相加 B)比较 C)相减 D)指向同一地址8以下程序的输出结果是_ #include main() char s=”123”,*p; p=s; printf(“%c%c%cn”,*p+,*p+,*p+); /* +是右结合性,从右往左运算,可以上机调试*/A) 123 B) 321 C) 213 D) 3129执行以下语句的结果为_int x=3,y;int *px=&x; y=*px+;A) x=3,y=4 B) x=3,y=3 C) x=4,y=4 D)x=3,y不知填空下面的程序把数组元素按相反顺序进行存放。 void inv(int n,int *x)_int i,j,t_;for(i=x,j=n-1_;ij;i+,j-)t=*i;*i=*j;*j=t; main()int i,a10=3,7,9,11,0,6,7


    注意事项

    本文(C程序chapter练习+参考答案.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开