急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!

急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!,第1张

一、填空题

1一个函数一般由两部分组成,它们分别是函数名和函数体。

2一个C语言的程序至少应包含一个主函数。

3函数体用{符号开始,用}符号结束。

4欲将一个16位二进制的整数变量的高8位清零,而只保留低8位,可用的方法是和0x00ff进行与运算。

5数组在内存中是一块连续的储存区,数组名代表首地址。

6函数直接或间接的自己调用自己,被称作函数的递归调用。

7函数在内部定义只在本函数内有效的变量叫内部变量,在函数以外定义的变量叫外部变量。

二、选择题

1下列变量中合法的是(没对的,A改成B_C_Tom就对,C改成_6a7b对)

A BCTom B3a6b C-6a7b D $ABC

2下面两对用户定义标识符哪个可读性最强(c)

A cheackquality B salarytotal C check-quality D sa-la-ry-tot-al

3设 int m=10,则下列表达式的值不等于0的有(D)

A m=10/110 B m==8 C ~m&m D ~(m|m)

4设 int x=25,则表达式 (x&20>>1)|(x>10|7&x^33)的值是(D)

A 35 B 43 C 42 D 41

5C语言中,逻辑“真”等价于(C)

A 大于0的数 B大于0的整数 C非0的数 D 非0的整数

6有段程序:int x=20; do{x/=2;}while(x--);请问此循环执行(A)次。

A 4 B 3 C 5 D不确定

7下面选项中,于if(a)等价的是(C)

A if(a==0) Bif(a!=0) Cif(a=0) D if(a==1)

8为判断字符串s1是否大于字符串s2,正确的语句是(C)

Aif(s1>s2) Bif(strlen (s1)>strlen(s2)) Cif(strcmp (s1,s2)>0) Dif (strcmp (s1,s2)==1)

#include<stdioh>

#include<stringh>

#include<stdlibh>

struct Telephone

{

char number[200];

char name[20];

char call[20];

char addrass[20];

char mail[20];

char telephone[20];

struct Telephone next;

}student[50];

typedef struct Telephone TEL;

TEL head=NULL;

void showmenu(); /菜单/

void Appenditem(); /添加条目/

void print(); /输出条目/

void Finditem1(); /查找条目( 按姓名 )/

void Correct(); /修改条目/

void Removeitem(); /删除信息/

void Saveandfree(); /保存到文件/

void Open(); /打开文件/

main()

{

char ch;

Open(); /打开文件/

while(1)

{

showmenu(); /显示菜单/

scanf(" %c",&ch);

switch(ch)

{

case '1':Appenditem(); /添加条目/

break;

case '2':print(); /输出条目/

break;

case '3':Finditem1(); /查找条目1按姓名/

break;

case '4': Removeitem(); /删除信息/

print(); /输出删除后的结果/

break;

case '5': Correct(); /修改信息/

break;

case '0':Saveandfree(); /保存并释放内存/

exit(0); /退出/

break;

default:

printf("选择错误!");

break;

}

}

}

/菜单/

void showmenu()

{

printf("\n\n");

printf("\t\t1录入信息\t\t\t4删除信息\n");

printf("\t\t2输出信息\t\t\t5修改信息\n");

printf("\t\t3按姓名查询\t\t\t0保存并退出!\n");

printf("\n\n");

printf("请选择:");

}

/添加条目/

void Appenditem()

{

TEL p1=NULL,p2=NULL;

p1=(TEL )malloc(sizeof(TEL));

printf("输入编号:");

scanf("%s",p1->number);

printf("输入姓名:");

scanf("%s",p1->name);

printf("输入固定电话:");

scanf("%s",p1->call);

printf("输入家庭地址:");

scanf("%s",p1->addrass);

printf("输入邮箱:");

scanf("%s",p1->mail);

printf("输入手机:");

scanf("%s",p1->telephone);

p1->next=NULL;

if(head==NULL)

{

head=(TEL )malloc(sizeof(TEL));

head->next=p1;

}

else

{

for(p2=head;p2->next!=NULL;p2=p2->next);

p2->next=p1;

}

printf("此信息已添加!");

}

/输出学生信息/

void print()

{

TEL p=NULL;

if(head==NULL)

{

printf("此通讯录中无记录,请输入记录后在使用本功能!\n");

return;

}

printf("\n\n");

printf("编号\t姓名\t固定电话\t家庭地址\t邮箱\t手机\n");

for(p=head->next;p!=NULL;p=p->next)

printf("%s\t%s\t%s\t%s\t%s\t%s\n",p->number,p->name,p->call,p->addrass,p->mail,p->telephone);

}

/查找信息1按姓名/

void Finditem1()

{

TEL p;

char findname[20];

printf("请输入要查找的姓名:\n");

scanf("%s",findname);

printf("\n\n");

printf("编号\t 姓名\t 固定电话\t 家庭地址\t 邮箱\t 手机\n");

for(p=head->next;p!=NULL;p=p->next)

{

if(strcmp(p->name,findname)==0)

printf("%s\t%s\t%s\t%s\t%s\t%s\n",p->number,p->name,p->call,p->addrass,p->mail,p->telephone);

}

}

/修改信息/

void Correct()

{

TEL p1(TEL head);

{

struct Telephone p1;

char name[20];

printf("输入要修改的人名:\n");

scanf("%s",name);

p1=head;

int flag=0;

while(p1!=NULL)

{

if(strcmp(p1->name,name)==0)

{

printf("输入新编号: ");

scanf("%s",p1->number);

printf("输入新姓名: ");

scanf("%s",p1->name);

printf("输入新固定电话: ");

scanf("%s",p1->call);

printf("输入新家庭地址: ");

scanf("%s",p1->addrass);

printf("输入新邮箱: ");

scanf("%s",p1->mail);

printf("输入新手机: ");

scanf("%s",p1->telephone);

flag=1;

}

p1=p1->next;

}

}

printf("修改完成");

}

/删除信息/

void Removeitem()

{

char findname[20];

TEL p=head,pr=head;

printf("请输入要删除的姓名:\n");

scanf(" %s",findname);

if (head== NULL)

{

printf("无此结点!\n");

return;

}

while ((strcmp(p->name,findname)!=0 )&& p->next != NULL)

{

pr =p;

p =p->next;

}

if(strcmp(p->name,findname)==0)

{if(p==head)

head=p->next;

else

pr->next=p->next;

free(p);

}else

printf("没有要删除的对象\n");

printf("已删除");

}

/保存链表信息到文件并释放内存空间/

void Saveandfree()

{

TEL p=NULL;

FILE fp;

char Book="bookstxt";

if(head==NULL)

{

printf("\n记录为空!\n");

return;

}

else

p=head->next;

if((fp=fopen(Book,"wb+"))==NULL)

{

printf("\n打不开文件!\n");

return;

}

while(p!=NULL)

{

fwrite(p,sizeof(TEL),1,fp);

p=p->next;

}

printf("保存完毕!\n");

fclose(fp);

/释放链表空间/

for(;head->next!=NULL;)

{

p=head->next;

head->next=head->next->next;

free(p);

}

free(head);

}

/文件信息输出到链表/

void Open()

{

FILE fp;

TEL p1=NULL,p2=NULL,temp=NULL;

if((fp=fopen("bookstxt","rb+"))==NULL)

{

printf("\n\t\t\t\t通讯录 \n");

return;

}

head=(TEL )malloc(sizeof(TEL));

head->next=NULL;

temp=p2=head;

while(! feof(fp))

{

p1=(TEL )malloc(sizeof(TEL));

temp=p2;

p2->next=p1;

p2=p1;

fread(p1,sizeof(TEL),1,fp);

}

temp->next=NULL;

fclose(fp);

}

#include "mathh"

#include"stdioh"

main()

{ float a,b,c,p,area;

printf("please input 3 float numbers for a,b,c:"\n);

scanf("%f%f%f",&a,&b,&c);

if((a+b>c)||(a+c>b)||(b+c>a))

{ p=(a+b+c)/2;

area=sqrt(p(p-a)(p-b)(p-c)); \\海伦定理三角形的面积为s△abc=p(p-a)(p-b)(p-c)

printf("area=%f\n",area);

}

}

以上就是关于急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!全部的内容,包括:急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!、c语言程序设计试题、十五道简单的C语言程序设计送分题之八。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9355407.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存