当前位置:文档之家› C语言实验课题目

C语言实验课题目

目录实验1 输入输出 (2)实验2 选择语句 (4)实验3 循环语句 (5)实验4 函数 (6)实验5 指针 (8)实验6 数组 (9)实验7 结构体 (10)实验1 输入输出要求掌握:1、VC++平台的使用;2、C源程序的建立、保存、编译和运行;3、变量的定义、赋值和运算;4、printf函数的使用;5、scanf函数的使用;6、int、long、float、double、unsigned的含义;7、关键字、预定义标识符和用户标识符的区别;8、自加自减运算符的使用。

完成下列题目:1. 键盘输入与屏幕输出练习问题1 要使下面程序的输出语句在屏幕上显示1, 2, 34,则从键盘输入的数据格式应为以下备选答案中的。

#include <stdio.h>main(){char a,b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}A)1 2 34 B)1, 2, 34C)’1’,’2’,34D)12 34问题2 在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示12 34,则应修改程序中的哪条语句?怎样修改?问题 3 要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改?问题4 要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1', '2',34,则应修改程序中的哪条语句?怎样修改?[提示:利用转义字符输出字符单引号字符。

]问题5 要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果都为'1', '2',34,则程序应修改程序中的哪条语句?怎样修改?第1种输入方式:1,2,34↙(以逗号作为分隔符)第2种输入方式:1 2 34↙(以空格作为分隔符)第3种输入方式:1 2 34↙(以Tab键作为分隔符)第4种输入方式:1↙2↙34↙(以回车符作为分隔符)[提示:利用忽略输入修饰符。

]2. 计算定期存款本利之和设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。

要求定期存款的年利率rate、存款期n和存款本金capital 均由键盘输入。

实验2 选择语句题目:1、编写程序,输入一个正整数,判断该数是奇数还是偶数,并输出判断结果。

2、有一函数:⎪⎪⎩⎪⎪⎨⎧--+++--=-13)12(log 3553131210123x x ex x y x ()()()()10101111>≤<≤≤--<x x x x 编写一个程序,用scanf 函数输入x 的值,输出y 值。

注意表达式的书写方法。

提示:此题要用到数学函数exp ()和log10(),因此应包含相应的头文件math.h 。

3、输入年号,判断并输出该年是否闰年。

所谓闰年,是指能被4整除,但不能被100整除;或能被400整除的年份。

算法提示:此题要注意条件的表达。

或者通过逻辑运算符构造复杂的条件表示;或者通过if 分支嵌套来完成所有条件的表示。

4、输入学生考试成绩,输出相应等级,其中等级A >=90,B>=80,C>=70,D>=60,E<60。

要求分别用if 语句和switch 语句解答,使用switch 语句时注意case 、break 、default 的语句编写。

掌握以下内容:1.关系运算符和逻辑运算符的使用; 2.非0即为真;&&和||的运算顺序和特殊情况(0&&非0、非0||0、if(5>4>3)); 3.if 语句的使用; 4. switch 语句的使用(注意switch 的判断表达式、case 的用法、有无break 的区别、default的位置);5. if 语句嵌套使用实验3 循环语句题目:1. 从键盘输入若干整数,以0结束,判断并输出其中的最大数。

2. 输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、空格、数字和其它字符的个数。

3. 分别用while 、do-while 和for 语句计算∑=201!n n (即求1!+2!+3!+…+20!),并试着简化程序。

掌握以下内容:1.while 语句、do-while 语句和for 语句格式三种循环语句的使用; 2.简单循环问题的分析和程序设计; 3.正确的构造循环条件; 4. 循环程序的调试方法和技巧。

实验4 函数题目:1、编写一个函数,输出语句:“I Love China!”。

2、调试下面的程序,记录系统给出的出错信息,并指出错误原因。

main( ){int x,y;printf("%d\n",sum(x+y));}int sum(a,b);{int a,b;return(a+b);}3、编写函数,判断指定的字符是否是数字字符,如果是返回1,不是则返回0。

在主函数中输入该字符,调用函数判断该字符并输出是否是数字字符。

4、编写一函数,计算整数m的n次幂,在主函数中输入m和n,在主函数中输出计算结果。

5、求1!+2!+…+n!,要求:编写两个函数,分别实现求n!功能,和1!+2!+…+n!功能,在主函数输入n值,并在主函数中输出计算结果。

6、指出下列各变量的存储属性,分析程序的应得结果,并上机验证。

#include <stdio.h>int n=1;void func( ){static int a=2;int b=5;a+=2;b+=5;n+=12;printf("a=%d,b=%d,n=%d\n",a,b,n);}main( ){int a=0,b= -10;printf("a=%d,b=%d,n=%d\n",a,b,n);func( );printf("a=%d,b=%d,n=%d\n",a,b,n);func( );printf("a=%d,b=%d,n=%d\n",a,b,n);}掌握以下内容:1、无参函数的定义和调用;2、有参无返回值函数的定义和调用;3、对于有返回值函数调用时的处理方法;4、有参函数调用时,实参和形参的概念理解和对应关系;5、有返回值函数调用时返回值的处理;6、函数的嵌套调用;7、函数的声明;8、全局变量和局部变量的定义及使用;9、函数的嵌套调用;10、全局变量的值传递和同名变量的理解。

实验5 指针题目:1、调试下面的程序,指出错误的原因。

main( ){int x=10,y=5,*px,*py;px=py;px=&x;py=&y;printf("*px=%d,*py=%d\n",*px,*py);}2、编写一个函数,交换主函数中变量x和y的数据。

3、完善下面的程序,功能是子函数将主函数中两个变量较小的变量地址返回,主函数中输出其数据。

int *fun(int *,int *)main(){int a,b,*p;scanf( );;printf (”a=%d,b=%d,*p=%d”, );}int (int *x,int *y){}掌握以下内容:1.指针变量的含义及定义、使用;2.指针作为函数参数的使用;3.指针参数的函数调用时实参形式要求;4.返回指针值的函数调用;5.指针参数的定义及调用时实参的形式;6.正确理解指针传递数据的过程。

实验6 数组题目:1、运行下面的程序。

根据运行结果,可以说明什么?main( ){int i,x[5]={1,2,3,4,5};for (i=0;i<=5;i++)printf("%4d",x[i]);}2、从键盘输入10个整数,找出最大的数并输出该数及其下标。

3、有一个一维数组包含10个元素,编写程序将其中的值按升序排序存放。

4、从键盘输入一个字符串,分别输出其完全大写和完全小写的形式。

5、有一个4×5的矩阵,编写程序找出值最大的那个元素,输出其值以及所在的行号和列号。

6、输入一个M行M列的二维数组,分别计算两条对角线上的元素之和。

M由下面的符号常量定义:#define M 5掌握以下内容:1.一维数组的定义、元素的引用;2.一维数组编程的循环控制特色;3.排序等相关算法的实现;4.一维数组编程的循环控制特色,程序调试时的数组越界问题;5.排序算法的理解和记忆;6.二维数组的定义、元素引用、使用方法;7.字符数组的定义、元素引用、使用方法;8.字符串的操作及常用程序设计方法。

实验7 结构体题目:1、定义一个结构体类型,用于存放职工信息,其中包括:职工号、姓名、性别、年龄、职称、家庭住址。

然后定义该类型的变量,从键盘输入具体数据,然后打印出来。

2、有10名学生,每个学生的数据包括:学号、姓名、成绩,从键盘输入10个学生的数据,输出成绩最高者的姓名和成绩。

掌握以下内容:1.结构体类型的定义、结构体变量定义、结构体变量的使用;2.结构体数组的使用;3.结构体指针;4.结构体类型作为函数参数。

相关主题