Exam14 - C作业与实验14

更新时间:2023-10-23 13:11:01 阅读量: 综合文库 文档下载

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

理论模拟网址:10.77.18.250/csim 用户名,密码均为学号。

学号:3110103147 姓名:吴振国 答案:

一、单选题 1. A 2. D 3. A 4. 5. 6. B 7. B 8. C 9. B 10. C 11. B 12. B 13. C BCD A 二、填空题 1. efgh 2.s=p+3;2 3.6 题目: 一.单选题

1.当执行下面的程序时,如果输入ABC,则输出结果是 #include \#include \main()

{ char ss[10]=\

gets(ss); strcat(ss, \ printf(\}

A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC456789

2.有以下说明和定义语句 struct student

{ int age; char num[8];};

struct student stu[3]={{20,\struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是______。 A) (p++)->num B) p->num C) (*p).num D) stu[3].age

3.对于以下结构定义,++p->str中的++加在_____。 struct {

int len; char *str; } *p;

A)指针str上 B)指针p上 C)str指的内容上 D)以上均不是

4.对于以下的变量定义,表达式______不符合C语言语法。 struct node { int len; char *pk; } x = {2, \

A)p->pk B)*p.pk C)*p->pk D)*x.pk

5.对于以下的变量定义,表达式______是正确的。 struct node { char s[10]; int k; } p[4]; A)p->k=2 B)p[0].s=\C)p[0]->k=2 D)p->s='a'

6.下列程序段的输出结果是_____。 int *p, *q, k = 1, j=10 ; p=&j; q = &k ; p = q ; (*p)++; printf(\A)1 B)2 C)10 D)11

7.设程序中不再定义新的变量,写出在函数main中可以使用的所有变量______。 #include int z;

int p(int x) { static int y; return(x+y); }

void main( ) { int a,b;

printf(\?? }

A)a, b B)a,b,z C) a,b,y,z D)a,b,x,y,z

8.声明语句为“char a[10]”,执行下列语句后的输出结果为______。 printf(\ A) 7,7 B)7,8 C)10,7 D)10,8

9.函数f定义如下,执行语句“m=f(5);”后,m的值应为_______。 int f(int k) { if(k==0||k==1) return 1; else return f(k-1)+f(k-2); } A、 3 B、 8 C、 5 D、 13

10.函数f定义如下,执行语句“sum=f(5)+f(3);”后,sum的值应为______。 int f(int m) { static int i=0; int s=0; for(;i<=m;i++) s+=i; return s; } A、 21 B、 16 C、 15 D、 8

11.对于以下递归函数f,调用 f(3) 的返回值是_______ 。 int f(int n)

{ if(n) return f(n-1) + n; else return n; }

A、10 B、6 C、3 D、0

12.以下函数调用语句中,含有的实参个数是( )。 calc(exp1,(exp3,exp4,exp5)); A. 1 B. 2 C. 3 D. 4

13.执行下列程序:

#define FB(a,b) (a*b+1) int k=3;

k=FB(FB(k,k+1),k)-7;

后变量k的值是__________。 A、7 B、24 C、27 D、33

二.填空:

1.以下程序的输出结果是______。 main()

{ char *p=\ long *q; q=(long*)p; q++;

r=(char*)q;

printf(\}

2.若有五个连续的int类型的存储单元并赋值如下,a[0]的地址小于a[4]的地址。p和s是基类型为int的指针变量。请对以下问题进行填空。 a[0] a[1] a[2] a[3] a[4] 22 33 44 55 66 (1)若p已指向存储单元a[1]。通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是______。

(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是_______。

3.下面程序的运行结果是:______。 int f( int a[], int n)

{ if(n>1) return a[0]+f(&a[1],n-1); else return a[0]; }

main ( )

{ int aa[3]={1,2,3},s;

s=f(&aa[0],3); printf( \}

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

Top