单片机C语言作业及上机习题及答案 - 图文 下载本文

.

第一次课

熟悉win-TC编译环境、熟悉C语言程序结构

1.使用C 语言编译环境,输入下面的源程序。将你的程序命名为hello.c,然后编译运 行它。

/* program writes the words \*File : Hello.c * By : NJCIT

* Date : 07-03-09 */#include main() {

printf(\return(0); } 2.

main() /*求两数之和*/ {

int a,b,sum; /* 这是变量定义*/ a=123;b=456; sum=a+b;

printf(“sum is %d\\n”,sum); }

回答下列问题:

1. C语言中的标识由 字母 、 数字 和 下划线 组成,以 字母 和 下划线 开

头,不可使用 关键字 。

2. C语言源程序从 main 开始执行?每个C语言程序必须有一个且只能有一个主函数,主

函数的名字为 main 。 C程序的函数由 函数头 和 函数体 两部分构成,函数头包括 函数属性 、 函数类型 、 函数名 和 形参表 ;函数体由一系列的语句组成,语句由 分 号结束,函数休包含在一对 花 括号中。程序中的注释内容是用符号 /* */ 界定。

2. 计算机上实现C语言程序要经过 编辑 (产生*. C 文件)、 编译 (产生*. OBJ 文

件)、 链接 (产生*. EXE 文件)和 调试 四个阶段。

;.

.

第二次课

熟悉printf()函数、常见转义字符及各种数据类型的输出格式 1.

#include main() { printf(\printf(\printf(\printf(\printf(\printf(\printf(\return (0); } (1) printf()函数的功能是什么?按指定的格式在屏幕上显示指定的内容 (2) 在 printf()函数中’\\n’的起什么作用?回车换行 (3) 在 printf()函数中’\\t’的起什么作用?水平跳格 (4) 在 printf()函数中’\\a’的起什么作用?蜂呜器响 2. main() {

int a=5,b=7,c=-1;

float x=67.8564,y=-789.124; char c=‘A’; long n=1234567; unsigned u=65535;

printf(“%d%d\\n”,a,b); /*57 */ printf(“==\\n”,a,b); /* 5 7 */ printf(“%f,%f\\n”,x,y); /*67.856400,-789.124000*/ printf(“%-10f%-10f\\n”,x,y); /*67.856400 ,-789.124000*/ printf(“%8.2f,%8.2f,%.4f,%.4f,?,?\\n”,x,y,x,y,x,y);

/* 67.85, -789.12,67.8564,-789.1240,67.856400,-789.124000*/

printf(“%e,.2e\\n”,x,y); /*6.78564e+01, -7.9e+02*/ printf(“%c,%d,%o,%x\\n”,c,c,c,c); /*A,65,101,41*/ printf(“%ld,%lo,%x\\n”,n,n,n); /*1234567,4553207,d687*/ printf(“%u,%o,%x,%d\\n”,u,u,u,u); /*65535,177777,ffff,-1*/

printf(“%s,%5.3s\\n”,”COMPUTER”,”COMPUTER”);/*COMPUTER, COM*/ }

;.

.

3. 假设下面的例子都是完整程序的一部分,那么他们每一个将会输出什么?

a. printf(\b. printf(\c. printf(\d. printf(\e. int num;num = 2; f. printf(\ 4.加载,编译并运行下面的程序。显示输出界面然后回答下面的问题。

#include main() { char ch; int x; float y; double z; ch = ‘A’; printf(\= %c and its ascii value is %d. What is ASCII I wonder?\\n\ ch, ch); x = 10; printf(\ y = 3.1415926; printf(\ z = 4.75E5; printf(\ return(0); } 1. 字符的A的ASCII码是多少? 65 2. “%f”默认情况下小数点后面有几位数字? 6位 3. 程序中的字符被指定的值为’A’,为什么不是“A”?'A'为字常量,\为字符串常量 4. 改变程序使它以10个字符位宽度和2位小数的形式输出浮点型数据。%f改为.2f %d改为-6d% 5. 改变程序使它以6个字符位宽度输出整型数,左对齐。 3.问答题

(1)C语言的基本数据类型有几种,分别是什么,并指出各种数据类型的关键字? (2)描述C语言中标识符的组成

;.

.

(3)常量和变量的区别是什么? (4)在程序中如何使用变量?

(5)从下面列出标识符中选出哪些可以用作合法的C用户定义标识符,哪些不能使用。为什么?

(1) a3_b3 (2)void (3) _123 (4)123_ (5) IF (6) INT (7) For (8) printf (9) WORD (10) define (11) _abc (12) sizeof (13) answer (14) to (15)signed (16) Case (17)_if (18) extern (19) putchar (20) _double

(6)请选出正确的数值和字符常量,说明类型;对于不正确的数,说明原因

(1) 0.0 (2) 5L (3) o13 (4) 0Xff (5) oxaa (6) 018 (7) 9861 (8) 011

(9) 3.987E-2 (10) .987 (11) ‘\\0xab’ (12) 50. (13) 8.9e1.2 (15)0xFF00 (16) 0.825e2 (17)473 (18) OX4 (19) “c” (20)‘t’ (21) ‘\\’” (22)‘0’ (23)‘\\0’ (24) ‘A’

4.选择题

(1)合法的字符常量是 。

A) ‘\\t’ B) “A” C) ‘a’ D)’\\x32’

(2) 合法的字符常量是 。

A) ‘\\084’ B) ‘\\84’ C) ‘ab’ D)’\\x43’

(3)是C语言提供的合法的数据类型关键字。

A) Float B) signed C) integer D)Char

(4)在以下各组标识符中,合法的标识符是。

A) A)B01 B)table_1 C) 0_t D) k% B) A)Fast_ B) void C)pbl D) C) A)xy_ B)longdouble C)*p D)CHAR D) A) sj B)Int C)_xy D)w_y23

(5)属于合法的C语言长整型常量的是 。

A)5876273 B)0L C)2E10 D)(long)5876273

(6)下面选项中,不是合法整型常量的是

A)160 B)-0xcdg C)-01 D)-0x48a

;.

1e1 (14)