C语言复习题整理(6)

2019-04-14 15:37

int strcompare(char *str1,char *str2) /*字符串比较函数*/ {

while(*str1==*str2 && *str1!=0 && *str2!=0) {

str1++; str2++; }

return *str1-*str2; } main( ) {

char password[20]=\

char input_pass[20]; /*定义字符数组input_pass*/ int i=0; /*检验密码*/ while(1) {

printf(\请输入密码\\n\

gets(input_pass); /*输入密码*/ if(strcompare(input_pass,password)!=0) printf(\口令错误,按任意键继续\ else {

printf(\口令正确!\ break;

} /*输入正确的密码,中止循环*/ getch( ); i++;

if(i==3) exit(0); /*输入3次错误的密码,退出程序*/ } /*输入正确密码所进入的程序段*/ }

题解7 结构与共用

7.1 习题 一、选择题

1.下面正确的叙述的是( D )。

A.结构一经定义,系统就给它分配了所需的内存单元

B.结构体变量和共用体变量所占内存长度是各成员所占内存长度之和 C.可以对结构类型和结构类型变量赋值、存取和运算

D.定义共用体变量后,不能引用共用体变量,只能引用共用体变量中的成员 2.结构体类型变量在程序执行期间( A )。

A.所有成员驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 3.设有以下定义

struct date {

int cat; char c; int a[4]; long m; }mydate;

则在Turbo C中执行语句:printf(\的结果是( B )。

A.25 B.15 C.18 D.8 4.在说明一个共用体变量时系统分配给它的存储空间是( C )。

A.该共用体中第一个成员所需的存储空间 B.该共用体中最后一个成员所需的存储空间

C.该共用体中占用最大存储空间的成员所需的存储空间 D.该共用体中所有成员所需存储空间的总和

5.共用体类型变量在程序执行期间的某一时刻( B )。

A.所有成员驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 6.对于下面有关结构体的定义或引用,正确的是( D )。

struct student {

int no; int score; }student1;

A.student.score=99; B.student LiMing; LiMing.score=99; C.stuct LiMing; LiMing.score=99; D.stuct student LiMing; LiMing.score=99; 7.以下说法错误的是( A )。

A.结构体变量的名称为该结构体变量的存储首地址

B.Turbo C中,结构体变量占用空间的大小为各成员项占用空间大小之和,而共用体占用空间大小为 其成员项中占用空间最大的

成员项所需存储空间大小

C.结构体定义时不分配存储空间,只有在结构体变量说明时,系统才分配存储空间 D.结构体数组中不同元素的同名成员项具有相同的数据类型 8.若有以下说明和语句:

struct teacher {

int no; char *name; }xiang, *p=&xiang;

则以下引用方式不正确的是( D )。

A.xiang.no B.(*p).no C.p->no D.xiang->no

二、程序填空

1.以下程序段的作用是统计链表中结点的个数,其中first为指向第1个结点的指针。

struct node {

char data;

struct node *next; } *p, *first; ... int c=0; p=first;

while( 【1】p!=NULL ) {

【2】c++ ; p= 【3】p->next ; }

2.以下程序中使用一个结构体变量表示一个复数,然后进行复数加法和乘法运算。

#include struct complex_number {

float real, virtual; }; main ( ) {

struct complex_number a,b,sum,mul;

printf(\输入a.real、a.virtual、b.real和b.virtual:\ scanf(\ sum.real= 【4】a.real+b.real ;

sum.virtual= 【5】a.virtual+b.virtual ;

mul.real= 【6】a.real*b.real-a.virtual*b.virtual ; mul.virtual= 【7】a.virtual*b.real+a.real*b.virtual ; printf(\ printf(\}

3.以下程序用于在结构体数组中查找分数最高和最低的同学姓名和成绩。请在程序中的空白处填入一条语句或一个表达式。

#include main ( ) {

int max,min,i,j; static struct

{

char name[10]; int score;

}stud[6]={\李明\张三\吴大\钟六\向杰\齐伟\ max=min=1; for (i=0;i<6;i++)

if(stud[i].score>stud[max].score) 【8】max=i ; else

if(stud[i].score

printf(\最高分获得者为:%s,分数为:%d\ 【10】stud[max].name, stud[max].score ); printf(\最低分获得者为:%s,分数为:%d\ 【11】stud[min].name, stud[min].score ); }


C语言复习题整理(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程车辆分动系统分动箱传动毕业设计

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

马上注册会员

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