C_lab1-2_运算符和表达式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1-2 数据类型、运算符和表达式【实验目的】

1.掌握C语言基本数据类型的概念,理解数据类型与运算的关系。

2.熟悉简单变量的定义和赋值方法,掌握不同类型数据之间赋值的规律。

3.学习C语言运算符优先级和结合性的概念,掌握算术表达式的计算方法及表达式计算中的类型转换方法。

4.掌握数学表达式的程序表示方法。

5.掌握C语言标准输入输出库函数scanf、printf的调用形式,掌握scanf、printf函数中常用的格式控制字符,并正确使用scanf、printf函数进行数据输入

【实验内容】

Part1:基础练习(课堂练习)

1.填空:

1).C程序中数据有常量和变量之分,其中,用一个标识符代表一个常量的,称为符号常量。C语言规定在程序中对用到的所有数据都必须指定其数据类型,对变量必须先声明,后使用。

2).常量分为字面常量和符号常量两种。试比较这两种常量

3).C语言所提供的基本数据类型包括:单精度型﹑双精度型﹑字符型﹑整型﹑枚举型。

4).在C语言中的实型变量分为两种类型,它们是单精度浮点型float变量和双精度浮点型double变量。

5).假设所有变量均为整型数据,则表达式(a=2,b=5,a++,a+b)的值为_8__a=_3__b=_5__。

6).一个基本语句的最后一个字符是________;(分号)______________。

7).复合语句又称为分程序、程序块,是用_____{}_______括起来的语句。

8).写出下列数所对应的其他进制度数。

(32)D = (100000)B = ( 40)O = ( 20)H

(75)D = ( 1000111)B = (113 )O = ( 4b)H

9).设a和n为int型变量,且a的初值均为12,写出下面表达式运算后a的值

● a += a ___24___________

● a -=2 _____10_________

● a *= 2 +3 __60____________

● a /= a + a ___0___________

● a %= (n %= 2),n的值为5 ____0__________

● a += a -= a *= a ______0________

2.

3.以下程序的输出结果为_3.141500,3.142_________ _____。

#include

main()

{

printf(“%f,%4.3f\n”, 3.1415, 3.1415);

}

4.以下程序的输出结果为_120,170,78,x_____________。

#include

main()

{

char c=’x’;

printf(“c:dec=%d, oct=%o, hex=%x, char=%c\n”, c, c, c, c);

}

5.根据下图中的输出模式对四个字符串进行输出格式控制,请补充填写格式控制字符串,完成程序设计,并考虑,屏幕截图中分号的作用。

#include

main()

{

printf("12345678901234567890\n");

printf(" %14.8s;\n","GOODGOODSTUDY");

printf("%10.6s;\n","DAYDAYUP");

printf("%6.4s;\n ","GOODGOODSTUDY");

printf("%-8.3s;\n ","DAYDAYUP");

}

6.以下程序的功能如下图,用户在程序提示下键入一个字符b,则程序找出它的前驱字符和后继字符,并按ASCII码值,从小到大顺序输出这3个字符,以及这三个字符对应的ASCII码值。请于空处填写合适的表达式,完成程序设计。

#include

main()

{

char myChar;

printf("Please input a charactor between a and z: ");

scanf("%c", &myChar);

printf("%5c%5c%5c\n", myChar-1, myChar, myChar+1);

printf("%5d%5d%5d\n", myChar-1, myChar, myChar+1);

}

7.以下程序的功能是交换两个相同类型变量的值。试填空完成该程序设计。

#include

main()

{

int x, y, temp;

printf("Please input two integers here,like x,y: ");

scanf("%d,%d", &x, &y );

printf("before swap: x = %d, y = %d \n", x, y);

temp = x;

x = y;

y = temp;

printf("after swap : x = %d, y = %d\n", x, y);

}

8.上题是交换两个变量值的其中一种方法,其实现方法并不唯一,请尝试尽可能多的解决办法,试比较这些实现方法。

Part2:巩固提高(课后实践)

1.求下面算术表达式的值

a)设float x=2.5; int a=7; float y=4.7;

求:x + a % 3 * (int)(x + y) % 2 / 4 2.5

b)设int a=2; int b=3; float x=3.5; float y=2.5

求:(float)(a + b) / 2 + (int) x % (int) y 3.5

2.试阅读并分析程序,写出程序运行结果9,11,9,10

#include

main( )

{

int i, j, m, n;

i = 8;

j = 10;

m = ++i;

n = j++;

printf("i = %d, j = %d, m = %d, n = %d\n", i, j, m, n);

}

2.仔细辨析以下两个程序

相关文档
最新文档