77范文网 - 专业文章范例文档资料分享平台

C语言程序设计(4)

来源:网络收集 时间:2019-03-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( C ) A. 4; B. 16; C. 30; D. 50;

6.执行语句“for(i=1,s=0;i<=5;i++) s+=i;”后,变量s、i的当前值是( B ) A. 10,5 B. 15,6 C. 15,5 D. 10,6

7.若有定义 int x,*p;,则以下正确的赋值表达式是( B ) A. p=x; B. p=&x; C. *p=&x; D. *p=*x;

8.以下对结构体类型变量的定义中,不正确的是( C )

A. typedef struct aa B. #define AA struct aa { int n; AA { int n; float m; float m; }AA; }stud; AA stud;

C. struct D. struct { int n; { int n; float m; float m; }aa; }stud; struct aa stud; 9.有如下函数调用语句:

func(rec1,rec2+rec3,(rec4+rec5));

函数调用语句中,含有的实参个数是( A )

A. 3 B. 4

C. 5 D. 以上均不是 10.对于以下宏定义: #define SQ(x) x*x

#define QQ(x,y) SQ(x)- SQ(y)

宏调用QQ(2*3,2+3)执行后值为( C ) A.25 B.11

C.43 D.以上均不是

1.设int a=5, c=32;float b=2.5;,表达式b+c/a的值为___ 8.5 ___。 2.若x和a均是int型变量,则计算x=(a=4,6*2)后x的值是 12 __。 3.设a=3,b=4,c=5。则a+b>c&&b==c的值为 0 ___。 4.有如下程序段: int k=10;

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

则循环体语句执行_0_次。 5.int i=0,s=0;

while (i

for(__i=0_,s=0___;__i

6.将p说明为字符数组指针,数组大小为10,应写_char (*p)[10]_; 7.对于 int *p,*q,i=5,j=6; ,执行:

p=&i;q=p;p=&j;

输出结果(*p)=____6___,(*q)=___5_____。

三、程序阅读题(请写出程序的输出结果。每题6分,共30分) 1. #include

main()

{ int i,j,m,n; i=8; j=10; m=++i; n=j++;

printf(″%d, %d, %d, %d″,i,j,m,n); } 输出结果:9,11,9,10

2.. #include

main() { int i;

for(i=3;i<10;i++)

{ if(i*i/20>1) break; printf(\ }

printf(\ }

输出结果:3,4,5,6

3. #include

int fac(int n)

{ static int f=1; f=f*n;

return(f); } main()

{ int i;

for(i=2;i<=5;i++)

printf(“%d!=%d\\n”,i,fac(i)); } 输出结果: 2!=2 3!=6 4!=24 5!=120

4. #include main()

{ char s[]=“ABCD”,*p;

for(p=s+1;*p!=’\\0’;p++)

printf(“%s\\n”,p); }

该程序的输出结果是: BCD CD D

5. #include int f(char *s) { int k=0;

while(*s) k=k*10+*s++-‘0’; return(k); }

main() { int a;

a=f(“1234”);

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

该程序的输出结果是:1234

四、根据下列各编程题题意填空(每空2分,共10分)

1、用for循环打印 1 4 7 10 13 16 19 22 25 , 其语句应为:

for (i=1; i<=9; i++) printf(“=”, _3*i-2__);

2、程序A如下: int f(int n) {

if(n<=1) return n;

else return f(n-1)+f(n-2); }

等价于程序B:

int f(int n) {

Int t0,t1,t_____; t0=0;t1=1;t=n; while(__n>=2__) {

t=__t0+t1____; t0=t1; t1=t; n--; }

return __t____;

}

五、编程题(第1题8分,第2题12分,共20分)

1.求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,?,的前20项之和。 1.#include

main()

{ int n,t;

float a=2,b=1,s=0; for (n=1;n<=20;n++) { s=s+a/b;

t=a; a+=b;b=t; }

printf(“the total is %f\\n”,s); }

2. 输入5个字符串,从中找出最大的字符串并输出。要求:用二维字符数组存放这5个字符串,用指针数组元素分别指向这5个字符串,用一个二级指针变量指向这个指针数组。 2. #include

main()

{ char a[5][80],*p[5],**q,**max; int i;

for (i=0;i<5;i++) p[i]=a[i]; for (i=0;i<5;i++) gets(p[i]); max=&p[0]; q=&p[1];

for (i=1;i<5;i++,q++)

if (strcmp(*max,*q)<0 max=q; puts(*max); }

C语言考试期末考试复习题及答案

一、 选择题

(1) 一个C语言程序总是从()开始执行 A) 书写顺序的第一个函数 B) 书写顺序的第一条执行语句 C) 主函数main() D) 不确定

(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( ) A) ?x?&&?y? B) x||y+z&&y-z C) x<=y D) !((x

(3) 执行以下程序段后,i的值是 ( ) int i=10; switch(i+1)

{ case 10: i++; break; case 11: ++i; case 12: ++i; break; default : i=i+1; } A) 11 B) 13 C) 12 D) 14

(4) 语句while(!e);中的条件!e等价于 ( ) A) e==0 B)e!=1 C) e!=0 D) 运行时出错 (5) 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( ) A) 随机值 B) 0 C) 1 D) F

(6) 在执行char str[10]=“china\\0”; strlen(str)的结果是 ( ) A)5 B) 6 D) 7 D 9

(7) 若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( ) A) 随机值 B) m C)o D) omputer (8) 在以下函数调用语句中

fun1(x,10,(x,10),fun2(y,10,(y,10))); 函数fun1参数的个数为 ( ) A) 8 B) 4 C) 5 D) 编译出错

(9) 在说明一个结构体变量时系统分配给它的存储空间是()

A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间

C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和

Key:CDCAB ABBD

1. 用C语言编写的代码程序

A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是

A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue

3. 以下定义语句中正确的是

A)char a='A'b='B'; float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a; 4.下列选项中,不能用作标识符的是

A)_1234_ B)_1_2 C) int_2_ D)2_int_ 5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则

A)称为函数的直接递归调用 B)称为函数的间接递归调用

C)称为函数的循环调用 D)C语言中不允许这样的递归调用 6.以下叙述中正确的是

A)局部变量说明为static存储类,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同

7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是 A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}

C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5); 8.有以下程序 main()

{ char a='a',b;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计(4)在线全文阅读。

C语言程序设计(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/548935.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: