《C语言程序设计》第三课 C语言基础 课堂笔记

《C语言程序设计》第三课 C语言基础 课堂笔记
《C语言程序设计》第三课 C语言基础 课堂笔记

《C语言程序设计》第三章C语言基础课堂笔记

§3.1 基本字符集、关键字和标识符

一.基本字符集

字符是C的基本元素,C语言允许使用的基本字符集:

1.26个大写字母A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

2.26个小写子母a b c d e f g h I j k l m n o p q r s t u v w x y z

3.10个阿拉伯数字0 1 2 3 4 5 6 7 8 9

4.其他字符!" # % & ' ( ) * + , - . / : < = > ? [ \ ] ^ _ { | } ~

5.空格字符以及制表符合换行符等控制字符

二.关键字(P375,附录II)

C中具有固定意义的字符串。

(1) C中的关键字共32个,必须用小写字母

(2) 关键字不可用于变量名、函数名等。

auto break case char const continue default do double else enum extern float

for goto if int long register return short signed sizeof static struct switch

typedef union unsigned void volatile while

三.标识符

标识符用于命名变量、类型、函数和其他各种用户定义的对象,是由字母、下划线和数字三种字符组成。

(1) 第一个字符必须为字母或下划线

(2) C对标识符的长度规定为任意,Turbo C区分32 个字符

(3) C区分大小写

(4) 不允许关键字作为标识符

§3.2 C数据类型

§3.3 常量与变量

一.常量

在程序运行过程中保持不变的量,称为常量。

常量分为不同的类型,它们分别是:

整型常量,如:12、100、-50

实型常量,如:3.8、-0.88

字符常量,如:'A'、'5'

字符串,如:"string"

符号常量,以标识符代表一个常量,通常大写。

二.变量

在程序运行过程中,其值可以改变的量称为变量,变量名为标识符。

1.变量的物理意义(变量以名标识)

地址:在内存中的位置即内存单元的编号(只是不关心或不知道)

值:相应地址单元中存放的内容

2.变量的定义

定义的一般形式:

[存储类型说明符] 数据类型说明符变量名1,…变量名n;

说明变量存储方式规范存储在该变量中的值的取值范围和所能

可省略参加的运算

例如int student; /*定义了整型变量student*/

3.几点说明

a. 符号常量与变量

两者的名字都是标识符,但所代表的值,一个不可变,一个可变。

b. C.语言要求对所用到的变量作强制定义,“先定义后使用”,用处有三:

...................................(.书.P40)

●凡未被事先定义的,不作为变量名

●指定变量的数据类型,在编译时,为其分配相应的内存单元

●指定变量的数据类型,在编译时,可检查其参加的运算是否合法

§3.4 整型数据

3.4.1 整型变量

在介绍C语言的整型变量之前,简单的介绍一下计算机中的数值表示。在计算机中数值可以采用多种不同的方法,一般常用的有:原码、反码和补码。

1.原码

只将最高位作符号位(以0代表正,1代表负),其余的各位代表数值本身的绝对值(以二进制表示)。如:

+7 的原码为:00000111

-7 的原码为:10000111

+0 的原码为:00000000

-0 的原码为:10000000

显然,+0和-0表示的是同一个0,而在内存中却有两个不同的表示。也就是说,0的表示不唯一,这不适合计算机的运算。

2. 反码

如果是一个正数,则它的反码与原码相同。

如果是一个负数,则符号位为 1,其余各位是对原码取反。

如:+7 的反码为:00000111

-7 的反码为:11111000

+0 的反码为:00000000

-0 的反码为:11111111

同样,反码0的表示也不唯一。用反码表示数,现已不多用。

3.补码

如果是一个正数,则它的补码与原码相同。

如果是一个负数,则将该数的绝对值的二进制形式,按位取反,然后再加1。

如:+7 的补码为:00000111

-7 的补码为:11111001

+0 的补码为: 00000000

-0 的补码为:100000000

补码0的表示是唯一的,所以计算机是以补码形式存放数的。

例:计算25-18=?,用补码运算。

25的补码为:00011001

-18的补码为:11101110

00011001

+ 11101110

00000111

一.整型变量的分类

[说明] A C标准并未规定以上类型所占据的内存字节数,各种机器处理有所不同

B 有符号和无符号的区别在于对最高位的解释(见书P44 图3.5)

二.整型变量的定义

看几个例子:

int a,b;

unsigned short c,d;

long e,f;

3.4.2 整型常量

一.整型常量的表示形式:

1.十进制整数如:78

2.八进制整数:以0开头,如:071

3.十六进制整数:以0x开头,如:0x7a5

二.整型常量的类型

1.按整数范围来区分

2.非负整数亦可认为是无符号型

3.整数后加L或l,强调为长整型常量;例如:582L

整数后加U或u,强调为无符号型整型常量

§3.5 实型数据

一.实型变量

实型变量的类型:单精度和双精度。

类型名称类型说明符长度(bit) 有效数字取值范围(绝对值)

单精度实型float 32 7 10-38~1038

双精度实型double 64 15 10-308~10308

二.

实型常量的表示形式:

1.小数形式:由数字和小数点组成,如:0.38、38.5等

2.指数形式:尾数+e(E)+指数

如:1.35E2=1.35*102

0.11E5=0.11*105

注意:1.E前必须有数字,E后的指数必须为整数;

2.实型常量不区分float或double;

如:float a;

a=112234.567; 但float变量只截取7位有效数字,所以最后两位数字不起作用。

§3.6 字符型数据

3.6.1 字符常量

一.可视字符:以单引号括起来的一个可打印字符;例:'A', 'x' , ','

二.转义字符:以\开头的字符序列表示一个字符,通常用于不可打印的字符。

常用的转义字符:(书P48)

3.6.2 字符变量

一.字符变量的类型

类型名称类型说明符长度取值范围

字符型char80~255

二.字符变量的定义

字符变量类型说明符变量名列表

例:char c1,c2;

[注] 字符变量用来存放字符常量,只能是一个字符。

三.字符数据在内存中的存储形式及其使用方法

一个字符占一个字节的存储单元,存储单元存放的是该字符相应的ASCII码值(是以二进制形式存放的),因此可有256个字符。

1.ASCII字符集+128个扩展字符

2.在内存中存储的代码值形式,亦可看作整型,字符数据和整型数据可以互相赋值。

3.对有符号的字符变量,其所占据的字节的最高位表示符号,则可把字符处理为带符号的整数。

例如:c1='A' Array (01000001)2=65

3.6.3 字符串常量

字符串常量形式:以双引号括起来的字符序列。

1.若在字符串中含有" 和\ 字符,必须使用转义字符形式

2.字符串的长度=字符串中字符的个数,而字符串常量在内存中存储时,系统自动在其末尾加上'\0'作为字符串结束标志,所以存储字符串的所用字节数比字符串长1。

例如:"Happy New Year !" "CHINA" "315" "He said:\ "Hello!\""

比较'a' 与"a"的区别。

[注意] C语言中没有字符串变量,只能用字符数组存放字符串常量。

§3.7 变量赋初值

变量初始化:在变量定义的同时,根据程序需要赋初值。

例如:int i=5,j=5;

float f,g=3.5;

[说明]

1.对于几个变量赋同一初值,不可写成:int i=j=5;

2.初值必须是常量或操作数是常量的算术表达式。

3.初始化不是在编译阶段完成的,是在程序运行时执行本函数时赋以初值的。

§3.8 各类数值型数据间的混合运算

在C语言中,整型、实型和字符型数据间可以混合运算。

不同类型的数据先转换为同一类型,然后进行运算。

转换规则见书P54。

§3.9 算术运算符和算术表达式

3.9.1运算符和表达式

运算符的分类:

1.按运算符的操作对象个数分类:单目;双目;三目

2.按功能分类:(见P55)

表达式:将运算符和变量、常量、函数按一定语法规则结合起来的式子。

3.9.2 算术运算符和算术表达式

一.基本算术运算符

+ 加法运算符

- 减法运算符

* 乘法运算符

/ 除法运算符(整型/整型,结果为整数,即取商的整数部分)

(操作数有一个为实型,则商亦为实型)

% 模运算符(操作数必为整型,结果为相除的余数)

二.算术表达式

用算术运算符、自加自减运算符、括号将运算对象连接起来的式子称为算术表达式。

三.表达式求值

在表达式求值过程中:

1.优先级高的先求值。

[优先级] 决定了不同的运算符求值的先后顺序,优先级高的先求值;

2.当一个运算对象两侧的运算符优先级相同时,根据结合性决定求值顺序。

[结合性] 左结合:“从左到右”,运算对象先与左边的运算符相结合

右结合:“从右到左”,运算对象先与右边的运算符相结合

(见附录IIIP375)

3.数据类型

(1) 操作数同类型:运算结果保持同类型;

操作数不同类型:将精度低的转换为精度高的类型

(2) 转换方式

?自动转换方式

?强制类型转换

格式:(类型名) (表达式)

(类型名)是单目运算符,优先级较高

对表达式进行类型转换,一定加括号

例:int a,x;float y;

x=12;y=38.5;

a=y%x; /*非法*/

a=(int)y%x;

四.自增、自减运算符

++(自增) 使变量的值加1

--(自减) 使变量的值减1

++i: i加1,再返回i的值

i++: 返回i的值,然后i加1,

--i: i减1,再返i的值

i--: 返回i的值,然后i减1

例:

int i=3,j;

j=++i;

j=i++;

i和j的值为几?

[注意]

1.++,--,只能用于变量,如:++6、(a+b)++等都是非法的

2.++,--结合方向从右到左,如:-x++ 若是左结合性就是非法的

3.++,--会带来副作用,如:(x++)+(x++)+(x++) 设x的值为3,表达式的值为几?(其他的见书p58)

一.简单的赋值运算符:=

1.左操作数必须是变量

2.赋值运算符为右结合性

二.赋值运算中的类型转换

赋值运算符左右两边的类型通常要一致;若不一致,系统会自动处理:

1.实型赋给整型,截去小数部分;

2.整型赋给实型,数值不变,以浮点形式存储

3.字符赋给整型

三.复合赋值运算符

op=: (op是算术运算符或位运算符)

+=,-=,*=,/=,%=,&=,|=,^=,>>=,<<=

1.作用:将左右操作数进行算术运算或位运算,然后将运算结果与左操作数进行赋值运算

2.可看作简化形式:左op= 右;左=左op 右

例:x*=5 相当于x=x*5

y/=a+b 相当于y=y/(a+b)

例:

a=12

a=+10

四.赋值表达式

形式:<变量> <赋值运算符> <表达式>

例:a=5

a=b=5

a=(b=4)+(c=6)

§3.11 逗号运算符和逗号表达式

一.运算符:,

[说明] 逗号运算符是所有运算符中优先级最低的。

二.逗号表达式

表达式1,表达式2,…,表达式n

从左到右,顺序求出表达式1,…,表达式n的值,表达式n的值就作为逗号表达式的值。

例:a=3*5,a*4 结果a=15,表达式的值为60

x=(y=3,y+1) 结果4

“,”在程序中的作用:1 分隔符:用于变量说明,函数参数表中

2 顺序运算符

例printf("%d,%d,%d",a,b,c);

printf("%d,%d,%d",(a,b,c),b,c);

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

《C语言程序设计》第三章 C语言基础 课堂笔记

页眉内容 《C语言程序设计》第三章C语言基础课堂笔记 §3.1 基本字符集、关键字和标识符 一.基本字符集 字符是C的基本元素,C语言允许使用的基本字符集: 1.26个大写字母A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2.26个小写子母a b c d e f g h I j k l m n o p q r s t u v w x y z 3.10个阿拉伯数字0 1 2 3 4 5 6 7 8 9 4.其他字符!" # % & ' ( ) * + , - . / : < = > ? [ \ ] ^ _ { | } ~ 5.空格字符以及制表符合换行符等控制字符 二.关键字(P375,附录II) C中具有固定意义的字符串。 (1) C中的关键字共32个,必须用小写字母 (2) 关键字不可用于变量名、函数名等。 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 三.标识符 标识符用于命名变量、类型、函数和其他各种用户定义的对象,是由字母、下划线和数字三种字符组成。 (1) 第一个字符必须为字母或下划线 (2) C对标识符的长度规定为任意,Turbo C区分32 个字符 (3) C区分大小写 (4) 不允许关键字作为标识符 §3.2 C数据类型

C语言程序设计第四版第六章答案_谭浩强

1、用筛选法求100之内的素数。解: #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++)

{printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; } 3、求一个3×3的整型矩阵对角线元素之和。解: #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum);

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

C语言-第三章编程题

完成以下编程题,将程序源代码粘贴提交。 P.56 2.编写程序,输入圆的半径,计算并输出其周长和面积。常量pi的值取3.14159,周长和面积取小数点后2位数字。 #include #define pi 3.14159 void main() { float r,s,a; printf("请输入圆的半径"); scanf("%f",&r); s=pi*r*r; a=2*pi*r; printf("s=%.2f,a=%.2f\n",s,a); } 3.编写程序,把整数华氏温度f转换为浮点型的摄氏温度c。转换公式为c=5/9(f-32),输出要有文字说明,取2位小数。 #include void main() { int f; float c; printf("请输入华氏温度"); scanf("%d",&f);

c=5.0/9*(f-32); printf("摄氏温度为%.2f\n",c); } 4.编写程序,输入三角形的三边的边长,求三角形面积。三角形面积的计算公式为:p=(a+b+c)/2 ,S=sqrt(p(p-a)(p-b)(p-c))。 #include #include void main() { float a,b,c,S,p; printf("请输入三角形三边长\n"); scanf("%f%f%f",&a,&b,&c); p=(a+b+c)/2.0; S=sqrt(p*(p-a)*(p-b)*(p-c)); printf("S=%f\n",S); } 6.编写程序,输入一个小写字母,输出其对应的大写字母。 #include void main() { char c; printf("请输入一个小写字母\n"); scanf("%c",&c);

c语言程序设计第四版考精彩试题

C程序设计(第四版)期末考试题 本卷共有4道大题: 一、单项选择题(20道小题,共20分) 1、以下对C语言函数的有关描述中,正确的是( )(1分) A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数 D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中 2、strcpy库函数用于复制一个字符串。若有以下定义:char *str1="copy",str2[10],*str3="hijklmn";char *str4,*str5="abcd";则对strcpy库函数的错误调用是( )(1分) A、strcpy(str2,str1) B、strcpy(str3,str1) C、strcpy(str4,str1) D、strcpy(str5,str1) 3、设有以下语句:char str[4][12]={"aaa","bbb","ccc","ddd"}; char *strp[4]; int i;for(i=0;i<4;i++) strp[i]=str[i]; 若0<=k<4,下列选项中对字符串的非法引用是( )(1分) A、strp B、str[k] C、strp[k] D、*strp 4、以下各选项企图说明一种新的类型名,其中正确的是( )(1分) A、typedef v1 int; B、typedef v2=int; C、typedef v1 int v3; D、typedef v4: int; 5、若以下定义和语句:int a[]={1,2,3,4,5,6,7,8,9,0}; int *p,i;p=a;0

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

C语言程序设计50例(经典收藏)

水仙花 #include void main() { int a,b,c,i; for( i=100;i<1000;i++) { a=i/100; b=i%100/10; c=i%10; if(a*a*a+b*b*b+c*c*c==i) { printf("\n"); } } } 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有

的排列后再去掉不满足条件的排列。 2.程序源代码: #include "stdio.h" #include "conio.h" main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } getch(); } 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按1 0%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码:

二级c语言程序设计习题及解答ch1-3

12)计算机能直接执行的程序是(B )。 A)源程序B)目标程序C)汇编程序D)可执行程序 13)以下叙述中正确的是( D ) A)程序设计的任务就是编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整 例年真题: #include main() { Int a; A=5; /*给A变量赋值5 A+=3; 再赋值后再加3*/ Printf(“%d”,a); } (11)以下叙述中正确的是( C )。 A)C 程序的基本组成单位是语句B)C 程序中的每一行只能写一条语句 C)简单C 语句必须以分号结束D)C 语句必须在一行内写完 (11)以下叙述中正确的是( C ) A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一个语句 C)C程序书写格式自由,一个语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 (12)以下选项中,能用作用户标识符的是( C ) A)void B)8_8 C)_0_ D)unsigned 【解析】A:关键字不可以B:不以数字开头C:正确D:关键字 (13)以下选项中合法的标识符是( C ) A)1-1 B)1—1C)-11D)1— 【解析】A:不以数字开头,出现非法字符-而不是_ B:不以数字开头,非法字符C:正确D: 不以数字开头,出现非法字符 (14)以下选项中不合法的标识符是( C ) A)print B)FOR C)&a D)_00 【解析】C:出现非法字符& (15)以下选项中,能用作数据常量的是( D ) A)o115 B)0118 C)1.5e1.5D)115L

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

c语言程序设计第三章课后答案

/*习题3 2*/ #include main() { int rate; double salary,tax; printf("enter salary:\n"); scanf("%lf",&salary); if(salary<=850) rate=0; else if(salary>850&&salary<=1350) rate=5; else if(salary>1350&&salary<=2850) rate=10; else if(salary>2850&&salary<=5350) rate=15; else rate=20; tax=rate*(salary-850)/100; printf("tax=%.2lf\n",tax); } /*习题3 4*/ #include main() { int n,i,A=0,B=0,C=0,D=0,E=0; double grade,sum=0,ave; printf("enter n:\n"); scanf("%d",&n); printf("enter n ge grade\n"); for(i=1;i<=n;i++) { scanf("%lf",&grade); sum=sum+grade; if(grade>=90&&grade<=100) A=A+1; else if(grade>=80&&grade<=89) B=B+1; else if(grade>=70&&grade<=79) C=C+1; else if(grade>=60&&grade<=69) D=D+1; else E=E+1;

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案 习题1 1-1 填空题 1.函数 2.主函数main(),主函数main() 3.主函数main() 4.函数首部,函数体 5.{, } 6./*, */ 7.顺序结构,选择结构,循环结构 8..c, .obj, .exe 1-2 思考题 1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。其基本结构包括顺序结构、选择结构和循环结构三种。 2.算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法 3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。 1-3 编程题 1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。 #include "stdio.h" main() { float a, b, h, s; a=10; b=20; h=5; s=(a+b)*h/2; printf("s=%f\n" , s ); } 2. 编写程序显示如图1.11所示信息。 图1.11 显示信息 #include "stdio.h" main()

{ printf("******************************\n"); printf("* hello world *\n"); printf("******************************\n"); } 习题2 2-1 单选题 1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题 1.2.000000 2.1,0.5 3.9,2 4.6 5.100,d 6.(1)20 (2)0 (3)60 7. (1)10,6,4 (2)6,9,15 (3)3,60,83 8. 55 习题3 3-1 选择题 1-5BDABC 6-10ADCAC 11-12BB 3-2 填空题 1. 3 2.0261 3.0x10 4. 2, 1 互换a,b的值 5. 6.6 6.–003 8.7 7. 5.0,4,c=3 8.i=10,j=20 9.(1) 65 (2) 65,A (3) 56.123400,123.456001 (4) 3.141600 (5) 8765.432

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

c语言程序设计答案

第一章基础知识 一、填空 1. 每个C 程序都必须有且仅有一个________ 函数。 2. C 语言程序开发到执行通常要经过6 个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C 语言是由________组成的。 7. C 语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C 语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不

同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA) 、管理信息系统(MIS) 、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C 程序的执行均是由执行_________开始。15. 函数体即为包含在{ }内的部分。它分为________和为完成功能任务由若干个C 语句组成的执行部分。 16. C 语言程序中一条简单语句是以________字符作为结束符的。 17. C 语言是结构化、________的程序设计语言。

c语言详解(第五版)第三章程序设计项目答案

c语言详解(第五版)第三章程序设计项目答案 1.假设买一辆车首付为500dollar。请计算月供。 #include #include #include int main(void) {double capital_sum,monthly_interest_rate,initial_payment,temp,payment,terms; printf("Please enter the price of the car>>"); scanf("%lf",&capital_sum); printf("Please enter the monthly interest rate>>"); scanf("%lf",&monthly_interest_rate); printf("Please enter the terms duration of loan>>"); scanf("%lf",&terms); printf("Please enter the initial_payment>>"); scanf("%lf",&initial_payment); temp=1+monthly_interest_rate; payment=(capital_sum-500)*monthly_interest_rate/(1-pow(temp,-terms)); printf("The monthly contribution is %.2f dollars.",payment); printf("The capital sum is %.2f dollars.",capital_sum); system("pause"); return 0; } 2.编写两个函数,一个显示三角形,另一个显示矩形。 #include #include #include void draw_triangle(void); void draw_rectangle(void); int main(void) {draw_triangle(); draw_rectangle(); system("pause"); return 0; } /*Draw an triangle.*/ void draw_triangle(void) { printf(" /\\ \n"); printf(" / \\ \n"); printf(" / \\ \n"); printf(" / \\ \n"); printf(" -------- \n"); } void draw_rectangle(void)

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

C语言程序设计试题及答案解析[1]全解

C语言程序设计试题 第1、2、3章概述、类型、表达式 一、选择题 1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:() A、任意 B、第一个函数必须是主函数,其他函数任意 C、必须完全按照执行的顺序排列 D、其他函数可以任意,主函数必须在最后 2、下列四个叙述中,正确的是:() A、C程序中的所有字母都必须小写 B、C程序中的关键字必须小写,其他标示符不区分大小写 C、C程序中的所有字母都不区分大小写 D、C语言中的所有关键字必须小写 3、下列四个叙述中,错误的是:() A、一个C源程序必须有且只能有一个主函数 B、一个C源程序可以有多个函数 C、在C源程序中注释说明必须位于语句之后 D、C源程序的基本结构是函数 4、下面不是C语言合法标识符的是:() A、abc B、5n C、_4m D、x3 5、以下叙述不正确的是:() A. 分号是C语句的必要组成部分 B. C程序的注释可以写在语句的后面 C. 函数是C程序的基本单位 D. 主函数的名字不一定非用main来表示 6、C语言中允许的基本数据类型包括:() A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型 7、C语言中能用八进制表示的数据类型为:() A、字符型、整型 B、整形、实型 C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型 8、下列属于C语言合法的字符常数是:() A、’\97’ B、”A” C、’\t’ D、”\0” 9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:() A、char

相关文档
最新文档