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

当前位置:首页 > C语言课件及补充练习题

C语言课件及补充练习题

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 15:19:32

{ printf(“%s\\n”, (*p).name); } main()

{ struct stu students[3]={ {9801,”Zhang”,20}, {9802,”Wang”,19}, {9803,”Zhao”,18} }; fun(students+2); }

输出结果是

A)Zhang B)Zhao C)Wang D)18

二、填空题:

1.定义struct{ int x; int y;} s[2]={{1,2},{3,4}},*p=s;

则表达式++p->x的值为 , 表达式(++p)->x的值为 。

2.有以下说明和语句,可用a.day引用结构体成员day,请写出引用结构体成员a.day 的其它两种形式 、 。

3.定义struct{ int x; char *y;} tab[2]={{1,”ab”},{2,”cd”}}, *p=tab;

则表达式*p->y的结果为 ,表达式*(++p)->y的结果为 。

4.结构体类型的数据特性是 ,使用结构体处理数据的场合是

三 、判断题:

1.结构体和数组一样,属于构造数据类型。( ) 2.在结构体中,各成员应该具有不同的数据类型。( ) 3.结构体可以作为函数的参数。( )

4.结构体和数组不一样,结构体属于构造数据类型,数组是基本数据类型。( ) 5.在程序中使用结构体时,一般不允许把结构体作为 一个整体参加操作处理,而应

通过对结构体的各个成员项的引用来实现各种运算和操作。( )

6.在程序中,可以将一个结构体变量作为一个整体赋给另一个同类型的结构体变量。(7.枚举类型变量可用于while和for语句中的循环控制参数。( )

二、 程序阅读题:

1.程序如下:

struct n_c{int x; char c;}; main()

{ struct n_c a={10,?x?}; func(a);

printf(“%d%c”,a.x,a.c); }

func(struct n_c b)

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

该程序的运行结果是:

41

) 2. #include main() { int i;char *s;float f1,f2; struct std { int id; char * name; float sf1; float sf2; } a; i=a.id=1995; s=a.name=”Windows 95”; f1=a.sf1=1.18;f2=a.sf2=6.0; printf(“%d is %s\\n”,i,s); printf(“%f %f\\n”,f1,f2); }

三、 程序填空题:

1.下面是从键盘上输入一个日期,计算该日是该年中第几天,并从屏幕上显示出来。 程序如下:

struct date{int d; int m; int y;}; main() {struct date ymd; printf(“Enter year-month-day:”); scanf(“%d-%d-%d”,&ymd.y,&ymd.m,&ymd.d); printf(“The Passed days:%d\\n”,days ( )); }

int days(struct date pd)

{static int tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int number,i,lp; number=pd.d;

lp=pd.y%4= =0 && pd.y0!=0| |pd.y@0= =0;

for (i=1; i

}

2.下面的程序从终端上为结构数组接收5个人的年龄、性别和姓名,然后输出。 程序如下: struct man{char name[20]; unsigned age; char sex[7]}; main() { struct man person[5]; data_in(person); data_out(person);

42

}

data_in(struct man *p)

{ struct man *q= ; for (;p

{printf(“age:sex:name”); scanf(“%u,%s”,p->age,p->sex); ; }

}

data_out(struct man *p)

{ struct man *q= ;

for (;pname,p->age,p->sex); }

第九章 位运算

一、

单项选择题:

1. 在C语言中,要求运算数必须是整型或字符型的运算符是

A. % B.& C.! D.|| 2. 表达式a>b||~c&d的运算顺序是

A.~,&,>,|| B.~,||,&,> C.~,&,||,> D.~,>,&,|| 3. 若x=5,y=7,则x&y的结果是

A. 0 B.5 C.7 D.12 4. 若x=5,y=8,则x&y的结果是

A.0 B.5 C.8 D.13 5. 在执行完以下C语句后,B的值是

char Z=?A?; int B;

B=((241&15)&&(Z|?a?));

A.0 B.1 C.true D.false 6. 下面程序段的输出结果是

int x=20;

printf(“%d\\n”,~x);

A.02 B.-20 C.-21 D.-11 7. 执行以下语句后,z的二进制值是

char x=3,y=6,z; z=x^y<<2;

A. 00010100 B.00011011 C.00011100 D.00011000

43

8. 有程序:

struct bit {

unsigned a_bit:2; unsigned b_bit:2; unsigned c_bit:1; unsigned d_bit:1; unsigned e_bit:2; unsigned word:8; }

main() {

struct bit *p;

unsigned int modeword;

printf(“Enter the mode word(HEX):”); scanf(“%x”,&modeword);

p=(struct bit *)&modeword; printf(“\\n”);

printf(“a_bit:%d\\n”,p->a_bit); printf(“b_bit:%d\\n”,p->b_bit); printf(“c_bit:%d\\n”,p->c_bit); printf(“d_bit:%d\\n”,p->d_bit); printf(“e_bit:%d\\n”,p->e_bit); }

若运行时,输入:98

则以上程序的运行结果是

A.a_bit:1 B.a_bit:2 C.a_bit:2 D.a_bit:1 b_bit:2 b_bit:1 b_bit:1 b_bit:2 c_bit:0 c_bit:0 c_bit:1 c_bit:2 d_bit:1 d_bit:1 d_bit:0 d_bit:0 e_bit:2 e_bit:2 e_bit:2 e_bit:1

二、 填空题:

1. 与表达式a&=b等价的另一书写形式是 。 2. 以下程序段运行后的输出结果是 int a=1,b=2;

if(a&b) printf(“* * *\\n”); esle printf(“$ $ $\\n”); 3. 设有char a,b若要通过a&b运算屏蔽掉a中的其它位,只保留第3和第7位(从

右边开始),则b的二进制是

44

搜索更多关于: C语言课件及补充练习题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{ printf(“%s\\n”, (*p).name); } main() { struct stu students[3]={ {9801,”Zhang”,20}, {9802,”Wang”,19}, {9803,”Zhao”,18} }; fun(students+2); } 输出结果是 A)Zhang B)Zhao C)Wang D)18 二、填空题: 1.定义struct{ int x; int y;} s[2]={{1,2},{3,4}},*p=s; 则表达式++p->x的值为

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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