2009级C语言期中考试试卷答案

更新时间:2023-11-14 23:02:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

— :号—位—座— — — — — — :名—姓—— — —题 — — — —答 — :号— 学— —要 — — — —不 — :别— 班— —内 — — — —线 — :— 业— 专—封 — — — —密 —:级—年— — — — — — :)—院—(系—— ∞考 试 时 间 玉林师范学院期中课程考试试卷

A、= B、*= 2010年5月 日 C、&& D、(类型名)

晚上 (2009——2010学年度第二学期)

4、设x,y,z都是int型变量,且x=3,y=5,z=9,则以下表达式中,值为10 命题教师: 洪月华 命题教师所在系:数计系 试卷类型:考试 的是:(B )。

课程名称:高级语言程序设计 考试专业:计算机科学与技术 考试年级:2009级 A、(x+y)/z B、(x+y,z+1) 线C、x+y+z D、x*y/z 题 号 一 二 三 四 总 分 5、下列选项中,哪一个是C语言的合法的常量( B )。 应得分 24 16 40 20 满分:100 实得分 评分: A、1.341e B、2/5

评卷人 C、‘xq’ D、2.0%5

签 名 6、从键盘输入A,以下程序的运行结果是:( D )。

#include 得 分 评卷人 一、单项选择题(每题2分,共24分,把正确答案填main()

{ char grade;

入表格中)

scanf(\

switch(grade)

1 2 3 4 5 6 { case 'A':printf(\ ∞ case 'B':

订7 8 9 10 11 12 case 'C': printf(\ case 'D': printf(\

default:printf(\ 1、以下描述不正确的是( A )。

} A、C程序中一个字符占两个字节。 }

B、C程序由函数组成。 A. >=90 B. >=60 C. error D. >=90>=60

7、以下程序的输出结果是( A )。

C、C语言本身没有输入输出语句。

#include

D、主函数main是程序的入口。

main () 2、有int k1,k2;double k3;scanf(\,则输入{

装的三个数据之间作为间隔的字符不正确的是( C )。 int x=3,y=9; A、一个或多个空格。 x*=y;y+=x;

B、回车。 printf(“%d,%d\\n”,x--,++y); C、逗号。 }

A、27,37 B、26,36 C、26,37 D、27,36 D、Tab。

8、执行以下程序后输出的结果是( C )。 ∞3、以下运算符中优先级最高的是( D )。

#include

计算机(本科)2009级《高级语言程序设计》试卷 第 1 页(共 5 页)

main()

得 分 评卷人 12、执行完以下程序后输出的是( C )。

int fun(int x) {int z; z=x*2; return z; }

#include

D.5,4

main()

{ int i,c=0;

for (i =1; i <4; i ++) c=fun(i);

printf(“%d ”,c); } A.12 得 分 评卷人 {

int x=4,y=5,z,m; z=x&y; m=x|y;

printf(“%d,%d\\n”,z,m); }

A.0,1 B.9,9 C.4,5 9、以下程序 #include main()

{ int x1=3,x2=0,x3=0;

if(x1=x2+x3) printf(\else printf(\}

执行后输出的结果是( B ) A.**** B. #### C. 存在语法错误 D.无输出结果

10、若i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是( A )。 for(i=1;i<=8;i++) for(j=i;j;j--) {...}

A、36 B、28 C、15 D、30

11、对于C语言程序中的函数,下列叙述中正确的是( D )。

A、函数的定义可嵌套,但函数的调用不能嵌套。 B、函数的定义和调用均不可嵌套; C、函数的定义和调用均可嵌套;

D、函数的定义不能嵌套,但函数的调用可嵌套

B.8 C.6 D.2 4 6

二、填空题(每题2分,共16分)

1、sizeof(char) 的值是____1_____。

2、int x,y,z;用条件表达式写出把x和y当中最大的值赋给z_z=x>y?x:y____。

3、代数式(x+2)e2x的C语言表达式是 (x+2)*exp(2*x) 4、以0开头的数是八进制。

5、有定义并初始化char a= 9 + '0';,则字符a是__ 9 ___。 6、C语言允许整型数据与___字符数据 ______直接进行算术运算。 7、int a = 2; !a||3+10 && 2的值是____1_____。

8、C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是int 。

计算机(本科)2009级《高级语言程序设计》试卷 第 2 页(共 5 页)

三、分析题(每题5分,共40分)

1、下列程序是求1-1/2+1/4???-1/50的值, 请填空完成。

#include main()

{ int i=2,flag=-1; float sum=1;

while ( i<=50 ) { sum=sum+flag*1.0/i ; i+=2 ;

flag=-flag;

}

printf(“sum=%f”, sum ); }

2、下列程序是求500以内的正整数m和n(要求n大于m)之间的所有素数,要求6个作为一行输出,请填空完成。 #include #include int main(void) {

int count,i,j,m,n,k; count=0;

printf(\请输入两个500以内的正整数m和n(要求n大于m)\\n\ printf(\ scanf(\ printf(\ scanf(\ for(j=m;j<=n;j++){ k=sqrt(j); for(i=2;i<=k;i++) if(j%i==0) break; if(i>k){

printf(\

count++;

if(count%6== 0) printf(\ } }

printf(\

printf(\和%d之间的素数个数是=%d\\n\ return 0; }

3、下面的程序运行后,如果从键盘上输入:A1BcD!e,则输出是 a1bcd!e3

#include “stdio.h” main() {

char ch,i=0;

while ((ch=getchar()) !=’\\n’) { if (ch >=’A’&&ch<=’Z’)

{

ch=ch+32; i++; }

printf(“%c”,ch); }

printf(“%d\\n”,i); }

4、写出满足下列条件的C表达式。

①a大于3而且小于8。 a>3&&a<8

②x 和 y同时为零 x == 0 && y==0

5、以下程序运行后的输出结果是__ 22 ______________。 #include \ main()

计算机(本科)2009级《高级语言程序设计》试卷 第 3 页(共 5 页)

{ int x=15;

while(x>10&&x<50) { x++;

if(x%7) continue; else {x++;break;} }

printf(\} 6、给定平面内任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。要求定义和调用函数dist(x1,y1,x2,y2)计算两点间的距离。请填空完成。

#include #include int main(void) {

double xa,ya,xb,yb; double distance;

double dist(double xa,double ya,double xb,double yb); printf(\ scanf(\ printf(\ scanf(\

distance = dist(xa,ya,xb,yb);

printf(\ return 0; }

double dist(double xa,double ya,double xb,double yb) {

double result;

result=sqrt(pow((xa-xb),2)+pow((ya-yb),2)); return result;

}

7、写出下面程序段的功能是__求n个整数当中最小的数 #include int main(void) {

int i,k,n,number; printf(\ scanf(\

printf(\ scanf(\ k=number;

for(i=1;i

scanf(\ if(k>number)k=number; }

printf(\ return 0; }

8、写出下面程序段的输出_ 6,24,144, _____。 #include int i=3;

int main (void) { int k,a=100;

void fun (int k);

for (k = 1; k <= 3; k++) fun (k); return 0; }

void fun(int k) {

static int a=1; a *= k ; {int b=2; a *= b; }

printf (\}

四、编程题(每题10分,共20分)

计算机(本科)2009级《高级语言程序设计》试卷 第 4 页(共 5 页)

1、输入一行字符(以回车结束),统计其中英文字母、空格、数字和其它字符的个数。

#include “stdio.h” main() {

char ch,l=0,b=0,d=0,o=0; ch=getchar();

while (ch != ‘\\n’)

{ if (ch >=‘A’&&ch<=‘Z’|| ch >=‘a’&&ch<=‘z’)

l++;

else if (ch == ‘ ’)

b++;

else if(ch >=‘0’&&ch<=‘9’) d++; else o++;

ch=getchar(); }

printf(“英文字母有%d个,空格有%d个,数字有%d个,其它字符有%d个\\n”,l,b,d,o);

}

2、输入2个正整数a和n,求a+aa+aaa+aa?a(n个a)之和。要求定义和调用函数fn(a,n),它的功能是返回aa?a(n个a),例如fn(3,2)的返回值是33。

#include #include int main(void) { int a,n,i; double sum=0;

double fn(int a,int n); printf(\ scanf(\

printf(\ scanf(\ for(i=1;i<=n;i++) sum+=fn(a,i);

printf(\ getch(); return 0; }

函数定义1:

double fn(int a,int n) {

int i;

double result=0; for(i=1;i<=n;i++)

result=result+a*pow(10,i-1); return result; }

函数定义2:

double fn(int a,int n) {

int i;

double result=a; for(i=1;i<=n-1;i++) { a=10*a;

result=result+a;

}

return result; }

计算机(本科)2009级《高级语言程序设计》试卷 第 5 页(共 5 页)

本文来源:https://www.bwwdw.com/article/ttmv.html

Top