C语言实训习题

合集下载

C语言综合实训题

C语言综合实训题

C语言实训题目录综合实训选题1--简单的文本编辑器 (2)综合实训选题2 --简易计算器 (4)综合实训选题3--工资排名 (6)综合实训选题4--用 C 语言实现键盘画图 (7)综合实训选题5 --模拟病人看病系统 (8)综合实训选题6--五子棋 (10)综合实训选题7--报数游戏 (13)综合实训选题8--学生成绩管理程序 (26)综合实训选题1--简单的文本编辑器一.功能要求:编制一个简单的单行文本编辑器程序,具有文本的插入、删除、替换功能。

要求设置编辑命令如下:1 .E ------ 指定所要编辑的文件2 .Q------- 结束编辑3 .R-------- 替换文本用R 命令后继的K 行正文替代原始正文中的M 行到N 行的正文内容;命令格式:R K M NK 行正文其中K 、M 、N 均为大于零的整数;4 .I-------- 插入文本用I 命令后继的K 行正文插入原始正文中的M 行之后;命令格式:I K MK 行正文其中K 、M 均为大于零的整数;5 .D-------- 删除文本用D 命令将原始正文中第M 行到N 行的正文内容删除;命令格式:D M N其中M 、N 均为大于零的整数;说明:程序只限于编辑较短的文本文件(*.txt ), 每行不超过80 个字符,总行数不超过200 行,正文行从0 开始编号。

三.本设计涉及的知识点:1 .数组2 .指针和指针数组3 .文件中字符串的读出和写入4 .函数的定义5 .字符函数的使用四.设计指导:1 .需定义函数,分别实现插入、删除、替换和退出;2 .插入时,把M 行以后的后移,然后在M 行处插入K 行;使用strcpy() 函数;3 .删除时把N 行后续行覆盖要M—N 行;4 .替换时先把M—N 行的内容删除,再插入K 行,以实现替换;5 .退出时提示保存,然后将修改后内容写入文件;6 .注意每个函数中对输入参数M,N,K 的合理性检查。

综合实训选题 2 --简易计算器一、功能要求设计一个简易计算器 , 实现四则运算二、相关知识函数选择结构循环结构将字符转换成数值三、程序要求1. 编制函数 displaycalculator, 显示计算器面板2. 编制函数 getdata, 获取计算数据3. 编制计算函数 calculate4. 编制计算结果函数 displayresult.四、设计指导1、显示计算器面板,只要用 printf 函数画出面板即可。

C语言实训习题

C语言实训习题
/* 参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */
printf("c=%c,c=%d\n",c,c);
/* 看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如此! */
}
参考结果:
x=10,y=10,z=10
x=8,y=10,z=16
c1=M,c2=4d,c3=115,c4=77
c1=M,c2=M,c3=M,c4=M
c1=77,c2=77,c3=77,c4=77
c=m,c=109
常见预定义的转义字符对输出的控制作用。(要求文件名:2_2.c)
main()
{
int a,b,ctf("12345678123456781234567812345678\n"); /* 打印一个标尺以便检查输出结果 */
/* 整型数据的输出 */
printf("x=%o,y=%d,z=%x\n",x,y,z);
/* 数据以原进制输出,注意是否有前导0或0x */
printf("x=%d,y=%d,z=%d\n",x,y,z);
/* 数据以10进制输出,换算到10进制,结果对吗? */
/* 字符型数据的输出 */
a=-32768;
b=a-1;
printf("a=%d,a-1=%d\n",a,b);
getch(); //获得键盘击键,起到暂停程序运行作用,目的是保留用户屏幕,便于查看结果。
}
参考结果:
a=32767,a+1=-32768

C语言实训题及参考答案

C语言实训题及参考答案

C语言实训题及参考答案第一题:编写一个程序,将输入的两个整数进行加法运算,并输出结果。

参考答案:```c#include <stdio.h>int main() {int num1, num2, result;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);result = num1 + num2;printf("加法结果:%d", result);return 0;}```第二题:编写一个程序,判断输入的整数是否为偶数,并输出“是”或“否”。

参考答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("是");} else {printf("否");}return 0;}```第三题:编写一个程序,计算输入字符串的长度,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);printf("字符串长度:%d", length);return 0;}```第四题:编写一个程序,将输入的字符串反转,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int i, length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);for (i = length - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```第五题:编写一个程序,将输入的数组元素按从小到大的顺序排序,并输出结果。

C语言实训题目

C语言实训题目

C语言实训题目
以下是几个C语言实训题目:
1. 编写一个C程序,使用for循环计算所有100以内的奇数的和。

2. 编写一个C程序,读取用户输入的两个数字,计算它们的和、差、积和商,并输出结果。

3. 编写一个C程序,使用while循环读取用户输入的数字,直到用户输入0为止,并计算输入数字之和,最后输出结果。

4. 编写一个C程序,读取用户输入的一段英文文字,将其中的每个单词首字母大写,并输出结果。

5. 编写一个C程序,使用指针实现一个简单的链表,完成添加节点、删除节点、搜索节点等基本操作。

6. 编写一个C程序,实现一个简单的计算器,支持加、减、乘、除等基本运算。

7. 编写一个C程序,读取用户输入的一段文章,统计其中每个字母出现的次数,并按照字母表顺序输出。

8. 编写一个C程序,实现一个简单的学生信息管理系统,包括添加、修改、查询、删除等功能。

9. 编写一个C程序,读取用户输入的一个整数N,使用递归实现N 的阶乘计算,并输出结果。

10. 编写一个C程序,使用函数指针实现菜单式交互,用户可以通过输入数字选择想要执行的操作,例如计算器、学生信息管理系统等。

C语言实训题及参考答案

C语言实训题及参考答案
browse() { int i,j,n; n=load(); printf_face(); for(i=0;i<n;i++) { if((i!=0)&&(i%10==0)) { printf("\n\nPass any key to continue ...."); getch(); puts("\n\n"); } printf_one(i) ; } printf("\tThere are %d record.\n",n); printf("\nPass any key to back ..."); getch(); menu(); }
printf("\t\t *** choose function ************\n\n"); printf("\t\t *** 1 Enter new data ************\n\n"); printf("\t\t *** 2 Modify data ************\n\n"); printf("\t\t *** 3 Search by people.xueli and num*****\n\n");
# include <stdio.h>
enter() { int i,n; printf("How many people(0-%d)?:",N-1); scanf("%d",&n); printf("\n Enter data now\n\n"); for(i=0;i<n;i++) { printf("\n Input %dth people record.\n",i+1); input(i); } if(i!=0)save(n); printf_back(); }

c语言实验习题及答案详解

c语言实验习题及答案详解

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 →3.142,10.123456 →10.123)#include<stdio.h>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=0.5;b=(int)b;d=b/1000;printf("输出现在的数:%.3lf\n0",d);}b.输入一个4位整数,求其得各位数字的平方和;(1234 → 1+4+9+16=30)#include<stdio.h>main(){int n,sum=0,i,t;printf("请输入一个四位整数:\n");scanf("%d",&n);for(i=0;i<4;i++){t=n%10;n/=10;sum+=t*t;}printf("%d\n",sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#include<stdio.h>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<stdio.h>main(){int i;for(i=65;i<91;i++){printf("%c",i);printf("%c",i+32);}printf("\n");}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#include<stdio.h>main(){double f1,f2;f1=10e-30;f2=10e30;printf("%lf\n%lf\n",f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;#include<stdio.h>void main(){float f;double d;f=3.14159265358979323846264338327950288;d=3.14159265358979323846264338327950288;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。

C语言实训练习题

C语言实训练习题

C语言实训练习题项目1:输入三角形边长,求面积。

设三角形的三个边分别为a、b、c,周长一半为s,面积为area,则s=1/2*(a+b+c), area=sqrt(s*(s-a)*(s-b)*(s-c))。

项目2:从键盘输入大写字母,用小写字母输出项目3:输入一个三位整数,依次输出该数的正(负)号和百位、十位、个位数字。

项目4:输入两个整数a、b,将它们交换,例如a为3,b为5,交换后a为5,b为3。

项目5:输入一个华氏温度,输出对应的摄氏温度。

输出取1位小数。

转换公式为c=5/9*(f-32)项目6:鸡兔同笼问题。

已知鸡兔总头数为H,总脚数为F,求鸡兔各有多少只?分析:依题意设鸡有x只,兔有y只。

项目1:根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积。

项目2:从键盘输入两个整数a和b,如果a大于b则交换两数,否则不交换,最后输出两个数。

项目3:将任意三个整数按从大到小的顺序输出。

项目4:给一个不多于4位的正整数,求出它是几位数,逆序打印出各位数字。

项目5:求分段函数的值,如果x≥0, y=2x+1,否则, y=0 。

项目6:模拟自动饮料机。

按屏幕所示功能,输入所选择的合法数字,输出可获得的相应饮料名称。

运行效果:=============自动饮料机============== 1.可口可乐 2.雪碧 3.芬达 4.百事可乐5.非常可乐请按1-5按钮选择饮料:3 你获得一听芬达项目7:当企业利润P等于或低于0.5万元时,奖金为利润的1%;当0.5<P≤1万元时,超过0.5万元部分的奖金为利润的1.5%,0.5万元以下仍按1%计算;当1<P≤2万元时,1万元以下部分仍按前面的方法计算,超过1万元的部分其奖金按利润的2%计算;当2<P≤5万元时,2万元以下部分仍按前面的方法计算,超过2万元部分的奖金按利润的2.5%计算;当5<P≤10万元时,5万元以下部分仍按前面的方法计算,超过5万元部分的奖金按利润的3%计算;当P>10万元时,10万元以下部分仍按前面的方法计算,超过10万元部分按3.5%计算。

c语言 练习题

c语言 练习题

c语言练习题
在学习C语言编程过程中,适当的练习题目可以巩固所学的知识,
并提升对C语言的理解和应用能力。

以下是一些适用于初学者的C语
言练习题目,可以帮助您检验自己的编程水平和解决问题的能力。

练习一:输出姓名和年龄
要求:编写一个C程序,在控制台输出自己的姓名和年龄。

练习二:计算圆的面积
要求:编写一个C程序,根据用户输入的半径,计算并输出圆的面积。

练习三:计算矩形的面积和周长
要求:编写一个C程序,根据用户输入的长和宽,计算并输出矩形
的面积和周长。

练习四:判断奇偶数
要求:编写一个C程序,判断用户输入的数是奇数还是偶数,并在
控制台输出相应的结果。

练习五:计算两数之和
要求:编写一个C程序,要求用户输入两个整数,并计算它们的和,然后在控制台输出结果。

练习六:找出最大数
要求:编写一个C程序,要求用户输入三个数,然后找出其中的最大数,并在控制台输出结果。

练习七:判断闰年
要求:编写一个C程序,判断用户输入的年份是否为闰年,并在控制台显示结果。

练习八:计算阶乘
要求:编写一个C程序,要求用户输入一个正整数,然后计算并输出它的阶乘。

练习九:逆序输出字符串
要求:编写一个C程序,要求用户输入一个字符串,然后按逆序输出该字符串。

练习十:生成九九乘法表
要求:编写一个C程序,生成九九乘法表,并在控制台输出结果。

通过完成以上的C语言练习题,您可以巩固对C语言的理解,并提高编程能力。

希望这些练习题对您有所帮助,让您更好地掌握C语言编程。

继续努力学习,不断提升自己的技能!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.假定建立了下图所示的链表结构,指针p指向如图所示的结点,已定义q是与p相同类型的
指针变量,则将p所指结点的下一个结点从链表中删除的语句是 _______。
A. q=p->next; p->next=q->next; free(q); B. q=p->next; free(q); p->next=p->next->next; C. p->next=p->next->next; q=p->next; free(q); D. p->next=q->next; q=p->next; free(q);
for(j=0;p[i][j]>′\0′;j+=2)
s=10*s+p[i][j]-′0′;
printf("%d\n",s);}
该程序的输出结果是 (
)
A)69825 B)63825 C)6385 D)693825
14.有以下程序 #include <stdio.h> #include <string.h>
A)3e,6
B)62,5
C)56,5 D)3E,6
17 有以下程序 #include <stdio.h> #define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2;
i1=f(2); i2=f(1+1); printf("%d %d\n",i1,i2); }
A. p->next->data = p->data; p->data =t; B. p->data = p->next->data; p->next->data =t; C. p->data = t; p->next->data = p->data; D. p->next->data = t; p->data = p->next->data;
C. printf("%c",st[2].name[1]);
D. printf("%c",st[2].name[0]);
3. 需要以写模式打开当前目录下一个名为 myfile.txt 的文本文件,下列打开文件正确的
选项是:

A. fopen("myfile.txt","r");
B. fopen("myfile.txt","w");
int i;
strcpy(,);
a.sex=b.sex;
for(i=0;i<2;i++) a.score[i]=b.score[i];
}
main()
{STU c={"Qian",'f',95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);
实验
一 单选题
1. 设有下列函数原型和变量定义语句,则合法的函数调用语句是:

int func( int a[], int n );
int a[10], n, x;
A. func( a, n ) = x;
B. x = func( a, n );
C. x = func( a[], n );
D. x = func( a[10], n );
}
程序的运行结果是 (
)
A)Qian,f,95,92
B)Qian,m,85,90
C)Zhao,f,95,92
D)Zhao,m,85,90
二、阅读并调试程序 1. 以下程序的输出结果是 ( ) 。 main() { char s[]="ABCD", *p;
for(p=s+1; p<s+4; p++)printf ("%s\n",p);}
三、程序填空 要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,
改动程序的结构。 1.以下程序中函数 fun 的功能是:统计 person 所指结构体数组中所有性别(sex)为 M
的记录的个数,存入变量 n 中,并作为函数值返回。请填空。
#include <stdio.h>
#define N 3
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA D)Abcddfefdbd
13.有如下程序
main()
{ char ch[2][5]={"6937","8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
void swap( int *p, int *q ); int x, y; 则合法的函数调用语句是:_______ 。 A. swap( x, y ); B. swap( *x, *y );
C. swap( &x, &y ); D. swap( p, q );
9. 若有结构体定义及初始化语句: struct node
for(i=0;i<n-1;i++) for(j=i+1;j<n;j++)
if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;} } main()
fun(ss,5); }
printf("%s,%s\n",ss[0],ss[4]);
程序的运行结果是 (
A)6 B)7 C)8 D)9
16 阅读下列程序,则执行后的结果为 (
)
#include "stdio.h"
main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
printf("%x,%x\n",c[2][2],*(*(c+1)+1));}
7. 设有变量定义:char st[]="computer"; int i=0; char *s=st;
当执行完语句:while(*s++!= 'u') i++; 之后,则_______。 A. i 的值为 5,*s 的值为't' B. i 的值为 5,*s 的值为'u' C. i 的值为 4,*s 的值为't' D. i 的值为 4,*s 的值为'u' 8. 若有函数原型和变量定义语句:
{ int num; float score;
} stu[2]={101,91.5,102,92.5},*p=stu; 则表达式 p->score 的结果是:_______ 。 A. 101 B. 91.5 C. 102 D. 92.5
10. 设有定义 FILE *fp;将整数 n 以文本方式写到 fp 文件的语句:______。 A. fp = fopen( "file.txt", "w" ); B. fprintf( fp, "%d", n ); C. fwrite( &n, sizeof(int), 1, fp ); D. fclose(fp);
11.假定建立了如下图所示的链表结构,指针p指向如图所示的结点,则将r所指结点直接插 入p所指结点后的语句是:_______。
A. r->data=p->data; p->data=r; B. p->data=r; r->next=p->next; C. r->next= p->next; p->next=r; D. p->next=r; r->next=p->next;
)
A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc
D)aabcc,bcc
15 下列程序执行后的输出结果是 (
)
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5];
a=0; b[0]=3;
func(&a,b); printf("%d\n",b[0]);}
A)tupedef struct
{int n; char c;}REC;
REC t1,t2;
B)tupedef struct
{int n; char c;};
REC t1,t2;
C)tupedef struct REC;
{int n=0; char c='A';}t1,t2;
D)struct
{int n; char c;}REC;
A. head=p->next; p=head; B. p->data=head; head=p; C. head=p->data; p=head; D. p->next=head; head=p;
5. 若建立了以下链表结构,如图所示。指针p指向如图所示的结点,t为与data同类型的数 据变量,则交换p所指向的结点的数据和该结点的下一个结点的数据的语句为:t=p->data; __________。
相关文档
最新文档