资源描述:
《C程实验习题答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章C语言概述问题与思考1.若有源程序文件t1.c,编译后生成的目标文件名是_t1.obj_,连接后生成的文件名是__t1.exe_,它们位于磁盘什么位置?默认情况下是obj和源文件在同一目录下,exe在源文件目录下的debug目录下,可以在编译环境中设置到其他地方。2.程序1_3.c中输出的10!值是多少?3628800第2章数据与数据类型问题与思考1.实验一的程序1中,语句a=1+1/2+1/3+1/4;执行后变量a的值是__1___。怎样修改程序才能得到正确的结果?将a=1+1/2+1/3+1/4改为a=1+1/2.0+1/3.0+1/4.0;2.实验二中你用什么样的方式定义符号常量
2、?还可以用什么方法定义符号常量?可以通过Define宏定义和const常量定义两种方式定义符号常量3.直接阅读实验四的程序,你认为三条输出结果是什么?程序运行得到的结果是什么?能分析一下为什么是这样的结果?4.实验五的程序运行时,如果输入数据102040,运行时会出现什么结果?为什么?息样避免这样的情况发生?面积出现不可预估值,pow参数为负数,即两边之和不大于第三边,应在算面积之前用if语句判断。5.下面程序段执行后,问:变量a、b在内存中所占字节数分别为__4___、___4__,其值分别为__20_、__40__。inta=-6.56;floatb;b=(a=4*5,a*2),a+6;
3、6.下列定义变量的语句中错误的是______。A)int_int;B)doubleint_;C)charFor;D)floatUS$;7.若变量x、y已正确定义并赋值,下面符合C语言语法的表达式是__A___。A)++x,y=x--B)x+1=yC)x=x+10=x+yD)double(x)/108.数字字符0的ASCII的值为48,下面程序运行后输出结果是______。main(){chara='1',b='2';printf("%c,",b++);printf("%d",b-a);}A)3,2B)50,2C)2,2D)2,509.设有intx=11;则表达式x++*1/3的值是___
4、___。A)3B)4C)11D)12第三章程序控制结构习题三第一部分:输入与输出1.已有如下定义和输入语句,若要求a,b,c1,c2的值分别为5、6、A和B,当从第一列开始输入数据时,正确的数据输入方式是______(表示回车)。inta,b;charc1,c2;scanf("%d%c%d%c",&a,&c1,&b,&c2);A)5A6BB)5A6BC)5A6BD)5A6B2.以下说法正确的是_______。A)输入项可以为一个实型常量,如scanf(“%f”,3.5);B)只有格式控制,没有输入项,也能正确输入,如scanf(“a=%d,b=%d”)
5、;C)当输入实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D)当输入数据时,必须指明地址,如scanf(“%f”,&f);E)可以采用不同的格式符,实现对一个实型数据以八进制或十六进制形式输入/输出。F)整型数据不能使用%f或%lf格式符。3.若a是int型变量,则表达式(a=5*6,a*3),a+8的值是_________。4.若有定义:intb=7;floata=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为__5.5___。5.输出长整型数据使用格式符___%ld____,输出无符号的整数用格式符__%u_
6、_,以指数形式输出单精实数用格式符__%e____。6.下面程序运行时输入:1011<回车>,输出__a=8,b=17________。#includevoidmain(){inta,b;scanf("%o%x",&a,&b);printf("a=%d,b=%d",a,b);}7.下面程序段执行时,怎样输入才能让a=10,b=20?____a=10,b=20______________inta,b;scanf("a=%d,b=%d",&a,&b);8.若a和b均为int变量,以下语句的功能是____交换a和b的值_________。a+=b;b=a-b;a-=b;9.在
7、scanf函数调用中,可以在格式字符和%之间加一星号*,它的作用是___本输入项在读入后不赋给相应的变量_____。10.a++、++a、a=a+1都能实现使变量a的值增1,与之等效的表达式还有__a+=1________第二部分:分支结构1.若执行下面的程序时从键盘上输入5,则输出结果是______main(){intx;scanf("%d",&x);if(x++>5)printf("%d",x);el