c语言程序设计网课答案,智慧树知到《C语言程序设计(青岛职业技术学院)》2022章节测试答案
c语言程序设计网课答案,智慧树知到《C语言程序设计(青岛职业技术学院)》2022章节测试答案详细介绍
本文目录一览: 智慧树知到《C语言程序设计(青岛职业技术学院)》2022章节测试答案
智慧树知到《C语言程序设计(青岛职业技术学院)》2022章节测试答案
第一章测试
1、C语言是一种()
A、机器语言
B、汇编语言
C、高级语言
D、低级语言
正确答案:C
2、下列各项中,不是C语言的特点是()。
A、语言简洁、紧凑,使用方便
B、数据类型丰富,可移植性好
C、能实现汇编语言的大部分功能
D、有较强的网络操作功能
正确答案:D
3、下列叙述错误的是()。
A、C程序中的每条语句都用一个分号作为结束符
B、C程序中的每条命令都用一个分号作为结束符
C、C程序中的变量必须先定义,后使用
D、C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写
正确答案:B
4、一个C程序的执行是从()。
A、本程序的main函数开始,到main函数结束
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、本程序文件的第一个函数开始,到本程序main函数结束
D、本程序的main函数开始,到本程序文件的最后一个函数结束
正确答案:A
5、以下叙述不正确的是()。
A、一个C源程序必须包含一个main函数
B、一个C源程序可由一个或多个函数组成
C、C程序的基本组成单位是函数
D、在C程序中,注释说明只能位于一条语句的后面
正确答案:D
第二章测试
1、已知定义整形变量a,b,c的值分别是2、3、4,运算表达式a*=16+(b++) - (++c)以后,a值为()
A、31
B、30
C、29
D、28
正确答案:D
2、在C语言中,要求参加运算的数必须是整数的运算符是()。
A、++
B、
C、!
D、%
正确答案:D
3、合法的c标识符是()。
A、5dm
B、a>b
C、h1
D、$s
正确答案:C
4、执行下列程序后,显示的结果是() main () { int a; printf (“%d ”,(a=3*5,a*4, a+5));}
A、65
B、20
C、15
D、10
正确答案:B
5、执行下列程序中的输出语句后,x的值是()。 main() {int x ; printf(“%d ”,(x=4*5,x*2,x+20));}
A、20
B、40
C、60
D、80
正确答案:A
6、判断:表达式1/4+2.75的值是3。
正确答案:X
7、下列转义字符不正确的是()。
A、'/'
B、’’
C、’+’
D、’-’
正确答案:B
8、对于int n=3;执行n+=n-=n*n;后n的值是9。
正确答案:X
9、在C语言中8.9e1.2是不正确的实型常量。
正确答案:√
10、对任一变量一旦被指定为某一确定类型后,该变量在程序运行时所占存储空间的多少和所能参加的运算类型便已确定了。
智慧树知到《C语言程序设计基础(石河子大学)》章节测试答案
智慧树知到《C语言程序设计基础(石河子大学)》章节测试答案
第一章测试
1、下列对C语言特点的描述中,错误的是()。
A、C语言不是结构化程序设计语言
B、C语言编程简洁明了
C、C语言功能较强
D、C语言移植性好
正确答案:A
2、下列关于C语言程序在结构上特点的描述中,错误的是()。
A、C语言程序是一个函数串
B、C语言程序可以由一个或多个文件组成
C、C语言程序的诸多函数中,只能有一个主函数
D、C语言程序被执行时,通常是从第1个函数开始
正确答案:D
3、在scanf()函数的格式说明符中,长整型数的输入格式说明符是()。
A、%d
B、%lf
C、%ld
D、%x
正确答案:C
4、在printf()函数的格式说明符中,双精度浮点型数的输出格式说明符是()。
A、%ld
B、%lf
C、%c
D、%s
正确答案:B
5、下列不是C语言特点的是?
A、C语言是一个有结构化程序设计、具有变量作用域(variablescope)以及递归功能的过程式语言。
B、语言传递参数均是以值传递(passbyvalue),另外也可以传递指针(apointerpassedbyvalue)。
C、不同的变量类型可以用结构体(struct)组合在一起。
D、只有64个保留字(reservedkeywords),使变量、函数命名有更多弹性。
正确答案:D
6、几乎没有不能用C语言实现的软件?
A.正确
B.错误
正确答案:B
7、C编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等?
A.正确
B.错误
正确答案:A
8、DevC++是一个开源的编程软件吗?
A.正确
B.错误
正确答案:A
9、编程环境包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程对吗?
A.正确
B.错误
正确答案:A
10、任何程序都有主函数吗?
A.正确
B.错误
正确答案:A
第二章测试
1、若i=3,j=i++;执行运算后i和j的值为?
A、i=4,j=3
B、i=3,j=4
C、i=3,j=3
D、i=4,j=4
正确答案:A
2、下列函数在屏幕上输出的结果是?#include
intmain(void){printf("学号姓名班级\n");return0;}
A、学号姓名班级
B、学号班级姓名
C、"学号姓名班级"
D、"学号姓名班级\n"
正确答案:A
3、下列函数在屏幕上输出的结果是?#include
intmain(void){printf("****\n***\n**\n*\n");return0;}
A、"****\n***\n**\n*\n"
B、****\n***\n**\n*\n
C、****\******
D、**********
正确答案:D
c语言程序设计答案 编程实现,从键盘输入一个字符,则输出其后的字符,如输入‘A’则输出‘B’?
程序源码如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include
void main()
{
char a;//定义一个字符
printf("请输入一个字符:");//文字提示
scanf("%c", &a);//输入一个字符
printf("其后续字符为:");//文字提示
printf("%c\n", a + 1);//输出其之后的字符
}
程序运行结果如下:
扩展资料:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示。
而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。其中:
1、0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;
通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响 。
2、32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
3、65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。
奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;
偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号
常见ASCII码的大小规则:0~9
<a~z<a~z。
1)数字比字母要小。如 “7”<“F”;
2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。
几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48 。
参考资料来源:百度百科-ASCII
</a~z<a~z。
C语言程序设计,求答案。万分感谢!
第一题的:
#include
int main()
{
char c;
scanf("%c",&c);
if('a'<=c&&c<='z')
printf("%c\n",char(c-32));
else if('A'<=c&&c<='Z')
printf("%c\n",char(c+32));
else
printf("what you input is not a letter! ");
return 0;
}
第二题的:
#include
int main()
{ int x,y;
printf("Please input your number x:\n");
scanf("%d",&x);
if(x>-1)
y=2*x;
else if(x<-1)
y=4+x;
else y=3;
printf("%d",y);
return 0;
}
第三题:
#include
int main()
{
int n;
printf("Please input a integer number:\n");
scanf("%d",&n);
(n%2==0)?(printf("%d is Even\n",n)):(printf("%d is Odd\n",n));
return 0;
}
第四题的:
#include
int main()
{
float x,y;
printf("请输入员工的业绩金额(万元):\n");
scanf("%f",&x);
if(x<1)
y=1.03*x;
else if(x>=1&&x<5)
y=1.1*x;
else if(x>=5&&x<20)
y=1.5*x;
else y=1.2*x;
printf("该员工的奖金数是%g万元\n",y);
return 0;
}
第一题有人弄了。
第二题:
#include"stdio.h"
void main()
{
int x=0,y=0;
printf("为X赋值:");
scanf("%d",&x);
if(x>-1)
y=2*x;
else if(x==-1)
y=3;
else
y=4+x;
printf("Y的值为:%d \n",y);
}
第三题:
#include"stdio.h"
void main()
{
printf("输入一个整数:");
int a,
b;
scanf("%d",&a);
if(a%2 == 0)
printf("Is Even\n");
else
printf("Is Odd\n");
}
第四道
#include"stdio.h"
void main()
{
printf("请输入员工的业绩金额:");
float achi=0,
bonus=0;
scanf("%f",&achi);
if(achi<10000)
bonus=achi * ((float)3/20);
if(achi>= 10000 && achi <50000)
bonus=achi * ((float)1/10);
if(achi >= 50000 && achi < 200000)
bonus=achi * ((float)3/20);
if(achi>= 200000)
bonus=achi * ((float)1/5);
printf("该员工奖金为:%.2f\n",bonus);
}
c语言程序设计答案
#include "stdio.h"
#include
#define SIZE 10
struct student{
char id[20];
char name[20];
int score[3];
int all;
float average;
} stud[SIZE];
void input() /* 输入学生的信息 */
{
int i;
for(i=0;i
<size;i++)
{
printf("第%d个学生的信息:\n",i+1);
scanf("%s%s%d%d%d",stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
}
}
void average() /* 每个学生总成绩、平均成绩和所有学生的总成绩 */
{
int i,all=0;
for(i=0;i
<size;i++)
{
stud[i].all=stud[i].score[0]+stud[i].score[1]+stud[i].score[2];
stud[i].average=stud[i].all/3.0;
all+=stud[i].all;
}
for(i=0;i
<size;i++)
printf("%s %s %d %d %d %d %3.1f\n",stud[i].id,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].all,stud[i].average);
printf("总平均成绩:%3.1f\n",all/30.0);
}
void maximum() /* 排序输出最高分的学生信息 */
{
int i,j;
struct student temp;
for(i=0;i
<size;i++)
{
for(j=0;j
<size-i-1;j++)
{
if(stud[j].all
<stud[j+1].all)
{
temp=stud[j];
stud[j]=stud[j+1];
stud[j+1]=temp;
}
}
}
printf("\n%s %s %d %d %d \n",stud[0].id,stud[0].name,stud[0].score[0],stud[0].score[1],stud[0].score[2]);
}
void main()
{
input();
average();
maximum();
}
</stud[j+1].all)
</size-i-1;j++)
</size;i++)
</size;i++)
</size;i++)
</size;i++)
求c语言程序设计答案
1、由两个函数构成,分别为主函数:main()和自定义函数add()
2、调用的系统函数为:scanf(),printf();
3、用到的保留字有:int,return
4、用户自定义标示符有:x,y,z,a,b,c
总共由4个函数构成,调用了scanf函数,printf函数两个系统函数,保留字用到了int,用户自定义标识符有:a,b,c,x,y,z.add。
#include
#include
#include
#include
//用getch();
using
namespace
std;
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class
Student
{
public:
char
name[20];
char
Class[20];
char
Id[20];
int
Cnum;
//C课程得分
int
Mnum;
//数学课程得分
int
Enum;
//英语课程得分
int
Gnum;
//体育
int
sum;
//总分
int
ave;
//平均分
Student
*
Next;
void
Input()
{
cout<<"\t\t请输入学生的姓名:";
cin>>name;
cout<<"\t\t请输入学生的班级:";
cin>>Class;
cout<<"\t\t请输入学生的学号:";
cin>>Id;
cout<<"\t\t请输入C++的成绩:";
cin>>Cnum;
cout<<"\t\t请输入数学课程的成绩:";
cin>>Mnum;
cout<<"\t\t请输入英语课程的成绩:";
cin>>Enum;
cout<<"\t\t请输入日语的成绩:";
cin>>Gnum;
sum=Cnum+Mnum+Enum+Gnum;
ave=(Cnum+Mnum+Enum+Gnum)/4;
}
void
ReadFile(istream
&
in)
{
in>>name>>Class>>Id>>Cnum>>Mnum>>Enum>>Gnum>>ave>>sum;
}
void
Show()
{
cout<<"姓名:"<
<name<<endl<<"班级:"<<class<<endl<<"学号:"<<id<<endl<<"c++:"<<cnum<<endl
<<"数学:"<
<mnum<<endl<<"外语:"<<enum<<endl<<"日语:"<<gnum<<endl<<"平均成绩:"<<ave<<endl<<"总成绩:"<<sum<<endl<<endl<<endl;
}
};
//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class
Studentmassage
{
public:
Studentmassage();
~Studentmassage();
void
ShowMenu();
void
Find();
void
Save();
void
ModifyItem();
void
RemoveItem();
void
Swap(Student
*,Student
*);
void
Sort();
int
ListCount();
void
Display()
{
for(Student
*
p=Head->Next;p!=End;p=p->Next)
p->Show();
cout<<"输入任意字符!继续……";
getch();
}
void
AddItem()
{
End->Input();
End->Next=new
Student;
End=End->Next;
cout<<"添加成功!"<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
private:
Student
*
Head,*
End;
ifstream
in;
ofstream
out;
Student
*FindItem(char
*
name)
{
for(Student
*
p=Head;p->Next!=End;p=p->Next)
if(!strcmp(p->Next->name,name))return
p;
return
NULL;
}
Student
*FindID(char
*
Id)
{
for(Student
*
p=Head;p->Next!=End;p=p->Next)
if(!strcmp(p->Next->Id,Id))return
p;
return
NULL;
}
Student
*FindCLASS(char
*
Class)
{
for(Student
*
p=Head;p->Next!=End;p=p->Next)
if(!strcmp(p->Next->Class,Class))return
p;
return
NULL;
}
}Grade;
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Studentmassage::Studentmassage()
{
Head=new
Student;
Head->Next=new
Student;
End=Head->Next;
in.open("sort.txt");
if(!in)
cout<<"这是一个新系统,无学生信息。请先输入。"<
<endl;
else
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]=='\0')break;
End->Next=new
Student;
End=End->Next;
}
in.close();
cout<<"\t\t读取学生信息成功!"<
<endl;
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Studentmassage::~Studentmassage()
{
Save();
for(Student
*
temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete
temp;
}
delete
Head,End;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::ShowMenu()
{
cout<<"〓〓〓〓〓〓〓〓〓〓
学
生
成
绩
管
理
系
统
〓〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓
〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓〓〓
1.增加学生成绩
〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓〓〓
2.显示学生成绩
〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓〓〓
3.排序统计成绩
〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓〓〓
4.查找学生成绩
〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓〓〓
5.删除学生成绩
〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓〓〓
6.修改学生信息
〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"〓〓〓〓〓〓〓〓〓
0.安全退出系统
〓〓〓〓〓〓〓〓〓"<
<endl;
cout<<"\n\t\t\n\t\t请选择:";
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Find()
{
char
name[20]
,Id[10],Class[20];
int
x;
Student
*
p=NULL;
cout<<"\n\t\t*********************************\n";
cout<<"\t\t※
1.按学生的姓名查找\n\t\t※
2.按学生学号查找\n\t\t※
3.按学生班级查找";
cout<<"\n\t\t*********************************\n请选择:";
cin>>x;
switch(x)
{
case
1:{cout<<"\t\t请输入要查找的学生的姓名:";cin>>name;
if(p=FindItem(name))
{
p->Next->Show();
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"\t\t没有找到该姓名的学生!"<<'\n'<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
}break;
case
2:
{
cout<<"\t\t请输入要查找的学生的学号:";cin>>Id;
if(p=FindID(Id))
{
p->Next->Show();
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"\t\t没有找到该学号的学生!"<<'\n'<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
}break;
case
3:{cout<<"\t\t请输入要查找的学生的班级:";cin>>Class;
if(p=FindCLASS(Class))
{
p->Next->Show();
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"\t\t没有找到该班级的学生!"<<'\n'<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
}break;
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::ModifyItem()
//修改信息
{
char
ID[20];
Student
*
p=NULL;
cout<<"\t\t请输入要修改的人的学号:";cin>>ID;
if(p=FindID(ID))
{
cout<<"\t\t已找到学生的信息,请输入新的信息!"<
<endl;
p->Next->Input();
cout<<"修改成功!"<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"\t\t没有找到!"<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::RemoveItem()
//
删除信息
{
char
ID[20];
Student
*
p=NULL,*temp=NULL;
cout<<"\t\t请输入要删除的学生的学号:";cin>>ID;
if(p=FindID(ID))
{
temp=p->Next;
p->Next=p->Next->Next;
delete
temp;
cout<<"\t\t删除成功!"<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"\t\t没有找到!"<
<endl;
cout<<"输入任意字符!继续……";
getch();
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Swap(Student
*p1,
Student
*p2)
{
Student
*temp=new
Student;
strcpy(temp->name,p1->name);
strcpy(temp->Id,p1->Id);
temp->Cnum=p1->Cnum;
temp->Mnum=p1->Mnum;
temp->Enum=p1->Enum;
temp->sum=p1->sum;
strcpy(p1->name,p2->name);
strcpy(p1->Id,p2->Id);
p1->Cnum=p2->Cnum;
p1->Mnum=p2->Mnum;
p1->Enum=p2->Enum;
p1->sum=p2->sum;
strcpy(p2->name,temp->name);
strcpy(p2->Id,temp->Id);
p2->Cnum=temp->Cnum;
p2->Mnum=temp->Mnum;
p2->Enum=temp->Enum;
p2->sum=temp->sum;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int
Studentmassage::ListCount()//统计当前的记录总数
{
if(!
Head)
return
0;
int
n=0;
for(Student
*
p=Head->Next;p!=End;p=p->Next)
{
n++;
}
return
n;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Sort()//对当前学生进行排序
{
cout
<<"Sorting..."<
<endl;
Student
*p=NULL,*p1=NULL,*k=NULL;
int
n=Studentmassage::ListCount();
if(n<2)
return;
for(p=Head->Next;p!=End;p=p->Next)
for(k=p->Next;k!=End;k=k->Next)
{
if(p->sum>k->sum)
{
Studentmassage::Swap(p,k);
}
}
cout
<<"排序完成!"<
<endl;
getch();
return;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Save()
{
out.open("sort.txt");
for(Student
*p=Head->Next;p!=End;p=p->Next)
out<
name<<"\t"<
Class<<"\t"<
Id<<"\t"
<
Cnum<<"\t"<
Mnum<<"\t"<
Enum<<"\t"<
Gnum<<"\t"<
ave<<"\t"<
sum<<'\n';
out.close();
}
void
code()
//密码
{
char
s1[20]="123",s2[20];
cout<<"请输入密码:";
while(cin>>s2)
{
if(!strcmp(s1,s2))
{
Grade.ModifyItem();break;
}
else
cout<<"你输入的密码不正确,请重新输入:";
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int
main()
{
int
x,i=0;
bool
quit=false;
cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<
<endl;
for(i=0;i<3;i++)
cout<<"\t\t◎\t\t\t\t\t\t
◎"<
<endl;
cout<<"\t\t◎【
欢迎进入学生成绩管理系统
】◎"<
<endl;
for(i=0;i<3;i++)
cout<<"\t\t◎\t\t\t\t\t\t
◎"<
<endl;
cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<
<endl;;
cout<<"请按任意键开始……";
getch();
while(!quit)
{
system("cls");
Grade.ShowMenu();
cin>>x;
switch(x)
{
case
0:cout<<"感谢您的使用"<
<endl;quit=true;break;
case
1:Grade.AddItem();break;
case
2:Grade.Display();break;
case
3:Grade.Sort();break;
case
4:Grade.Find();break;
case
5:Grade.RemoveItem();break;
case
6:code();break;
}
}
return
0;
}
我稍微改了下,应该可以用~
额~~你们一定要C编吗~C++不可以嘛?
</endl;quit=true;break;
</endl;;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
</mnum<<endl<<"外语:"<<enum<<endl<<"日语:"<<gnum<<endl<<"平均成绩:"<<ave<<endl<<"总成绩:"<<sum<<endl<<endl<<endl;
</name<<endl<<"班级:"<<class<<endl<<"学号:"<<id<<endl<<"c++:"<<cnum<<endl
c语言程序设计答案
#include
#include
void main()
{
char c;
int A_num=0,a_num=0,space=0,num=0,others=0;
while((c=getchar())!= '\n ')
{
if (isupper(c)) A_num++;
else if (islower(c)) a_num++;
else if (isdigit(c)) num++;
else if (isspace(c)) space++;
else others++;
}
printf( "\这一行文字中:\n大写字母有%d个 ",A_num);
printf( "\n小写字母有%d个 ",a_num);
printf( "\n空格有%d个 ",space);
printf( "\n数字有%d个 ",num);
printf( "\n其它字符有%d个\n ",others);
}
#include
main(){
char c;
int letters=0,space=0,digit=0,others=0;
printf("Please input some characters:\n");
while((c=getchar())!='\n')
{if(c>='a'&&c<='z'||c>='A'&&c<='z') letters++;
else if(c==' ') space++;
else if(c>='0'&&c<='9') digit++;
else others++;
}
printf("char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);
}
#include
main()
{
char a;
int b,c,d,e,f;
b=0;c=0;d=0;e=0;
/* b是字母 c是数字 d是其他 e是空格 f是汉字*/
fflush(stdin);
printf("请输入一串东西:");
while ((a=getchar())!='\n')
{
if(a>='a'&&a<='z'||a>='A'&&a<='Z')
b++;
else if(a>='0'&&a<='9')
c++;
else if(a==' ')
e++;
else if(a>=0xa1)
f++;
else
d++;
}
printf("字母%d个\n",b);
printf("数字%d个\n",c);
printf("空格%d个\n",e);
printf("其他%d个\n",d);
printf("汉字%d个\n",f);
}
#include
#include
void main()
{
int m,i=0,j=0,k=0,l=0;
char s[81];
gets(s);
for(m=0;m
<strlen(s);m++)
if(s[m]>='a'&&s[m]<='z'||s[m]>='A'&&s[m]<='Z')
i++;
else if(s[m]==' ')
j++;
else if(s[m]>='0'&&s[m]<='9')
k++;
else
l++;
printf("alpha=%d space=%d number=%d other=%d\n",i,j,k,l);
}
LS的都是高水平人!膜拜大师们!
对了这个我应该也会做啊!还是不写答案了,LS的两个回答都是正确的
C语言的编程思想是面向过程,举个例子
#inclide
void main()
{
printf("Hualove information technology is very good!");
return 0;
}
</strlen(s);m++)
c语言程序设计能力教程答案
1 【C语言】《C语言程序设计教程(第二版)》习题答案
说 明
1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理
工大学出版社出版的,绿皮。
2 第1章 程序设计基础知识
一、单项选择题(第23页)
1-4.CBBC 5-8.DACA
二、填空题(第24页)
1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言 7.有穷性 8.直到型循环 9.算法 10.可读性 11.模块化 12.对问题的分析和模块的划分
三、应用题(第24页)
2.源程序:
main()
{int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */
printf("cock hen chick\n");
for(i=1;i<=20;i++)
for(j=1;j<=33;j++)
for(k=1;k<=33;k++)
if (i+j+k*3==100&&i*5+j*3+k==100)
printf(" %d %d %d\n",i,j,k*3);}
执行结果:
cock hen chick
4 18 78
8 11 81
12 4 84
3.现计算斐波那契数列的前20项。
递推法 源程序:
main()
{long a,b;int i;
a=b=1;
for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/
{printf("%8ld%8ld",a,b);
a=a+b;b=b+a;}}
递归法 源程序:
main()
{int i;
for(i=0;i<=19;i++)
printf("%8d",fib(i));}
fib(int i)
{return(i<=1?1:fib(i-1)+fib(i-2));}
执行结果:
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
4.源程序:
#include "math.h";
main()
{double x,x0,deltax;
x=1.5;
do {x0=pow(x+1,1./3);
deltax=fabs(x0-x);
x=x0;
}while(deltax>1e-12);
printf("%.10f\n",x);}
执行结果:
1.3247179572
5.源程序略。(分子、分母均构成斐波那契数列)
结果是32.66026079864
6.源程序:
main()
{int a,b,c,m;
printf("Please input a,b and c:");
scanf("%d %d %d",&a,&b,&c);
if(a
<b){m=a;a=b;b=m;}
if(a
<c){m=a;a=c;c=m;}
if(b
<c){m=b;b=c;c=m;}
printf("%d %d %d\n",a,b,c);}
执行结果:
Please input a,b and c:123 456 789
789 456 123
7.源程序:
main()
{int a;
scanf("%d",&a);
printf(a%21==0?"Yes":"No");}
执行结果:
42
Yes
3 第2章 C语言概述
一、单项选择题(第34页)
1-4.BDCB 5-8.AABC
二、填空题(第35页)
1.主 2.C编译系统 3.函数 函数 4.输入输出 5.头 6. .OBJ 7.库函数 8.文本
三、应用题(第36页)
5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN90、x1234、until、cos2x、s_3是标识符。
8.源程序:
main()
{int a,b,c;
scanf("%d %d",&a,&b);
c=a;a=b;b=c;
printf("%d %d",a,b);}
执行结果:
12 34
34 12
4 第3章 数据类型与运算规则
一、单项选择题(第75页)
1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB
二、填空题(第77页)
1.补码 2.±(10^-308~10^308) 3.int(整数) 4.单目 自右相左 5.函数调用 6.a或b 7.1 8.65,89
三、应用题(第78页)
1.10 9
2.执行结果:
11
0
0
12
1
5 第4章 顺序结构程序设计
一、单项选择题(第90页)
1-5.DCDAD 6-10.BACBB
二、填空题(第91页)
1.一 ;2. 5.169000 3.(1)-2002500 (2)I=-200,j=2500 (3)i=-200
j=2500 4.a=98,b=765.000000,c=4321.000000 5.略 6.0,0,3 7.3 8.scanf("%lf%lf%lf",&a,&b,&c); 9. 13 13.000000,13.000000 10.a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。)
三、编程题(第92页)
1.仿照教材第27页例2-1。
2.源程序:
main()
{int h,m;
scanf("%d:%d",&h,&m);
printf("%d\n",h*60+m);}
执行结果:
9:23
563
3.源程序:
main()
{int a[]={-10,0,15,34},i;
for(i=0;i<=3;i++)
printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);}
执行结果:
-10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F
4.源程序:
main()
{double pi=3.13800979,r=5;
printf("r=%lg A=%.10lf S=%.10lf\n",r,2*pi*r,pi*pi*r);}
执行结果:
r=5 A=31.4159265359 S=49.3480220054
5.源程序:
#include "math.h";
main()
{double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if (a+b>c&&a+c>b&&b+c>a)
{double s=(a+b+c)/2;
printf("SS=%.10lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));}
else printf("Data error!");}
执行结果:
4 5 6
SS=9.9215674165
6.源程序:
main()
{int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56;
printf("a=%3d,b=%-4d,c=**%d\nd=%g\ne=%6.2f\nf=%-10.4f**\n",a,b,c,d,e,f);}
7.源程序:
main()
{int a,b,c,m;
scanf("%d %d %d",&a,&b,&c);
m=a;a=b;b=c;c=m;
printf("%d %d %d\n",a,b,c);}
执行结果:
5 6 7
6 7 5
8.源程序:
main()
{int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("average of %d,%d and %d is %.2f\n",a,b,c,(a+b+c)/3.);
执行结果:
6 7 9
average of 6,7 and 9 is 7.33
9.不能。修改后的源程序如下:
main()
{int a,b,c,x,y;
scanf("%d %d %d",&a,&b,&c);
x=a*b;y=x*c;
printf("a=%d,b=%d,c=%d\n",a,b,c);
printf("x=%d,y=%d\n",x,y);}
6 第5章 选择结构程序设计
一、单项选择题(第113页)
1-4.DCBB 5-8.DABD
二、填空题(第115页)
1.非0 0 2.k==0
3.if (abs(x)>4) printf("%d",x);else printf("error!");
4.if((x>=1&&x<=10||x>=200&&x<=210)&&x&1)printf("%d",x);
5.k=1 (原题最后一行漏了个d,如果认为原题正确,则输出k=%。)
6. 8! Right!11 7.$$$a=0 8.a=2,b=1
三、编程题(第116页)
1.有错。正确的程序如下:
main()
{int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("min=%d\n",a>b?b>c?c:b:a>c?c:a);}
2.源程序:
main()
{unsigned long a;
scanf("%ld",&a);
for(;a;printf("%d",a%10),a/=10);}
执行结果:
12345
54321
3.(1)源程序:
main()
{int x,y;
scanf("%d",&x);
if (x>-5&&x<0)y=x;
if (x>=0&&x<5)y=x-1;
if (x>=5&&x<10)y=x+1;
printf("%d\n",y);}
(2)源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<10) if(x>-5) if(x>=0) if(x>=5)y=x+1;
else y=x-1; else y=x;
printf("%d\n",y);}
(3)源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<10) if(x>=5)y=x+1;
else if(x>=0)y=x-1;
else if(x>-5)y=x;
printf("%d\n",y);}
(4)源程序:
main()
{int x,y;
scanf("%d",&x);
switch(x/5)
{case -1:if(x!=-5)y=x;break;
case 0:y=x-1;break;
case 1:y=x+1;}
printf("%d\n",y);}
4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。
现给出Delphi源程序和C++ Builder源程序。
Delphi源程序:
procedure TForm1.Button1Click(Sender: TObject);
begin
edit3.Text:=format('%.0f天',[strtodate(edit2.text) -strtodate(edit1.text)]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit2.Text:=datetostr(now);
button1click(form1)
end;
C++ Builder源程序:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit3->Text=IntToStr(StrToDate(Edit2->Text)-StrToDate(Edit1->Text))+"天";
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit2->Text=DateToStr(Now());
Button1Click(Form1);
}
执行结果:(运行于Windows下) http://img378.photo.163.com/nxgt/41463572/1219713927.jpg
5.源程序:
main()
{unsigned a,b,c;
printf("请输入三个整数:");
scanf("%d %d %d",&a,&b,&c);
if(a&&b&&c&&a==b&&a==c)printf("构成等边三角形\n");
else if(a+b>c&&a+c>b&&b+c>a)
if(a==b||a==c||b==c)printf("构成等腰三角形\n");
else printf("构成一般三角形\n");
else printf("不能构成三角形\n");}
执行结果:
请输入三个整数:5 6 5
构成等腰三角形
6.源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<20)y=1;
else switch(x/60)
{case 0:y=x/10;break;
default:y=6;}
printf("x=%d,y=%d\n",x,y);}
7.源程序:
main()
{unsigned m;float n;
scanf("%d",&m);
if(m<100)n=0;
else if(m>600)n=0.06;
else n=(m/100+0.5)/100;
printf("%d %.2f %.2f\n",m,m*(1-n),m*n);}
执行结果:
450
450 429.75 20.25
8. 2171天(起始日期和终止日期均算在内)
本题可利用第4小题编好的程序进行计算。把起始日期和终止日期分别打入“生日”和“今日”栏内,单击“实足年龄”按钮,将所得到的天数再加上1天即可。
9.源程序:
#include "math.h";
main()
{unsigned long i;
scanf("%ld",&i);
printf("%ld %d\n",i%10,(int)log10(i)+1);}
执行结果:
99887
7 5
10.源程序:
main()
{unsigned long i;unsigned j[10],m=0;
scanf("%ld",&i);
for(;i;){j[m++]=(i+2)%10;i/=10;}
for(;m;m--)i=i*10+j[m-1];
printf("%ld\n",i);}
执行结果:
6987
8109
(注:要加密的数值不能是0或以0开头。如果要以0开头需用字符串而不能是整数。)
7 第6章 循环结构程序设计
一、单项选择题(第142页)
1-4.BCCB 5-8.CBCA
二、填空题(第143页)
1.原题可能有误。如无误,是死循环 2.原题有误。如果把b=1后面的逗号改为分号,则结果是8。 3.20 4.11 5. 2.400000 6.*#*#*#$ 7.8 5 2 8.①d=1.0 ②++k ③k<=n 9.①x>=0 ②x
<amin
三、编程题(第145页)
1. 源程序:
main()
{int i=1,sum=i;
while(i<101){sum+=i=-i-2;sum+=i=-i+2;}
printf("%d\n",sum);}
执行结果:
51
2.源程序:
main()
{double p=0,n=0,f;int i;
for(i=1;i<=10;i++)
{scanf("%lf",&f);
if (f>0)p+=f; else n+=f;}
printf("%lf %lf %lf\n",p,n,p+n);}
3.源程序:
main()
{unsigned a;
scanf("%ld",&a);
for (;a;printf("%d,",a%10),a/=10);
printf("\b \n");}
执行结果:
23456
6,5,4,3,2
4.源程序:
main()
{unsigned long a,b,c,i;
scanf("%ld%ld",&a,&b);
c=a%1000;
for(i=1;i
<b;i++)c=c*a%1000;
if(c<100)printf("0");
if(c<10)printf("0");
printf("%ld\n",c);}
执行结果:
129 57
009
5.略
6.原题提供的计算e的公式有误(前面漏了一项1)。正确的公式是e= 1 + 1 + 1/2! + 1/3! + … + 1/n! + …
(1)源程序:
main()
{double e=1,f=1;int n;
for(n=1;n<=20;n++){f/=n;e+=f;}
printf("e=%.14lf\n",e);}
执行结果:
e=2.71380005
(2)源程序:
main()
{double e=1,f=1;int n;
for(n=1;f>1e-4;n++){f/=n;e+=f;}
printf("e=%.4f\n",e);}
执行结果:
e=2.7183
7.源程序:
main()
{unsigned long a=0,b=1,c=0;int i,d;
scanf("%d",&d);
for (i=1;i<=(d+2)/3;i++)
printf("%10ld%10ld%10ld",a,b,(a+=b+c,b+=c+a,c+=a+b));}
本题还可以用递归算法(效率很低),源程序如下:
unsigned long fun(int i)
{return i<=3?i:fun(i-1)+fun(i-2)+fun(i-3);}
main()
{int i,d; scanf("%d",&d);
for(i=1;i<=d;i++)
printf("%10ld",fun(i));}
执行结果:
15
1 2 3 6 11 20 37 68
125 230 423 778 1431 2632 4841
8.源程序:
main()
{int i;
for(i=1010;i<=9876;i+=2)
if(i/100%11&&i%100%11&&i/10%100%11&&i/1000!=i%10&&i/1000!=i/10%10&&i/100%10!=i%10)printf(" %d",i);}
执行结果:
1024 1026 1028 1032 1034 1036 …… …… 9874 9876
9.源程序:
main()
{int i,j,k;
printf("apple watermelon pear\n");
for(i=1;i<=100;i++)
for(j=1;j<=10;j++)
if((k=100-i-j)*2==400-i*4-j*40)
printf("%4d%7d%9d\n",i,j,k);}
执行结果:
apple watermelon pear
5 5 90
24 4 72
43 3 54
62 2 36
81 1 18
10.源程序:
#include "stdio.h";
#define N 4 /* N为阶数,可以改为其他正整数 */
main()
{int m=N*2,i,j;
for(i=1;i
<m;printf("\n"),i++)
for(j=1;j
<m;
putchar(N-abs(i-N)<=abs(j++-N)?' ':'*'));}
如果把N值改为5,则执行结果如下:
*
***
*****
*******
*********
*******
*****
***
*
</amin
跪求《C语言程序设计》课本习题答案!!!
建议你去这里看看:
http://ishare.iask.sina.com.cn/search.php?key=C%D3%EF%D1%D4%B3%CC%D0%F2%C9%E8%BC%C6%B4%F0%B0%B8&format=
简单注册就能下载,有问题及时联系!
作者是谁哦
习题1参考答案
一、选择题 1. A 2. D
二、填空题
1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8
3. 关键字
4. 编辑、编译、链接和运行
三、简答题 1.答:
(1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。
(2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。 (3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。
(4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。
(5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。
(7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。
2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答:
(1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。
c语言程序设计答案
傻瓜模式!
printf("*\n");
printf("**\n");
printf("***\n");
printf("****\n");
printf("***\n");
printf("**\n");
printf("*\n");
这么简单啊
主程序如下:
for(i=1;i<=4;i++)
{
int j;
for(j=1;j<=i;j++)
{
printf("*")
}
printf("\n")
}
for(i=3;i>=1;i--)
{
int j;
for(j=1;j<=i;j++)
{
printf("*")
}
printf("\n")
}