习题答案
模块1 C语言基础知识
1. 选择题
(1)C语言中运算对象必须是整型的运算符是(B )。
A%= B. / C. = D. <=
(2)以下所列的C语言常数中,错误的是(B )。
A0xFF B. 1.2E0.5 C. 2L D. -.67
(3)以下选项中能作为用户标识符的是( )。
Avoid B. 7_9 C. _3_ D. Dr.Tom
(4)以下所列的C语言字符常量中,合法的是( )。
A”B” B. ’\n’ C. ’中国’ Dd
(5)以下选项中正确的定义语句是( )。
Aint a:b; B. int ,a,b; C. int a+b=6; D. int a=6,b;
(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( )。
A均占4个字节 B根据数据的大小来决定所占内存的字节数
C由用户自己定义 D由C语言编译系统决定
(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( )。
A-20 B. -10 C. 0 D. 10
(8)表达式a=3*5,a+4),a+5)的值是( )。
A20 B. 29 C. 60 D. 90
(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( )。
Aa&&b B. a<=b C. a||b+c&&b-c D. !((a
(10)设有以下定义int i;char c;float f;,以下结果为整型的表达式是( )。
Ai+f B. i*c C. c+f D. i+c+f
2. 填空题
(1)设有int n=12则表达式(n++*1/3)的值是 。(2)定义以下变量char c;int x;float y;double z;,则表达式*x+y-z,所求得的数据类型为double 。(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式 。(4)若有语句double;int y;,当执行y=(int)(x/5)%2;之后y的值是 。(5)若有语句double y=3.6;则执行完++y;语句后,(++y)表达式的值 ,变量y的值是 。(6)代数式-2ab+40-4ac改写成C语言的表达式是 。(7)在计算机中,字符的比较是对它们的进行比较。(8)已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=′a′+′8′-′3′的值为 3. 分析下列程序的运行结果
(1)#include
void main( )
{
int a=21,b=11;
printf("%dn",--a+b,--b+a);
}
程序的运行结果(2)#include
void main( )
{
printf ("\nABC\tDE\nFGH\n");
printf ("\nwhy is 31+31 equal to %d?\n\n,21+31");
}程序的运行结果(3)#include< stdio.h >
void main( )
{
char ch=65;
printf("%c\n",ch);
}程序的运行结果(4)#include< stdio.h >
void main( ){
int x=10,y=20,z=30;
z=x!=y;
printf("%d\n",z);
}
程序的运行结果(5)#include< stdio.h >
void main( )
{
int x=10;
printf("%d\n",(x%3==0));
}程序的运行结果(6)#include< stdio.h >
void main( )
{
int k=4,a=3,b=2,c=1;
printf("%d\n" (k
}
程序的运行结果模块2 顺序结构1. 程序填空题
(1)要得到下列输出结果:
请按要求填空,补充以下程序:
#include
void main( )