
一、填空题
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语言程序设计送分题之八。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)