大学MOOC C语言程序设计(新疆大学)1207453805 最新慕课完整章节测试答案
第2章C语言程序设计基础
第2章单元测试
1、单选题:
C语言规定,在一个源程序中,main函数的位置( )。
选项:
A: 必须在最开始
B: 必须在系统调用的库函数的后面
C: 可以任意
D: 必须在最后
答案: 【 可以任意】
2、单选题:
C语言程序的执行,总是起始于( )。
选项:
A: 程序中的第一条可执行语句
B: 程序中的第一个函数
C: main函数
D: 包含文件中的第一个函数
答案: 【 main函数】
3、单选题:
下列说法中正确的是( )。
选项:
A: C语言程序书写时,不区分大小写字母
B: C语言程序书写时,一行只能写一个语句
C: C语言程序书写时,一个语句可分成几行书写
D: C语言程序书写时,每行必须有行号
答案: 【 C语言程序书写时,一个语句可分成几行书写】
4、单选题:
以下叙述不正确的是( )。
选项:
A: 一个C源程序可由一个或多个函数组成
B: 一个C源程序必须包含一个main函数
C: C语言程序的基本组成单位是函数
D: 在C语言程序中,注释说明只能位于一条语句的后面
答案: 【 在C语言程序中,注释说明只能位于一条语句的后面】
5、单选题:
下面对C语言特点,不正确描述的是( )。
选项:
A: C语言兼有高级语言和低级语言的双重特点.执行效率高
B: C语言既可以用来编写应用程序,又可以用来编写系统软件
C: C语言的可移植性较差
D: C语言是一种结构式模块化程序设计语言
答案: 【 C语言的可移植性较差】
6、单选题:
C语言程序的语句都是以( )结尾。
选项:
A: “.”
B: “;”
C: “,”
D: 都不是
答案: 【 “;”】
7、单选题:
C语言程序经过编译以后生成的文件名的后缀为( )。
选项:
A: .c
B: .obj
C: .exe
D: .cpp
答案: 【 .obj】
8、单选题:
C语言程序经过链接以后生成的文件名的后缀为( )。
选项:
A: .c
B: .obj
C: .exe
D: .cpp
答案: 【 .exe】
9、单选题:
C语言编译程序的首要工作是( )。
选项:
A: 检查C语言程序的语法错误
B: 检查C语言程序的逻辑错误
C: 检查程序的完整性
D: 生成目标文件
答案: 【 检查C语言程序的语法错误】
10、单选题:
C语言程序的注释是( )。
选项:
A: 由“/*”开头,“*/”结尾
B: 由“/*”开头,“/*”结尾
C: 由“//”开头
D: 由“/*”或“//”开头
答案: 【 由“/*”开头,“*/”结尾】
第3章基本数据类型、运算符与表达式
第3章单元测试
1、单选题:
在c语言系统中,假设int类型数据占2个字节,则double, long, unsigned int,char类型数据所占字节数分别为( )。
选项:
A: 8,2, 4,1
B: 2,8,4,1
C: 4, 2,8,1
D: 8,4,2,1
答案: 【 8,4,2,1】
2、单选题:
下面四个选项中,均是不合法的用户标识符的选项是( )。
选项:
A: A P_0 do
B: float la0 _A
C: b-a sizeof int
D: _123 temp int
答案: 【 b-a sizeof int】
3、单选题:
下面四个选项中,均是合法整型常量的选项是( )。
选项:
A: 160 -0xffff 011
B: -0xcdf 01a 0xe
C: -01 986,012 0668
D: -0x48a 2e5 0x
答案: 【 160 -0xffff 011】
4、单选题:
下面四个选项中,均是不合法的浮点数的选项是( )。
选项:
A: 160. 0.12 e3
B: 123 2e4.2 .e5
C: -.18 123e4 0.0
D: -e3 .234 1e3
答案: 【 123 2e4.2 .e5】
5、单选题:
下面四个选项中,均是不合法的转义字符的选项是( )。
选项:
A: '"' '\' 'xf'
B: '1011' '' 'ab'
C: '1l' 'f' '}'
D: 'abc' '101' 'x1f'
答案: 【 '1011' '' 'ab'】
6、单选题:
下面四个选项中,均是正确的数值常量或字符常量的选项是( )。
选项:
A: 0.0 0f 8.9e '&'
B: "a" 3.9e-2.5 le1 '"'
C: '3' 011 0xff00 0a
D: +001 0xabcd 2e2 50
答案: 【 +001 0xabcd 2e2 50】
7、单选题:
下面程序段输出结果是( )。 int i = 5, k; k=(++i) + (++i) + (i++); printf("%d,%d",k,i);
选项:
A: 24,8
B: 21,8
C: 21,7
D: 24,7
答案: 【 21,8】
8、单选题:
下面程序段输出结果是( )。 short int i=32769; printf("%dn",i);
选项:
A: 32769
B: 32767
C: -32767
D: 输出不是确定的数
答案: 【 -32767】
9、单选题:
若有说明语句:char c='72';则变量c( )。
选项:
A: 包含l个字符
B: 包含2个字符
C: 包含3个字符
D: 说明不合法,c的值不确定
答案: 【 包含l个字符】
10、单选题:
若有定义:int a=7; float x=2.5,y=4.7;则表达式x + a % 3 * (int)(x + y) % 2 /4的值是( )。
选项:
A: 2.500000
B: 2.750000
C: 3.500000
D: 0.000000
答案: 【 2.500000】
11、单选题:
设变量a是整型,f是实型,i是双精度型,则表达式10 + 'a' + i*f 值的数据类型为( )。
选项:
A: int
B: float
C: double
D: 不确定
答案: 【 double】
12、单选题:
sizeof (float)是( )。
选项:
A: 一个双精度型表达式
B: 一个整型表达式
C: 一种函数调用
D: 一个不合法的表达式
答案: 【 一个整型表达式】
13、单选题:
设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。
选项:
A: n=(n*100+0.5)/100.0
B: m=n*100+0.5, n=m/100.0
C: n=n*100+0.5/100.0
D: n=(n/100+0.5)*100.0
答案: 【 m=n*100+0.5, n=m/100.0】
14、单选题:
在C语言中,要求运算数必须是整型的运算符是( )。
选项:
A: /
B: ++
C: !=
D: %
答案: 【 %】
15、单选题:
若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。
选项:
A: a:=b+1
B: a=b=c+2
C: int 18.5%3
D: a=a+7=c+b
答案: 【 a=b=c+2】
16、单选题:
若有定义:int k=7,x=12;,则能使值为3的表达式是( )。
选项:
A: x%=(k%=5)
B: x%=(k-k%5)
C: x%=k-k%5
D: (x%=k)-(k%=5)
答案: 【 (x%=k)-(k%=5)】
17、单选题:
若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。
选项:
A: a==1
B: ++i;
C: a=a++=5;
D: a=int(i);
答案: 【 ++i;】
18、单选题:
若有如下程序: #include <stdio.h> void main() { int y=3,x=3,z=1; printf("%d %dn",(++x,y++),z+2); } 运行该程序的输出结果是( )。
选项:
A: 3 4
B: 4 2
C: 4 3
D: 3 3
答案: 【 3 3】
19、单选题:
在C语言中(以16位PC为例),5种基本数据类型的存储空间长度的排列顺序为( )。
选项:
A: char<int<long int<=float<double
B: char=int<long int<=float<double
C: char<int<long int=float=double
D: char=int=long int<=float<double
答案: 【 char<int<long int<=float<double】
20、单选题:
假设所有变量均为整型,则表达式(a=2, b=5, b++, a+b)的值是( )。
选项:
A: 7
B: 8
C: 6
D: 2
答案: 【 8】
21、单选题:
以下正确的叙述是( )。
选项:
A: 在C语言程序中,每行中只能写一条语句
B: 若a是实型变量,C语言程序中允许赋值a=10,因此实型变量中允许存放整型数
C: 在C语言程序中,无论是整数还是实数。都能被准确无误地表示
D: 在C语言程序中,%是只能用于整数运算的运算符
答案: 【 在C语言程序中,%是只能用于整数运算的运算符】
22、单选题:
假定x和y为double型,则表达式x=2, y=x+3/2的值是( )。
选项:
A: 3.500000
B: 3
C: 2.000000
D: 3.000000
答案: 【 3.000000】
23、单选题:
下面正确的字符常量是( )。
选项:
A: "c"
B: '\"
C: 'W'
D: ''
答案: 【 'W'】
24、单选题:
以下程序的输出结果是( )。 #include <stdio.h> void main() { int a=3; printf("%dn",(a+=a-=a*a)); }
选项:
A: -6
B: 12
C: 0
D: -12
答案: 【 -12】
25、单选题:
在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是( )。
选项:
A: a=20000+20000;
B: a=4000*10;
C: a=30000+10000;
D: a=4000L*10L;
答案: 【 a=4000L*10L;】
26、单选题:
若变量a是int类型,并执行了语句a='A'+1.6;,则正确的叙述是( )。
选项:
A: a的值是字符C
B: a的值是浮点型
C: 不允许字符型和浮点型相加
D: a的值是字符'A'的ASCII值加上1
答案: 【 a的值是字符'A'的ASCII值加上1】
27、单选题:
语句printf("abre'hi'y\boun");的输出结果是( )。
选项:
A: abre'hi'y\bou
B: abre'hi'ybou
C: re'hi'you
D: abre'hi'ybou
答案: 【 re'hi'you】
28、单选题:
下列程序执行后的输出结果是( )。 #include <stdio.h> void main() { int x='f'; printf("%cn",'A'+(x-'a'+1)); }
选项:
A: G
B: H
C: I
D: J
答案: 【 G】
29、单选题:
下列程序执行后的输出结果是 #include <stdio.h> void main() { char x=0xFFFF; printf("%dn", x--); }
选项:
A: -32767
B: FFFE
C: -1
D: -32768
答案: 【 -1】
30、单选题:
己知:int x=1,y=-1;,则语句printf("%dn",(x-- & ++y));的输出结果是( )。
选项:
A: 1
B: 0
C: -1
D: 2
答案: 【 0】
第4章基本输入输出和顺序程序设计
第4章单元测试
1、单选题:
在16位C编译系统上,下列程序执行后的输出结果是( )。 #include <stdio.h> void main() { int a=-32769; printf ("%8Un", a); }
选项:
A: 32769
B: 8U
C: 32767
D: -32767
答案: 【 8U】
2、单选题:
下面程序段执行后的输出结果是( )(口表示一个空格). int a=3366; printf("|%-08d|",a);
选项:
A: |-0003366|
B: |00003366|
C: |3366口口口口|
D: 输出格式非法
答案: 【 |3366口口口口|】
3、单选题:
以下程序的输出结果是( )。 #include <stdio.h> void main() { printf ("sl=|%15s| s2=|%-5s|","chinabeijing","chi"); }
选项:
A: sl=|chinabeijing口口口| s2=|chi|
B: s1=|chinabeijing口口口| s2=|chi口口|
C: s1=|口口口chinabeijing| s2=|口口chi|
D: sl=|口口口chinabeijing| s2=|chi口口|
答案: 【 sl=|口口口chinabeijing| s2=|chi口口|】
4、单选题:
在16位C编译系统上,以下程序的输出结果是( )。(口表示一个空格) #include <stdio.h> void main() { long y=-43456; printf ("y=|%-8ld| y=|%-08ld| y=|%08ld| y=|%+8ld|",y,y,y,y) ; }
选项:
A: y=|口口-43456| y=|-口口43456| y=|-0043456| y=|-43456口口|
B: y=|口口-43456| y=|-43456口口| y=|-0043456| y=|-口口43456|
C: y=|-43456口口| y=|-43456口口| y=|-0043456| y=|口口-43456|
D: y=|-43456口口| y=|-4345600| y=|-0043456| y=|口口-43456|
答案: 【 y=|-43456口口| y=|-43456口口| y=|-0043456| y=|口口-43456|】
5、单选题:
在16位C编译系统上,以下程序的输出结果是( )。 #include <stdio.h> void main() { int y=2456; printf ("y=|%3o| y=|%8o| y=|%#8o| y=|%08o|", y,y,y,y); }
选项:
A: y=|2456| y=|口口口口2456| y=|口口口02456| y=|00002456|
B: y=|4630| y=|口口口口4630| y=|口口口04630| y=|00004630|
C: y=|2456| y=|口口口口2456| y=|###02456| y=|00002456|
D: y=|4630| y=|4630口口口口| y=|###04630| y=|00004630|
答案: 【 y=|4630| y=|口口口口4630| y=|口口口04630| y=|00004630|】
6、单选题:
若有说明语句:int a; float b;,以下输入语句正确的是( )。
选项:
A: scanf ("%f%f", &a, &b);
B: scanf ("%f%d", &a, &b);
C: scanf ("%d,%f",&a, &b);
D: scanf ("%6.2f%6.2f",&a, &b);
答案: 【 scanf ("%d,%f",&a, &b);】
7、单选题:
执行下面程序段,给x, y赋值时,不能作为数据分隔符的是( )。 int x, y; scanf("%d%d",&x,&y);
选项:
A: 空格
B: Tab键
C: 回车
D: 逗号
答案: 【 逗号】
8、单选题:
执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是( )。 int a; float b; scanf("a=%d,b=%f",&a,&b);
选项:
