c语言程序设计验报告(数组)
C语言程序设计 实验报告
专业 计算机 班级 计算机卓工 日期 2012年12月31日 成绩 实验组别 第 8次实验; 指导教师 李开
学生姓名 徐钦振 学号 U座机电话号码0 实验名称 指针实验
实验目的
熟练掌握指针的使用,赋值与使用。
掌握用指针引用数组的元素,熟练指向数组的指针的使用。
熟练掌握字符数组与字符串的使用。
掌握指针函数与函数指针的使用。
掌握带有参数的main函数的使用。
实验内容及要求。
源程序改错
下面的源程序中是否存在问题?如果存在,原因是什么?如果存在错误,请改正并输出正确的结果。
源程序:
#include
int main void float *p; scanf "%d",p ; printf "%f\n",*p ; return 0; 源程序修改,完善与替换。
下面的源程序的功能是,通过函数指针和菜单选择来调节用字符串拷贝函数或字符串连接函数。请在源程序中的下划线处填写正确的表达式,完善程序。
源程序:
#include
#include
int main void _____________________ char a[80],b[80],c[160],*result c; int choice,i; do printf "\t\t1 copy string.\n" ; printf "\t\t2 connect string.\n" ; printf "\t\t3 exit.\n" ; printf "\t\t2 input a number 1-3 please!\n" ; scanf "%d",&choice ; while choice 1||choice 5 ; switch choice case 1: p strcpy; break; case 2: p strcat; break; case 3: goto down; getchar ; printf "input the first string please!\n" ; i 0; __________________________________________ printf "input the second string please!\n" ; i 0; __________________________________________ result ______________________ a,b ; printf "The result is %s\n",result ; down: ; return 0; 跟踪调试源程序
请按下面的要求对所给的源程序进行操作,并回答问题和排除错误。
按照单步执行源程序,进入strcpy时,watches窗口中的s为何值?返回main函数时,s为何值?
排除源程序的错误,并输出正确的答案。
源程序:
#include
char *strcpy char *,char * ;
int main char a[20],b[60] "There is a boat in the lake."; printf "%s\n",strcpy a,b ; return 0; char *strcpy char *s,char *t while *s++ *t++ ; return s ; 程序设计
编写并上机调试运行能够实现以下功能的程序或者函数。
已知一个长整型变量占4个字节,其中每个字节又分为高四位和低四位。是编写一个程序,从该整型的高字节开始,一次取出每个字节的高四位为低四位,并以数字字符的形式进行显示。
利用大小为n的指针数组指向用gets函数输入的n行,每行不超过80个字符。是编写一个函数,他的每一行中连续的多个空格字符压缩为一个空格字符。在调用函数时输入压缩后的各行,空行不予输出。
编写一个程序,输入n个数,排列后输出。
选做题
编写并上机调试运行能够实现以下功能的程序或者函数。
(1 设有N位整数和M位小数的两个数据a,b。编写
计算a+b并输出结果。
编写一个使用复杂申明的程序。
指向main函数的参数
选择“project/set programs’arguments...”菜单命令,即可打开图2.12所示的对话框,在文本框中输入main函数的参数。注意只输入命令行中文件名后的参数,文件名不输入。 图2.12 输入main函数的参数
实验步骤以及结果
源程序改错:
存在错误,造成了空指针,并且scanf函数的格式不对应。
正确的源程序应为:
#include
int main void float a,*p; p &a; scanf "%f",p ; printf "%f\n",*p ; return 0; 源程序