C语言练习题2014-1(9)

2019-08-31 12:35

14.以下程序的执行结果是 。

#include

int fun(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y; }

void main(void) { int a, b, c, d; a=30; b=50; fun(a,b,&c,&d);

printf(\}

15.下列程序的输出结果 。

#include main()

{char b[]=\char *chp=&b[7]; while(--chp>&b[0]) putchar(*chp); putchar('\\n'); }

16. 阅读程序

main()

{char str1[]=\,str2[10]; char *p1=str1,*p2=str2; scanf(\printf(\printf(\}

运行上面的程序,输入字符串PEOPLE AND COMPUTER,程序的输出结果是 。

17. 下列程序的运行结果是 。 main() { int i,*p;

static int a[4]={1,2,3,4}; p=a;

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

printf(\ }

18.以下程序的运行结果是 。 main() { int i,*p;

static int a[4]={1,2,3,4}; p=a;

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

printf(\ }

第八

一、选择题

1.在说明一个结构体变量时系统分配给它的存储空间是 。

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

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

2.若有以下说明和语句: struct worker

{ int no; char ﹡name; }work, ﹡p=&work; 则以下引用方式不正确的是 。

A) work.no B) (﹡p).no C) p->no D)work->no 3.有如下定义:

struct date { int year, month, day; };

struct worklist { char name[20]; char sex; struct date birthday; }person;

对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是 。 A) year=1958 B) birthday.year=1958 C) person.birthday.year=1958 D) person.year=1958 4.以下对结构体类型变量的定义中不正确的是 。 A) #define STUDENT struct student B) struct student

STUDENT { int num; { int num; float age; float age; }std1; }std1;

C) struct D) struct { int num; { int num;

float age; float age; } student; }std1; struct student std1; 5.设有以下说明语句

struct stu

{ int a; float b; }stutype;

则下面的叙述不正确的是 。 A) struct是结构体类型的关键字

B) struct stu是用户定义的结构体类型 C) stutype是用户定义的结构体类型名 D) a和b都是结构体成员名

6.C语言结构体类型变量在程序执行期间 。 A) 所有成员一直驻留在内存中 B) 只有一个成员主留在内存中

C) 部分成员驻留在内存中 D) 没有成员驻留在内存中

7.以下程序的运行结果是 。 # include main( )

{ struct date

{ int year, month, day; }today; printf(“%d\\n”,sizeof(struct date)); }

A) 6 B) 8 C) 10 D)12 8.有如下定义

struct person{char name[9]; int age;};

struct person class[10]={“Johu”, 17, “Paul”, 19 ,“Mary”, 18, “Adam “,16}; 根据上述定义,能输出字母M的语句是 。 A) printf(“%c\\n”,class[3].name); B) pfintf(“%c\\n”,class[3].name[1]); C) printf(“%c\\n”,class[2].name[1]); D) printf(“%c\\n”,class[2].name[0]); 9.设有如下定义

struct ss

{ char name[10]; int age; char sex;

} std[3],* p=std;

下面各输入语句中错误的是 。 A) scanf(\B) scanf(\C) scanf(\D) scanf(\

10.设有以下说明语句,则下面的叙述中不正确的是 。

struct ex {

int x ; float y; char z ; } example;

A) struct结构体类型的关键字 B) example是结构体类型名 C) x,y,z都是结构体成员名 D) struct ex是结构体类型 14.以下程序的输出结果是 。

amovep(int *p, int a[3][3],int n) { int i, j;

for( i=0;i

for(j=0;j

main()

{ int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int *)malloc(100); amovep(p,a,3);

printf(\}

A) 56 B) 25 C) 34 D) 程序错误 15.以下程序的输出结果是 。

struct HAR

{ int x, y; struct HAR *p;} h[2]; main()

{ h[0].x=1;h[0].y=2; h[1].x=3;h[1].y=4; h[0].p=&h[1].x; h[1].p=&h[0].x;

printf(\}

A) 12 B) 23 C) 14 D) 32

四、读程序写结果题

1.以下程序的运行结果是 。 struct n {int x; char c; }; main( )

{ struct n a={10, ?x?}; func(a); printf ( “%d,%c”, a.x, a.c); } func(struct n b)

{b.x=20; b.c=?y?; }

2.以下程序的运行结果是 。 main( )

{ struct EXAMPLE { struct {int x; int y; }in int a; int b; }e;

e.a=1; e.b=2; e.in.x=e.a * e.b; e.in.y=e.a + e.b; printf(“%d,%d”, e.in.x, e.in.y); } 3.以下程序的运行结果是 。 main( )

{ static struct s1 {char c[4], *s; }s1={“abc”,”def”};

static struct s2 {char *cp; struct s1 ss1; }s2={“ghi”, {“jkl”, “mno”}}; printf(“%c,%c\\n”, s1.c[0], *s1.s); printf(“%s,%s\\n”, s1.c, s1.s);

printf(“%s,%s\\n”, s2.cp, s2.ss1.s); printf(“%s,%s\\n”, ++s2.cp, ++s2.ss1.s); }

4.以下程序的运行结果是 。 struct s{ int a; float b; char *c; } main( )

{static struct s x={19,83.5,”zhang”}; struct s *px=&x; printf(“%d %.1f %s\\n”, x.a, x.b,x.c);

printf(“%d %.1f %s\\n”, px->a, (*px).b,px->c); printf(“%c %s\\n”, *px->c-1, &px->c[1]); }

5.以下程序的运行结果是 。 struct stru {int x; char c; };

main( )

{ struct stru a={10, ?x?},*p=&a; func (p); printf ( “%d,%c”, a.x, a.c); } func (struct stru *b)

{b->x=20; b->c=?y?; }

6.以下程序的执行结果是 。 #include

struct stu { int num;

char name[10]; int age; };

void fun(struct stu *p) {

printf(\ }

void main(void) {

struct stu students[3]={ {9801,\{9803,\ fun(students+2); }

{9802,\

第九

一、选择题

1.当已存在一个abc.txt文件时,执行函数fopen (“abc.txt”, “r+”)的功能是 。 A) 打开abc.txt文件,清除原有的内容 B) 打开abc.txt文件,只能写入新的内容

c)打开abc.txt文件,只能读取原有内容 d)打开abc.txt文件,可以读取和写入新的内容

2.若用fopen( )函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是 。

A)“ab+” B) “wb+” C)“rb+” D)“ab”

4.fread(buf,64,2,fp)的功能是 。

A) 从fp文件流中读出整数64,并存放在buf中;

B) 从fp文件流中读出整数64和2,并存放在buf中;

C) 从fp文件流中读出64个字节的字符,并存放在buf中; D)从fp文件流中读出2个64个字节的字符,并存放在buf中;

5.以下程序的功能是 。 main( )

{FILE *fp; char str[ ]=”HELLO”; fp=fopen(“PRN”,”w”);

fpus(str,fp);fclose(fp); }

A) 在屏幕上显示“HELLO” B) 把“HELLO”存入PRN文件中

C)在打印机上打印出“HELLO” d)以上都不对

6.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值

是 。

A) EOF B) 0 C) 非零值 D) NULL 7.以下叙述中不正确的是 。

A) C语言中的文本文件以ASCII码形式存储数据 B) C语言中对二进制位的访问速度比文本文件快 C) C语言中,随机读写方式不使用于文本文件 D) C语言中,顺序读写方式不使用于二进制文件

8.以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符

#号时结束输入和输出操作,但程序有错。 #include main()

{ FILE *fout; char ch; fout=fopen('abc.txt','w'); ch=fgetc(stdin); while(ch!='#') { fputc(ch,fout); ch =fgetc(stdin); }

fclose(fout); }

出错的原因是 。

A) 函数fopen调用形式有误 B) 输入文件没有关闭

C) 函数fgetc调用形式有误 D) 文件指针stdin没有定义

9、若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果

是 。

fseek(fp, 0, SEEK_END); i=ftell(fp);

printf(\

A) –1 B) fp所指文件的长度,以字节为单位 C) 0 D) 2


C语言练习题2014-1(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《计算机组成原理》第06章在线测试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: