内容正文:
《编程语言基础——C语言》高等教育出版社(第五版)
第二章 基本数据类型与简单程序设计 章节过关卷
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共25小题,每题2分,共50分)
1.下列不是C语言数据类型的是( )
A.char B.short C.integer D.float
答案:C
2.C语言中最基本的数据类型是( )
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、逻辑型、字符型
D.实型、逻辑型、字符型
答案:B
3.以下程序段的运行结果是( )
int a=0x41;
char c;
c=a;
printf(“%d%c”,c,c);
A.65,A B.66,B C.48,0 D.49,1
答案: A
4.以下程序段的运行结果是( )
int n=290; char c;
c=n;
printf(“c=%d
”,c);
A.c=290 B.c=34 C.c=137 D.68
答案: C
5.若a,b,c,d都是int型变量切初值为0,以下选项中不正确的赋值语句是( )
A.a=b=c=100; B.d=d+1; C.c+b; D.d=(c=22)-(b++);
答案: C
6.下列关于强制类型转换表示正确的是( )
A.float (x) B.(float)x C.int(x+y) D.int x
答案: B
7.以下程序段的运行结果是( )
char k=67; printf(“%x,%o,%c
”,k,k,k);
A.43,103,C B.44,103,C C.43,102,C D.43,103,D
答案: A
8.int a;float b;scanf(“a=%d,b=%f”,&a,&b);,欲将2和2.5分别赋给a和b,正确的输入方法是( )
A.2 2.5 B.2,2.5 C.a=2,b=2.5 D.a=2 b=2.5
答案: C
9.若有程序段
char a,b,c;
scanf(“%c%c%c”,&a,&b,&c);
printf(“%c%c%c”,a,b,c);
若从键盘上输入1 2 3(中间是空格),该程序的执行结果是( )
A.1 2 B.123 C.2 3 D.不确定的值
答案: A
10.int i=10,j=1;
printf("%d,%d
",i--,++j);,则输出结果为( )
A.9,2 B.10,2 C.9,1 D.10,1
答案: B
11.int a=12,b=12;
printf("%d %d
",--a,++b);,则输出结果为( )
A.10 10 B.11 10 C.11 13 D.10,1
答案: D
12.以下选项中,与k=n++完全等价的表达式是( )
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1
答案: A
13.设int x=011;printf("%d
",++x);后输出的结果是( )
A.8 B.9 C.10 D.11
答案: C
14.设int a=010,b=10;则语句printf("%d,%d
",a++,--b);的结果是( )
A.8 9 B.8,9 C.8 10 D.8,10
答案: B
15.设int x=14;则表达式x++%-5的值是( )
A.3 B.4 C.5 D.6
答案: B
16.int a=0;
a+=8;
printf("%d
",a);,则输出的结果应该是( )
A.6 B.7 C.8 D.9
答案: C
17.int a=3;
a+=a-=a*a;
printf("%d
",a);则输出的结果应该是( )
A.-11 B.-12 C.11 D.12
答案: B
18.设int a=37;,则执行语句a+=a%=9;后,变量a的值为( )
A.0 B.1 C.2 D.3
答案: C
19.设j=5;,则执行语句j+=j-=j*j;后,变量j的值为( )
A.40 B.41 C.-40 D.-41
答案: C
20.设int a=2;,则执行a+=a*15后,变量a的值为( )
A.31 B.32 C.33 D.34
答案: B
21.执行语句y=0;x=y++;后的变量x的值为( )
A.0 B.1 C.2 D.3
答案: A
22.设int a,b;表达式a=2,b=5,b++,则a+b的值为( )
A.6 B.7 C.8 D.9
答案: C
23.若定义了int a=1;则执行printf(“%d
”,((a=a+4,a+5),a+6));,则语句的输出结果是( )
A.9 B.10 C.11 D.12
答案: C
24.设int a,b,c;则执行a=(b=3,c=5,b=10);变量a的值为( )
A.9 B.10 C.11 D.12
答案: B
25.设x和y为double型变量,则表达式x=2,y=x+3/2的值为( )
A.3 B.3.000000 C.4 D.4.000000
答案: B
二、简答题(本题共5小题,每题6分,共30分)
26. 以下程序的输出结果是【 】。
#include<stdio.h>
main(){
int k=2;i=2;m;
m=(k+=i*k);
printf(“%d,%d
”,m,i);}
答案:6,4
27. 以下程序的运行结果是【 】。
#include<stdio.h>
main(){
int a =1234;
printf(“a=%2d
”,a);}
答案:1234
28. 以下程序的运行结果是【 】。
#include<stdio.h>
int a=1,b=2;
printf(“%d
”,(a,b));
printf(“%d
”,a,b);
答案:2
1
29. 以下程序的运行结果是【 】。
#include<stdio.h>
main(){
int a=666,b=888;
printf(“%d
”,a,b);}
答案:666
30. 以下程序的运行结果是【 】。
#include<stdio.h>
main(){
int a,b=322,c=65;
float d;
char c1=’a’,c2;
a=c1;
d=b;
c2=c;
printf(“%d,%f,%c”,a,d,c2);}
答案:97,322.000000,A
三、案例分析题(本题共2小题,共20分)
31.编写程序,输入3个字符,然后按输入的顺序输出这三个字符,,并依次输出它们的代码值(ASCII码),最后再按与输入字符相反的次序输出这三个字符。
【参考程序】
#include <stdio.h>
main() {
char ch1, ch2, ch3;
printf("请输入三个字符:");
scanf("%c%c%c", &ch1, &ch2, &ch3);
printf("输入的字符顺序为:%c,%c,%c
", ch1, ch2, ch3);
printf("输入的字符的 ASCII码为:%d,%d,%d
", ch1, ch2, ch3);
printf("输入的字符相反次序顺序为:%c,%c,%c
", ch3, ch2, ch1);
}
32.编写程序,已知三角形的三边a、b、c,求三角形面积的公式为: ,
其中, 。写一程序输入a、b、c的值,计算并输出s的值。
【参考程序】
#include <stdio.h>
#include <math.h>
main() {
float a, b, c, s, p;
printf("请输入三角形的三个边:");
scanf("%f%f%f", &a, &b, &c);
if (!(a + b > c && b + c > a && a + c > b))
printf("不能构成三角形!");
else {
p = (a + b + c) / 2.0;
s = sqrt(p * (p - a) * (p - b) * (p - c));
printf("面积为%f", s);
} }
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
《编程语言基础——C语言》高等教育出版社(第五版)
第二章 基本数据类型与简单程序设计 章节过关卷
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共25小题,每题2分,共50分)
1.下列不是C语言数据类型的是( )
A.char B.short C.integer D.float
2.C语言中最基本的数据类型是( )
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、逻辑型、字符型
D.实型、逻辑型、字符型
3.以下程序段的运行结果是( )
int a=0x41;
char c;
c=a;
printf(“%d%c”,c,c);
A.65,A B.66,B C.48,0 D.49,1
4.以下程序段的运行结果是( )
int n=290; char c;
c=n;
printf(“c=%d
”,c);
A.c=290 B.c=34 C.c=137 D.68
5.若a,b,c,d都是int型变量切初值为0,以下选项中不正确的赋值语句是( )
A.a=b=c=100; B.d=d+1; C.c+b; D.d=(c=22)-(b++);
6.下列关于强制类型转换表示正确的是( )
A.float (x) B.(float)x C.int(x+y) D.int x
7.以下程序段的运行结果是( )
char k=67; printf(“%x,%o,%c
”,k,k,k);
A.43,103,C B.44,103,C C.43,102,C D.43,103,D
8.int a;float b;scanf(“a=%d,b=%f”,&a,&b);,欲将2和2.5分别赋给a和b,正确的输入方法是( )
A.2 2.5 B.2,2.5 C.a=2,b=2.5 D.a=2 b=2.5
9.若有程序段
char a,b,c;
scanf(“%c%c%c”,&a,&b,&c);
printf(“%c%c%c”,a,b,c);
若从键盘上输入1 2 3(中间是空格),该程序的执行结果是( )
A.1 2 B.123 C.2 3 D.不确定的值
10.int i=10,j=1;
printf("%d,%d
",i--,++j);,则输出结果为( )
A.9,2 B.10,2 C.9,1 D.10,1
11.int a=12,b=12;
printf("%d %d
",--a,++b);,则输出结果为( )
A.10 10 B.11 10 C.11 13 D.10,1
12.以下选项中,与k=n++完全等价的表达式是( )
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1
13.设int x=011;printf("%d
",++x);后输出的结果是( )
A.8 B.9 C.10 D.11
14.设int a=010,b=10;则语句printf("%d,%d
",a++,--b);的结果是( )
A.8 9 B.8,9 C.8 10 D.8,10
15.设int x=14;则表达式x++%-5的值是( )
A.3 B.4 C.5 D.6
16.int a=0;
a+=8;
printf("%d
",a);,则输出的结果应该是( )
A.6 B.7 C.8 D.9
17.int a=3;
a+=a-=a*a;
printf("%d
",a);则输出的结果应该是( )
A.-11 B.-12 C.11 D.12
18.设int a=37;,则执行语句a+=a%=9;后,变量a的值为( )
A.0 B.1 C.2 D.3
19.设j=5;,则执行语句j+=j-=j*j;后,变量j的值为( )
A.40 B.41 C.-40 D.-41
20.设int a=2;,则执行a+=a*15后,变量a的值为( )
A.31 B.32 C.33 D.34
21.执行语句y=0;x=y++;后的变量x的值为( )
A.0 B.1 C.2 D.3
22.设int a,b;表达式a=2,b=5,b++,则a+b的值为( )
A.6 B.7 C.8 D.9
23.若定义了int a=1;则执行printf(“%d
”,((a=a+4,a+5),a+6));,则语句的输出结果是( )
A.9 B.10 C.11 D.12
24.设int a,b,c;则执行a=(b=3,c=5,b=10);变量a的值为( )
A.9 B.10 C.11 D.12
25.设x和y为double型变量,则表达式x=2,y=x+3/2的值为( )
A.3 B.3.000000 C.4 D.4.000000
二、简答题(本题共5小题,每题6分,共30分)
26. 以下程序的输出结果是【 】。
#include<stdio.h>
main(){
int k=2;i=2;m;
m=(k+=i*k);
printf(“%d,%d
”,m,i);}
27. 以下程序的运行结果是【 】。
#include<stdio.h>
main(){
int a =1234;
printf(“a=%2d
”,a);}
28. 以下程序的运行结果是【 】。
#include<stdio.h>
int a=1,b=2;
printf(“%d
”,(a,b));
printf(“%d
”,a,b);
29. 以下程序的运行结果是【 】。
#include<stdio.h>
main(){
int a=666,b=888;
printf(“%d
”,a,b);}
30. 以下程序的运行结果是【 】。
#include<stdio.h>
main(){
int a,b=322,c=65;
float d;
char c1=’a’,c2;
a=c1;
d=b;
c2=c;
printf(“%d,%f,%c”,a,d,c2);}
三、案例分析题(本题共2小题,共20分)
31.编写程序,输入3个字符,然后按输入的顺序输出这三个字符,,并依次输出它们的代码值(ASCII码),最后再按与输入字符相反的次序输出这三个字符。
32.编写程序,已知三角形的三边a、b、c,求三角形面积的公式为: ,
其中, 。写一程序输入a、b、c的值,计算并输出s的值。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$