2025年全国计算机等级考试二级C语言真题及答案7_第1页
2025年全国计算机等级考试二级C语言真题及答案7_第2页
2025年全国计算机等级考试二级C语言真题及答案7_第3页
2025年全国计算机等级考试二级C语言真题及答案7_第4页
2025年全国计算机等级考试二级C语言真题及答案7_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025年全国计算机等级考试二级C语言真题及答案7一、单项选择题(本大题共10小题,每小题2分,共20分。在每小题列出的四个选项中,只有一个是符合题目要求的,请将正确选项的字母填在题后的括号内)1.在C语言中,若要定义一个指向整型变量的指针变量,正确的定义方式是()。A.intp;B.intp;C.intp();D.int(p)();2.以下关于C语言函数的描述中,正确的是()。A.函数可以嵌套定义,即一个函数内部可以定义另一个函数;B.函数必须有返回值,否则不能定义;C.函数的形参可以是任意类型的变量,包括数组、指针等;D.函数的返回值类型必须与主调函数中对应的变量类型一致;3.以下关于C语言数组的描述中,错误的是()。A.数组的大小必须是确定的,且在编译时必须知道;B.数组名可以作为指针使用,指向数组的第一个元素;C.数组可以作为函数的参数进行传递,但传递的是数组的地址;D.数组元素的下标是从0开始的,最大下标等于数组的大小减1;4.以下关于C语言指针的描述中,正确的是()。A.指针变量可以指向任何类型的数据,包括函数;B.指针变量的值可以是任意整数,用于表示内存地址;C.指针运算只能进行加法和减法,不能进行其他运算;D.指针可以指向空地址,即NULL;5.以下关于C语言结构体的描述中,错误的是()。A.结构体可以嵌套定义,即一个结构体可以包含另一个结构体作为成员;B.结构体变量可以在定义时直接赋值,也可以在声明后单独赋值;C.结构体可以作为函数的参数进行传递,但传递的是结构体的值;D.结构体的大小是所有成员大小之和,且必须对齐到某个边界;6.以下关于C语言位运算的描述中,正确的是()。A.位运算只能对整数进行,不能对浮点数进行;B.位运算符的优先级低于算术运算符;C.左移运算符(<<)可以将一个数的二进制位向左移动指定的位数,右侧用0填充;D.按位与运算符(&)可以用来判断一个数的奇偶性;7.以下关于C语言文件操作的描述中,正确的是()。A.打开文件时,如果文件不存在,fopen函数会自动创建该文件;B.关闭文件时,如果文件未正确写入,fputs函数会自动将缓冲区内容写入文件;C.读取文件时,fscanf函数可以读取任意类型的数据,包括结构体;D.写入文件时,fprintf函数会自动将数据转换为字符串格式写入文件;8.以下关于C语言动态内存分配的描述中,正确的是()。A.malloc函数用于分配内存,free函数用于释放内存;B.calloc函数分配的内存会自动初始化为0,而malloc函数分配的内存不会初始化;C.realloc函数可以用来改变已分配内存的大小,如果需要扩大内存,必须提供新的内存地址;D.动态分配的内存必须在使用完后立即释放,否则会导致内存泄漏;9.以下关于C语言预处理的描述中,正确的是()。A.预处理指令必须以#开头,且在编译时才会处理;B.#include指令用于包含头文件,可以包含多个头文件,但只能包含一次;C.#define指令用于定义宏,宏可以是任何类型的表达式,包括函数;D.#ifdef指令用于判断某个宏是否已经定义,如果已经定义则执行后面的代码;10.以下关于C语言错误处理的描述中,正确的是()。A.错误处理只能通过return语句返回错误码,不能通过其他方式处理;B.错误处理函数必须使用try-catch语句块来捕获和处理错误;C.错误处理可以通过设置全局变量或使用全局函数来通知主程序发生错误;D.错误处理应该尽量减少对程序性能的影响,避免频繁的上下文切换;二、填空题(本大题共10小题,每小题2分,共20分。请将答案填在题中的横线上)1.在C语言中,用于表示逻辑非的运算符是__________。2.在C语言中,用于表示条件运算的运算符是__________。3.在C语言中,用于表示按位取反的运算符是__________。4.在C语言中,用于表示按位与的运算符是__________。5.在C语言中,用于表示按位或的运算符是__________。6.在C语言中,用于表示按位异或的运算符是__________。7.在C语言中,用于表示左移的运算符是__________。8.在C语言中,用于表示右移的运算符是__________。9.在C语言中,用于表示动态内存分配的函数是__________。10.在C语言中,用于表示动态内存释放的函数是__________。三、判断题(本大题共10小题,每小题2分,共20分。请判断下列叙述的正误,正确的填“√”,错误的填“×”)1.在C语言中,函数可以嵌套定义,即一个函数内部可以定义另一个函数。()2.在C语言中,函数必须有返回值,否则不能定义。()3.在C语言中,函数的形参可以是任意类型的变量,包括数组、指针等。()4.在C语言中,函数的返回值类型必须与主调函数中对应的变量类型一致。()5.在C语言中,数组的大小必须是确定的,且在编译时必须知道。()6.在C语言中,数组名可以作为指针使用,指向数组的第一个元素。()7.在C语言中,数组可以作为函数的参数进行传递,但传递的是数组的地址。()8.在C语言中,数组元素的下标是从0开始的,最大下标等于数组的大小减1。()9.在C语言中,指针变量可以指向任何类型的数据,包括函数。()10.在C语言中,指针变量的值可以是任意整数,用于表示内存地址。()四、简答题(本大题共8小题,每小题2分,共16分。请简要回答下列问题)1.简述C语言中函数的定义和调用过程。2.简述C语言中数组的定义和初始化方法。3.简述C语言中指针的定义和使用方法。4.简述C语言中结构体的定义和使用方法。5.简述C语言中位运算的应用场景。6.简述C语言中文件操作的基本步骤。7.简述C语言中动态内存分配的基本过程。8.简述C语言中预处理的常用指令及其作用。五、应用题(本大题共8小题,每小题4分,共24分。请根据下列要求编写C语言程序)1.编写一个C语言程序,实现一个简单的计算器,可以完成加、减、乘、除四种运算。2.编写一个C语言程序,实现一个简单的学生成绩管理系统,可以添加、删除、修改、查询学生成绩。3.编写一个C语言程序,实现一个简单的图书管理系统,可以添加、删除、修改、查询图书信息。4.编写一个C语言程序,实现一个简单的银行账户管理系统,可以开户、存款、取款、查询账户余额。5.编写一个C语言程序,实现一个简单的商品管理系统,可以添加、删除、修改、查询商品信息。6.编写一个C语言程序,实现一个简单的员工管理系统,可以添加、删除、修改、查询员工信息。7.编写一个C语言程序,实现一个简单的图书借阅系统,可以借书、还书、查询图书借阅情况。8.编写一个C语言程序,实现一个简单的学生选课系统,可以选课、退课、查询选课情况。【标准答案及解析】一、单项选择题1.A解析:在C语言中,定义一个指向整型变量的指针变量,正确的定义方式是intp;。选项B中,intp;的顺序错误,应该是intp;。选项C中,intp();定义的是一个返回值为整型指针的函数。选项D中,int(p)();定义的是一个返回值为整型指针的函数指针。2.D解析:在C语言中,函数的返回值类型必须与主调函数中对应的变量类型一致。选项A中,函数可以嵌套定义,但不是所有情况下都允许。选项B中,函数可以没有返回值,此时返回类型为void。选项C中,函数的形参可以是任意类型的变量,但数组作为参数传递时,传递的是数组的地址,而不是数组本身。3.C解析:在C语言中,数组可以作为函数的参数进行传递,但传递的是数组的地址,而不是数组的值。选项A、B、D都是关于数组的正确描述。4.A解析:在C语言中,指针变量可以指向任何类型的数据,包括函数。选项B中,指针变量的值必须是有效的内存地址,不能是任意整数。选项C中,指针运算可以进行加、减、乘、除等运算。选项D中,指针可以指向空地址,即NULL,表示不指向任何有效的内存地址。5.C解析:在C语言中,结构体可以作为函数的参数进行传递,但传递的是结构体的值,而不是结构体的地址。选项A、B、D都是关于结构体的正确描述。6.C解析:在C语言中,左移运算符(<<)可以将一个数的二进制位向左移动指定的位数,右侧用0填充。选项A、B、D都是关于位运算的错误描述。7.A解析:在C语言中,打开文件时,如果文件不存在,fopen函数会自动创建该文件。选项B、C、D都是关于文件操作的错误描述。8.B解析:在C语言中,calloc函数分配的内存会自动初始化为0,而malloc函数分配的内存不会初始化。选项A、C、D都是关于动态内存分配的错误描述。9.A解析:在C语言中,预处理指令必须以#开头,且在编译时才会处理。选项B、C、D都是关于预处理的错误描述。10.C解析:在C语言中,错误处理可以通过设置全局变量或使用全局函数来通知主程序发生错误。选项A、B、D都是关于错误处理的错误描述。二、填空题1.!解析:在C语言中,用于表示逻辑非的运算符是!。2.?:解析:在C语言中,用于表示条件运算的运算符是?:。3.~解析:在C语言中,用于表示按位取反的运算符是~。4.&解析:在C语言中,用于表示按位与的运算符是&。5.|解析:在C语言中,用于表示按位或的运算符是|。6.^解析:在C语言中,用于表示按位异或的运算符是^。7.<<解析:在C语言中,用于表示左移的运算符是<<。8.>>解析:在C语言中,用于表示右移的运算符是>>。9.malloc解析:在C语言中,用于表示动态内存分配的函数是malloc。10.free解析:在C语言中,用于表示动态内存释放的函数是free。三、判断题1.×解析:在C语言中,函数不可以嵌套定义,即一个函数内部不可以定义另一个函数。2.×解析:在C语言中,函数可以没有返回值,此时返回类型为void。3.×解析:在C语言中,函数的形参可以是任意类型的变量,但数组作为参数传递时,传递的是数组的地址,而不是数组本身。4.×解析:在C语言中,函数的返回值类型可以与主调函数中对应的变量类型不一致,但需要通过类型转换。5.√解析:在C语言中,数组的大小必须是确定的,且在编译时必须知道。6.√解析:在C语言中,数组名可以作为指针使用,指向数组的第一个元素。7.√解析:在C语言中,数组可以作为函数的参数进行传递,但传递的是数组的地址,而不是数组的值。8.√解析:在C语言中,数组元素的下标是从0开始的,最大下标等于数组的大小减1。9.√解析:在C语言中,指针变量可以指向任何类型的数据,包括函数。10.×解析:在C语言中,指针变量的值必须是有效的内存地址,不能是任意整数。四、简答题1.简述C语言中函数的定义和调用过程。解析:在C语言中,函数的定义包括函数的返回值类型、函数名、函数的形参列表和函数体。函数的调用包括函数名、实参列表和函数体。函数调用时,实参列表中的参数会传递给形参列表中的参数,然后执行函数体中的代码。2.简述C语言中数组的定义和初始化方法。解析:在C语言中,数组的定义包括数组的大小和数组的类型。数组的初始化可以在定义时直接赋值,也可以在声明后单独赋值。数组的初始化可以通过逐个元素赋值或使用初始化列表进行。3.简述C语言中指针的定义和使用方法。解析:在C语言中,指针的定义包括指针的类型和指针名。指针的使用包括赋值、取值和运算。指针可以指向任何类型的数据,包括变量、数组、函数等。4.简述C语言中结构体的定义和使用方法。解析:在C语言中,结构体的定义包括结构体的类型和结构体的成员。结构体的使用包括定义结构体变量、访问结构体成员等。结构体可以包含任意类型的成员,包括基本数据类型、数组、指针、其他结构体等。5.简述C语言中位运算的应用场景。解析:在C语言中,位运算可以用于处理二进制数据,常用于设置、清除、翻转位、判断位等操作。位运算可以用于优化程序性能,提高代码的可读性和可维护性。6.简述C语言中文件操作的基本步骤。解析:在C语言中,文件操作的基本步骤包括打开文件、读取文件、写入文件、关闭文件。打开文件时,需要指定文件名和打开模式。读取文件时,可以使用fscanf、fgets等函数读取数据。写入文件时,可以使用fprintf、fputs等函数写入数据。关闭文件时,需要使用fclose函数关闭文件。7.简述C语言中动态内存分配的基本过程。解析:在C语言中,动态内存分配的基本过程包括使用malloc、calloc、realloc等函数分配内存,使用free函数释放内存。分配内存时,需要指定内存的大小和类型。释放内存时,需要使用free函数释放内存。8.简述C语言中预处理的常用指令及其作用。解析:在C语言中,预处理的常用指令包括#include、#define、#ifdef、#ifndef、#if、#else、#elif、#endif等。#include指令用于包含头文件,#define指令用于定义宏,#ifdef指令用于判断某个宏是否已经定义,#ifndef指令用于判断某个宏是否未定义,#if指令用于判断某个条件是否成立,#else指令用于提供备选条件,#elif指令用于提供多个备选条件,#endif指令用于结束条件判断。五、应用题1.编写一个C语言程序,实现一个简单的计算器,可以完成加、减、乘、除四种运算。解析:以下是一个简单的计算器程序示例:```c#include<stdio.h>floatadd(floata,floatb){returna+b;}floatsubtract(floata,floatb){returna-b;}floatmultiply(floata,floatb){returnab;}floatdivide(floata,floatb){if(b!=0){returna/b;}else{printf("Error:Divisionbyzero!\n");return0;}}intmain(){floata,b;charoperator;printf("Enteranexpression(e.g.,2+3):");scanf("%f%c%f",&a,&operator,&b);switch(operator){case'+':printf("Result:%.2f\n",add(a,b));break;case'-':printf("Result:%.2f\n",subtract(a,b));break;case'':printf("Result:%.2f\n",multiply(a,b));break;case'/':printf("Result:%.2f\n",divide(a,b));break;default:printf("Error:Invalidoperator!\n");}return0;}```2.编写一个C语言程序,实现一个简单的学生成绩管理系统,可以添加、删除、修改、查询学生成绩。解析:以下是一个简单的学生成绩管理系统程序示例:```c#include<stdio.h>#include<stdlib.h>typedefstruct{intid;charname[50];floatscore;}Student;Studentstudents[100];intstudent_count=0;voidadd_student(intid,charname[],floatscore){students[student_count].id=id;strcpy(students[student_count].name,name);students[student_count].score=score;student_count++;}voiddelete_student(intid){for(inti=0;i<student_count;i++){if(students[i].id==id){for(intj=i;j<student_count-1;j++){students[j]=students[j+1];}student_count--;break;}}}voidupdate_student(intid,charname[],floatscore){for(inti=0;i<student_count;i++){if(students[i].id==id){strcpy(students[i].name,name);students[i].score=score;break;}}}voidquery_student(intid){for(inti=0;i<student_count;i++){if(students[i].id==id){printf("ID:%d\n",students[i].id);printf("Name:%s\n",students[i].name);printf("Score:%.2f\n",students[i].score);break;}}}intmain(){intchoice,id;charname[50];floatscore;while(1){printf("1.AddStudent\n");printf("2.DeleteStudent\n");printf("3.UpdateStudent\n");printf("4.QueryStudent\n");printf("5.Exit\n");printf("Enteryourchoice:");scanf("%d",&choice);switch(choice){case1:printf("EnterID:");scanf("%d",&id);printf("EnterName:");scanf("%s",name);printf("EnterScore:");scanf("%f",&score);add_student(id,name,score);break;case2:printf("EnterID:");scanf("%d",&id);delete_student(id);break;case3:printf("EnterID:");scanf("%d",&id);printf("EnterNewName:");scanf("%s",name);printf("EnterNewScore:");scanf("%f",&score);update_student(id,name,score);break;case4:printf("EnterID:");scanf("%d",&id);query_student(id);break;case5:exit(0);default:printf("Invalidchoice!\n");}}return0;}```3.编写一个C语言程序,实现一个简单的图书管理系统,可以添加、删除、修改、查询图书信息。解析:以下是一个简单的图书管理系统程序示例:```c#include<stdio.h>#include<stdlib.h>typedefstruct{intid;chartitle[100];charauthor[50];}Book;Bookbooks[100];intbook_count=0;voidadd_book(intid,chartitle[],charauthor[]){books[book_count].id=id;strcpy(books[book_count].title,title);strcpy(books[book_count].author,author);book_count++;}voiddelete_book(intid){for(inti=0;i<book_count;i++){if(books[i].id==id){for(intj=i;j<book_count-1;j++){books[j]=books[j+1];}book_count--;break;}}}voidupdate_book(intid,chartitle[],charauthor[]){for(inti=0;i<book_count;i++){if(books[i].id==id){strcpy(books[i].title,title);strcpy(books[i].author,author);break;}}}voidquery_book(intid){for(inti=0;i<book_count;i++){if(books[i].id==id){printf("ID:%d\n",books[i].id);printf("Title:%s\n",books[i].title);printf("Author:%s\n",books[i].author);break;}}}intmain(){intchoice,id;chartitle[100];charauthor[50];while(1){printf("1.AddBook\n");printf("2.DeleteBook\n");printf("3.UpdateBook\n");printf("4.QueryBook\n");printf("5.Exit\n");printf("Enteryourchoice:");scanf("%d",&choice);switch(choice){case1:printf("EnterID:");scanf("%d",&id);printf("EnterTitle:");scanf("%s",title);printf("EnterAuthor:");scanf("%s",author);add_book(id,title,author);break;case2:printf("EnterID:");scanf("%d",&id);delete_book(id);break;case3:printf("EnterID:");scanf("%d",&id);printf("EnterNewTitle:");scanf("%s",title);printf("EnterNewAuthor:");scanf("%s",author);update_book(id,title,author);break;case4:printf("EnterID:");scanf("%d",&id);query_book(id);break;case5:exit(0);default:printf("Invalidchoice!\n");}}return0;}```4.编写一个C语言程序,实现一个简单的银行账户管理系统,可以开户、存款、取款、查询账户余额。解析:以下是一个简单的银行账户管理系统程序示例:```c#include<stdio.h>#include<stdlib.h>typedefstruct{intaccount_number;characcount_holder[50];floatbalance;}BankAccount;BankAccountaccounts[100];intaccount_count=0;voidopen_account(intaccount_number,characcount_holder[],floatinitial_balance){accounts[account_count].account_number=account_number;strcpy(accounts[account_count].account_holder,account_holder);accounts[account_count].balance=initial_balance;account_count++;}voiddeposit(intaccount_number,floatamount){for(inti=0;i<account_count;i++){if(accounts[i].account_number==account_number){accounts[i].balance+=amount;break;}}}voidwithdraw(intaccount_number,floatamount){for(inti=0;i<account_count;i++){if(accounts[i].account_number==account_number){if(accounts[i].balance>=amount){accounts[i].balance-=amount;}else{printf("Insufficientbalance!\n");}break;}}}voidquery_account(intaccount_number){for(inti=0;i<account_count;i++){if(accounts[i].account_number==account_number){printf("AccountNumber:%d\n",accounts[i].account_number);printf("AccountHolder:%s\n",accounts[i].account_holder);printf("Balance:%.2f\n",accounts[i].balance);break;}}}intmain(){intchoice,account_number;floatamount;characcount_holder[50];while(1){printf("1.OpenAccount\n");printf("2.Deposit\n");printf("3.Withdraw\n");printf("4.QueryAccount\n");printf("5.Exit\n");printf("Enteryourchoice:");scanf("%d",&choice);switch(choice){case1:printf("EnterAccountNumber:");scanf("%d",&account_number);printf("EnterAccountHolder:");scanf("%s",account_holder);printf("EnterInitialBalance:");scanf("%f",&amount);open_account(account_number,account_holder,amount);break;case2:printf("EnterAccountNumber:");scanf("%d",&account_number);printf("EnterAmounttoDeposit:");scanf("%f",&amount);deposit(account_number,amount);break;case3:printf("EnterAccountNumber:");scanf("%d",&account_number);printf("EnterAmounttoWithdraw:");scanf("%f",&amount);withdraw(account_number,amount);break;case4:printf("EnterAccountNumber:");scanf("%d",&account_number);query_account(account_number);break;case5:exit(0);default:printf("Invalidchoice!\n");}}return0;}```5.编写一个C语言程序,实现一个简单的商品管理系统,可以添加、删除、修改、查询商品信息。解析:以下是一个简单的商品管理系统程序示例:```c#include<stdio.h>#include<stdlib.h>typedefstruct{intid;charname[100];floatprice;}Product;Productproducts[100];intproduct_count=0;voidadd_product(intid,charname[],floatprice){products[product_count].id=id;strcpy(products[product_count].name,name);products[product_count].price=price;product_count++;}voiddelete_product(intid){for(inti=0;i<product_count;i++){if(products[i].id==id){for(intj=i;j<product_count-1;j++){products[j]=products[j+1];}product_count--;break;}}}voidupdate_product(intid,charname[],floatprice){for(inti=0;i<product_count;i++){if(products[i].id==id){strcpy(products[i].name,name);products[i].price=price;break;}}}voidquery_product(intid){for(inti=0;i<product_count;i++){if(products[i].id==id){printf("ID:%d\n",products[i].id);printf("Name:%s\n",products[i].name);printf("Price:%.2f\n",products[i].price);break;}}}intmain(){intchoice,id;charname[100];floatprice;while(1){printf("1.AddProduct\n");printf("2.DeleteProduct\n");printf("3.UpdateProduct\n");printf("4.QueryProduct\n");printf("5.Exit\n");printf("Enteryourchoice:");scanf("%d",&choice);switch(choice){case1:printf("EnterID:");scanf("%d",&id);printf("EnterName:");scanf("%s",name);printf("EnterPrice:");scanf("%f",&price);add_product(id,name,price);break;case2:printf("EnterID:");scanf("%d",&id);delete_product(id);break;case3:printf("EnterID:");scanf("%d",&id);printf("EnterNewName:");scanf("%s",name);printf("EnterNewPrice:");scanf("%f",&price);update_product(id,name,price);break;case4:printf("EnterID:");scanf("%d",&id);query_product(id);break;case5:exit(0);default:printf("Invalidchoice!\n");}}return0;}```6.编写一个C语言程序,实现一个简单的员工管理系统,可以添加、删除、修改、查询员工信息。解析:以下是一个简单的员工管理系统程序示例:```c#include<stdio.h>#include<stdlib.h>typedefstruct{intid;charname[50];chardepartment[50];}Employee;Employeeemployees[100];intemployee_count=0;voidadd_employee(intid,charname[],chardepartment[]){employees[employee_count].id=id;strcpy(employees[employee_count].name,name);strcpy(employees[employee_count].department,department);employee_count++;}voiddelete_employee(intid){for(inti=0;i<employee_count;i++){if(employees[i].id==id){for(intj=i;j<employee_count-1;j++){employees[j]=employees[j+1];}employee_count--;break;}}}voidupdate_employee(intid,charname[],chardepartment[]){for(inti=0;i<employee_count;i++){if(employees[i].id==id){strcpy(employees[i].name,name);strcpy(employees[i].department,department);break;}}}voidquery_employee(intid){for(inti=0;i<employee_count;i++){if(employees[i].id==id){printf("ID:%d\n",employees[i].id);printf("Name:%s\n",employees[i].name);printf("Department:%s\n",employees[i].department);break;}}}intmain(){intchoice,id;charname[50];chardepartment[50];while(1){printf("1.AddEmployee\n");printf("2.DeleteEmployee\n");printf("3.UpdateEmployee\n");printf("4.QueryEmployee\n");printf("5.Exit\n");printf("Enteryourchoice:");scanf("%d",&choice);switch(choice){case1:printf("EnterID:");scanf("%d",&id);printf("EnterName:");scanf("%s",name);printf("EnterDepartment:");scanf("%s",department);add_employee(id,name,department);break;case2:printf("EnterID:");scanf("%d",&id);delete_employee(id);break;case3:printf("EnterID:");scanf("%d",&id);printf("EnterNewName:");scanf("%s",name);printf("EnterNewDepartment:");scanf("%s",department);update_employee(id,name,department);break;case4:printf("EnterID:");scanf("%d",&id);query_employee(id);break;case5:exit(0);default:printf("Invalidchoice!\n");}}return0;}```7.编写一个C语言程序,实现一个简单的图书借阅系统,可以借书、还书、查询图书借阅情况。解析:以下是一个简单的图书借阅系统程序示例:```c#include<stdio.h>#include<stdlib.h>typedefstruct{intid;chartitle[100];charauthor[50];intis_borrowed;}Book;Bookbooks[100];intbook_count=0;voidadd_book(intid,chartitle[],charauthor[]){books[book_count].id=id;strcpy(books[book_count].title,title);strcpy(books[book_count].author,author);books[book_count].is_borrowed=0;book_count++;}voidborrow_book(intid){for(inti=0;i<book_count;i++){if(books[i].id==id){if(books[i].is_borrowed==0){books[i].is_borrowed=1;printf("Book\"%s\"borrowedsuccessfully!\n",books[i].title);}else{printf("Book\"%s\"isalreadyborrowed!\n",books[i].title);}break;}}}voidreturn_book(intid){for(inti=0;i<book_count;i++){if(books[i].id==id){if(books[i].is_borrowed==1){books[i].is_borrowed=0;printf("Book\"%s\"returnedsuccessfully!\n",books[i].title);}else{printf("Book\"%s\"isnotborrowed!\n",books[i].title);}break;}}}voidquery_book(intid){for(inti=0;i<book_count;i++){if(books[i].id==id){printf("ID:%d\n",books[i].id);printf("Title:%s\n",books[i].title);printf("Author:%s\n",books[i].author);printf("Status:%s\n",books[i].is_borrowed?"Borrowed":"Available");break;}}}intmain(){intchoice,id;while(1){printf("1.AddBook\n");printf("2.BorrowBook\n");printf("3.ReturnBook\n");printf("4.QueryBook\n");printf("5.Exit\n");printf("Enteryourchoice:");scanf("%d",&choice);switch(choice){case1:printf("EnterBookID:");sca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论