云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 指针和结构体练习题

指针和结构体练习题

  • 62 次阅读
  • 3 次下载
  • 2025/12/3 2:07:26

main ( )

{ char s[12]; int i;

for (i=0; i<12 ; i++) s[i]=?A?+i+32 ; sub(s,7,11);

for (i=0; i<12 ; i++) printf (“%c”,s[i]); printf(“\\n”); }

abcdefglkjih

4.当运行以下程序时,写出输入 6↙ 的程序运行结果。

sub(char *a,char b)

{ while (*(a++)!=?\\0?) ; while (*(a-1)

main ( )

{ char s[]=”97531”,c; c = getchar ( ) ; fun(s,c); puts(s) ; }

第十一章 结构

一.选择题

1.如下说明语句,则下面叙述不正确的是 。

struct stu {

int a ; float b ; } stutype ;

A)struct是结构类型的关键字

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

2.以下对结构类型变量的定义中不正确的是 。

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 ; 3.在16位PC机中,若有定义:

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

A)1 B)2 C)8 D)11 4.当定义一个结构变量时,系统分配给它的内存是 。

A)各成员所需内存量的总和 B)结构中第一个成员所需内存量 C)成员中占内存量最大的容量 D)结构中最后一个成员所需内存量 5.已知学生记录描述为:

struct student {

int no ; char name[20]; char sex; struct {

int year; int month ; int day ; } birth ; } s ;

设结构变量s中的“birth”应是“1985年10月1日”,则下面正确的赋值方式是 。 A)year=1985 B)birth.year=1985 month=10 birth.month=10 day=1 birth.day=1

C)s.year=1985 D)s.birth.year=1985 s.month=10 s.birth.month=10 s.day=1 s.birth.day=1 6.下面程序的运行结果是 。

main ( ) {

struct complx { int x; int y ; } cnum[2]={1,3,2,7} ;

printf(“%d\\n”,cnum[0].y/cnum[0].x*cnum[1].x) ; }

A)0 B)1 C)2 D)6 7.以下对结构变量成员不正确的引用是 。

struct pupil {

char name[20]; int age; int sex ; } pup[5], *p=pup ;

A)scanf(“%s”,pup[0].name); B)scanf(“%d”,&pup[0].age); C)scanf(“%d”,&(p->sex)); D)scanf(“%d”,p->age); 8.以下引用不合法的是 。

struct s {

int i1; struct s *i2,*i0 ;

} a[3]={2,&a[1],’\\0’, 4,&a[2],&a[0], 6,’\\0’,&a[1]} , *ptr=a; A)ptr->i1++ B)*ptr->i2 C)++ptr->i0 D)*ptr->i1 9.若有以下程序段:

int a=1,b=2,c=3; struct dent {

int n ; int *m ;

} s[3] = {{101,&a},{102,&b},{103,&c}}; struct dent *p=s ;

则以下表达式中值为2的是 。

A)int B)*(p++)->m C)(*p).m D)*(++p)->m

10.若要利用下面的程序段使指针变量p指向一个存储整型变量的存储单元,则在【】中应有的内容是 。

int *p ;

p = 【】malloc(sizeof(int));

A)int B)int * C)(*int) D)(int*) 11.下面对typedef的叙述中不正确的是 。 A)用typedef可以定义多种类型名,但不能用来定义变量 B)用typedef可以增加新类型

C)用typedef只是将已存在的类型用一个新的标识符来代表 D)使用typedef有利于程序的通用和移植

二.填空题

1.结构变量成员的引用方式是使用 运算符,结构指针变量成员的引用方式是使用 运算符。 2.若有定义:

struct num {

int a ; int b ; float f ; } n = {1,3,5.0} ; struct num *pn = &n ;

则表达式pn->b/n.a,n.a*++pn->b的值是 。表达式(*pn).a+pn->f的值是 。

3.C语言允许用 声明新的类型名来代替已有的类型名。

搜索更多关于: 指针和结构体练习题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

main ( ) { char s[12]; int i; for (i=0; i<12 ; i++) s[i]=?A?+i+32 ; sub(s,7,11); for (i=0; i<12 ; i++) printf (“%c”,s[i]); printf(“\\n”); } abcdefglkjih 4.当运行以下程序时,写出输入 6↙ 的程序运行结果。 sub(char *a,char b) { while (*(a++)!=?\\0?) ; while (*(a-1)

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com