C语言程序设计习题集(按目录2)--打印 联系客服

发布时间 : 星期二 文章C语言程序设计习题集(按目录2)--打印更新完毕开始阅读b93325badaef5ef7ba0d3cec

void convert(char *a, int n) { int i;

if((i=n/10)!=0) convert( 【9】 ,i); else *(a+1)=0; *a= 【10】 ; }

32

结构体 文件

单项选择题(1~8题每题5分,9~18题每题6分,共100分) 1 有以下说明语句,对结构变量中成员age的正确引用是___。

struct student

{ int age; int sex; }stud1,*p;

A p->age B student.age C *p.age D stud1.student.age 2 说明语句如下,则正确的叙述是___。

union data { int x; char y; float z; }a; A data和a均是共用体类型变量

B a所占内存长度等于其成员x、y、z各在内存所占长度之和 C 任何情况下,均不能对a作整体赋值 D a的地址和它的各成员地址都是同一地址 3 共用体成员的数据类型___。

A 相同 B 可以不同也可以相同 C 长度一样 D 是结构体变量 4 由系统分配和控制的标准输出文件为___。

A 键盘 B 磁盘 C 打印机 D 显示器 5 下列关于C语言数据文件的叙述中正确的是 。 A C语言只能读写文本文件 B C语言只能读写二进制文件

C 文件由字符序列组成,可按数据的存放形式分为二进制文件和文本文件 D 文件由二进制数据序列组成

6 若要用fopen函数建一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该为___。

A \ab+\ B \wb+\ C \rb+\ D \ab\ 7 下列程序运行后的输出结果是___。

struct s { int n; char *c; }*p; char d[]={'a','b','c','d','e'};

struct s a[]={10,&d[0],20,&d[1],30,&d[2],40,&d[3],50,&d[4]}; #include main() { p=a;

printf(\%d\\n\,++p->n); printf(\%d\\n\,(++p)->n); printf(\%c\\n\,++(*p->c)); }

A 11 B 11 C 10 D 10 20 20 20 20 c b c b 8 已知

struct student

{ char *name; int student_no; char grade; }; struct student temp,*p=&temp;

33

temp.name=\chou\;

则下面不正确的是___。

表达式 值 A p->name chou B (*p)->name+2 h C *p->name+2 e D *(p->name+2) o 9 下面程序运行后,其输出结果是___。

#include struct tree

{ int x; char *s; }t; func(struct tree t)

{ t.x=10; t.s=\computer\; return 0; } main()

{ t.x=1; t.s=\minicomputer\;

func(t); printf(\%d,%s\\n\,t.x,t.s); }

A 10,computer B 1,minicomputer C 1,computer D 10,minicomputer 10 下列程序的输出结果是___。

#include main() { union

{ int i[2]; long k; char c[4]; }t,*s=&t; s->i[0]=0x39; s->i[1]=0x38;

printf(\%lx \,s->k); printf(\%c\\n\,s->c[0]); }

A 390038 39 B 380039 9 C 3938 38 D 3839 8 11 若已定义了如下的共用体类型变量x,则x所占用的内存字节数为___。

union data { int i; char cha; double f; }x;

A 7 B 11 C 8 D 10 12 如下说明语句:

enum A {A0=1,A1=3,A2,A3,A4,A5}; enum A B;

执行 B=A3; printf(\%d\\n\,B); 输出是___。

A 5 B 3 C 2 D 编译时出错 13 有以下说明语句,则结构变量s的成员num的不正确引用是___。

struct student { int num; int age; }s,*p;

34

A s.num B *p.num C p->num D (*p).num 14 以下各选项试图说明一种新的类型名,其中正确的是 。

A typedef integer int; B typedef integer=int; C typedef int integer; D typedef int=integer; 15 运行下面程序,其输出结果是___。

#include struct sample

{ int a,b; char *ch; }; main()

{ struct sample arg;

arg.a=1000;arg.b=100;arg.ch=\abcd\; f1(arg); }

f1(struct sample param) { param.a+=param.b; param.ch[2]='x';

printf(\%d\\n\,param.a); printf(\%s\\n\,param.ch); }

A 1000 B 1100 C 1100 D 100 abcd abcd abxd abcd 16 fwrite函数的一般调用形式是___。

A fwrite(buffer,count,size,fp); B fwrite(fp,size,count,buffer); C fwrite(fp,count,size,buffer); D fwrite(buffer,size,count,fp); 17 C语言文件操作函数fread(buffer,size,n,fp)的功能是___。

A 从文件fp中读n个字节存入buffer

B 从文件fp中读n个大小为size字节的数据项存入buffer中

C 从文件fp中读入n个字节放入大小为size字节的缓冲区buffer中 D 从文件fp中读入n个字符数据放入buffer中 18 若有如下定义:

struct data

{ int i; char ch; float f; }b; 则结构体变量b占用内存的字节数是 。

A 7 B 4 C 1 D 2

35