c语言顺序结构和选择结构练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言循环结构前的练习
一、选择题:(2’*25=50)
1、以下程序的输出结果为( C )
# include “stdio.h”
main()
{ int i=4,a;
a=i++;
printf(“a=%d,i=%d”,a,i);
}
A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=5
2、以下叙述中正确的是( C )。
A)C语言程序总是从第一个定义的函数开始执行。
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行。
D)C语言程序中的main()函数必须放在程序的开始部分。
3、下列选项中不正确的实型常量是( B )
A)7.375E-1 B)0.3108e 2 C)-44.44 D)123e-2
4、在C程序中,可以作为用户标识符的一组标识符是( B )
A)void define B)as_b3 _224 Else
C)Switch -wer case D)4b DO SIG
5、 int类型变量所占字节数是( D )
A)1 B)2 C)3 D)4
6、以下选项中合法的用户标识符是( B )。
A)long B) _2test C)3dmax D) a.dat
7、以下有4组用户标识符,其中合法的一组是( C )。
A) for –sub case B) 4d do size
C) f2_g3 If abc D) WORD void define
8、经char w; int x; float y; double z;说明后表达式 w*x+z-y的类型是( D )。
A) float B) char C) int D) double
9、下述程序的输出结果是( C )
main()
{ int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf(“%d,%d,%d”,k,a,b);
}
A)0,0,3 B)0,1,2 C)1,0,3 D)1,1,2 10、定义int n=5;下面语句的输出结果为( B )。
printf(n%2 ? “AAA”:”BBB”);
A)无输出 B)AAA C)BBB D)AAABBB 11、经int a=7; float x=2.5, y=4.7;说明后,表达式 x+a%3*(int)(x+y)%2/4 的值是( A )。
A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000
12、4.若变量已正确说明为float类型,要通过输入语句:scanf(“%f %f %f “,&a,&b,&c);给a赋予10.0 ,b赋予22.0 ,c赋予33.0 以下不正确的输入形式是( B )
A)10 B)10.0,22.0,33.0
22
33
C)10.0 D)10 22
22.0 33.0 33
13、不合法的八进制数是( B )
A) 0 B) 028 C) 077 D)01
14、若变量c定义为float 类型,当从终端输入283.1900回车,能给变量c赋以283.19的输入语句是( D )
A)scanf( “%f ”,c ); B)scanf (“%8.4f ”,&c );
C)scanf( “%6.2f ” ,&c); D)scanf ( “%8f ”, &c);
15、以下程序运行后的输出结果是( A )。
main()
{
int a=15,b=21,m=0;
switch(a%3)
{
case 0:m++;break;
case 1:m++;break;
switch(b%2)
{default:m++;
case 0:m++;break;
}
}
printf("%d\n",m);
}
A)1 B) 2 C) 3 D) 4
16、若有以下定义语句:
int u=010,v=0x10,w=10;
printf(“%d,%d,%d\n”,u,v,w);
则输出结果是( A )
A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10
17、若有定义: int x=3, y=2; float a=2.5, b=3.5; 则表达式(x+y)%2+(int)a/(int)b的值是( D )。
A) 0 B) 2 C) 1.5 D) 1
18、数字字符0的ASCII值为48,若有以下程序,程序运行后的输出结果是( C )
main()
{
char a='1',b='2';
printf("%c,",b++);
printf("%d",b-a);
}
A)3,2 B)50,2 C)2,2 D)2,50
19、设ch是char型变量, 其值为‘A’, 则表达式ch=(ch>=‘A’&& ch<=‘Z’)? (ch+32): ch 的值是( B )。
A) Z B) a C) z D) A
20、表达式5!=3的值是( D )。
A) T B) 非零值 C) 0 D) 1
21、若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是(D)
A) read(a,b,c); B) scanf(“%d%d%d”,a,b,c);
C) scanf(“%D%D%D”,&a,%b,%c); D) scanf(“%d%d%d”,&a,&b,&c);
22、为表示关系y在闭区间【x,z】内,应使用的C语言表达式是( A )。
A) (x<=y)&&(y<=z) B)(x<=y)AND(y<=z)
C) x<=y<=z D)(x<=y)&(y<=z)
23、设有以下语句:int x=10; x+= 3 + x%3; 则x的值是( A )。
A) 14 B) 15 C) 11 D) 12
24、假设变量均已定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋值10和20,为变量c1和c2赋值X和Y。
以下所示的输入形式正确的是( D )。
A) 10 X 20 Y B)10 X20 Y
C) 10 X D)10X
20 Y 20Y
25、在C语言中,要求参加运算的数必须是整数的运算符是( A )
A)% B)/ C)! D)*
二、填空题:(1’*10=10)
1、每个C语句必须以; 号结束。
2、开发一个C程序,一般要经过编辑、编译、链接、运行四步。
3、已知数学表达式y=x²-2x+5,写出对应的C语言表达式y=pow(x,2)-2*x+5 。
4、若i为int 整型变量且赋值为8,则运算i++后表达式的值是8,变量i的值是9。
5、若已知a=10,b=20,则!a<b的值为 1 。
6、若a是int 型变量,则执行表达式a=25/3%3后a 的值为2。
7、用户标识符不能以数字开头,也不能和关键字相同。
8、一个char类型在内存中所占字节数为 1 。
三、阅读下列程序,写成程序输出的结果或者填入空缺。
(每空2分,共计20分)
1、以下程序运行后的输出结果是 25 21 37 。
#include "stdio.h"
main()
int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d\n",a,b,c);
}
2、已知字母‘A’的十进制ASCII代码值为65,下面程序段的输出是67,D 。
char ch1, ch2;
ch1=‘A’+‘5’-‘3’;
ch2=‘A’+‘6’-‘3’;
printf("%d,%c\n",ch1,ch2);
3、定义 int a=12,语句 printf("%d,%d\n",--a,a++);的输出结果是 11,
12 。
4、以下程序运行后的输出结果是 a=14
#include "stdio.h"
main()
{
int a=10;
a=(3*5,a+4);
printf("a=%d",a);
}
5、写成下列程序的运行结果 n=30
main()
{
int n=5;
n+=n*=3;
printf("n=%d\n",n);}
6、若执行以下程序时从键盘上输入9,则输出结果是 10 。
main()
{
int n;
scanf(“%d”,&n);
if(n++<10) printf(“%d\n”,n);
else printf(“%d\n”,n--);
}
7、写出以下程序的输出结果20,0 。
main()
{
int x=10,y=20,t=0;
if(x==y)
t=x;x=y;y=t;
printf("%d,%d\n",x,y);
8、写出以下程序的输出结果 3 3 。
main ( )
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2); }
9、若运行时输入100↙,写出以下程序的运行结果 Yes 。
main ( )
{ int a ;
scanf(“%d”,&a);
printf(“%s”,(a%2!=0)?”No”:”Yes”);}
10、以下程序的输出结果是 2 1 。
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
}
printf(“%d %d\n”,a,b);
}
五、编程题(每题10分)
1、编写一个简单的C程序介绍,输出以下信息:
* * * * * * * * * * * * * * * * * * * * * * * * * * *
Welcome to C Programme
* * * * * * * * * * * * * * * * * * * * * * * * * * *
2、通过键盘输入任意一个成绩,成绩大于90的输出“优秀”,成绩在80到89之间的输出“良好”,成绩在60到79之间输出“及格”,否则输出“不及格”。