Professional Documents
Culture Documents
注意:
(1)请将完成的考卷文档以:学号+姓名.docx 保存,
(2)打开以下链接并提交
“腾讯课堂:程序设计基础第一次测验
https://ke.qq.com/course/2861512?
termid=102972460&homeworkid=563d465e93454361844aa578fdce91b2&from=client_homew
ork#dialog=1
(手机端请升级至最新版 APP 完成作业)”
一.选择题目(每小题 2 分, 共 40 分)
1、一个 C 语言的执行是从:
选项: 答案
A) 本程序的 main 函数开始,到本程序的 main 函数结束 A
B) 本程序的第一个函数开始,到本程序的最后一个函数结
C) 本程序的主函数开始,到本程序的最后一个函数结束
D) 本程序的第一个函数开始,到本程序的 main 函数结束
2. 在 C 语言中四种基本数据类型存储空间长度的排列顺序是:
选项: 答案
A) char<int<=float<double A
B) char=int<=float<double
C) char<int<=float=double
D) char=int<=float<double
5. C 语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:
选项: 答案
A) 必须为字母 C
B) 必须为下划线
C) 必须为字母或下划线
D) 可以是字母,数字或下划线中的任意一种
6. 下列四组常数中,均是正确的八进制数或十六进制数的一组是:
选项: 答案
A) 016 0xbf 018 C
B) 0abc 017 0xa
C) 010 -0x11 0x16
D) 0A12 7FF -123
7. C 语言中,要求运算量必须是整型的运算符是:
选项: 答案
A) + B) / C
C) % D) *
8. 以下程序的输出结果是:
main()
{
int a=12, b=12;
printf("%d,%d\n",--a,++b);
}
选项: 答案
A) 10,10 B) 12,12 D
C) 11,10 D) 11,13
9. 下面程序的输出的是
main()
{
int x=10,y=3;
printf("%d\n",x/y);
}
选项: 答案
A) 0 B) 1 C) 3 D) 不确定的值 C
10. 阅读下面的程序
main()
{
int i,j;
float x,y;
scanf("%f,%f",&i,&j);
scanf("%f,%f",&x,&y);
printf("i=%d,j=%d\n",i,j);
printf("x=%f,y=%f\n",x,y);
}
如果从键盘上输入
32,18<回车>
12.5,-4.3<回车>
则程序的运行结果是:
选项: 答案
A) i=32,j=18 B) i=0,j=0 D
x=12.500000,y=-4.300000 x=12.500000,y=-4.300000
C) i=32,j=18 D) i=0,j=0
x=12.5,y=-4.3 x=12.5,y=-4.3
11. 阅读下面的程序
#include<stdio.h>
main()
{
char c1,c2;
c1=getchar();
c2=c1+3;
printf("%c,%d\n",c2,c2);
}
已知字母 'A' 的 ASCII 的值为 65,如果从键盘上输入字母
D<回车>
则程序的运行结果是:
选项: 答案
A) D,68 B) 'G',68 B
C) D,71 D) G,71
选项: 答案
A) 不定值 B) 4 C
C) 1 D) 0
19. 运行下面程序时,若从键盘输入数据为"86",
则输出结果是( )。
main( )
{ int t;
scanf("%d",&t);
if (t>=90) printf("A\n");
else if (t>=80) printf("B\n");
else if (t>=70) printf("C\n");
else if (t>=60) printf("D\n");
else printf("E\n");
printf("OK\n");
}
选项: 答案
A) B B) B OK C
C) B D) B
OK C
D
E
OK
20.下面的程序,正确的说法是____。
#include <stdio.h>
int main( )
{ int x=3,y=0,z=0;
if (x=y+z) printf("* * * *");
else printf("# # # #");
return 0;
}
选项: 答案
A) 有语法错误不能通过编译。 B
B) 输出* * * *。
C) 可以通过编译,但是不能通过连接,因而不能运行。
D) 输出# # # #。
二.改错题(每小题 4 分,共 16 分)
(要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。)
(1) 输 入 并 运 行 下 面 的 程 序 , ( 程 序 中 有 两 处 错 误 , 错 误 都 在 提 示 行 :
/***********found***********/的下面一行。请改正程序中的错误,使它能得出正
确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!)
/* test1.c */
#include <stdio.h>
int main( )
{ /***********found(1)***********/
int i,j;
scanf("%f,%f",&i,&j);
/***********found(2)***********/
printf("i=%d,j=%d\n",i,j);
return 0;
}
found(1)答案: found(2)答案:
Float i,j; Printf(“i=%.3f,j=%.3f\n”,i,j);
/* test4.c */
#include <math.h>
#include <stdio.h>
main()
{
float a,b,c,s,area;
printf(“输入三角形的边 a,b,c=?”);
scanf(“%f,%f,%f”,&a,&b,&c);
/***********fill(3) ***********/
if( )
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“三角形的面积=%5.2f\n”,area);
}
/***********fill(4) ***********/
printf(“不能组成三角形!!!\n”,area);
}
fill(3)答案: fill(4)答案:
编程题(共 28 分)(只需要代码,不需要截图)
请在 /***********begin***********/ 与 /************end************/之间填写主要
的代码
要求输出保留 2 位小数。
/* test5.c */
#include <math.h>
#include <stdio.h>
main()
{
/************begin************/
//将必要的代码写在此处
/************end************/
}
2.(10 分)编写程序 test6.c:程序实现用 if 语句判断读入字符变量 ch 中的字符是否是英文小写
字母,若是小写字母则将其转换成大写字母输出(小写字母的 ASCII 码值与大写字母的 ASCII 码
值差值为 32),否则原样输出显示在屏幕上。
例如, 如果从键盘输入小写字母 a, 则程序的输出结果应为: A
如果从键盘输入字符 ?, 则程序的输出结果应为: ?
/* test6.c */
#include<stdio.h>
main()
{
/***********begin***********/
定义字符类型变量;(2 分)
用 getchar()函数读取字符;(2 分))
用 if 语句实现判断;(4 分)
用输出语句输出转换后的结果;(2 分)
/************end************/
}
3.(12 分) test6.c 对于形式为:ax2+bx+c=0 的方程一元二次方程的 a,b,c 系数的取值,判断方
程是否有实根,若有:则计算并输出求得的一元二次方程的两个实根。若没有则输出没有方
程根的信息(假定方程不存在虚根).
提示:输出结果可以参照如下语句:
printf("方程无实根!");
printf("方程的两个实根为:x1=%.2f,x2=%.2f\n", x1, x2);
用到的公式:
−b± √b 2−4 ac
x=
2a
例如,如果 a=1,b=2,c=1,则程序的输出结果应为:方程的根为:x1=-1.00,x2=-1.00 。
部分数据变量已给出,
/* test7.c */
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c;
float delt,x1,x2;
a=2;b=4;c=1;
/***********begin***********/
计算 delt=b2-4ac 部分(2 分)
用根据 delt 的值用 if 语句实现判断;(4 分)
用输出语句输出结果;(2 分)
/************end************/
return 0;
}