《C语言编程基础》习题答案Word格式文档下载.docx
《《C语言编程基础》习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《C语言编程基础》习题答案Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
如:
inta,b;
a=1;
b=2;
printf("
%d"
a+b);
4、分析下列程序,写出运行结果。
⑴该程序是计算两个整数a和b的乘积并赋值给c,运行结果为:
c=30
⑵该程序输出一个字符串和一排星号,运行结果为:
Hello!
*****************
五、编程题。
⑴按题目要求,编写输出固定信息的程序如下:
main()
{
pt();
printf("
Welcome!
"
);
}
pt()
*****************"
⑵按题目要求,编写输入数据输出其表达式的程序如下:
inta,b,c;
scanf("
&
a);
scanf("
b);
c=a*b+10;
c=%d"
c);
习题二
一、单项选择题。
⑴C语言中的变量名只能由字母、数字和下划线组成,且第一个字符_C_。
⑵合法的常量是__D___。
⑶C语言中的大体数据类型所占存储空间长度的顺序是__D___。
⑷下列符号串中与相同的合法常量是__C___。
二、填空。
⑴C语言中的大体数据类型包括____整型(int)_、____浮点型(flot)__和_字符型(char)_三种。
⑵整型常数有_十进制整数_、_八进制整数_和_十六进制整数_三种表示形式;
整型变量可分为四类:
_一样整型(int)_、_短整型(short)_、_长整型(long)_、_无符号型_。
其中_无符号型_又可分为_无符号整型(unsignedint)、_无符号短整型(unsignedshort)和_无符号长整型(unsignedlong)_3种。
⑶有10个用指数形式表示的符点常数:
请指出合法的有___③④⑥⑧⑩___。
⑷在C中,没有专为存贮字符串的变量,但能够用__字符型数组__或__字符型指针变量_存贮字符串。
其概念格式为_charstr[6];
_和_char*a;
_。
⑸数据类型混合运算时,要进行同型转换,转换方式分为__自动转换(隐式转换)__和__强制转换(显式转换)__两种。
3、写出下列程序运行结果。
⑴215/9=23…8
⑵97b
⑶
4、编写程序。
⑴按题目要求编写求三个已知数的乘积,程序如下:
inta,b,c;
a=19;
b=22;
c=650;
a*b*c=%d\n"
a*b*c);
⑵按题目要求,编写将值整数化后赋值的程序如下:
inta1,a2;
floatb,c;
b=;
c=;
a1=(int)(b*c);
a2=(int)c%(int)b;
a1=%d;
a2=%d\n"
a1,a2);
⑶按题目要求,编写计算圆周长、面积和圆柱体积的程序如下:
intr,h,c,s,v;
r=15;
h=3;
c=2**15;
s=*r*r;
v=s*h;
c=%d,s=%d,v=%d\n"
c,s,v);
习题三
⑴设有intx=11;
则表达式(x++*1/3)的值是_____3____。
⑵已知数学表达式y=x²
-2x+5,写出对应的C语言表达式_y=x*x-2*x+5_。
⑶已知a=10,则表达式x=(a=a+b,a-b)的值为__x=10__。
⑴在C语言中,下列运算符的操作数必需是int类型的运算符是(D)。
⑵假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为(A)。
⑶已概念intm=6,n=5;
,则执行m%=n-1;
以后,m的值是(B)。
⑷已有inta=1,b=1;
则执行b=(a=2*3,a*5),a+7以后,a,b的值是(B)。
⑸已有intx=2,y=1;
则执行x++==y--;
的结果是(D)。
3、求下面算术表达式的值。
⑴
⑵
⑴注意,在C语言中,因为函数挪用中参数按从右到左的顺序求值,因此该程序执行打印输出的结果为:
311
⑵该程序在计算条件表达式的值赋给a时,其x值已为6,y值已为7,因此运行结果为:
a=7,b=0,c=6
⑶该程序利用运算符与结合性的优先级不同,而取得a与b的值。
(因为该题利用了逻辑运算符,可在学了第5章以后再详细分析)运行结果如下:
a=2,b=1
⑷该程序应用复合的赋值运算符和从右至左结合性的运算规则,求取n的值,运行结果如下:
n=28
⑸该程序在执行语句“y=x++-1;
”时,y为0而x在执行后变成2;
在执行语句“z=--y+1;
”时,z为0而y便成了-1。
运行结果如下:
x=2,y=-1,z=0
5、编程题。
⑴用符号常量编写简单计算程序如下(复杂应用应在第9章学习后再做):
#defineN12
#defineM25
floatc;
N+M=%d\n"
N+M);
N-M=%d\n"
N-M);
N*M=%d\n"
N*M);
c=(float)N/M;
N/M=%f\n"
⑵查看i++与++j运算结果不同的程序,编写如下:
inti=20,j=20;
i++:
%d\n++j:
%d\n"
i++,++j);
⑶查看m--与--n运算结果不同的程序,编写如下:
intm=20,n=20;
m--:
%d\n--n:
m--,--n);
习题四
⑴下列叙述不正确的是__B__。
⑵当输入数据为时,下面程序运行的结果是__C___。
⑶putchar函数能够向终端输出一个__D___。
⑷按格式输出的格式符__C__。
二、回答问题。
⑴在键盘上输入数据格式如下:
12,24,Aa□□□1□↙
(□代表空格,其中数据1是为了对付%*f占位,↙代表回车)
⑵该题是求输入任意两个整数a与b的和。
若读入a=b=5,其运行结果为:
typeanumberplease!
a=?
5↙
typeanotherplease!
b=?
asumbis10
3、写出下列程序的执行结果。
⑴执行结果:
32767,-32768
47,-48
65535,0
⑵执行结果:
yes,Iamcomputer.
⑶执行结果:
a\b’□□□□□tw
123
⑷执行结果:
,
□□□,
□□,□,,,,
+01,□□□+02
B,66,102,42
7567890,,7a12
11232,25740,2be0,11232
COMPUTER,□□ABC
⑴对输入的大写字母改用小写输出的程序,编写如下:
#include<
>
charc;
输入一个大写字母:
\n"
c=getchar();
putchar(c+32);
⑵计算三门课总成绩等数据的程序,编写如下:
floata,b,c,sum,ave,mod;
输入三门课程的成绩:
%f%f%f"
a,&
b,&
c);
sum=a+b+c;
ave=(a+b+c)/3;
mod=fmod(sum,3);
总成绩=%5.1f,平均成绩=%5.1f,总成绩除3的余值=%3.1f\n"
sum,ave,mod);
⑶已知数据,按输出结果的要求编写输出程序如下:
inta=1,b=2,c=3,g=12345;
floatd=,e=,f=;
longh=123456;
chari='
o'
j='
p'
;
a=%db=%dc=%d\n"
a,b,c);
d=%f,e=%f,f=%f\n"
d,e,f);
d+e=%4.2fe+f=%4.2fd+f=%5.3f\n"
d+e,e+f,d+f);
g=%7dh=%ld\n"
g,h);
i=%cor%d\nj=%cor%d\n"
i,i,j,j);
}
习题五
⑴C语言用__C__表示逻辑量为“假”
⑵要求当A的值为奇数时,表达式的值为“真”;
A的值为偶数时,表达式的值为“假”。
以下不知足要求的表达式是__D__。
⑶在if语句的嵌套中,else老是与__C__配对。
⑷下面对for循环概念描述正确的是__D__。
二、填空题。
⑴switch后面的“表达式”,一样为_整_型或_字符_型表达式;
每一个case的常量表达式的值__不能相同__。
⑵若是不算goto语句组成的循环结构,那么C语言能够构建循环的语句一共有_3_种,别离是__for循环、while循环、do-while循环__。
⑶continue语句与break语句在利历时,有两点要紧的不同:
①它不适用于_switch_语句;
②它跳转时是__跳过循环体中下面的语句从下一次循环开始__。
⑷把下面的两条if分支语句归并成一条if分支语句应该写成:
if(x>
=y)printf(”m=%d\n”,m=2);
elseprintf(”n=%d\n”,n=1);
3、指出以下程序的打印结果。
该程序