内容正文:
专题3:数据的输入与输出
一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。)
1.执行putchar(65);的输出结果是( )
A. 65
B. 'A'
C. "A"
D. 不确定
2.执行scanf("%d", &a);时,若输入12.3,则a的值是( )
A. 12
B. 12.3
C. 0
D. 不确定
3.计算2的3次方需使用的函数是( )
A. sqrt(2, 3)
B. pow(2, 3)
C. abs(2, 3)
D. sin(2)
4.执行int a; a = 3.5;,a的值是( )
A. 3.5
B. 3
C. 4
D. 0
5.以下scanf语句能正确读取字符串的是( )
A. scanf("%s", str);(假设str是字符数组)
B. scanf("%s", &str);(str是字符数组)
C. scanf("%c", str);
D. scanf("%d", str);
6.执行int a = 10; printf("%d", a++);的输出是( )
A. 9
B. 10
C. 11
D. 不确定
7.以下关于赋值语句的说法错误的是( )
A. 赋值语句的作用是将右边表达式的值赋给左边变量
B. 赋值语句可以连续赋值,如a = b = c = 5;
C. 赋值语句中左边必须是变量,不能是表达式
D. 赋值语句的类型转换只能是隐式转换
8.函数printf("%f", 10);的输出结果是( )
A. 10
B. 10.000000
C. 0
D. 不确定
9.执行getchar(); getchar();,若输入ab并回车,第二个getchar()读取的是( )
A. 'a'
B. 'b'
C. '
'
D. 不确定
10.计算double型数的绝对值需使用的函数是( )
A. sqrt()
B. abs()
C. pow()
D. fabs()
11.执行int a = 5; printf("%d", a = 3);的输出是( )
A. 5
B. 3
C. 0
D. 不确定
12.以下printf语句格式错误的是( )
A. printf("Hello %s", "World");
B. printf("%d %c", 65, 'A');
C. printf("%f", 3.14, 2.5);
D. printf("%d", 10);
13.函数scanf("%d%c", &a, &ch);,若输入10A,则a和ch的值是( )
A. 10, 'A'
B. 10, ' '
C. 1, '0A'
D. 不确定
14. 执行double x = 3.14; printf("%.2f", x);的输出是( )
A. 3.14
B. 3.1
C. 3.140000
D. 3
15.以下关于getchar和scanf读取字符的说法正确的是( )
A. getchar只能读取一个字符,scanf的%c也只能读取一个字符
B. getchar会读取换行符,scanf的%c不会
C. getchar和scanf的%c都不会读取换行符
D. getchar不会读取换行符,scanf的%c会
16.函数printf("%d", (int)3.8);的输出是( )
A. 3.8
B. 3
C. 4
D. 不确定
17.执行char ch; scanf("%c", &ch);,若输入
,则ch的值是( )
A. '
'
B. 0
C. \
D. EOF
18.执行scanf("%d%d", &a, &b);,若输入12 34,则a和b的值是( )
A. 12, 34
B. 12, 12
C. 34, 12
D. 不确定
19.以下关于数学函数的说法错误的是( )
A. 使用sqrt函数需要包含头文件math.h
B. pow(2, 3)的结果是8.0
C. abs(-5.5)的结果是5.5
D. fabs(-5.5)的结果是5.5
20.若有定义int a, b;,执行scanf("%*d %d %d", &a, &b);并输入10 20 30后,a和b的值分别是( )
A. 10, 20
B. 20, 30
C. 10, 30
D. 30, 20
二、程序运行结果题。
21.下列程序的运行结果是:____________
#include <stdio.h>
#include <math.h>
int main() {
int a = 2;
double b = 3.0;
a = (int)pow(a, b) + (int)sqrt(10.0);
printf("%d", a);
return 0;
}
22.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a = 123;
printf("%-5d%05d", a, a);
return 0;
}
23.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
num = num * 2;
printf("%d", num);
return 0;
}
输入:5
24.下列程序的运行结果是:____________
#include <stdio.h>
#include <math.h>
int main() {
double x = 4.0, y;
y = sqrt(pow(x, 2) + 9.0);
printf("%.0f", y);
return 0;
}
25.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a = 3;
double b;
b = (a + 2.5) * 2;
a = (int)b;
printf("%d %.1f", a, b);
return 0;
}
26.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a;
char ch1, ch2;
scanf("%d", &a);
ch1 = getchar();
ch2 = getchar();
printf("%d %c %c", a, ch1, ch2);
return 0;
}
输入:10(回车)A(回车)B
27.下列程序的运行结果是:____________
#include <stdio.h>
#include <math.h>
int main() {
double x = 25.678;
printf("%5.1f %08.2f", sqrt(x), pow(2, 3));
return 0;
}
28.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a;
char ch;
scanf("%d%*c%c", &a, &ch);
printf("%d %c", a, ch);
return 0;
}
29.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a = 5, b = 7;
a = b;
b = 10;
printf("%d %d", a, b);
return 0;
}
30.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
char ch = 'C';
printf("%c %d", ch, ch);
return 0;
}
学科网(北京)股份有限公司
$
专题3:数据的输入与输出
一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。)
1.执行putchar(65);的输出结果是( )
A. 65
B. 'A'
C. "A"
D. 不确定
【答案】B
2.执行scanf("%d", &a);时,若输入12.3,则a的值是( )
A. 12
B. 12.3
C. 0
D. 不确定
【答案】A
3.计算2的3次方需使用的函数是( )
A. sqrt(2, 3)
B. pow(2, 3)
C. abs(2, 3)
D. sin(2)
【答案】B
4.执行int a; a = 3.5;,a的值是( )
A. 3.5
B. 3
C. 4
D. 0
【答案】B
5.以下scanf语句能正确读取字符串的是( )
A. scanf("%s", str);(假设str是字符数组)
B. scanf("%s", &str);(str是字符数组)
C. scanf("%c", str);
D. scanf("%d", str);
【答案】A
6.执行int a = 10; printf("%d", a++);的输出是( )
A. 9
B. 10
C. 11
D. 不确定
【答案】B
7.以下关于赋值语句的说法错误的是( )
A. 赋值语句的作用是将右边表达式的值赋给左边变量
B. 赋值语句可以连续赋值,如a = b = c = 5;
C. 赋值语句中左边必须是变量,不能是表达式
D. 赋值语句的类型转换只能是隐式转换
【答案】D
8.函数printf("%f", 10);的输出结果是( )
A. 10
B. 10.000000
C. 0
D. 不确定
【答案】B
9.执行getchar(); getchar();,若输入ab并回车,第二个getchar()读取的是( )
A. 'a'
B. 'b'
C. '
'
D. 不确定
【答案】B
10.计算double型数的绝对值需使用的函数是( )
A. sqrt()
B. abs()
C. pow()
D. fabs()
【答案】D
11.执行int a = 5; printf("%d", a = 3);的输出是( )
A. 5
B. 3
C. 0
D. 不确定
【答案】B
12.以下printf语句格式错误的是( )
A. printf("Hello %s", "World");
B. printf("%d %c", 65, 'A');
C. printf("%f", 3.14, 2.5);
D. printf("%d", 10);
【答案】C
13.函数scanf("%d%c", &a, &ch);,若输入10A,则a和ch的值是( )
A. 10, 'A'
B. 10, ' '
C. 1, '0A'
D. 不确定
【答案】A
14. 执行double x = 3.14; printf("%.2f", x);的输出是( )
A. 3.14
B. 3.1
C. 3.140000
D. 3
【答案】A
15.以下关于getchar和scanf读取字符的说法正确的是( )
A. getchar只能读取一个字符,scanf的%c也只能读取一个字符
B. getchar会读取换行符,scanf的%c不会
C. getchar和scanf的%c都不会读取换行符
D. getchar不会读取换行符,scanf的%c会
【答案】A
16.函数printf("%d", (int)3.8);的输出是( )
A. 3.8
B. 3
C. 4
D. 不确定
【答案】B
17.执行char ch; scanf("%c", &ch);,若输入
,则ch的值是( )
A. '
'
B. 0
C. \
D. EOF
【答案】A
18.执行scanf("%d%d", &a, &b);,若输入12 34,则a和b的值是( )
A. 12, 34
B. 12, 12
C. 34, 12
D. 不确定
【答案】A
19.以下关于数学函数的说法错误的是( )
A. 使用sqrt函数需要包含头文件math.h
B. pow(2, 3)的结果是8.0
C. abs(-5.5)的结果是5.5
D. fabs(-5.5)的结果是5.5
【答案】C
20.若有定义int a, b;,执行scanf("%*d %d %d", &a, &b);并输入10 20 30后,a和b的值分别是( )
A. 10, 20
B. 20, 30
C. 10, 30
D. 30, 20
【答案】B
二、程序运行结果题。
21.下列程序的运行结果是:____________
#include <stdio.h>
#include <math.h>
int main() {
int a = 2;
double b = 3.0;
a = (int)pow(a, b) + (int)sqrt(10.0);
printf("%d", a);
return 0;
}
【答案】11
22.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a = 123;
printf("%-5d%05d", a, a);
return 0;
}
【答案】123 00123
23.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
num = num * 2;
printf("%d", num);
return 0;
}
输入:5
【答案】10
24.下列程序的运行结果是:____________
#include <stdio.h>
#include <math.h>
int main() {
double x = 4.0, y;
y = sqrt(pow(x, 2) + 9.0);
printf("%.0f", y);
return 0;
}
【答案】5
25.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a = 3;
double b;
b = (a + 2.5) * 2;
a = (int)b;
printf("%d %.1f", a, b);
return 0;
}
【答案】11 11.0
26.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a;
char ch1, ch2;
scanf("%d", &a);
ch1 = getchar();
ch2 = getchar();
printf("%d %c %c", a, ch1, ch2);
return 0;
}
输入:10(回车)A(回车)B
【答案】10 A
27.下列程序的运行结果是:____________
#include <stdio.h>
#include <math.h>
int main() {
double x = 25.678;
printf("%5.1f %08.2f", sqrt(x), pow(2, 3));
return 0;
}
【答案】 5.1 0008.00
28.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a;
char ch;
scanf("%d%*c%c", &a, &ch);
printf("%d %c", a, ch);
return 0;
}
【答案】123A
【解析】%*c跳过一个字符(此处用于格式匹配),%d读取123,%c读取'A',最终输出123 A。
29.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
int a = 5, b = 7;
a = b;
b = 10;
printf("%d %d", a, b);
return 0;
}
【答案】7 10
30.下列程序的运行结果是:____________
#include <stdio.h>
int main() {
char ch = 'C';
printf("%c %d", ch, ch);
return 0;
}
【答案】C 67
学科网(北京)股份有限公司
$