18.为了表示关系x>=y>=z,应使用C语言表达式______。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
19.下面程序的输出结果是______。
(参考代码:
XT_03_01_19.C)
intmain(){
intx,y,z;
x=y=1;
z=x++-1;
printf("%d%d",x,z);
z+=-x+++(++y||++z);
printf("%d%d",x,z);
}
A)203-1B)2130C)2021D)2101
20.下面程序的输出结果是______。
(参考代码:
XT_03_01_20.C)
intmain(){
intx=40,y=4,z=4;
x=y==z;
printf("%d",x);
x=x==(y-z);
printf("%d",x);
}
A)40B)41C)11D)10
21.若x=3,y=z=4,则下列表达式的值分别为______。
(参考代码:
XT_03_01_21.C)
(1)(z>=y>=x)?
1:
0
(2)z>=y&&y>=x
A)01B)11C)00D)10
22.若x=3,y=z=4,则下列表达式的值分别为______。
(参考代码:
XT_03_01_22.C)
(1)(z>=y<=x)?
1:
0
(2)(y+=z,x*=y)
A)024B)124C)08D)112
二、填空题
01.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为________。
02.若a是int变量,则执行表达式a=25/3%3后,a的值是________。
03.设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为________。
04.设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值为________。
05.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为________。
06.已知:
chara='a',b='b',c='c';inti;则表达式i=a+b+c的值为________。
07.若有定义:
inta=8,b=5,c;执行语句c=a/b+0.4;后,c的值为________。
08.当a=3,b=4,c=5时,写出下列各式的值。
a
=c的值为___,
a&&b的值为___,!
a&&b的值为___,a||c的值为___,!
a||c的值为___,
a+b>c&&b==c的值为___。
09.整型变量a的值是5,表达式a/=a+a;的值应为________。
10.已知a=3,b=4,c=5,逻辑表达式a||b+c&&b-c的值应为________,逻辑表达式!
(a>b)&&!
c||1的值应为________。
11.已知:
inta=5;则执行a+=a-=a*a;语句后,a的值为________。
三、判断题
01.在C程序中对所有变量数据都必须明确指定其数据类型。
02.任何一个变量在内存中只占据一个存储单元,也就是一个字节。
03.一个实型变量的值肯定是精确无误的。
04.对几个变量在定义时赋相同初值可以写成:
inta=b=c=3;
05.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。
06.在C程序的表达式中,为了明确表达式的运算次序,常使用括号。
07.%运算符要求运算数必须是整数。
08.若a是实型变量,C程序中允许赋值a=10,此时实型变量a中实际存放的是整型数。
09.在C程序中,逗号运算符的优先级最低。
10.C语言不允许不同类型数据间进行混合运算。
四、写程序运行结果
01.写出下面程序的执行结果。
(参考代码:
XT_03_04_01.C)
#include
intmain(){
intk=10;
floata=3.5,b=6.7,c;
c=a+k%3*(int)(a+b)%2/4;
printf("%f",c);
return0;
}
02.写出下面程序的执行结果。
(参考代码:
XT_03_04_02.C)
#include
intmain(){
floatx=4.9;inty;
y=(int)x;
printf("x=%lf,y=%d",x,y);
return0;
}
03.写出下面程序的执行结果。
(参考代码:
XT_03_04_03.C)
#include
intmain(){
inta=5,b=4,c=6,d;
printf("%d\n",d=a>b?
(a>c?
a:
c):
(b));
return0;
}
04.写出下面程序的执行结果。
(参考代码:
XT_03_04_04.C)
#include
intmain(){
inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
return0;
}
05.写出下面程序的执行结果。
(参考代码:
XT_03_04_05.C)
#include
intmain(){
intx=1,y=1,z=1;
y=y+z;
x=x+y;
printf("%d",xy:
x);
printf("%d",x>y?
x++:
y++);
printf("%d",x);
printf("%d",y);
return0;
}
06.写出下面程序的执行结果。
(参考代码:
XT_03_04_06.C)
#include
intmain(){
doublex;
inty;
x=4.9;y=(int)x+2.3;printf("%d",y);
x=4.9;y=(int)(x+2.3);printf("%d",y);
return0;
}
07.写出下面程序的执行结果。
(参考代码:
XT_03_04_07.C)
#include
intmain(){
inti,j,m,n;
i=8;j=10;m=++i;n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
i=8;j=10;m=i+++++j;n=++j;
printf("%d,%d,%d,%d\n",i,j,m,n);
return0;
}
习题4
一、选择题
01.阅读图01所示的程序框图,则输出的S=_____。
A)14B)20C)30D)55
02.阅读图02所示的程序框图,输出的结果是______。
A)1B)2C)3D)4
图01图02图03
03.某程序框图如图03所示,则该程序运行后输出的B等于______。
A.15B.29C.31D.63
二、简答题
01.什么是算法,请举例设计一个算法。
02.请叙述算法都有哪些特性。
03.请叙述什么是结构化程序设计以及结构化程序设计中都有哪些程序结构。
二、算法设计题
01.设计算法求1+2+3+…+N的和。
02.已知两个自然数M和N,请设计算法输出它们的最小公倍数。
03.已知一个自然数N,请设计算法输出它所有真约数的和。
04.输入一个正整数,输出其所有正真约数,写出算法。
05.输入一个正整数N(N>2),输出Fibonacci数列的前N项的值,写出算法。
06.输入一个十进制正整数N,要求将其所有数字逆序输出,写出算法。
三、画流程图
01.请给第二题中你所设计的所有算法画出程序流程图。
02.请读者自行设计问题,并给出算法和流程图。
习题5
一、单项选择题
01.C语言的程序在编写源文件时,______。
A)一行只能写一个语句B)一个语句只能写在一行
C)一个语句可以写在多行D)语句可以在任意处断开写在多行
02.putchar()函数可以向终端输出一个______。
A)整型变量值B)实型变量值C)字符串D)字符
03.下列程序段在DEVCPP5.11中的输出结果是______。
(参考代码:
XT_05_01_03.C)
unsignedinta=4294967295;//此值为无符号int型最大值
printf("%d",a);
A)4294967295B)-1C)-2147483648D)1
04.执行下列程序片段时输出结果是。
(参考代码:
XT_05_01_04.C)
floatx=-1023.012;
printf("%8.3f,",x);
printf("%10.2f",x);
A)1023.012,-1023.012B)-1023.012,-1023.01
C)1023.012,-1023.012D)-1023.012,-1023.012
05.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是______。
(参考代码:
XT_05_01_05.C)
inta1,a2;charc1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A)10A20↙B↙B)10A