120实验指导第二章GCCC语言基础.docx
- 文档编号:26418994
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:13
- 大小:101.46KB
120实验指导第二章GCCC语言基础.docx
《120实验指导第二章GCCC语言基础.docx》由会员分享,可在线阅读,更多相关《120实验指导第二章GCCC语言基础.docx(13页珍藏版)》请在冰豆网上搜索。
120实验指导第二章GCCC语言基础
GCC实验
目录
1.C语言部分练习4
a.helloworld输出练习4
b.简单输出练习4
c.变量赋值联系4
d.混合运算4
e.表达式与运算符4
e-1计算题4
e-2计算时间差4
e-3计算平均值4
e-4超市收银5
f.自增与自减运算5
g.输入输出函数练习5
g-1.从键盘输入一个字符,在屏幕上输出。
5
g-2.从键盘输入一个字符串,在屏幕输出。
6
g-3.利用格式化输入输出函数,输出如下内容。
6
h.if…else练习7
h-1.If…elseif…else语句练习7
h-2e-2扩展8
h-3交换数值8
h-4猜数字游戏8
i.switch…case练习8
k.水仙花数9
l.最大公因数与最小公倍数9
m.数组练习9
m-1.一维数组练习9
m-2.一维数组练习9
m-3.二维数组练习9
n.函数练习9
n-1.想输出以下结果,用函数调用实现9
n-2.从键盘输入四个整数,求这四个整数的最大值,用函数嵌套调用实现。
10
n-3.年龄问题(递归调用)11
o.猴子吃水果问题(请用递归调用实现)12
p.函数的综合应用12
1.C语言部分练习
⏹a.helloworld输出练习
在VI编辑器中输入以下代码并运行
#include
intmain(){/*main函数*/
printf(“helloworld!
\n”);/*输出要显示的字符串*/
return0;/*程序返回0*/
}
⏹b.简单输出练习
编写一个C语言程序,输出以下信息:
⏹c.变量赋值联系
使用两种变量赋值方式对变量赋值,输出以下信息:
⏹d.混合运算
定义一个int类型、char类型、float类型并赋值,计算三种类型的和并赋值给double类型,以格式化形式输出三种类型数据和double的值:
⏹e.表达式与运算符
✓e-1计算题
定义三个整型x、y、z并分别赋值为10、3、-2,计算x+y-z、x/y、x%y、x%y*z、y/z并输出
✓e-2计算时间差
以X小时X分钟的形式分别输入两个时间,每个时间分别输⼊⼩时和分钟的值,然后计算两个时间的差值,输出结果也用X小时X分钟表示
✓e-3计算平均值
输⼊两个整数,计算他们的平均值(注意输出值的数据类型)
e-4超市收银
实现超市收银找零功能,输入应付金额和实收金额,计算找零。
⏹f.自增与自减运算
在VI编辑器中输入以下代码并运行,观察a值变化情况:
#include
intmain(){
inta=10;
printf("%d\n",a++);
printf("%d\n",++a);
printf("%d\n",--a);
printf("%d\n",a--);
printf("%d\n",a+1);
printf("%d\n",a+=2);
printf("%d\n",a-=2);
printf("%d\n",a/=2);
printf("%d\n",a%=2);
return0;
}
⏹g.输入输出函数练习
✓g-1.从键盘输入一个字符,在屏幕上输出。
#include
intmain()
{
charc;
c=getchar();
putchar(c);
return0;
}
✓g-2.从键盘输入一个字符串,在屏幕输出。
#include
intmain()
{
charcString[30];
gets(cString);
puts(cString);
return0;
}
✓g-3.利用格式化输入输出函数,输出如下内容。
#include
intmain()
{
intiInt;
charcChar;
charcString[10];
printf("请输入一个字符:
");
scanf("%c",&cChar);
printf("您输入的字符为:
%c\n",cChar);
printf("请输入一个整数:
");
scanf("%d",&iInt);
printf("您输入的整数为:
%d\n",iInt);
printf("请输入一个字符串:
");
scanf("%s",cString);
printf("您输入的字符串为:
%s\n",cString);
return0;
}
✓g-4.输入输出函数
问题:
计算一个销售人员的月工资。
已知该销售人员的基本工资为800元/月,计算公式为:
月工资=基本工资+提成,提成=商品数*1.5。
商品数要求用户使用键盘自行输入。
运行结果如下图所示:
⏹h.if…else练习
✓h-1.If…elseif…else语句练习
某教学系统中,期末考试成绩(90-100)分为优秀,(80-90)分为良好,(70-80)分为中等,(60-70)分为合格,60分以下为不合格,需要补考。
要求:
从键盘输入一个成绩,用程序判断是属于哪个等级,并在屏幕上输出。
#include
intmain(intargc,char**argv)
{
intnum;
printf("Pleaseintputyourscore:
");
scanf("%d",&num);
if(num>90)
printf("优秀");
elseif(num>80)
printf("良好");
elseif(num>70)
printf("中等");
elseif(num>60)
printf("合格");
else
printf("需要补考");
return0;
}
✓h-2e-2扩展
在e-2的基础上,如果发现实收金额少于应收金额,使用if-else作出判断并给出相应提示
✓h-3交换数值
输入两个整数a和b,当a的值大于b的值,实现交换a的值和b的值并输出。
✓h-4猜数字游戏.使用do-while循环实现猜数字游戏,首先生成一个1-100之间的随机数,然后输入要猜的数字,程序根据判断提示猜大了或猜小了,直到猜中了停止。
并输入所猜的次数。
(提示:
导入头文件#include
⏹i.switch…case练习
✓i-1.将h-1中的if…else语句改为switch…case语句。
✓i-2.学生成绩划分
某教学系统中用A(90-100),B(80-90),C(70-80),D(60-70),E(<60)来区分学生成绩。
输入一个学生的期末成绩,判断该成绩属于A、B、C、D、E哪个档次(switch…case语句实现)。
⏹j.写一个程序,计算1-100所有数之和(for循环)
⏹k.水仙花数
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。
(例如:
1^3+5^3+3^3=153),编写程序,找出1000以内的水仙花数。
⏹l.最大公因数与最小公倍数
写一个程序来求一个正整数的最大公因数和最小公倍数。
⏹m.数组练习
✓m-1.一维数组练习
从键盘输入10个同学的数学成绩,计算这10个同学的平均成绩,并在屏幕上输出。
✓m-2.一维数组练习
某体育中心举行射击比赛,小王的成绩如下:
10环,9环,9环,8环,6环,8环,9环,10环,8环,9环。
用所学过的一维数组的知识,求小王的平均成绩。
✓m-3.二维数组练习
请用二维数组的方法,输出一个3*3的矩阵,其结果如下:
123
456
789
⏹n.函数练习
✓n-1.想输出以下结果,用函数调用实现
*******************
Howdoyoudo!
*******************
#include
intmain()
{
//函数声明
voidprint_star();
voidprint_message();
//函数调用
print_star();
print_message();
print_star();
return0;
}
voidprint_star()
{
printf(“*******************\n”);
}
voidprint_message()
{
printf(“Howdoyoudo!
\n”);
}
✓n-2.从键盘输入四个整数,求这四个整数的最大值,用函数嵌套调用实现。
#include
intmain()
{
//函数声明
intmax4(inta,intb,intc,intd);
inta,b,c,d,max;
printf(“请输入4个整数:
”);
scanf(“%d%d%d%d”,&a,&b,&c,&d);
max=max4(a,b,c,d);
printf(“max=%d\n”,max);
return0;
}
intmax2(inta,intb)
{
return(a>=b?
a:
b);
}
intmax4(inta,intb,intc,intd)
{
intm;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
returnm;
}
✓n-3.年龄问题(递归调用)
有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第三个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说10岁,请问第5个学生多大?
#include
intmain()
{
intage(intn);
printf("No.5age:
%d\n",age(5));
return0;
}
intage(intn)
{
intc;
if(n==1)
c=10;
else
c=age(n-1)+2;
returnc;
}
⏹o.猴子吃水果问题(请用递归调用实现)
有一只调皮的小猴子,摘了一堆水果,第一天吃了水果的一半,又多吃了一个;第二天吃了剩下水果的一半,又多吃了一个;依次类推……到第十天,发现只剩下了1个水果,请问这只猴子到底摘了多少个水果?
∙用vi编辑器写代码
∙用gcc进行编译
∙如果出现问题,请用GDB调试工具进行调试
⏹p.函数的综合应用
写几个函数,实现如下功能:
(1)输入10个职工的姓名和职工号;
(2)按照职工号由小到大顺序排序,姓名顺序也随之调整;
(3)要求输入一个职工号,用折半查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。
要求:
∙用vi编辑器代码
∙写一个用显示规则写Makefile文件进行编译
∙使用“隐晦规则”编写makefile。
并使用伪目标文件指令定义删除中间文件的命令
∙如果编译过程中出现问题,请用GDB调试工具进行调试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 120 实验 指导 第二 GCCC 语言 基础