大学MOOC 计算机基础及高级语言程序设计(四川师范大学)1002210002 最新慕课完整章节测试答案
第1部分——初识计算机与C语言基础
文章目录
变量在内存中所占的字节数
1、单选题:
C语言用sizeof计算变量在内存中的字节数,其中sizeof是()
选项:
A: 函数
B: 运算符
C: 标识符
D: 语句
答案: 【 运算符】
宏常量与const常量
1、单选题:
宏定义是()
选项:
A: 一条语句
B: 一种编译预处理指令
C: 一个标识符
D: 一个变量
答案: 【 一种编译预处理指令】
2、判断题:
const常量有数据类型。
选项:
A: 正确
B: 错误
答案: 【 正确】
第1次测验
1、单选题:
下列选项中,合法的C语言标识符是
选项:
A: _a1
B: width.x
C: #abc123
D: 123abc
E: o*k
F: a?
G: a+b
H: %a
I: b!
答案: 【 _a1】
2、单选题:
以下不适合定义为用户标识符的是
选项:
A: int
B: a2
C: def2
D: _3com_
E: PI
F: Source
G: abc
答案: 【 int 】
3、单选题:
#include <stdio.h>是
选项:
A: 编译预处理指令
B: 语句
C: 函数
D: 什么都不是
E: 有语法错误
答案: 【 编译预处理指令】
4、单选题:
在windows下,程序编译链接后形成的可执行文件是
选项:
A: .obj文件
B: .exe文件
C: .o文件
D: .c文件
E: .h文件
答案: 【 .exe文件】
5、单选题:
程序编译链接后显示" 0 error,0 warning" 代表
选项:
A: 程序中没有语法错误
B: 程序是正确的
C: 程序是不正确的
D: 程序中可能存在语法错误
E: 程序中有语义错误
答案: 【 程序中没有语法错误】
6、单选题:
用8位无符号二进制数能表示的最大十进制数为
选项:
A: 255
B: 127
C: 128
D: 256
答案: 【 255】
7、单选题:
关于可执行文件说法正确的是
选项:
A: 可执行文件是编译链接后生成的文件
B: 可执行文件就是源代码文件
C: 可执行文件后缀为.obj
D: 可执行文件就是main.c文件
答案: 【 可执行文件是编译链接后生成的文件】
8、单选题:
若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是
选项:
A: 'A'+1.6的结果是浮点型
B: a的值还是整型
C: a的值是字符C
D: a的值是浮点型
E: 不允许字符型和浮点型相加
答案: 【 'A'+1.6的结果是浮点型;
a的值还是整型】
9、单选题:
C语言用sizeof计算变量在内存中的字节数,其中sizeof是()
选项:
A: 运算符
B: 一元运算符
C: 只需要一个操作数的运算符
D: 函数
E: 语句
F: 标识符
G: 变量
答案: 【 运算符;
一元运算符;
只需要一个操作数的运算符】
10、单选题:
以下不属于Codeblocks中用于调试程序的工具是
选项:
A: run
B: build
C: run to cursor
D: next line
E: stop debugger
F: watches
答案: 【 run;
build】
11、单选题:
程序的开发步骤中不包括
选项:
A: 撰写文档
B: 运行程序
C: 编译链接
D: 程序测试
E: 编辑(编写代码)
答案: 【 撰写文档】
12、单选题:
下列说法中错误的是()
选项:
A: 尾数决定了实数的表数范围,阶码决定了实数的表数精度。
B: 内存是按位编址的。
C: 有符号和无符号整数的表数范围是相同的。
D: int型在所有的计算机上都占4个字节的存储单元。
E: 编译器按变量定义的类型对不同类型的变量分配不同大小的内存空间。
F: 内存是按字节编址的。
G: 对于同样的尾数,阶码的值越大,则浮点数所表示的数值的绝对值就越大。
H: sizeof是编译时执行的运算符,不会导致额外的运行时间开销。
答案: 【 尾数决定了实数的表数范围,阶码决定了实数的表数精度。;
内存是按位编址的。;
有符号和无符号整数的表数范围是相同的。;
int型在所有的计算机上都占4个字节的存储单元。】
13、单选题:
若有定义:int a=8,b=5,c; ,执行语句c=a/b+0.4;后,c的值为
选项:
A: 1
B: 1.4
C: 2.0
D: 2
答案: 【 1】
14、单选题:
在C语言中,字符型数据在内存中以字符的( )形式存放
选项:
A: ASCII码
B: 国标码
C: BCD码
D: 反码
答案: 【 ASCII码】
15、单选题:
以下符合C语言语法的实型常量是
选项:
A: 5e-3
B: 3.14.159e
C: 1.2e0.5
D: e15
答案: 【 5e-3】
16、单选题:
以下选项中可作为C语言合法整数的是
选项:
A: 0xffa
B: 10110B
C: 038x
D: x2a2
答案: 【 0xffa】
17、单选题:
下列说法正确的是
选项:
A: 在C语言中,变量必须先定义后使用。
B: 一条变量定义语句可定义多个同类型的变量。
C: C89规定所有变量必须在第一条可执行语句前定义。
D: const常量只能在定义时赋值。
E: 实型常量的默认类型是double类型。
F: 一条变量定义语句不可以同时定义多个变量。
G: 不同类型的变量分配的存储空间大小都是相同的。
H: 在C语言中,所有变量都必须在定义时进行初始化。
I: 变量在没有初始化的时候,其值都是0
J: 宏常量有数据类型,编译器在宏替换时可以进行类型检查。
答案: 【 在C语言中,变量必须先定义后使用。;
一条变量定义语句可定义多个同类型的变量。;
C89规定所有变量必须在第一条可执行语句前定义。;
const常量只能在定义时赋值。;
实型常量的默认类型是double类型。】
18、单选题:
下列变量定义中合法的是
选项:
A: long ao=0xfdaL;
B: short _a=1-.1e-1;
C: double b=1+5e2.5;
D: float 2_and=1-e-3;
答案: 【 long ao=0xfdaL;】
第2部分——从键盘中来到键盘中去开始输入和输出啦
单个字符的输入输出
1、判断题:
单个字符既可以以c格式符也可以以d格式符输出,前者是输出这个字符,后者是输出这个字符的ASCII码值。
选项:
A: 正确
B: 错误
答案: 【 正确】
格式字符
1、判断题:
在调用printf函数输出数据时,当数据的实际位宽大于printf函数中的指定位宽时,将按照数据的实际位宽输出数据。
选项:
A: 正确
B: 错误
答案: 【 正确】
第2次测验
1、单选题:
分析下列程序,写出程序运行结果#include <stdio.h>
int main()
{
char c1 = 'a', c2 = 'b', c3 = 'c';
printf("a%cb%cc%cabcn", c1, c2, c3);
return 0;
}
选项:
A: aabbccabc
B: acbcabc
C: aabcabc
D: acbbcabc
答案: 【 aabbccabc】
2、单选题:
有如下语句,为使变量a的值为1,b的值为2,从键盘输入数据的正确形式是scanf("a=%d,b=%d",&a,&b);
选项:
A: a=1,b=2
B: 1 2
C: 1,2
D: a=1 b=2
答案: 【 a=1,b=2】
3、单选题:
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%c%c%d,%d",&a,&b,&c,&d);
printf("%c,%c,%c,%cn",a,b,c,d);
return 0;
}若运行以上程序时从键盘上输入:6565,66<回车>。则输出结果是
选项:
A: 6,5,A,B
B: 6,5,65,66
C: 6,5,6,5
D: 6,5,6,6
答案: 【 6,5,A,B】
4、单选题:
给出程序的运行结果,程序运行时从键盘输入:54321<回车>#include <stdio.h>
int main()
{
int a,b,s;
scanf("%2d%2d",&a,&b);
s=a/b;
printf("s=%d",s);
return 0;
}
选项:
A: 1
B: 1.6875
C: 2
D: 0
答案: 【 1】
5、单选题:
以下程序的输出结果为#include <stdio.h>
int main()
{
float a = 1234.567,b = 55.32;
printf("a = %4.2f, b = %5.1fn", a,b);
return 0;
}
选项:
A: a = 1234.57, b = 55.3
B: a =1234, b =55
C: a = 1234.6, b = 5.32
D: a =1234.567, b = 55.32
答案: 【 a = 1234.57, b = 55.3】
6、单选题:
以下程序的输出结果为#include <stdio.h>
int main()
{
int a=2, c=5;
printf("a = %%d, b = %%dn", a, c);
return 0;
}
选项:
A: a = %d, b = %d
B: a = %2, b = %5
C: a = 2, b = 5
D: a = %%d, b = %%d
答案: 【 a = %d, b = %d】
7、单选题:
有以下程序,运行时若输入为B,则输出是#include <stdio.h>
int main()
{
char ch;
ch=getchar();
ch=ch+32;
printf("%c",ch);
return 0;
}
选项:
A: b
B: 98
C: 32
D: 66
答案: 【 b】
8、单选题:
在调用printf函数输出数据时,当数据的实际位宽小于printf函数中的指定位宽时,下面叙述正确的是
选项:
A: 如果格式字符前面没有负号,那么输出的数据将会右对齐、左补空格;如果格式字符前面有负号,那么输出的数据将会左对齐、右补空格。
B: 如果格式字符前面没有负号,那么输出的数据将会左对齐、右补空格;如果格式字符前面有负号,那么输出的数据将会右对齐、左补空格。
C: 如果格式字符前面没有负号,那么输出的数据将会右对齐、左补0;如果格式字符前面有负号,那么输出的数据将会左对齐、右补0。
D: 如果格式字符前面没有负号,那么输出的数据将会左对齐、右补0;如果格式字符前面有负号,那么输出的数据将会右对齐、左补0。
答案: 【 如果格式字符前面没有负号,那么输出的数据将会右对齐、左补空格;如果格式字符前面有负号,那么输出的数据将会左对齐、右补空格。】
9、单选题:
设有语句“char c='72';”,则变量c
选项:
A: 包含1个字符
B: 包含2个字符
C: 包含3个字符
D: 不合法
答案: 【 包含1个字符】
10、单选题:
在下列语句中存在错误的是
选项:
A: int a,b;scanf("%d %f",&a,&b);
B: int a,b;scanf("%d %d",a,b);
C: int a,b;scanf("%d%dn",&a,&b);printf("%d %d",a,b);
D: float a,b;scanf("%3.2f %4.2f",&a,&b);printf("%f %f",a,b);
E: float a,b;scanf("%f %f",&a,&b);printf("%f %f",a,b);
F: float a,b;scanf("%f %f",&a,&b);printf("a=%4.3f,b=%4.3f",a,b);
G: int a,b;scanf("%2d%2d",&a,&b);printf("a=%d,b=%d",a,b);
H: int a,b;scanf("%d,%d",&a,&b);printf("a=%2d,b=%2d",a,b);
I: int a,b;scanf("a=%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);
答案: 【 int a,b;scanf("%d %f",&a,&b);;
int a,b;scanf("%d %d",a,b);;
int a,b;scanf("%d%dn",&a,&b);printf("%d %d",a,b);;
float a,b;scanf("%3.2f %4.2f",&a,&b);printf("%f %f",a,b);】
11、单选题:
程序运行后的输出结果是#include <stdio.h>
int main()
{
int a=666,b=888;
printf("%dn",a,b);
return 0;
}
选项:
A: 666
B: 错误信息
C: 888
D: 666,888
答案: 【 666】
12、单选题:
有以下语句段#include <stdio.h>
int main()
{
int n1=10,n2=20;
printf("_________",n1,n2);
return 0;
}要求按以下格式输出n1和n2的值,每个输出行都是从第一列开始,则空白处代码填写正确的是运行结果示例如下:n1=10n2=20
选项:
A: n1=%dnn2=%d
B: n1=%dn2=%dn
C: n1=%d,n2=%d
D: n1=%d n2=%dn
答案: 【 n1=%dnn2=%d】
13、单选题:
以下选项中合法的字符常量是
选项:
A: '10'
B: "B"
C: 68
D: D
答案: 【 '10'】
14、单选题:
写出下面程序的输出结果#include<stdio.h>
int main()
{
int x=6,y,z;
x*=18+1;
printf("%d,",x--);
x+=y=z=11;
printf("%d",x);
return 0;
}
选项:
A: 114,124
B: 113,124
C: 109,116
D: 110,116
答案: 【 114,124】
15、单选题:
给出程序的运行结果,程序运行时从键盘输入:45-12<回车>#include <stdio.h>
int main()
{
int a,b,sum;
scanf("%d%*c%d",&a,&b);
sum=a+b;
printf("sum=%d",sum);
return 0;
}
选项:
A: 57
B: 输出报错
C: 33
D: 输出一个随机数
答案: 【 57】
16、单选题:
给出程序的运行结果#include <stdio.h>
int main()
{
int a,b,s;
char op;
scanf("%d %c%d",&a,&op,&b);
s=a%b;
printf("s=%d",s);
return 0;
}程序运行时从键盘输入:15<回车>%5<回车>
选项:
A: 0
B: 程序报错
C: 输出一个随机数
D: 3
答案: 【 0】
17、单选题:
给出程序的运行结果#include <stdio.h>
int main()
{
int a,b,c,d;
char op1,op2,op3;
int sum;
printf("please input:a+b+c+dn");
scanf("%d%c%d%c%d%c%d",&a,&op1,&b,&op2,&c,&op3,&d);
sum=a+b+c+d;
printf("sum=%d",sum);
return 0;
}程序运行时从键盘输入:1<回
