教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

c语言复习题及参考答案(9)

来源:网络收集 时间:2026-08-23
导读: ( )改为:( ) ( )改为:( ) ( )改为:( ) ( )改为:( ) ( )改为:( ) 五、编程题(以下各题均用指针实现) 1、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数: (1)输入10

( )改为:( ) ( )改为:( ) ( )改为:( ) ( )改为:( ) ( )改为:( )

五、编程题(以下各题均用指针实现)

1、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:

(1)输入10个数; (2)进行处理; (3)输出10个数;

2、编程,输入一个以回车结束的字符串(少于80个字符),先输出其中的小写英文字母、空格和感叹号!,然后统计这些字符的个数。

3、编程,输入一个字符ch和一个以回车符结束的字符串(少于80个字符),统计字符串中与ch相同的字母个数。

4、输入一个以回车结束的字符串(少于80个字符),把字符串中的所有数字字符(?0‘-?9‘)转换为整数,去掉其他字符。例如,字符串‖3A56BC‖转换为整数后是356。

输入输出示例: Free82jeep5 825

5、编一程序,将两个字符串连接起来,不要用strcat函数。

6、有一字符串,包含n个字符。写一函数将此字符串中从m个字符开始的全部字符复制成另一字符串。

第九章

一、单项选择题 1、设有以下语句:

struct SS {int no;

char name[10; }PERSON;

则下面叙述中错误的是__ _。

A、struct是结构体类型的关键字 B、struct SS是结构体类型 C、PERSON是结构体类型名 D、name是结构体成员名 2、如下说明语句,则下面叙述不正确的是__ _。 struct stu { int a ;float b; } stutype;

A、struct是结构体类型的关键字 B、struct stu是用户定义结构体类型 C、stutype是用户定义的结构体类型名(变量名) D、 a和b都是结构体成员名 3、如果sizeof(int)=4,若有定义如下,则结构变量b占用内存的字节数是__ _。

struct data { int i ; char ch; double f; } b;

- 41 -

A、1 B、2 C、8 D、13 4、运行下列程序,输出结果是__ _。 struct contry { int num; char name[20];

}x[5]={1,\void main( ) { int i;

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

printf(\}

A、3F4E5S B、4E5S C、F4E D、c2U3F4E 5、以下程序的输出结果是__ _。 union myun { struct { int x, y, z; } u; int k; } a; void main( ) { a.u.x=4; a.u.y=5; a.u.z=6; a.k=0;

printf(\ }

A、4 B、5 C、 6 D、 0

6、当定义一个共用体变量时,系统分配给它的内存是__ _。

A、各成员所需内存量的总和 B、结构中第一个成员所需内存量 C、成员中占内存量最大的容量 D、结构中最后一个成员所需内存量 7、若有以下程序段,则以下语句正确的是__ _。 union data { int i ; char c; float f;} a; int n;

A、a=5; B、a={2,‘a‘,1.2} C、printf(―%d‖,a.i); D、n=a; 8、设struct

{int a; char b; } Q, *p=&Q;

错误的表达式是__ _。

A、Q.a B、(*p).b C、p->a D、*p.b 9、 以下对C语言中共用体类型数据的叙述正确的是__ _。 A、可以对共用体变量直接赋值

B、一个共用体变量中可以同时存放其所有成员 C、一个共用体变量中不能同时存放其所有成员 D、共用体类型定义中不能出现结构体类型的成员

10、当定义一个结构体变量时,系统为它分配的内存空间是__ _。

- 42 -

A、结构中一个成员所需的内存容量 B、结构中第一个成员所需的内存容量 C、结构体中占内存容量最大者所需的容量 D、结构中各成员所需内存容量之和 11、运行下列程序段,输出结果是__ _。 struct country { int num; char name[10];

}x[5]={1,\ p=x+2;

printf(\ A、2,U B、3,a C、4,g D、5,S

12、如果有下面的定义和赋值,则使用__ _不可以输出n中data的值。 struct Snode { unsigned id; int data; }n,*p; p=&n;

A、p.data B、n.data C、p->data D、(*p).data 13、定义以下结构体数组 struct Date { int year; int month; int day; }; struct S

{ struct Date birthday; char name[20];

} x[4]={{2008,10,1,\

语句printf(\的输出结果为__ _。

A、 guangzhou,2009 B、 guangzhou,2008 C、 Tianjin,2008 D、 Tianjin,2009 二、填空题

1、设struct student

{ int no;

char name[12]; float score[3]; } sl,* p = &sl ;

用指针法给 sl的成员no赋值1234的语句是 _____________。 2、

(1)写出左图所示的存储结构所需的类型定义和语句。

- 43 -

struct link

{ data;

next;} ; (2)写出建立上图所示的存储结构和赋值所需的语句。 =20; =NULL; (3)写出输出成员data的值。 printf(―%d\\n‖, ) 三、程序填空题

head data next 20 NULL 1、输入n(3

输入输出示例: n=5

1,林宏,1800,600 2,李涛,1700,550 3,王钢,2100,750 4,周航,1500,450 5,金明,2300,850

基本工资+职务工资最少的是:周航 基本工资+职务工资最多的是:金明 #include struct Worker { int num; char name[20]; float jbpay; float zwpay; };

void main( ) {

; int max=0,min=0,i,n; printf(\scanf(\for (i=0;i

printf(\基本工资+职务工资最少的是%s\\n\printf(\基本工资+职务工资最多的是%s\\n\

- 44 -

scanf(\ );

; ; if(s[max].jbpay+s[max].zwpay

if(s[max].jbpay+s[max].zwpay >s[i].jbpay+s[i].zwpay )

}

四、程序改错题

1、输入一个正整数n(3<=n<=10),再输入n个雇员的信息(如下表所示),输出每人的姓名和实发工资(基本工资+浮动工资-支出)。

工资表 姓名 Zhao Qian Zhou #include void main( ) { struct emp { char name[10]; float jbg; float fdg; float zc; }; int i,n; printf(―n=‖); scanf(―%d‖,&n); for(i=0;i

scanf(―%s%d%d%d‖,emp[i].name,emp[i].&jbg,emp[i].&fdg,emp[i],&zc); for(i=0;i

printf(―%5s实发工资:%7.2f\\n‖, emp[i].name,emp[i]. jbg+emp[i]. fdg-emp[i].zc);

} …… 此处隐藏:1552字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言复习题及参考答案(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/404309.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)