程序设计基础习题及答案.docx
- 文档编号:796676
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:35
- 大小:47.04KB
程序设计基础习题及答案.docx
《程序设计基础习题及答案.docx》由会员分享,可在线阅读,更多相关《程序设计基础习题及答案.docx(35页珍藏版)》请在冰豆网上搜索。
程序设计基础习题及答案
《程序设计基础》习题参考答案
【习题1基本概念】
一、简答题(在课本中寻找答案,略)
1.1C程序的基本结构包括哪些内容?
1.2如何定义标识符?
1.3输入格式、输出格式的组成包括哪些内容?
1.4C语言函数分为哪两类?
1.5计算表达式的值应该考虑哪些方面?
1.6上机调试程序的步骤如何?
1.7常量与变量的区别?
1.8C语言中的标识符的定义规则?
1.9变量为什么要“先定义,后使用”?
1.10字符常量'a'与字符串常量"a"有何区别?
1.11大小写字母转换的规则是什么?
1.12变量的具有哪三种属性?
二、单项选择题
1.13 C语言中,int型数据在内存中的存储形式是(D)。
A)ASCII码B)原码C)反码D)补码
1.14 下面四个选项中,均是不合法的用户标识符的选项是(C)。
A)BA、x_0、do
B)float、1a0、_Y
C)x-y、goto、123
D)_123、tmp、CHAR
1.15 下列选项中不正确的常数的选项是(D)。
A)0x12FB)-1.23E-2C)12.0D)0388
1.16 下面正确的字符常量是(B)。
A)"a"B)'\\'C)"\n"D)"\376"
1.17 下面正确的字符串常量是(C)。
A)'a'B)'376'C)"\\n"D)376
1.18 表达式'A'+4*25.0-'b'的正确结果是(B)。
A)67B)67.0C)不确定D)67L
1.19 执行printf("%x",100);后的输出结果是(C)。
A)100B)0x100C)0X64D)64
1.20 int型的-1在内存中的存储形式是(A)。
A)1111111111111111
B)0000000000000001
C)1111111111111110
D)1000000000000001
1.21 存储字符串"\\\'abc\376"需要的字节数是(D)。
A)11B)13C)6D)7
三、判断并改错
1.22C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:
main函数可以放在程序的任何位置。
并不限定在程序的开头。
1.23定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:
不可以交叉出现,数据说明部分在执行语句部分的前面。
1.24编辑与编译不是一回事。
错误:
不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.25scanf("%d,%d",&x,&y);的正确输入格式:
3,4<回车>。
正确
1.26注释内容太多会影响程序的执行效率。
错误:
不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。
1.27所有的数学公式可以直接出现在源程序中。
错误:
数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
四、编程题
1.28在屏幕上输出自己名字的拼音。
提示:
中文名字叫“张三”,对应的拼音为“ZhangSan”,输出用printf()函数。
1.29输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:
定义圆的半径r,圆的周长:
2*3.14*r,输出结果保留2位小数可以用%.2f
【习题2运算符与表达式】
一、计算题
2.12.8+7%3*11%2/4(答案:
2.8)
2.25/2+5.0/2+7%6(答案:
5.5)
2.3a=12,a*=2+3(答案:
a=60)
2.4a=3,b=4,c=5,a+b>c&&b==c(答案:
0)
2.53>5?
3:
5<8?
25:
40(答案:
25)
2.6设a=1,b=2,c=3,d=4,m=n=1,有表达式(m=a>b)&&(n=c>d),计算表达式后m,n的值?
(答案:
m=0,n=1)
2.7 设intb=7;floata=2.5,c=4.7;求下面表达式的值。
a+(int)(b/2*(int)(a+c)/2)%4(答案:
4.5)
二、单项选择题
2.8 若有代数式,则不正确的C语言表达式是(C)。
A)x/b/c*y*8B)8*x*y/b/c
C)8*x*y/b*cD)x*y/c/b*8
2.9 有如下类型说明:
intk,a,b;
unsignedlongw=8;
doublex=2.9
则以下不符合C语言语法的表达式是(A)。
A)x%(-3)B)w*=-2
C)k=(a=6,b=4,a-b)D)a*=a+=a-=(b=4)*(a=3)
2.10 有如下类型说明:
floatn;
intm;
则以下能实现将n中的数值保留小数点后两位,第三位四舍五入的表达式是(B)。
A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0
2.11 设k=7,x=12;则下列表达式值为3的是(D)。
A)x%=(k%=5)B)x%=(k-k%5)
C)x%=k-k%5D)(x%=k)-(k%=5)
2.12 已知m=48,ch='a',n=0;则表达式(m>=n&&ch<'b'&&!
n)的值是(B)。
A)0B)1C)真D)非0
2.13 下面哪个式子在b为奇数时结果为假(C)。
A)a%2==1B)!
(a%2==0)C)!
(a%2)D)a%2
2.13 执行printf("%f",(x=3,y=5,x>y?
1:
1.5));后的输出结果是(D)。
A)语法错误B)1C)1.5D)1.500000
2.14 能表示条件0≤x≤100的表达式是(D)。
A)0<=x<=100B)x>=0,x<=100
C)0≤x≤100D)x>=0&&x<=100
2.15 判断char型变量ch为数字的正确表达式是(B)。
A)ch>="0"&&ch<="9"B)ch>='0'&&ch<='9'
C)'0'≤ch≤'9'D)ch>='0'||ch<='9'
三、编程题(应用条件运算)
2.16输入一个整型成绩x,如果大于等于60分,输出“pass”,否则输出“fail”。
提示:
printf("%s",x>60?
"pass":
"fail");
2.17 输入一个年份y,如果是闰年,输出“yisaleapyear”,否则输出“yisnotaleapyear.”
提示:
printf("%dis%s",y%4==0&&y%100!
=0||y%400==0?
"aleapyear.":
"notaleapyear.");
2.18 输入三条边a,b,c,如果它们能构成一个三角形,输出“Yes”,否则输出“No”。
提示:
printf("%s",a+b>c&&a+c>b&&b+c>a?
"Yes":
"No");
2.19 输入三个数x,y,z,按从小到大的输出结果。
提示:
分别用max0,min0代表最大、最小值,mid0表示中间值。
max0=(x>y?
x:
y)>z?
(x>y?
x:
y):
z;max0=(x x: y) (x x: y): z; mid0=x+y+z-max0-min0; 2.20 输入一个平面上的点坐标,判断它是否落在圆心(0,0),半径为1的圆内,如果在圆内,输出“Yes”,否则输出“No”。 提示: 分别用x,y代表平面上一个点。 printf("%s",x*x+y*y<=0? "Yes": "No"); 2.21自增、自减运算符的用法与运算规则示例。 2.22计算下列表达式。 (1) (2) 提示: 模仿例2.27 2.23字母的大小写转换。 2.24计算圆柱体的体积V=πr2h,其中π=3.14159。 提示: 模仿2.27 2.25输入两个整数,输出其中最大者。 提示: 模仿P29 2.26输入三个整数,输出其中最小者。 提示: min(min(a,b),c); 2.27设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。 用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。 请编程序。 参考源程序: main() {floatr,h,C1,Sa,Sb,Va,Vb; scanf("%f,%f",&r,&h); C1=2*3.14*r; Sa=3.14*r*r; Sb=4*Sa; Va=4*3.14*r*r*r/3; Vb=Sa*h; printf("C1=%.2f\n",C1); printf("Sa=%.2f\nSb=%.2f\nVa=%.2f\nVb=%.2f\n",Sa,Sb,Va,Vb); } 【习题3控制流】 3.1 编程实现,输入一个整数,判断它是否为偶数,并显示相应的信息。 提示: x代表输入的整数,if(x%2==0)printf("\neven");elseprintf("\nodd"); 3.2编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。 提示: x,y代表平面坐标,if(x*x+y*y==1)printf("\nYes");elseprintf("\nNo"); 3.3编程实现,输入一个成绩等级(A-E),显示相应的百分制成绩段。 A: 90-100 B: 80-89 C: 70-79 D: 60-69 E: <60 提示: chargrade; if(grade=='A')printf("\n90-100"); elseif(grade=='B')printf("\n80-89"); .... 3.4写出下面程序的运行结果: #include main() { inta=-1,b=1,c=5; switch(a>0){ case1: switch(b-2<0){ case1: printf("&");break; case2: printf("*");break; } case0: switch(c==5){ case0: printf("! ");break; case1: printf("#");break; default: printf("%%"); } default: printf("@"); } } 运行结果: @ 3.5将以下语句改写成switch语句。 if((t>0)&&(t<=10)) if((t>=3)&&(t<=6))x=2; elseif((t>1)||(t>8))x=3; elsex=1; elsex=0; 提示: intt; if(t<=0||t>10)c=0; elsec=t; switch(t) {case0: x=0;break; case1: case2: x=3; case3: case4: case5: case6: x=2; case7: case8: case9: x=3; case10: x=2; } 3.7编程实现一个具有简单四则运算功能的计算器。 提示: 参照例4.18,随机产生3个数,其中一个数用来判断是哪种运算。 3.8编程实现,输入一行字符,将其中的数字字符对应的整数值加起来并输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 习题 答案