C语言第1次上机
更新时间:2023-03-17 18:34:01 阅读量: 综合文库 文档下载
C语言程序设计 实验报告
班级 日期 学生姓名 学号
第 1 次上机
实验1 表达式与标准输入输出
1.1实验目的
(1)熟练掌握各种运算符的运算功能,操作数的类型,运算结果的类型及运算过程中的类型转换,重点是C语言特有的运算符,例如位运算符,问号运算符,逗号运算符等;熟记运算符的优先级和结核性。
(2)掌握getchar,putchar,scanf和printf函数的用法。 (3)掌握简单C程序(顺序结构程序)的编写方法。
1.2 实验任务
编写并上机调试运行能实现以下功能的程序。
(1)编写一个程序,输入字符c,如果c是大写字母,则将c转换成对应的小写,否则c的值不变,最后输出c。
(2)编写一个程序,输入无符号短整数x,m,n(0 ≤m≤ 15, 1 ≤ n≤ 16-m),取出x从第m位开始向左的n位(m从右至左编号为0~15),并使其向左端(第15位)靠齐。
(3)IP地址通常是4个用句点分隔的小整数(即点分十进制),如32.55.1.102。这些地址在机器中用无符号长整形表示。编写一个程序,以机器存储的形式读入一个互联网IP地址,对其译码,然后用常见的句点分隔的4部分的形式输出。例如,
整形676879571二进制表示就是:00101000 01011000 01011100 11010011,按照8位一组可表示为:40 88 92 211,由于CPU处理数据的差异,它的顺序是颠倒的,所有最终格式为211.92.88.40。
1.3 实验步骤及结果
(要求给出源程序和程序运行结果。另外,根据实验内容,记录编辑、编译、链接、调试程序的操作过程和实验中出现的问题)
(1)分析:输入字符,判断是否为大写字母,转换时只需对字符C作C-‘A’+’a’处理。 #include
char c;
printf(\
scanf(\ if(c>'A'&&c<'Z'){
}
c=c-'A'+'a'; printf(\} else
printf(\
问题:当if句后面缺{ }时
(2)分析:欲使其向左端靠齐,需要使无关项为零,可以先向左移再引入逻辑尺,也可以先移到最右端再移到最左端。这里用后者,对X作X》》M《《(15—N+1)处理。 #include
unsigned short int x,m,n; printf(\
scanf(\ x=x>>m<<(15-n+1); printf(\}
问题:当缺少分号时
(3)分析:把长整型数8位一组表示出来,需要先分别把这8位数移到最右端,再分别转换成十进制数字。这里还需注意四组数的顺序。 #include
unsigned long x,a,b,c,d; printf(\ scanf(\
a=(x&0xff000000)>>24; b=(x&0x00ff0000)>>16; c=(x&0x0000ff00)>>8; d=(x&0x000000ff);
printf(\ }
问题:当printf(\时结果顺序颠倒
实验2 流程控制实验
2.1 实验目的
(1)掌握复合语句、if语句、switch语句的使用,熟练掌握for、while、do-while三种基本的循环语句的使用,掌握重复循环技术,了解转移语句与标号语句。 (2)熟练运用for、while、do-while语句来编写程序。 (3)练习转移语句与标号语句的使用。
(3)使用集成开发环境中的调试功能:单步执行,设置断点,观察变量值。
2.2 实验任务
编写并上机调试运行能实现以下功能的程序。 (1) 假设工资税金按以下方法计算:x < 1000元,不收取税金;1000 ≤ x < 2000,收取5%的税金;2000 ≤ x < 3000,收取10%的税金;3000 ≤ x < 4000,收取15%的税金;4000 ≤ x < 5000,收取20%的税金;x>5000,收取25%的税金。编写一个程序,输入工资金额,输出应收取税金额度,要求分别用if语句和switch语句来实现。
(2)编写一个程序,将输入的一行字符复制到输出,复制过程中将一个以上的空格字符用一个空格代替。
(3)编写一个程序,打印如下的杨辉三角形。
1 /* 第0行 */ 1 1 /* 第1行 */ 1 2 1 /* 第2行 */ 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
jjCCii每个数据值可以由组合计算(表示第i行第j列位置的值),而的计算如下:
Ci0?1 (i=0,1,2,…)
Cij?Cij?1*(i-j?1) / j (j=0,1,2,3,…,i)
说明:本程序中为了打印出金字塔效果,要注意空格的数目。一位数之间是3个空格,两位数之间有2个空格,3位数之间只有一个空格,程序编制过程中要注意区分。
(4)编写一个程序,将用户输入的任意正整数逆转,例如,输入1234,输出4321。 在此基础上添加代码找出5000以内的所有回文数,要求一屏显示20行每行5个回文数,用户输入ESC键退出,其它键继续显示。
2.3 实验步骤及结果
(要求给出源程序和程序运行结果。另外,根据实验内容,记录编辑、编译、链接、调试程序的操作过程和实验中出现的问题) (1)
i>分析:if句需要列出所有表达式,除按要求的范围分别输出外,还需考虑X《0的情况。注意if语句的格式和输出数据的形式。 #include
float x;
printf(\ scanf(\
if(x<0)printf(\
else if(x>=0 && x<1000)printf(\ else if(x<2000)printf(\
else if(x<3000)printf(\ else if(x<4000)printf(\ else if(x<5000)printf(\ else
printf(\ return 0; }
问题:当if句后面多加了分号时
ii>分析:switch语句重在定义case为(int)(x/1000.0),就列举了0,1,2,3,4和default几种情况,注意switch的格式。 #include
float x ;int Case = 0;
printf(\ scanf(\
Case = (int)(x/1000.0); switch(Case) {
case 0:printf(\
case 1:printf(\ case 2:printf(\ case 3:printf(\ case 4:printf(\ default:printf(\ }
return 0; }
正在阅读:
C语言第1次上机03-17
1999年湖南省高中理科实验班联合招生考试数学试卷03-17
2013年河北省小学品德与生活(社会)学科教学设计评选01-14
合同信用制度04-24
大众文化消费结构调查03-15
数学三年级下册第一单元第4课《猴子的烦恼》预习导航(2)04-17
2014--2015年北师大版七年级生物上册第四章 第一节 4.1细胞分化形成组织105-31
医学信息技术题库09-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 上机
- 语言
- 用友U8-OA标准方案WORD
- 嫁娶择日
- 湖北省2011年(下半年)会计从业资格考试试题真题及答案
- 《给小学数学教师的46条建议》读后感
- 计算PCB铜箔通流能力软件的介绍及其应用
- 数据结构实验指导手册
- 工程项目管理复习思考题
- 广东省图书出版业发展现状
- 1999年湖南省高中理科实验班联合招生考试数学试卷
- 治理小广告的倡议书
- 光缆线路故障典型案例-山西
- 钢筋施工监理实施细则
- 农村电商生态圈项目实施方案
- proteus课程设计(基于单片机的数据采集)
- 招投标实习工作总结三篇
- 安徽省江淮十校2018届高三第三次(4月)联考语文试卷(含答案)
- 外贸函电英语课后练习 - 图文
- 加快推进我县农业产业化进程的思考
- 拟南芥植物组织培养
- 2017两学一做专题组织生活会民主评议党员工作总结