具世谢逃勉坏摔儒缴扦林散傻
第一周 C语言简介
选择题
1、单选题:
下面的叙述正确的是()。
A: 一个C的源程序必须包含1个以上的main函数
B: 在C的源程序中,main函数不是必须的
C: 一个C的源程序可以由一个或多个函数组成
D: printf函数是程序执行的起始位置
答案: 一个C的源程序可以由一个或多个函数组成
2、单选题:
C程序是从()开始执行的。
A: return语句
B: 主函数
C: 文件开始的注释部分
D: 放在最前面的函数
答案: 主函数
3、单选题:
关于C程序的叙述,正确的是( )。
A: 一条语句可以写在多行,也可以多条语句写在一行
B: 一行只能写一条语句
C: 从//开始的程序都是注释内容
D: /* */只能写在一行,其中的内容为注释部分
答案: 一条语句可以写在多行,也可以多条语句写在一行
4、单选题:
以下正确的printf语句是()。
A: printf (“This is a C program.”)
B: printf (“This is a C program.);
C: printf (“This is a C program.n”);
D: printf “This is a C program.”;
答案: printf (“This is a C program.n”);
5、单选题:
/*程序功能:打印输出hello world #include <stdio.h> int main() { printf(“Hello, worldn”); return 0;}上面程序的运行结果是( )
A: 程序出错,不能运行
B: Hello, world
C: 程序功能:打印输出hello world
D: “Hello, worldn”
答案: 程序出错,不能运行
6、单选题:
设有程序“1.cpp”,编译后运行该程序,执行的是( )文件。
A: 1.cpp
B: 1.obj
C: 1.exe
D: 1.c
答案: 1.exe
7、多选题:
下面程序的错误是()#include <stdio.h> int mian() { printf(“hello world”) return 0;}
A: printf(“hello world”) 后面少分号
B: 主函数名写错
C: 多了return 0;
D: main()后面少分号
答案: printf(“hello world”) 后面少分号;
主函数名写错
8、多选题:
输出结果为500+200=700的语句是()。
A: printf(“500+200=%d,500+200”);
B: printf(“500+200=%d”,500+200);
C: printf(“500+200=700”);
D: print 500+200=700;
答案: printf(“500+200=%d”,500+200);;
printf(“500+200=700”);
9、多选题:
输出结果为25*64=1600的语句是()。
A: printf(“25*64=%d”,25*64);
B: printf(“25*64=1600”);
C: printf(“25*64=%d, 25*64”);
D: print 25*64=1600;
答案: printf(“25*64=%d”,25*64);;
printf(“25*64=1600”);
10、多选题:
下面是关于C程序注释的叙述,其中正确的是( )。
A: /*……*/可以注释多行,也可以注释一行
B: 从//开始的程序都是注释内容
C: /* */与//注释的范围没有区别
D: //是行注释,从//开始至行尾为注释内容
答案: /*……*/可以注释多行,也可以注释一行;
//是行注释,从//开始至行尾为注释内容
第二周 C语言基础语法
语法知识选择题
1、单选题:
下列浮点数的表示中不正确的是( )。
A: 22.3
B: .719e22
C: e23
D: 12. e2
答案: e23
2、单选题:
合法的C语言标识符是( )
A: 2a
B: sum
C: int
D: a*b
答案: sum
3、单选题:
不合法的C语言标识符是 ( )。
A: _8_
B: j2_KEY
C: 4d
D: Double
答案: 4d
4、单选题:
下列定义变量的语句中错误的是( )。
A: int x1;
B: float y1;
C: double z1;
D: Double a1;
答案: Double a1;
5、单选题:
在C语言中,要求运算数必须是整型的运算符是( )。
A: %
B: /
C: +
D: –
答案: %
6、单选题:
下面( )语句正确地描述了计算公式
A: y = ax*x*x/x – b;
B: y = ax*x*x/(x – b);
C: y = (a*x*x*x)/(x – b);
D: y = a*x*x*x/x – b;
答案: y = (a*x*x*x)/(x – b);
7、单选题:
下面( )是合法的赋值语句 .
A: i=1;
B: i+1=5;
C: 5=i;
D: i *3=i+1;
答案: i=1;
8、单选题:
下面程序的输出是( ) 。#include <stdio.h>int main(){ int x=10,y=3; printf(“%d”,y=x/y); return 0;}
A: 0
B: 1
C: 3
D: 不确定的值
答案: 3
9、单选题:
下面程序的输出是( ) 。#include <stdio.h>int main(){ int a= 5; printf(“a=%dn”,++a+2); return 0;}
A: a=6
B: 8
C: a=5
D: a=8
答案: a=8
10、单选题:
78%10的结果是( )。
A: 78
B: 8
C: 7
D: 10
答案: 8
11、单选题:
下面程序的输出是( ) 。 #include <stdio.h>int main(){ int a=8; printf(“%dn”,(a++)*2); return 0;}
A: 8
B: 9
C: 16
D: 18
答案: 16
12、单选题:
下面程序的输出是( ) 。#include <stdio.h>int main(){ int a=3; printf(“%dn”,(a–)*7); return 0;}
A: 21
B: 2
C: 3
D: 14
答案: 21
13、单选题:
下面程序的输出是( ) 。#include <stdio.h>int main(){ int b=3,a= 3; printf(“%d,%dn”,b,a–); return 0;}
A: 3,2
B: 2,3
C: 3
D: 3,3
答案: 3,3
14、单选题:
i=1;执行( )语句后,变量i的值不会发生变化。
A: i+5;
B: –i;
C: i=2*i;
D: i=6;
答案: i+5;
15、单选题:
int x;scanf(“%d”,&x);下面( )可以获得x的个位数。
A: x%10;
B: x/10;
C: x/100-x/10;
D: x-x/10;
答案: x%10;
16、单选题:
语句float x=3.0 ,y=4.0;下列表达式中y的值为9.0的是( )。
A: y/=x*27/4
B: y+=x+2.0
C: y-=x+0.8
D: y*=x-3.0
答案: y+=x+2.0
17、单选题:
有关运算符的正确描述是( )
A: 单目运算符优先级高于双目运算符
B: 赋值运算符是左结合的
C: 所有运算符都是左结合的
D: 赋值号的运算优先级是最低的
答案: 单目运算符优先级高于双目运算符
18、多选题:
下面( )语句正确地描述了方程
A: y = a * x * x * x + c;
B: y = a * x * x * (x + c);
C: y = (a * x * x * x) + c;
D: y = (a * x) * x * (x + c);
答案: y = a * x * x * x + c;;
y = (a * x * x * x) + c;
19、多选题:
下面( )能完成变量a,b的值的交换。
A: t=a;a=b;b=t;
B: a=b;b=a;
C: a=b;
D: a=a+b;b=a-b;a=a-b;
答案: t=a;a=b;b=t;;
a=a+b;b=a-b;a=a-b;
20、多选题:
( )可以使整型变量i的值加1 。
A: i++;
B: ++i;
C: i=i+1;
D: i+=1;
答案: i++;;
++i;;
i=i+1;;
i+=1;
21、多选题:
int y,a;scanf(“%d”,&y);输入任意整数,下面( )中,a是y的百位数。
A: a=y/100%10;
B: a=y%1000/100;
C: a=y%100;
D: a=y/100;
E: a=y/10000%10;
F: a=y/1000%10;
答案: a=y/100%10;;
a=y%1000/100;
第三、四周 格式化输入输出及选择结构1
选择题
1、单选题:
能正确表示逻辑关系x<=y<=z的C语言表达式为( )
A: (x<=y)&&(y<=z)
B: (x<=y)AND(y<=z)
C: (x<=y<=z)
D: (x<=y)&(y<=z)
答案: (x<=y)&&(y<=z)
2、单选题:
能正确表示逻辑关系“a大于等于10或a小于等于0”的C语言表达式是 ( )
A: a>=10 or a<=0
B: a>=0|a<=10
C: a>=10&& a<=0
D: a>=10‖a<=0
答案: a>=10‖a<=0
3、单选题:
能正确表示逻辑关系“79<X<90”的C语言表达式是( )
A: ( X>79 ) && ( X<90 )
B: ( X>79 )!=( X<90 )
C: 79<X<90
D: (X>79 )||( X<90)
答案: ( X>79 ) && ( X<90 )
4、单选题:
设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是( )
A: 10<a<15
B: a==11||a==12||a==13||a==14
C: a>10&&a<15
D: !(a<=10)&&!(a>=15)
答案: 10<a<15
5、单选题:
设x,t均为int型变量,则执行语句“x=10; t=x&&x>10;”后,t的值为( )
A: 值不确定
B: 10
C: 1
D: 0
答案: 0
6、单选题:
下面程序,运行后的输出结果是( )#include<stdio.h>int main(){ int a=1, b = 3, c = 4;if(a<b) a=b;if(a<c) a=c;printf(“%d, %d, %dn”, a, b, c);}
A: 4,4,3
B: 4,3,4
C: 3,4,3
D: 1,3,4
答案: 4,3,4
7、单选题:
语法不正确的语句是( )
A: if (x>y);
B: if (x=y) {x++;y++;}
C: if (x==y) && (x!=0) x++;
D: if (x!=y) scanf (“%d”, &x);
答案: if (x==y) && (x!=0) x++;
8、单选题:
如果整型变量a,b,c的值分别为5,4,3,则语句if(a>b>c) c++; 执行后c的值是( )
A: 5
B: 4
C: 3
D: 2
答案: 3
9、单选题:
如果整型变量a,b,c的值分别为3,4,5,则语句 if(a<b<c) c++;执行后c的值是( )
A: 3
B: 4
C: 5
D: 6
答案: 6
10、单选题:
运行以下程序,如果从键盘上输入5,则输出结果是( ) #include<stdio.h>int main(){ int x;scanf(“%d”, &x);if (x–< 5) printf(“%d”, x);}
A: 3
B: 4
C: 5
D: 无输出
答案: 无输出
11、单选题:
C语言语句中,可以用来决定分支流程的表达式是( )
A: 任意表达式
B: 只能用逻辑表达式或关系表达式
C: 只能用逻辑表达式
D: 只能用关系表达式
答案: 任意表达式
12、单选题:
int x=102,y=12;printf(“%2d,%3dn”,x,y);执行后输出结果是( )
A: 10,012
B: 02, 12
C: 102, 12
D: 102,120
答案: 102, 12
13、单选题:
设i是 int 型变量 ,j是 float 型变量 , 用下面的语句给这两个变量输入值: scanf(“i=%d, j=%f”,&i,&j); 为了把 10 和 2.5分别赋给 i 和 j, 则正确的输入为( )
A: 10 2.5< 回车 >
B: i=10,j=2.5< 回车 >
C: 10 < 回车 > 2.5< 回车 >
D: x=10 < 回车 > ,y=2.5< 回车 >
答案: i=10,j=2.5< 回车 >
14、单选题:
执行下面语句,int a =1,b=2,c=3;if(a>c) b =c; a=c; c=b;a,b,c的值分别为( )(用逗号分隔)
A: 3,2,2
B: 1,2,3
C: 3,3,2
D: 3,3,3
答案: 3,2,2
15、单选题:
请选出正确的输入语句( )。
A: double f;scanf(“%lf”,&f);
B: float x,y; scanf(“%f%f”,x,y);
C: float x;scanf(“%fn”,x);
D: double x;scanf(“%f”,&x);
答案: double f;scanf(“%lf”,&f);
16、多选题:
在printf函数中,浮点型数据输出的格式控制符有( )。
A: %e
B: %d
C: %f
D: %g
答案: %e;
%f;
%g
17、多选题:
下面程序中,( )可以输出变量a,b,c的最大值。
A: if(a>=b && a>=c ) printf( “最大值为%dn”,a); if(b>=a && b>=c) printf( “最大值为%dn”,b); if(c>=a && c>=b) printf( “最大值为%dn”,c);
B: max=a; if(b>max) max=b; if(c>max) max=c;printf( “最大值为%dn”,max);
C: if(a>b>c ) printf( “最大值为%dn”,a); if(b>a>c) printf( “最大值为%dn”,b); if(c>a>b) printf( “最大值为%dn”,c);
D: if(a>b) max=a; if(c>max) max=c;printf( “最大值为%dn”,max);
答案: if(a>=b && a>=c ) printf( “最大值为%dn”,a); if(b>=a && b>=c) printf( “最大值为%dn”,b); if(c>=a && c>=b) printf( “最大值为%dn”,c); ;
max=a; if(b>max) max=b; if(c>max) max=c;printf( “最大值为%dn”,max);
18、填空题:
设a=1, b=2, c=3,关系表达式a+b>=c 的值是( )。
答案: 1
19、填空题:
设a=1, b=2, c=3,逻辑表达式a && b && c的值是( )。
答案: 1
20、填空题:
设a=1, b=2, c=3,逻辑表达式a || !b || !c的值是( )。
答案: 1
21、填空题:
程序功能:输入一个整数,当它是偶数时,输出“该数是偶数”,否则,输出“该数是奇数”。请完善程序(有1个空,答案一行写一个,不要添加多余的空格)#include <stdio.h> int main(){ int x; printf(“请输入x: “); scanf(“%d”,&x); if printf( “该数是偶数n”); //偶数除以2的余数为0,注意条件的括号不能少 if(x%2!=0) printf( “该数是奇数n”); return 0;}
答案: (x%2==0)##%_YZPRLFH_%##(0==x%2)##%_YZPRLFH_%##(!(x%2))
22、填空题:
输入一个考试分数(0至100范围内),如果分数小于60分,则输出“不及格”;大于90分输出“优秀”;大于等于60并且小于等于90,则输出“合格”。(有1个空,答案一行写一个,不要添加多余的空格)#include <stdio.h> int main(){ int x; printf(“请输入分数(0-100): “); scanf(“%d”,&x); if(x<60) printf( “不及格n”); if(x>90) printf( “优秀n”); printf( “合格n”); //注意分数在一个区间内,C语言中该如何描述 return 0;}
答案: if(x>=60 && x<=90)##%_YZPRLFH_%##if(60<=x && x<=90)##%_YZPRLFH_%##if(60=x)##%_YZPRLFH_%##if(x>=60 && 90>=x)##%_YZPRLFH_%##if(x>=60&&x<=90)##%_YZPRLFH_%##if(60<=x&&x<=90)##%_YZPRLFH_%##if(60=x)##%_YZPRLFH_%##if(x>=60&&90>=x)##%_YZPRLFH_%##if((x>=60)&&(x<=90))
23、填空题:
我国的邮政编码由六位阿拉伯数字组成,前第三位代表邮区,厦门市的邮政编码前三位为361 。下面的程序功能:如果输入的邮政编码前3位是361,则输出“厦门市的邮件”;如果不是361,则输出“不是厦门市的邮件”。请完善程序(有2个空,答案一行写一个,不要添加多余的空格).#include <stdio.h> int main(){ int code; printf(“请输入邮政编码: “); scanf(” %*3d”,&code); //用scanf函数截取输入邮政编码的前3位 if(361 code ) printf( “厦门市的邮件n”); if (361!=code) printf( “不是厦门市的邮件n”); return 0;}需要更多样例参考的同学可查阅课件 “ 选择结构初步 ” 里的最后一个文档 “ 习题解析 ”中第2题
答案: %3d
==
第五周 选择结构2
多分支选择题
1、单选题:
分析以下程序, 下列说法正确的是( )#include<stdio.h>main(){ int x=5,a=0,b=0; if(x=a+b) printf(“* * * *n”); else printf(“# # # #n”);}
A: 有语法错,不能通过编译
B: 通过编译,但不能连接
C: 输出* * * *
D: 输出# # # #
答案: 输出# # # #
2、单选题:
分析以下程序, 下列说法正确的是( )#include<stdio.h> main(){ int x=6,a=8,b=3; if(x=a+b) printf(“* * * *n”); else printf(“# # # #n”);}
A: 有语法错,不能通过编译
B: 通过编译,但不能连接
C: 输出* * * *
D: 输出# # # #
答案: 输出* * * *
3、单选题:
分析以下程序, 下列说法正确的是( )#include<stdio.h> main(){ int x=0,a=0,b=0; if(x==a+b) printf(“* * * *n”); else printf(“# # # #n”);}
A: 有语法错,不能通过编译
B: 通过编译,但不能连接
C: 输出* * * *
D: 输出# # # #
答案: 输出* * * *
4、单选题:
运行以下程序,如果从键盘上输入5,则输出结果是( )#include<stdio.h> int main(){ int x; scanf(“%d”, &x); if ( x–< 5) printf(“%d”, x); else printf(“%d”,x++);}
A: 3
B: 4
C: 5
D: 6
答案: 4
5、单选题:
运行以下程序,如果从键盘上输入5,则输出结果是( )#include<stdio.h> int main(){ int x; scanf(“%d”, &x); if ( x–< 5) printf(“%d”, x); else printf(“%d”,++x);}
A: 3
B: 4
C: 5
D: 6
答案: 5
6、单选题:
运行以下程序,如果从键盘上输入9,则输出结果是( )#include<stdio.h> int main(){ int x; scanf(“%d”, &x); if ( ++x< 10) printf(“%d”, x); else printf(“%d”,–x);}
A: 11
B: 10
C: 9
D: 8
答案: 9
7、单选题:
以下程序的输出是( )#include<stdio.h> int main(){ float x=2.0,y; if (x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y= 1.0; printf(“%fn”, y);}
A: 0.000000
B: 0.250000
C: 0.500000
D: 1.000000
答案: 0.500000
8、单选题:
下面程序的运行结果是( )。#include <stdio.h>main(){ int a=12, b= -34, c=56, min=0; min=a; if(min>b) min=b; if(min>c) min=c; printf(“%d”, min);}
A: 12
B: -34
C: 56
D: 0
答案: -34
9、单选题:
分析以下程序, 输出结果是( )#include<stdio.h>int main(){ int x=5; if(x) printf(“* * * *n”); printf(“# # # #n”);}
A: * * * *# # # #
B: # # # #
C: * * * *
D: 无输出
答案: * * * *# # # #
10、单选题:
分析以下程序, 输出结果是( )#include<stdio.h>
上方为免费预览版答案,如需购买完整答案,请点击下方红字:
为了方便下次阅读,建议在浏览器添加书签收藏本网页
添加书签方法:
1.电脑按键盘的Ctrl键+D键即可收藏本网页
2.手机浏览器可以添加书签收藏本网页
点击浏览器底部菜单-【添加书签】-收藏本网页
点击浏览器底部菜单-【书签/历史】-可查看本网页
获取更多慕课答案,欢迎在浏览器访问我们的网站:
http://mooc.mengmianren.com
注:请切换至英文输入法输入域名,如果没有成功进入网站,请输入完整域名:http://mooc.mengmianren.com/
我们的公众号
打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP
本公众号可查看各种网课答案,还可免费查看大学教材答案
点击这里,可查看公众号功能介绍
APP下载
APP功能说明
1.可查看各种网课答案
点击【萌面人官网】,可查看知到智慧树,超星尔雅学习通,学堂在线等网课答案
点击【中国大学慕课答案】,可查看mooc慕课答案
2.可一键领取淘宝/天猫/京东/拼多多无门槛优惠券
如图所示,点击对应图标即可领取淘宝/天猫/京东/拼多多无门槛优惠券
让临秦从僧搓俊圣教滦美蹈第