c语言习题汇总(6-10章)(4)

2019-05-24 17:29

第7章 数组 ·111·

习 题 (第九章)

1. 选择题

(1) 存放100个学生的数据,包括学号,姓名,成绩。在如下的定义中,不正确的是( )。

A. struct student { int sno; char name[20]; float score } stu[100];

B. struct student stu[100] { int sno; char name[20]; float score } ; C. struct { int sno; char name[20]; float score } stu[100]; D. struct student { int sno; char name[20]; float score } ;struct student

stu[100];

(2) 设有定义语句struct { int x ; int y ;} d[2]={{1,3}, {2,7}}; 则: printf (\的输出是( )。 A. 0 B. 1 C. 3 (3) 若有如下定义,则printf (\的输出是( )。

typedef union {long x[2]; int y[4]; char z[8]; } MYTYPE; MYTYPE them;

D. 6

A. 32 B. 16 (4) 设有如下说明和定义:

C. 8 D. 24

8

typedef union {long i ; int k[5]; char c ; } DATE ;

struct date { int cat ; DATE cow ; double dog ; } too ; DATE max ;

则下列语句的执行结果是( )。

printf (\

A. 26 B. 30 C. 18 D.

(5) 根据下面的定义,能打印出字母M的语句是( )。

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

struct person c[10]={\

A. printf (\

B. printf (\ C. printf (\D. printf (\

(6) 设有如下定义,则对data中的a成员的正确引用是( )。

struct sk {int a ; float b ; } data, *p = &data ;

A. (*p). data. a B. (*p). a C. p->data. a D. p. data. a

(7) 设有如下定义,则对字符串1i ming的不正确引用是( )。

·111·

·112· 第7章 数组

struct person{ char name[20] ; char sex ; } a={\

A. (*p). name

->name

B. p. name C. a. name D. p

(8) 设有如下定义成的链表,则值不为6的表达式是( )。

struct st { int n; struct st *next ; } a[3]={5, &a[1], 7, &a[2], 9, NULL}, *p=&a ;

A. p++ –>n

++p–>n

2. 填空题

B. p–>n++ C. (*p). n++ D.

(1) “.”称为 运算符,“–>”称为 运算符。

(2) 设有定义语句struct {int a; float b; char c;} x, *p=&x ; 则对结构体成员a的引用方法可以是 和 。

(3) 若有以下说明和定义语句,则变量w在内存中所占的字节数是 。

(4) 若有以下定义和语句,则表达式++p->a的值是 。

struct wc { int a; int *b; } ; int x[ ]={11,12}; y[ ]={31, 32};

static struct wc z[ ]={100, x, 300, y}, *p=z;

union aa {float x; float y ; char c[6]; } ;

struct st {union aa v ; float w[5] ; double ave ; } w;

3. 程序阅读题

(1) 阅读下列程序,写出运行结果(字符0的ASCII码为16进制的30)。

#include void main( ) {

union { char c; char a[4] ; } z ;

z.a[0]=0x39; z.a[1]=0x36; printf (\}

(2) 阅读程序,写出程序的运行结果。

#include void main ( ) {

struct student {

char name[10]; float k1; float k2; }

a[2]={{\

printf (\

·112 ·

第7章 数组 ·113·

(3) 阅读程序,写出程序的运行结果。

printf (\}

(4) 阅读程序,写出程序的运行结果。

#include void main ( ) {

struct std {

int id ;

char *name ; float sf ; }a, *p=&a ;

int i;char *s;float f; i= a.id=1998;

s=a.name=\f=a.sf=1800;

printf (\

printf (\}

(5) 阅读程序,写出程序的运行结果。

#include void main( ) {

struct st {

int n;

struct st *next;

}a[3]={5,&a[1],7,&a[2],9,&a[0]}, *p=a; int i;

for(i=0; i<3; i++) p=p->next; printf(\}

#include

struct s1{ char *s; int i; struct s1 *s1p; }; void main( ) {

static struct s1 a[ ]={{\ int i;

for(i=0;i<2;i++) {

printf(\ printf(\ } }

·113·

·114· 第7章 数组

4. 程序设计题

(1) 编一个程序,输入10个学生的学号、姓名、3门课程的成绩,求出总分最高的学生姓名并输出。

(2) 编一个程序,输入下列学生成绩表中的数据,并用结构体数组存放。然后统计并输出三门课程的名称和平均分数。

name zhao qian sun li foxbase 97.5 90.0 75.0 82.5 basic 89.0 93.0 79.5 69.5 C 78.0 87.5 68.5 54.0 (3) 定义一个结构体变量(包括年、月、日)。编一函数,以结构类型为形参,返回该日在本年中是第几天。

(4) 编写一个函数,对结构类型(包括学号,姓名,三门课的成绩)开辟存储空间,此函数返回一个指针(地址),指向该空间。

·114 ·

第7章 数组 ·115·

习 题 (第10章)

1. 选择题

(1) 若文件型指针fp指向某文件的末尾,则函数feof(fp)的返回值是( )。

A. 0 B. -1 C. 非零值 NULL

(2) 下列语句将输出( )。

printf(\

D.

A. 0 0 1 B. 0 0 -1 C. NULL EOF D. 1 0

EOF

(3) 下列语句中,将fp定义为文件型指针的是( )。

A. FILE fp; B. FILE *fp; C. file fp; D. file *fp; (4) 以“只读”方式打开文本文件a:\\aa.dat,下列语句中哪一个是正确的( )。

A. fp=fopen(\

B. fp=fopen(\

C. fp=fopen(\ D. fp=fopen(\(5) 如果二进制文件a.dat已存在,现在要求写入全新的数据,应以什么方式打开( )。

A. \2. 填空题

(1) C语言中调用 函数打开文件,调用 函数关闭文件。

(2) fopen函数的返回值是 。

(3) feof函数可用于 文件和 文件,它用来判断即将读入的是否为 ,若是,函数值为 。

(4) 若ch为字符变量,fp为文本文件指针,从fp所指文件中读入一个字符时,可用的二种不同的输入语句是 和 。把一个字符输出到fp所指文件中的二种 不同的输出语句是 和 。

(5) “FILE *fp”的作用是定义了一个 ,其中的“FILE”是在头文件中定义的。

3. 程序阅读题

(1) 读程序,指出程序实现的功能。

#include void main() {

int ch1,ch2;

while ((ch1=getchar ())!=EOF)

if(ch1>='a'&& chl<='z')

{ ch2=chl-32; putchar(ch2);}

B. \ C. \ D. \

·115·


c语言习题汇总(6-10章)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:招标文件(范本) - 图文

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

马上注册会员

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