杭州师范大学C语言复习题库第19套
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习中--§§ 准考证号:12X2C0101CPP §§ 姓名:练习199 §§ 班级:所有专业. 杭州师范大学
计算机技术基础(C程序设计)课程练习平台.
学号:12X2C0101CPP 姓名:练习199 班级:所有专业
注意:回答完所有试题之后,需要点击本页面最后的【交卷完成,退出系统】按钮。
题号一二三四五
题型判断题 单选题 程序填空题 程序阅读题 程序设计题
说明点击题型名称可以跳转到相应题型
一、判断题
第1题:外部变量的定义与外部变量的声明含义是一样的
参考答案:错
对
错
第2题:在标准C语言中,函数的定义和调用一样都是不可以嵌套的。
参考答案:错
对
错
第3题:在求C语言的表达式时,只需考虑运算符的优先级。
参考答案:错
对
错
第4题:gets函数是从终端得到一个字符串到字符数组
参考答案:错
对
错
第5题:在switch语句中,case后可不加“{、}”。
参考答案:对
对
错
第6题:在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。
参考答案:错
对
错
第7题:在标准C中,逻辑表达式中只允许出现逻辑型数据。
参考答案:错
对
错
第8题:“--”运算符的优先级比“-”运算符的优先级低。
参考答案:错
对
错
第9题:在标准C语言中,函数的返回值是通过return语句获取的,故若在函数中没有return就不会传回值。
参考答案:错
对
错
第10题:二进制文件打开后可以先读文件的末尾,而顺序文件不可以
参考答案:对
对
错
二、单选题 选择正确的答案输入
第1题:以下程序段x=-1; do {x=x*x;} while(!x);
参考答案:C
A、是死循环
B、循环执行二次
C、循环执行一次
D、有语法错
第2题:设char ch=’A’;表达式ch!(ch>=’A’&&ch<=’Z’)?ch:(ch+32)的值是
参考答案:B
A、A
B、 a
C、 Z
D、z
第3题:以下叙述中正确的是
参考答案:A
A、函数的定义不可以嵌套,但函数的调用可以嵌套
B、函数的定义可以嵌套,但函数的调用不可以嵌套
C、函数的定义和调用都可以嵌套
D、函数的定义和调用都不可以嵌套
第4题:C语言的输入与输出操作是由____________完成的
参考答案:C
A、输入语句
B、输出语句
C、输入与输出函数
D、输入与输出语句
第5题:下列数组定义语句中,错误的是()
参考答案:A
A、char x[1]='a';
B、char x[1]={0};
C、char x[2];
D、char x[l];
第6题:若执行fopen函数时发生错误,则函数的返回值是:
参考答案:B
A、地址值
B、0
C、1
D、eof
第7题:C语言中以追加方式打开一个文件应选择_______________参数
参考答案:D
A、“r”
B、“w”
C、“rb”
D、“a”
第8题:for( i=0; i<1;i++)
for( j= 2;j> 0;j--)
printf("*");
参考答案:A
A、**
B、***?
C、****
D、******
第9题:已知字母A的ASCII码为十进制的65,下面程序的输出是
main()
{
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
参考答案:A
A、 67,D
B、 B,C
C、 C,D
D、 不确定的值
第10题:若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用 int a[]={1,2,3,4,5},*p,i;
参考答案:A
A、 *(a+2)
B、a[p-3]
C、p+2
D、a+3
三、程序填空题
第1题:
输入三角形的三条边a,b,c,求三角形的面积。注:s=sqrt(t
*(t-a)*(t-b)*(t-c)), 其中t=(a+b+c)/2
#include <math.h>
#include <stdio.h>
void main()
{
float a, b, c, d, t, s;
printf("请输入三角形的三条边:");
scanf(___);
if(___||___||___)
printf("%f %f %f不能构成三角形!",a, b, c);
else
{
t = (a+b+c)/2;
s =___;
}
printf("a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n", a, b, c, s );
}
请在左边文本框当中输入正确答案
参考答案:"%f%f%f",&a, &b, &c"
请在左边文本框当中输入正确答案
参考答案:a>b+c
请在左边文本框当中输入正确答案
参考答案:b>a+c
请在左边文本框当中输入正确答案
参考答案:c>b+a
请在左边文本框当中输入正确答案
参考答案:sqrt(t*(t-a)*(t-b)*(t-c))
第2题:
下列程序利用函数求两个数的最大值,请在___处补上必要的代码:
<bfloat max(float,float)
;
main()
{
float a,b,c;
scanf("%f,%f",&a,&b);
c = max (a,b);
printf("max = %f\n",c);
}
float max(float x, float y)
{
float z;
___;
return(z) ;
}
请在左边文本框当中输入正确答案
参考答案:z = x>y ? X : y
第3题:输入一个字符,如是"a"或"A",输出"Abort",如是"r"或"R"输出"Retry",如是"f"或"F",输出"Fail"。否则,给出出错信息。
#include "stdio.h"
void main() { char c;
printf("请输入一个字符:"); ___; switch( c)
{ case 'a': case'A': ___; break;
case 'r':
case'R': printf("Retry"); ___;
case 'f':
case'F': printf("Fail"); break;
___: printf("输入的字符不在处理范围内");} }
请在左边文本框当中输入正确答案
参考答案:
请在左边文本框当中输入正确答案
参考答案:scanf("%c", &c)
请在左边文本框当中输入正确答案
参考答案:printf("Abort")
请在左边文本框当中输入正确答案
参考答案:break;
四、程序阅读题
第1题:阅读程序,写出输入a后的运行结果。
#include <stdio.h>
void main ( )
{ char ch;
scanf("%c",& ch);
ch=(ch>='A'&& ch<='Z')?(ch+32):ch-32;
printf("%c\n",ch);
}
A)、AA B)、a C)、Aa D)、A
参考答案:D
第2题:输入how are you? <回车>后, 下列程序的输出结果是
#include<stdio.h>
void main( )
{ int word;
char ch;
word=0;
while((ch=getchar())!='?') {
if(ch==' ') word=0;
else if(word==0) {
word=1;
if(ch<='z'&&ch>='a')
ch=ch-'a'+'A';
}
putchar(ch);
}
}
A)、HOW ARE YOU B)、How Are You C)、How are you D)、HOW ARE you
参考答案:B
第3题:阅读程序,写出运行结果。
#include<stdio.h>
void main()
{
int k=1,j=2,*p,*q,*t;
p=&k; q=&j;
t=p; p=q; q=t;
printf("%d,%d",*p,k);
}
A)、2,2 B)、2,1 C)、1,1 D)、1,2
参考答案:B
第4题:阅读程序,写出运行结果。
#include<stdio.h>
void main( )
{
static char s[ ]="student";
printf("%s\n", s+2);
}
A)、STUDENT B)、student C)、DENT D)、udent
参考答案:D
第5题:阅读程序,写出运行结果。
#include <stdio.h>
void main()
{int n;
for (n=10;n<=15;n++)
{if (n%3==0)
continue;
printf("%d ",n);
}
}
A)、10 11 13 14 B)、10 10 13 14 C)、10 11 13 13 D)、14 13 12 11
参考答案:A
五、程序设计题
在E盘上建以自己【姓名+准考证号】为名的文件夹,并在该文件夹下面根据设计题中小题个数建相应的子文件夹,子文件夹名为
【设计题*】,并把每小题结果文件保存在相应的子文件夹中。
例如:考生张三的准考证号为0100101,做设计题中的第1小题,
文件保存位置是:E:\张三0100101\设计题1
第1题: 编程序按下列公式计算e的值(精度为1e-6) e=1+1/1!+1/2!+1/3!+……1/n!?
参考答案:
#include<stdio.h>
main()
{int a;
float s,e;
s=1;a=1;e=0;
while(s>1e-6)
{e=e+s;
a=a*(a+1);
s=1.0/a;
}
printf("e的值为:%f",e);
}
第2题:有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。
参考答案:
#include <stdio.h>
float average(float array[ ],int n)
{ int I;
float aver,sum=array[0];
for(I=1;I<n;I++)
sum=sum+array[I];
aver=sum/n;
return(aver);
}
main()
{ float ave,score[10];
int I;
for(I=0;I<10;I++)
scanf("%f",&score[I]);
ave=average(score,10);
printf("%f\n",ave);
}
第3题:输入一个3阶矩阵(3行3列),判断它是不是一个魔方阵。魔方阵的条件是它的每一行、每一列和对角线的元素和均相等。
参考答案:
#include<stdio.h>
main()
{int a[3][3],i,j,h[3],l[3],d1,d2,flag1;
d1=d2=0;
flag1=0;
for(i=0;i<3;i++)
{h[i]=0;
l[i]=0;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
d2=d2+a[i][2-i];
d1=d1+a[i][i];
for(j=0;j<3;j++)
{h[i]=h[i]+a[i][j];
l[j]=l[j]+a[j][i];
}
}
if(d1=d2) flag1=1;
for(i=0;i<3;i++)
if(h[i]!=l[i]||h[i]!=d1||l[i]!=d2)
{flag1=0;break;
}
if(flag1)
printf("你输入的3X3矩阵是一个魔阵");
else
printf("你输入的3X3矩阵不是一个魔阵");
}
将你的考生文件夹打包上传:
注意:提交文件是以“姓名+准考证号”进行压缩的打包文件(查看文件打包并上传的演示动画)
<==
注意:
未做完所有试题之前请不要点击右边的【交卷完成,退出系统】按钮
。点击【交卷完成,退出系统】按钮提交结果之后将视为结束练习,退出系统!<==注意左边提示
【你的IP:192.168.102.143】
.
Copyright (C) 2006-2009
Designed By RSIDE
.