第2章 C语言基础知识实训
2.1 常量和变量
【学习任务】
区分C语言保留字和标识符的含义,熟悉标识符命名规则以及常量和变量的定义方法。
【学习目标】
(1)了解保留字和标识符的含义,熟记常用保留字。
(2)掌握标识符命名规则和使用方法。
(3)掌握常量和变量的概念以及常量和变量的定义。
【技能实训】
(一)调试运行以下程序,注意符号常量的定义及应用、变量的定义及应用、变量的值的变化。请注意阅读系统给出的出错信息。
① 以下程序的功能是:有3种商品,价格分别为p1、p2和p3,欲购买的数量均为NUM件,分别计算并输出购买3种商品的费用。
#define NUM=10
main()
{ float p1, p2;
int count;
p1=125.50
count=p1*NUM;
printf ("count=%d\n", count);
p2=225.50
字符串常量 c语言count=p2*NUM;
printf ("count=%d\n", count);
p3=325.50
count=p2*NUM;
printf ("count=%d\n", count);
}
☆请评价自己本节内容的学习效果,并将学习与实训的收获、体会或疑问记录下来:
。
2.2 数值型数据
【学习任务】
认识C语言基本数据类型中的整型数据和实型数据,尝试定义并使用整型变量和实型变量,然后输出其存储的数据。
【学习目标】
(1)熟练掌握整型常量和实型常量的表现形式。
(2)掌握整型变量和实型变量的定义方法、取值范围以及在内存中的存储形式。
(3)了解、熟悉整型变量和实型变量的基本输出格式。
【技能实训】
(一)分析下列程序的执行结果。请在上机前写好“程序执行结果推测”,上机调试运行,检查自己的思路是否正确。若所写执行结果与计算机运行结果不一致,请出原因。
① (二级2010年9月填空第6题)
# include<stdio.h>
void main()
{
int a=200, b=010;
printf("%d%d\n", a, b);
}
②(二级2007年4月选择第19题)注:%u表示按无符号整数输出。
# include<stdio.h>
void main()
{ // 下面x的初值为十六进制数
unsigned int x=0xFFFF;
printf("%u\n", x) ;
}
③ (二级2010年9月选择第38题)
程序执行结果推测:
#include<stdio.h>void main()
{ int s, t, A=10;
double B=6;
s=sizeof(A);
t=sizeof(B);
printf("%d,%d\n", s, t);
}
(二)编写程序:
① 位于蛇夫座的巴纳德星距离我们s=5.9光年,它将在公元11800年取代比邻星成为离太阳最近的恒星。“迭达罗斯”人造宇宙飞船以v=36000(千米/秒)的速度飞向巴纳德星。编程计算多少年后“迭达罗斯”飞船能够到达巴纳德星。已知1光年=9.46073×1012千米。请使用预处理命令#define声明一个常量,用以表示1年中有多少秒(忽略闰年问题):
#define SECONDS_PER_YEAR (60UL * 60 * 24 * 365)
☆请评价自己本节内容的学习效果,并将学习与实训的收获、体会或疑问记录下来:
。
2.3 字符型数据
【学习任务】
认识C语言的基本数据类型中的字符型数据,定义并使用字符型变量,尝试输出字符和字符串。
【学习目标】
(1)掌握字符常量和字符串常量的表现形式。
(2)掌握字符变量的定义方法和取值范围以及在内存中的存储形式。
(3)掌握字符型数据的基本输出格式。
【技能实训】
(一)分析下列程序的执行结果。请在上机前写好“程序执行结果推测”,上机调试运行,检查自己的思路是否正确。若所写执行结果与计算机运行结果不一致,请出原因。
① # include<stdio.h>
void main( )
{
程序执行结果推测:
char a,b; a='x';
b='y';
printf("%c,%c\n%d,%d\n",a,b,a,b);
a=a-32;
b=b-32;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
②(据二级2008年4月选择第16题改编)
# include<stdio.h>
程序执行结果推测:
void main() {
char ch;
int k;
ch='a';
k=12;
printf("%c,%d,", ch, ch, k);
printf("k=%d\n", k+1);
}
③(据二级2009年9月选择第23题改编)
#include<stdio.h>
void main()
{
char c1,c2;
c1='A'+'8'-'4';
c2='A'+'8'-'5';
printf("%d,%d\n",c1,c2);
}
(二)编写程序:
① 任意输入一个大写字母,转换成小写字母后输出。
☆请评价自己本节内容的学习效果,并将学习与实训的收获、体会或疑问记录下来:
。
2.4 算术表达式及数据类型转换
【学习任务】
学习、理解运算符的运算优先级、结合性的含义,尝试使用算术运算符表示算术表达式、求值并确定类型,熟悉数据类型的转换及标准库函数调用方法。
【学习目标】
(1)了解表达式的概念以及C语言的运算符的种类、优先级、结合性。
(2)掌握算术表达式的表示方法、求值方法和数据类型转换的方法。
(3)掌握标准库函数的调用方法。
【技能实训】
(一)分析下列程序的执行结果。请在上机前写好“程序执行结果推测”,上机调试运行,检查自己的思路是否正确。若所写执行结果与计算机运行结果不一致,请出原因。
① # include<stdio.h>
void main()
{ int x;
x=-3+4*5-6;
printf("%d\n", x);
x=3+4%5-6;
printf("%d\n", x);
x=-3*4%-6/5;
printf("%d\n", x);
x=(7+6)%5/2;
printf("%d\n", x);
}
② (据二级2011年3月填空第6题及2011年9月选择第15题改编)
#include<stdio.h>
void main()
{ int a, x=12, y=8, z;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
z=0.9+x/y;
printf("%d %d \n", a, z);
}
程序执行结果推测:
② (据二级2006年9月填空第6题改编)#include<stdio.h>
void main()
{
float x=123.4567;
printf("%f\n", (int)(x*100+0.5)/100.0);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论