超星学习通C语言程序设计章节课后作业答案, 主讲:顾国松 副教授 /嘉兴学院的同学应该比较熟悉
2.1编程环境与基本C程序
1、本微课中所讲的C语言IDE(集成开发环境)是什么?
A、VC
B、DEV-C++
C、CFree5.0
D、TC
正确答案:C
2、C语言的源文件(代码文件)的后缀名(扩展名)是什么?
A、.cpp
B、.c
C、.cs
D、.cc
正确答案:B
3、本微课中所讲的最简单的C程序中,第一行是什么?
A、include<stdio.h>
B、include<stdoi.h>
C、#include<stdio.c>
D、#include<stdio.h>
正确答案:D
1、本微课中,程序第一行代码是为第几行代码提供支持?
A、2
B、3
C、4
D、5
正确答案:C
2、C语言中函数的函数体用什么符号括起来?
A、[ ]
B、{ }
C、( )
D、【 】
正确答案:B
2.2自主练习(7题)
1、C语言程序中,关于主函数的表述正确的是?
A、主函数名称是int main。
B、主函数个数可有1或2个。
C、有且仅有一个主函数。
D、主函数位置必须在所有函数的前面。
正确答案:C
2、关于C程序描述正确的是()
A、C程序总是从main函数开始,也在main函数结束。
B、C程序总是从主程序文件中的第一个函数开始执行,在main函数结束。
C、C程序总是从main开始,在最后执行功能的函数处结束。
D、C程序总是从主程序文件中的第一个函数开始执行,在最后执行功能的函数处结束。
正确答案:A
3、本课程所使用的C编译平台是什么()
A、Visual C++ 2010
B、Turbo C 2.0
C、Dev C++
D、C-Free 5.0
正确答案:D
4、关于编译预处理命令: #include<stdio.h>的说明不正确的是()
A、编译程序安装目录下可以找到include文件夹
B、stdio.h是标准输入输出头文件,主要包含输入输出函数
C、这一命令行最后应该加上英文分号,表示结束
D、符号#是不可以缺少的
正确答案:C
5、关于语句:printf("你好,嘉兴学院!");的功能描述正确的是( )
A、屏幕输出:你好嘉兴学院
B、屏幕输出:你好,嘉兴学院!
C、屏幕输出:“你好,嘉兴学院!”
D、屏幕输出:"你好,嘉兴学院!"
正确答案:B
6、表示C语言语句结束的符号是什么( )
A、空心句号“。”
B、实心句号“.”
C、英文分号“;”
D、中英文分号都可以
正确答案:C
7、C语言的源文件后缀名是什么()
A、.exe
B、.cpp
C、.h
D、.c
正确答案:D
2.3数据类型与常量变量
1、下列类型中,哪一种不是整数类型?
A、int
B、short
C、long
D、float
正确答案:D
2、int类型的数据中Windows7和Cfree 5.0环境下,占有几个字节?
A、1
B、2
C、4
D、8
正确答案:C
1、实型数据3.4L是什么类型?
A、double
B、float
C、long
D、char
正确答案:A
2、【多选题】关于字符常量和字符串常量的区别以下正确的是?
A、字符常量用单引号引起来
B、字符常量用双引号引起来
C、"C"是字符常量
D、'\n'是字符常量
正确答案:AD
1、关于常量和变量的区别,以下说法错误的是什么?
A、常量和变量一样都需要定义
B、3,1.6L都是常量
C、'a'是常量
D、符号常量具有“一改全改”的优点
正确答案:A
2、关于变量的一些判断,以下那些是错误的?
A、int a,y;则a和y都是整型变量
B、int a,则a占有四个字节
C、变量的值就是变量所对应的内存空间的数据
D、可以把常量赋值给变量, 也可以把变量的值赋值给常量
正确答案:D
2.4自主练习(10题)
1、C语言中不合法的字符常量是
A、‘\0xff’
B、‘\65’
C、’\028’
D、’&’
正确答案:C
2、在以下各组标识符中,合法的标识符是
A、B02
B、2_tr
C、t*.12
D、st%r1
正确答案:A
3、设有语句:char c=’\102’; 则变量c中包含的字符个数是
A、1个字符
B、2个字符
C、3个字符
D、4个字符
正确答案:A
4、C语言中的变量名只能由字母、数字和下划线三种字符组成,并且第一个字符不可以是
A、字母
B、数字
C、下划线
D、字母或下划线
正确答案:B
5、以下选项中不正确的整型常量是
A、12L
B、-10
C、0x2013
D、234x
正确答案:D
6、下列四组常数中,均是合法整型常量的一组是
A、163 0xffff 012
B、-0xcdf 01a 0xe
C、-02 987,023 0678
D、-0x48a 3e6 0x
正确答案:A
7、常数的书写格式决定了常数的类型和值,0x1011是
A、8进制整型常量
B、字符常量
C、16进制整型常数
D、2进制整型常数
正确答案:C
8、下列四组转义符中,均合法的一组是
A、‘\t’ ‘\\’ ‘\n’
B、‘\’ ‘\107’ ‘\x’
C、‘\018’ ‘\f’ ‘\xab’
D、‘\\0’ ‘\102’ ‘\xie’
正确答案:A
9、以下选项中不正确的实型常量是()。
A、2.607E-1
B、0.8103e0.2
C、-77.77
D、456e-2
正确答案:B
10、C语言中,合法的长整型常数是()。
A、1L
B、5074369
C、225D
D、326581&
正确答案:A
2.5本周【线下】实验
1、【实验1:编程平台与基本语法】 请下载以下附件,完成实验1的内容,并将 实验结果文件压缩后 作为附件上传。 注意:如有多个结果文件,请将所有结果文件压缩后 再作为附件提交。 【实验1:实验内容】编译平台与基本语法.pdf 【实验1】素材(1-3).rar
正确答案:请将 上交的文件压缩后 作为附件上传。
3.2C语言运算符与规则
1、关于算术运算的表述,以下错误的是什么?
A、3+5*2的结果是13
B、3*5的结果是15
C、3-5的结果是-2
D、3/5的结果是0.6
正确答案:D
2、假设有:int a=5;float b=5.0,以下错误的是什么?
A、a/5结果是1
B、a/10结果是0
C、a%b结果是0
D、b*2的结果是10.000000
正确答案:C
1、假设有int a;关于赋值运算,以下表述哪一个是错误的?
A、a=3
B、a=a+3
C、a+=3
D、选项A,B,C的都正确且意义相同
正确答案:D
2、假设int a=3;则表达式a-=a+=4计算后,a的值是多少?
A、3
B、4
C、7
D、0
正确答案:D
1、假设int a=3;则以下表达式中,哪一个选项与其他选项不同?
A、a=+1
B、a=a+1
C、++a
D、a++
正确答案:A
2、假设int a=3,x;x=++a;则a和x的值分别是多少?
A、3,4
B、4,4
C、3,3
D、4,3
正确答案:B
1、假设int a=3;则表达式a&&a-3&&--a,则表达式的值是多少?
A、0
B、1
C、TRUE
D、FALSE
正确答案:A
2、假设int a=3;则表达式a&&a-3||--a,则表达式的值是多少?
A、0
B、1
C、TRUE
D、FALSE
正确答案:B
1、假设int a=3;则以下表达式中,哪一个选项与其他选项不同?
A、a>2>0
B、a==3
C、a>2>1
D、a!=1
正确答案:C
1、假设int a=3,b=5; 则关于表达式 a++, a+5,++b,a+b的表述正确的是?
A、表达式的结果是8
B、表达式的结果是10
C、表达式的结果是13
D、表达式的结果是15
正确答案:B
2、【多选题】假设int a=3;则关于表达式 a>2?a+2:++a的表述哪些正确?
A、a的结果是4
B、a的结果是3
C、表达式的结果是1
D、表达式的结果是5
正确答案:BD
3.3输入输出与顺序结构
1、假设 int x=3,y=6; 则语句 printf("x=%d,y=%d.",x,y); 的输出结果是什么?
A、3,6
B、x=3,y=6
C、"x=3,y=6"
D、x=3 y=6
正确答案:B
2、【多选题】以下哪些选项能够在屏幕上输出大写字母A?
A、printf("A");
B、putchar("A");
C、putchar('A');
D、printf('A');
正确答案:AC
1、假设 char ch;以下哪些选项能够在屏幕上接收大写字母A?
A、getchar()
B、ch=getchar()
C、scanf("%c",ch);
D、scanf("%c,&ch");
正确答案:B
2、假设int a,b; 屏幕上输入3,4 下列那个语句能输入数据,使得a为3,b为4?
A、scanf("%d%d",&a,&b);
B、scanf("%d,%d,&a,&b");
C、scanf("%d,%d",&a,&b);
D、scanf("%d %d",&a,&b);
正确答案:C
1、假设 int x=3,y=6; 则语句 x*3+6*0.5 结果是什么类型数据?
A、int
B、float
C、char
D、double
正确答案:D
2、以下哪个选项的表述是错误的?
A、int ch=12;
B、float x=3;
C、char ch=3.2
D、char x='A'
正确答案:C
3、【填空题】假设 int a=4,b=5.4; 则a*2.5+int(b/2) 的值是多少?(填空,保留一位小数)
正确答案:12.0
1、关于顺序结构的表述正确的是哪一项?
A、顺序结构是程序基本结构之一
B、顺序结构特殊情况可以进行判断
C、顺序结构必定没有分支(选择)
D、顺序结构必定没有循环
正确答案:A
3.4自主练习(12题)
1、若w=1,x=2,y=3,z=4;,则条件表达式w<x?w:y<z?y:z的值是()。
A、4
B、3
C、2
D、1
正确答案:D
2、在下图中,阴影部分区域可用表达式()来表示。 ??1.png
A、(x<=a)&&(x>=b)&&(x<=c)
B、(x<=a)||(b<=x<=c)
C、(x<=a)||(x>=b)&&(x<=c)
D、(x<=a)&&(b<=x<=c)
正确答案:C
3、对于数学表达式2x+(a+b)÷3sinx,对应的C表达式是()。
A、2x+(a+b)/3sin(x)
B、2x+(a+b)/(3sin(x))
C、2*x+(a+b)/3/sin(x)
D、2*x+(a+b/3/sin(x))
正确答案:C
4、设 float x=2.5, y=4.7; int a=7;,printf(“%.1f”, x+a%3*(int)(x+y)%2/4)的结果为()。
A、2.5
B、2.8
C、3.5
D、3.8
正确答案:A
5、为表示关系x≥y≥z,应使用C语言表达式()。
A、(x>=y)&&(y>=z)
B、(x>=y)AND(y>=z)
C、(x>=y>=z)
D、(x>=y)&(y>=z)
正确答案:A
6、已知字符 'a' 的ASCII码为 97,执行下列语句的输出是()。 printf ("%d, %c", 'b', 'b'+1 ) ;
A、98, b
B、语法不合法
C、98, 99
D、98, c
正确答案:D
7、设x=2,y=3,z=4,k=5,则表达式“x<y?x++:z<k?x:k”的值是
A、1
B、2
C、3
D、4
正确答案:B
8、以下程序的输出结果是( )。 #include <stdio.h> int main() { int x=5,y=3; float a=3.14,b=6.5; printf("%d,%d\n ",x+y!=x-y,a<=(b-=6.1)); return 0; }
A、1,1
B、0,1
C、1,0
D、8,0
正确答案:C
9、下列格式符中,可以用于以8进制形式输出整数的是
A、%d
B、%o
C、%ld
D、%x
正确答案:B
10、以下程序段,在屏幕上可以看到的输出字符是( )。 printf(“嘉兴学院\n”);
A、嘉兴学院\n
B、嘉兴学院
C、“嘉兴学院”
D、(“嘉兴学院\n”);
正确答案:B
11、C语句 ”x*=y+2;” 还可以写成
A、x=x*y+2;
B、x=2+y*x;
C、x=y+2*x;
D、x=x*(y+2);
正确答案:D
12、设a为整数,且a=4,则表达式:“a+=a-=a*a”的值是
A、0
B、32
C、-24
D、-8
正确答案:C
3.5本周【线下】实验
1、【实验2:输入输出与顺序结构】 请下载“实验2”文件,根据文件内容完成实验作业,并压缩实验文件作为附件上交。 【实验2】 输入输出与顺序结构.pdf
正确答案:
4.2分支结构及案例分析
1、假设 int a=5,b=2; 则以下选项中没有输出ok2的是哪些?
A、if (a)< p=""><> printf("ok1"); printf("ok2");
B、if (a>b) { printf("ok1"); printf("ok2"); }
C、if (a==b) { printf("ok1"); printf("ok2"); }
D、if (a==b) printf("ok1"); else printf("ok2");
正确答案:C
2、【多选题】假设 int a=3,b=4; 则以下选项中可以输出ok的是哪些?
A、if a>b printf("ok");
B、if (a<b) printf("ok");
C、if (a=b) printf("ok");
D、if (!a)< p=""><> printf("ok");
正确答案:BC
1、关于if~else~if结构的表述错误的是?
A、是多路分支结构
B、每个if条件之间的条件是互斥的
C、if和else是成对出现的
D、可以有多个if~else结构
正确答案:C
1、【多选题】关于switch结构,以下哪些表述正确?
A、在switch结构中必须有break语句
B、switch语句必须有default语句
C、switch结构中必须有case关键字
D、在switch结构中, case关键字后的表达式必须是常量
正确答案:CD
4.3自主练习(10题)
1、关于if语句下面说法正确的是
A、if语句一定不能没有else语句。
B、if语句有多条语句构成时可以不加花括号。
C、if语句的条件可以省略。
D、else语句的条件是隐含的,不需要也不能设定。
正确答案:D
2、以下if语句不正确的语句为( ) ??4-3.jpg
A、A不正确
B、B不正确
C、C不正确
D、D不正确
正确答案:B
3、为了避免在嵌套的条件语句if~else中产生二义性,C语言规定else子句总是与( )配对。
A、缩排位置相同的if
B、同一行上的if
C、之后最近的if
D、其之前最近的且没有配对的if
正确答案:D
4、当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是( )。 ??4-6.jpg
A、1
B、2
C、3
D、编译有错误
正确答案:B
5、与语句y=(x>0?1:x<0?-1:0); 的功能相同的if语句是
A、if (x>0) y=1; else if (x<0) y=-1; else y=0;
B、if(x) if (x>0) y=1; else if (x<0) y=-1; else y=0;
C、y=-1; if(x) if (x>0) y=1; else if (x==0) y=0; else y=-1;
D、y=0; if(x>=0) if (x>0) y=1; else y=-1;
正确答案:A
6、if语句的基本形式是:if(表达式)语句;以下关于“表达式”值的叙述中正确的是( )
A、必须是逻辑值
B、必须是整数值
C、必须是正数
D、可以是任何合法的数值
正确答案:D
7、若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( )
A、switch(a+b) { case 1: printf("*\n"); case 2+1: printf("**\n"); }
B、switch((int)x); { case 1: printf("*\n"); case 2 : printf("**\n"); }
C、switch(x) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }
D、switch(a+b) { case 1: printf("*\n"); case x: printf("**\n"); }
正确答案:A
8、有以下程序 #include<stdio.h> int main(){ int i=1,j=1,k=2; if((j++||k++)&& i++) printf("%d,%d,%d\n",i,j,k); return 0; } 执行后输出结果是( )
A、1,1,2
B、2,2,2
C、2,2,1
D、2,2,3
正确答案:B
9、有如下程序 #include<stdio.h> int main() { int a=2,b=-1,c=2; if(a<b) if(b<0)c=0; else c++; printf("%d\n",c); return 0; } 该程序的输出结果是( )
A、0
B、1
C、2
D、3
正确答案:C
10、下列条件语句中,输出结果与其他语句不同的是( )
A、if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
B、if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
C、if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
D、if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
正确答案:C
4.4本周【线下】实验
1、【实验3:分支结构】 请下载“实验3”文件,根据文件内容完成实验作业,并压缩实验文件作为附件上交。 【实验3】 分支结构.pdf
正确答案:
5.2循环结构与跳转语句
1、关于for结构,以下哪些表述错误?
A、for结构中的3个表达式之间是分号
B、for结构中必须是3个表达式
C、for结构中exp2可以控制循环的次数
D、for结构中3个表达式可以缺省
正确答案:B
2、假设如下语句,输出结构和循环结束后x的值是多少? for(x=9;x>5;x--) printf("%d",x);
A、输出:9876,x为5
B、输出:9876,x为6
C、输出:98765,x为5
D、以上都不对
正确答案:A
1、以下代码中,最后x的值不是5的是那一项?
A、x=1; while(x<5) { printf("%d\n",x); x++; }
B、x=1; while(x<=5) { printf("%d\n",x); x++; }
C、x=1; do { printf("%d\n",x); x++; }while(x<5);
D、x=10; for( ;x>=6; x--) printf("%d\n",x);
正确答案:B
2、关于循环结构的表述错误的是哪一项?
A、循环结构必须有终止条件
B、for结构和while结构可以互相替代
C、do~while结构和while结构都是先判断
D、do~while结构必定要循环一次
正确答案:C
5.5自主练习(10题)
1、执行以下代码后变量 i 的值是( )。 ??4-14.jpg
A、9
B、8
C、10
D、11
正确答案:C
2、执行以下代码后,输出sum的值为( ) ??4-15.jpg
A、10
B、11
C、55
D、66
正确答案:A
3、对for(表达式1;;表达式3),可理解为
A、for(表达式1;0;表达式3)
B、for(表达式1;-4;表达式3)
C、for(表达式1;表达式1;表达式3)
D、for(表达式1;表达式3;表达式3)
正确答案:B
4、下面有关for循环的正确描述是
A、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来,花括号后面一定要加分号。
B、for循环是先执行循环体语句,后判断表达式。
C、在for循环中,能用break语句跳出循环体。
D、for循环只能用于循环次数已经确定的情况。
正确答案:C
5、若i为整型变量,则以下循环执行次数是( )。 for(i=0;i==0;) printf("%d",i--);
A、无限次
B、0次
C、1次
D、2次
正确答案:C
6、下面程序段的运行结果是( )。 ??4-19.jpg
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1
正确答案:A
7、运行以下程序,从键盘上输入4 6 8 12 -9 58 2 -1,则输出结果为( )。 ??4-20.jpg
A、m= -9
B、m= -1
C、m=2
D、m=58
正确答案:D
8、关于以下程序段,说法正确的是( )。 ??4-32.png
A、是死循环
B、循环执行1次
C、循环执行2次
D、有语法错误
正确答案:B
9、下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B. 在下划线处应该填入的是( )。 ??4-36.png
A、c='B'
B、c='A'
C、c-=26
D、c=c+26
正确答案:C
10、下面程序的输出结果是( )。 ??4-49.png
A、9876
B、876
C、8765
D、987
正确答案:A
5.6本周【线下】实验
1、【实验4:单循环结构(1)】 请下载“实验4”文件,根据文件内容完成实验作业,并压缩实验文件作为附件上交。 【实验4】 单循环结构(1).pdf
正确答案:
6.6自主练习(10题)
1、以下程序的输出结果是( )。 ??4-53.png
A、20
B、2468
C、246
D、2222
正确答案:C
2、以下程序的输出结果是( )。 ??4-55.png
A、4,3,1
B、4,3,1,
C、5,4,2
D、5,3,1,
正确答案:B
3、下面程序的输出结果是( )。 ??4-54.png
A、2
B、12
C、60
D、18
正确答案:B
4、要求以下程序的功能是计算:s=1+1/2+1/3+…+1/100。 #include<stdio.h> int main() { int n;float s; s=1.0; for(n=100;n>1;n--) s=s+1/n; printf(“%6.4f\n”,s); return 0; }
A、s=1.0;
B、for(n=100;n>1;n--)
C、s=s+1/n;
D、printf(“%6.4f\n”,s);
正确答案:C
5、执行下面程序段后,k的值是( ) int i,j,k; for(i=0,j=10;i<j;i++,j--) k=i+j;
A、9
B、11
C、8
D、10
正确答案:D
6、下面程序的运行结果是( ) #include<stdio.h> int main() { int a=1,b=10; do { b-=a; a++; }while(b--<0); printf("%d,%d\n",a,b); return 0; }
A、3,11
B、2,8
C、1,-1
D、4,9
正确答案:B
7、以下程序的输出结果是( ) #include<stdio.h> int main() { int i; for(i=1;i<=5;i++) { if(i%2) printf(“*”); else continue; printf(“#”); } printf(“$”); return 0; }
A、*#*#*#$
B、*#*#$
C、#*#*#*$
D、#*#*$
正确答案:A
8、C 语言中while 和do-while 循环的主要区别是( )
A、do-while 的循环体至少无条件执行一次
B、while 的循环控制条件比do-while 的循环控制条件严格
C、do-while 允许从外部转到循环体内
D、do-while 的循环体不能是复合语句
正确答案:A
9、以下正确的描述是( )
A、continue 语句的作用是结束整个循环的执行;
B、只能在循环体内和switch 语句体内使用break 语句;
C、在循环体内使用break 语句或continue 语句的作用相同;
D、从多层循环嵌套中退出时,只能使用break语句;
正确答案:B
10、有以下程序: #include<stdio.h> int main() { int s; scanf("%d",&s); while(s>0) { switch(s) { case 1:printf("%d",s+5); case 2:printf("%d",s+4);break; case 3:printf("%d",s+3); default:("%d",s+1);break; } scanf("%d",&s); } return 0; } 运行时,若输入1 2 3 4 5 0<回车>,由输出结果是( )
A、6566456
B、66656
C、66666
D、6666656
正确答案:A
6.7本周【线下】实验
1、【实验5:单循环结构(2)】 请下载“实验5”文件,根据文件内容完成实验作业,并压缩实验文件作为附件上交。 【实验5】 单循环结构(2).pdf
正确答案:
7.5自主练习(5题)
1、要输出右下面的图形,在下划线处应该填入的是( )。 ??4-47.png
A、A
B、B
C、C
D、D
正确答案:C
2、执行以下语句后,输出sum的值为( )。 ??4-51.png
A、81
B、90
C、100
D、输出的是九九乘法表
正确答案:A
3、下列程序段执行后k值为( ) 。 ??4-56.png
A、15
B、3
C、5
D、8
正确答案:A
4、以下程序运行的结果是( ) ??4-57.png
A、8
B、9
C、10
D、12
正确答案:B
5、以下程序运行的结果是( )。 ??4-58.png
A、***#***##***###***
B、*##**##**###**
C、#*##**##**###**
D、**#**##**###**
正确答案:D
7.6本周【线下】实验
1、【实验6:多重循环结构】 请下载“实验6-1”文
如无法购买,请复制网址,换浏览器打开
做题有答案,效率提高!使用过程中有疑问联系QQ55089918
还木有评论哦,快来抢沙发吧~