大一c语言复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)项目二数据类型、运算符和表达式
选择题:
1. 不合法的C语言整型
A. –012
B. 0x35
C. 123L
D. 8E2
2. 不合法的C语言实型
A. E3(E前后都要有数,E后要整数)
B. .123
C. –6.2E4
D. 5.0
3. 不合法的C
A. ´2´
B. ´\101´
C. ´AB´
D. ´\n´
4.
A) W P_0 do
B) b-a goto int (前者使用减号,后两者是关键字)
C) float la0 _A
D) -123 abc TEMP
5.
A) ‘\”’‘\\’‘\n’
B) ‘\’‘\017’‘\”’
C) ‘\018’‘\f’‘xab’
D) ‘\\0’‘\101’‘xlf’
6. 定义三个变量a、b、c,并分别赋初值为5
A. int a=b=c=5;(变量声明不能连续赋值,赋值语句中可以连续赋值)
B. int a,b,c=5;
C. int a=5,b=5,c=5;
D. int a=5;b=5;c=5;
7. 若x,y,t均为int类型,则执行语句x=y=3;t=++x||++y;后,y
A. 不定值
B. 4
C. 1
D. 3
8.若x、i、j、k都是int型变量,则计算下面表达式后,x
x=(i=4,j=16,k=32) (x值为最后变量的值)
A) 4 B) 16 C) 32 D) 52
9.设有说明:char w; int x; float y; double z;则表达式w*x+z-y
A) float B) char C) int D) double
10.设以下变量均为int类型,则值不等于7
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)
填空题:
1.若有定义int m=5,y=2;,则计算表达式y+=y-=m*=y后的y
2.若s是int型变量,且s=6,则表达式s%2+(s+1)%2
3. 若a是int型变量,则表达式(a=4*5,a*2),a+6
4.若x和a均是int型变量,则计算表达式x=(a=4,6*2)后的x
计算表达式x=a=4,6*2后的x
5. 若a是int型变量,则计算表达式a=25/3%3后a
6.若x和n均是int型变量,且x和n的初值均为5,
则计算表达式x+=n++后x n
7. 若有定义:char c=‘\010’;则变量c
8.若有定义:int x=3,y=2;float a=2.5,b=3.5;
(x+y)%2+(int)a/(int)b
9. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,
则表达式ch=‘a’+‘8’-‘3
阅读题:(写出程序运行结果)
1. #include
main()
{ int x=97; char y=’b’;
printf(“%c,%d ”, x, y) ;
}
a,98
2. #include
main()
{ int x=6;
x+=x-=x*x ;
printf(“x=%d\n”, x) ;
}
x=-60
3. #include
main()
{ int x;
(x=4*5,x*5),x+25;
printf(“x=%d\n”, x) ;
}
x=20
4. #include
main()
{ int i=1,j;
j= -i++;
printf(“%d\n”, j) ;
}
-1
编程题:(顺序结构编程)
1. 输入华氏温度,输出摄氏温度。C=5/9*(F-32)
4. 从键盘输入学生的三门考试成绩,计算并输出平均成绩。
(二)项目三C语言程序控制结构
选择题:
1、下列for循环的循环次数是(无限次)。
int i=0,j;
for (j=10;i=j=10;i++,j--)printf(”ok”);
2、下列for循环的循环次数是( B )。
int i=0,j=0;
for(;!j&&i<=5;i++)j++;
A.5次B.1次 C.无限 D.6次
3、语句for(i=0,j=0;i<=100;i++)j=j+i;运行后j的值为( D )。
A、500
B、100
C、5000
D、5050
4、有以下程序:
#include
main()
{char c;
while((c=getchar())!='?') putchar(--c); }
程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为( D )
A、 Y
B、 XY
C、 YX
D、 X
5.下面的程序段执行时,若从键盘输入5,则输出为( D )。
int a;
scanf(”%d”,&a);
if (a-->5)printf(”%d\n”,a++);else printf(”%d\n”,a); A.7 B.6 C.5 D.4
6.若int a=5;则执行下列语句后打印的结果为( A )。
do
{printf (“%2d\n”, a--);
} while (!a);
A.5 B.不打印任何结果 C.4 D.陷入死循环
7.语句for(i=0,j=0;i<=100;i++)j=j+i;运行后j的值为( D )。
A.500 B.100 C.5000 D.5050
8.下面程序段的运行结果是___D_______.
int n=0;
while(n++<=2);printf("%d",n);
a)2 b)3 c)4 d)有语法错