07机械本《C程序设计》考试题A

更新时间:2023-12-28 00:08:01 阅读量: 教育文库 文档下载

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

北京科技大学成人教育学院 2007--2008学年第1学期 《C程序设计》试卷

姓名 班级 学号 题号 一 二 三 四 五 总分 得分 一、填空:(每空2分,共20分)

1.一个C程序的开发步骤通常包括编辑、 、连接、运行、调试。 2.C目标程序文件扩展名为 。 3.若有以下定义:

double w[10] ; 则w数组元素下标的上界是 。 4.C语言中表示一条语句结束的符号是 。

5.若有int i=10,j=0;则执行完语句if (j=0) i++; else i--; i的值为 。 6.为表示关系x大于等于y,y大于等于z,应使用C语言表达式 。7.设x和y均为int 型变量,且x=1,y=2,则表达式1.0+x/y的值为 。8.设有定义语句char=?\\72?; ,则变量a包含_________个字符。

9.若输入字符串:abcde<回车>,则以下while循环体执行_________次。 while ((ch=getchar())==?e?) printf(“*”); 10.把a1,a2定义成单精度实型变量,并赋初值为1的定义语句是 。

二、选择:(每题2分,共20分)

1.一个C程序的执行是从 。

A) 本程序的main函数开始,到main函数结束

B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束

D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.以下叙述正确的是 。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 C) C语言本身没有输入输出语句

D) C程序的每行中只能写一条语句

3.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 。

x=(i=4,j=16,k=32) A) 4 B) 16

C) 32

D) 52

4.设有程序段

int k=10; while(k=0)k=k-1;

这下面描述中正确的是_________。

A)while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次

5.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______。

(假设a[0][0]位于数组的第一个位置上。)

a)i*m+j b)j*m+i c)i*m+j-1 d)i*m+j+1

6.若有说明:int a[10] ; 则对a 数组元素的正确引用是 _________。

A) a [10 ] B)a[10 - 10] C)a ( 5 ) D)a[3.5] 7.设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的 是_________。

A)!((x < y )&&!z || 1) B) ' x ' && ' y ' C) x || y+z && y - z D)x <= y 8.C 语言的跳转语句中,对于break和continue说法正确的是_________。

A、break语句只应用与循环体中 B、continue语句只应用与循环体中 C、break是无条件跳转语句,continue不是

D、break和continue的跳转范围不够明确,容易产生问题

9.若有语句scanf(“%d%d”,&a,&b),要使变量a,b 分别得23、45,则正确的输入形式为_________。

A)23 45 B)23,45 C)23;45 D)2345 10.在C语言的if 语句中,用作判断的表达式为_________。

A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式

三、写出以下程序运行的结果:(每题4分,共20分)

1.

#include main() {int a,s,n,count; a=2;s=0;n=1;count=1;

while(count<=7){n=n*a;s=s+n;++count;} printf(\ }

程序的运行结果是_________。 2. main() { i=1,a=0,s=1; do{a=a+s*i;s=-s;i++;} while(i<=10); printf(\

程序段的运行结果是_________。 3. i=1;s=3; do{s+=i++;

if(s%7==0)continue; else ++i; }while(s<15); printf(\

程序段的运行结果是_______。 4.

#include

max(int x,int y) {int z; z=(x>y)?x:y; return(z); } main() {int a=1,b=2,c; c=max(a,b);

printf(\ }

程序的运行结果是_____。

5.已知字母A的ACSII码为十进制的65, main()

{ char ch1,ch2; ch1=?A?+?5?-?3?; ch2=?A?+?6?-?3?;

printf(“%d,%c\\n”,ch1,ch2);} 下面程序的输出结果是_____。

(每空3分,共21分)

1.求100~200间的全部素数。

_________ main() {

int m, k, i, n=0;

for(m=101; m<=200; m+=2) {

k=sqrt(m);

四、程序填空: for(i= _________;i<=k;i++)

if(m%i==0)

_________ ;

if (i_______ ) { printf(\;

n++;}

if(n==0) printf(\ }

printf(\

2.求n!,计算1!,2!,…,n!(n由键盘输入) long sp(int i) { static long k=1; k= _________; return k; } main() int n,I;

scanf(“%d”,&n); for(i=1; _________;i++)

printf(“%d!=%ld”, _________);} 五、编写程序:(10分+9分=19分)

1.猴子吃桃问题。猴子第一天摘下若干个桃子,当天吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。(10分)

2.用起泡法对10个整数排序(由小到大)。(9分)

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

Top