《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 的原码为:

-7 的原码为:

+0 的原码为:

-0 的原码为:

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

2. 反码

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

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

如:+7 的反码为:

-7 的反码为:

+0 的反码为:

-0 的反码为:

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

3.补码

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

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

如:+7 的补码为:

-7 的补码为:

+0 的补码为:

-0 的补码为:

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

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

25的补码为:

-18的补码为:

+

一.整型变量的分类

[说明] 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 实型数据

一.实型变量

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

二.实型常量

实型常量的表示形式:

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=.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 ()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)

§3.10 赋值运算符和赋值表达式

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

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语言基础 课堂笔记

页眉内容 《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语言程序基础练习题00道(附答案)

1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( b ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1、以下正确得C语言标识符就是() A。%X B。a+b?C.a123 D.test! 2、已定义int a,b;则以下不正确得C语句就是() A.a*=5;??B。b/=2;? C.a+=1、75;?D.b&&=a; 3、若x、i、j与k都就是整型变量,则执行下面表达式后x得值为( ) x=(i=4,j=16,k=32) A.4?B.16 ?C.32 D.52 4、C语言中得标识符只能由字母、数字与下划线三种字符组成,且第一个字符( ) A.必须就是字母???B.必须为下划线? C.必须为字母或下划线D.可以就是字母、数字、下划线中得任一字符 5、下面正确得字符常量就是( ) A.“c”? B。’\\”? C.‘w’??D.” 6、设int a=2,b=0,c;则执行语句c+=b&&a--后, c得结果为( )。 A.0,1B.1,0 ?C.2,0 D.不确定 7、以下不正确得C语言标识符就是()?A) int B)a_1_2?C)ab1exe D)_x 8、以下就是正确得C语言标识符就是( )。?A)#define?B)_123 C) %d D) \n 9、下列四组字符串中都可以用作C语言程序标识符得一组就是() 。?A) prin tB)i\am C)Pxq D)str_l ???oodbs tart$it line# _3d one_half My-〉bookCpp ? pow 10、下面各选项组中,均就是C语言关键字得组就是()。?A)auto,enu

m,include B)switch,typedef,continue?C)signed,union,scanf?D)if,s truct,type 11、下列不属于C语言关键字得就是( ) 。 A)default?B)register C)enum ?D)external 12、C语言程序从main()函数开始执行,所以这个函数要写在( )。?A) 程序文件得开始?B)程序文件得最后?C)它所调用得函数得前面 D) 程序文件得任何位置 13、下列关于C语言得叙述错误得就是( ) A)大写字母与小写字母得意义相同?B) 不同类型得变量可以在一个表达式中 C)在赋值表达式中等号(=)左边得变量与右边得值可以就是不同类型?D) 同一个运算符号在不同得场合可以有不同得含义 14、在C语言中,错误得int类型得常数就是( ) 。?A)32768?B)0 C)037?D) 0xAF 15、将字符g赋给字符变量c,正确得表达式就是( )。 A) c=\147 ?B)c="\147" ?C)c='\147' 16、下列转义字符中错误得一个就是( )。 A) ’\000’ B)'\0014' ?C) ’\x111’ D) ’\2’ 17、将空格符赋给字符变量c,正确得赋值语句就是( )。 A) c=’\0’ B) c=NULL C)c=0 D)c=32 18、已知:char a=’\70’;则变量a中()。 A)包含1个字符?B)包含2个字符?C) 包含3个字符?D) 说明非法 19、字符串"\”EOF\n=-\61\””得长度就是( )。 A)8 ?B) 9?C)14?D)非法字符串

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语言程序设计》教学基本知识点 第一章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.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

厦大考研资料列表

厦门大学 厦门大学中文系 <领先考研> 全套考研资料 厦门大学中文系从07年起基本采用统考了。整个系考试科目只有三个科目:601语言文学基础 802文学理论与文学评论写作 861语言学以下资料包含了所有中文系考研资料。 第一部分、历年考研试题 1-1、中文系历年考研真题包含语言学概论,现代汉语,古代汉语,汉语基础,语言学知识综合,文学,应用语言学概论,语言学基础,文学基础,中外文论等所有中文系考研试卷30多套。其中文学基础03-06,古代汉语99-06,中国现当代文学99-06 中外文学 99,01-02 语言学概论02-06,语言学知识综合测试:2000-2002 语言学基础:03-06 语言学及应用语言学、汉语言文字学2007 汉语基础:2002 所以试卷科目不尽相同。为考厦大中文系必备资料。¥100 第二部分、考试重难点(笔记讲义) 2-1、古代汉语讲义最新讲义。电子版发送。¥40 2-2、古代汉语实例讲解厦大本科生课堂讲解实例,电子版发送。¥20 2-3、汉语词汇学讲义本科生课堂讲义,电子版发送。¥30 2-4、上古文学史讲义课堂讲义,电子版发送¥20 2-5、隋唐文学史讲义课堂讲义,电子版发送¥20 2-6、唐宋文学史课件讲义,电子版发送¥20 2-7、元明清文学史课件课堂讲义,电子版发送¥20 2-8、古代文学史讲义厦大本科生课堂讲义,电子版发送¥40 2-9、中国现代文学史讲义本科生课堂讲义,电子版发送¥40 2-10、中国当代文学史课件厦大本科生课堂讲义,电子版发送¥40 2-11、文学史备课录厦大本科生课堂讲义,电子版发送¥25 2-12、西方文学史课件本科生课堂讲义,电子版发送¥30

二级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语言程序设计基础知识期末复习 一、C语言与算法 1.程序:一组计算机能识别和执行的指令。 2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的控制语句。 3.C语言程序的结构特点: (1).一个程序由一个或多个源程序文件组成:一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义 (2).函数是C程序的主要组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数。 (3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作) (4). 程序总是从main函数开始执行 (5). C程序对计算机的操作由C语句完成 (6.)数据声明和语句最后必须有分号 (7.)C语言本身不提供输入输出语句 (8.)程序应当包含注释,增加可读性 4、算法(1)算法+ 数据结构= 程序 (2)顺序结构、选择结构、循环结构是表示一个良好算法的基本结构 (3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。 流程线不要忘记画箭头,否则难以判定各框的执行次序。 算法流程图的结构特点:只有一个入口;只有一个出口(一个判断框有两个出口;一个选择结构只有一个出口)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。 二、顺序结构设计 5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。C语言对标识符的规定: (1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 (2)长度:在TC中最多允许32个字符,建议不要超过8个 如果系统规定标识符长度为8,那么x1234567A和x1234567B会被视为同一标识符。 (3)在C语言中,标识符大小写敏感。如ABC、aBC、abc分别代表3种不同的标识符(4)标识符不能与C语言的保留字、系统标准库函数同名。 program to_ _to file_2 ab1_c3 为合法标识符 非法字符举例:yes? (含有不合法字符“?”)123(第一个字符不能为数字)go to(标识符中不允许有空格) a_80%(出现非法字符“%”)if与关键字相同) 6、常量与变量 注意:以下变量定义形式是错误的int a,int b; int a;b; (1)整型常量 ·十进制整型:能出现数字0~9,可带正负号如:0,11,95,-2

语言学概论整理

语言学概论 第一章、绪论 1.语言学定义:专门以语言为研究对象的一门独立的科学。语言学的任务就是研究语言的性质、功能、结构及其运用等问题,揭示语言存在和发展的规律,使人们理解并掌握语言的理性知识。 第一节、语言研究与语言学 1.神话传说 2.语文学研究 ①语文学:是从文献角度研究语言文字学科的总称。它以文献评审为主,目的在于解释、 注疏和考订。 ②东方语言学:古印度、古中国 古印度语言学:公元前4、5世纪时,口语和《吠陀》时代的语言差别越来越大,甚至许多地方已经不能为一般人所读懂了。为了确保准确无误地理解《吠陀》的宗教内容,就必须对《吠陀》的语言作注释。著名的《巴尼尼经》(Pāninisūtra)正是当时从解说《吠陀》语言开始,进而研究梵语的整个结构的产物。《巴尼尼经》又名《八章书》,是巴尼尼在前人研究的基础上撰写的一部梵语语法。巴尼尼用3,983条经句极其概括地叙述了梵语的语音结构、语词的构成和变化规则。巴尼尼语法是一部汇集了许多世纪的语法学家研究成果的语法法典,对梵语的语音、语法现象分析和描写得十分细致,代表了古代印度语言研究的水平。印度语言研究的最初动力,是必须把梵语文化中最古老的吠陀时期由口头流传下来的一些宗教和礼仪文献保存下去,巴尼尼的工作在一定程度上帮助了后人学习和研究梵语。布龙菲尔德说:巴尼尼的著作是“人类智慧的丰碑之一”。 ③西方语言学:古希腊语言学、古罗马语言学、中世纪至18世纪末的西方语言学 谈谈语文学和语言学的关系: 语言学就是专门以语言为研究对象的一门独立的科学。语言学的任务就是研究语言的性质、功能、结构及其运用等问题,揭示语言存在和发展的规律,使人们理解并掌握语言的理性知识。语言学还没有成为一门独立的学科之前,人们对于语言的学习和研究只是为了给古代经典文献作注释,我们称那段时期的语言研究为语文学。语文学是从文献角度研究语言文字学科的总称。它以文献评审为主,目的在于解释、注疏和考订。 3.历史比较语言学:威廉琼斯的论文拉开19世纪历史比较语言学研究的序幕 4.现代语言学: ①瑞士语言学家索绪尔的《普通语言学教程》 索绪尔:现代语言学的历史,是从瑞士语言学家费尔迪南·德·索绪尔开始的。索绪尔的代表作是《普通语言学教程》。索绪尔被誉为“现代语言学之父”,《普通语言学教程》是现代语言学的奠基之作。索绪尔的语言学思想和19世纪以前的语文学最根本的区别在于:把语言看成是由各个符号之间的关系组成的有价值的结构系统。 《普通语言学课程》是一部什么样的书? 《普通语言学教程》是由索绪尔的两位弟子兼同事根据学生们的听课笔记整理而成的。《普通语言学教程》是现代语言学的奠基之作。索绪尔区分了语言和言语,语言属于全社会,是抽象的;言语属于个人,是具体的。索绪尔认为语言是符号系统,“是一个纯粹的价值系统”。每个符号是由“能指”和“所指”构成的,所指和能指之间的关系是任意的。符号之间存在着线性的句段关系和联想的聚合关系。索绪尔把语言现象分为“共时”和“历时”两种,“共时”是指时间历程中的某一点上的语言状态,“历时”是指以时间历程中的某一点到以后的语言现象。索绪尔认为,语言学的对象是语言,由于语言有它的内部要素,也有它的外部要素,所以语言学也可以分为内部语言学和外部语言学。总之,《普通语言学教程》的语言学

C语言程序设计基础测试题-答案

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2] 下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4] 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6] C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8] 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

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;

北师大汉语言文字学、语言学及应用语言学考研真题全集

重磅推荐 2013年独家更新资料 在学长、学姐帮助下2011年我有幸参加北师大的保研复试,以笔试面试第一名的成绩被成功录取,现录取的专业为文学院汉语言文字学专业,以下图片为北师大给本人发的接收函。我的其他详细信息也可以在北师大最新公布的保研录取结果中查询。这套资料可以说是几代考研人呕心沥血整理的结果,增删数次、几易其稿,扬长避短,可谓是集众家之所长。而绝不是不是从网上随便抄的瞎编辑来的狗皮膏药类资料,更不是从一些所谓的权威考研机构中获得的。自己能够有幸去北师大,真的可以说是有这些贵人相助,我不知道这是不是天意,我不懂天命但是我懂得感恩,更懂得更多原来跟我一样奋战在考研一线的战友的艰辛! 因此现将在复习过程中自己整理的以及从北师大的学姐学长那里购买的一些精华资料重新整理成这套考研复习的宝典,希望能够与更多有着北师梦的同学共享,在考研的路上帮您走得更远更坚定,明年的九月你我有缘能够相聚北京,相聚木铎金声一百年的地方!我不想夸耀自己的资料有

多好,但大家只要稍微看看下面的内容,就会明白我没有忽悠大家。 1.全套资料淘宝下单链接: 2.真题跟答案详解淘宝下单链接: 这套资料主要包括以下几部分组成: 第一部分:北师大语言类考研全程复习指导意见及计划。(全淘宝独家提供)由众多学长学姐精心整理汇编而成,全程分析北师大的招生简章、文学院语言类专业设置及导师情况、历年录取情况分析让你选择更适合自己的方向,全程的考研复习计划,以及详细的专业课、英语、政治复习建议一定会让你获益匪浅,并通过众多的案例,提示在备考过程中的注意事项。 第二部分:历年考研真题全集(120页) 北师大从1997-2011年间15年的真题,每年包括古代汉语、现代汉语、语言学概论三科拼成的两份试卷,共计三十份试卷,以及整理的答案详解。个人觉得把真题做透三遍,在标准答案的纠正下,基本上就可以把握准出题人的命题规律,以及各个知识点的出现频率以及重难点分布。 1、937古汉与现汉:1997-2011年15年真题

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

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语言程序设计基础

题型及分数: 单选题:25分 判断题:10分 填空题:15分 程序分析题:20分 编程题:30分 其中:课后习题及复习大纲中相类似题所占比例在70%-80%。 带*号的内容和复习题为较难部分,为非重点考察内容。 第一章C语言程序设计基础(出题比例4-6%) 1.程序设计语言的基本概念 ?程序 ?程序设计语言 ?常用程序设计语言及其类型 ?源程序、编译、目标文件、连接、可执行程序 ?编程的步骤 2.C语言程序的基本结构 (1) C源程序的框架 C源程序的框架,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 (2) C语言源程序的书写规则: ?C源程序是由一个主函数和若干个其它函数组成的; ?函数名后必须有小括号,函数体放在大括号内; ?C程序对大、小写字母书写敏感; ?每句的末尾加分号; ?可以一行多句; ?可以一句多行; ?可以在程序的任何位置加注释,注释的方式。 3.C语言程序设计的的基本步骤和调试过程 复习题:/***** 1. 每个C语言程序中有且仅有一个函数,它是程序的入口和出口。 2. 引用C语言标准库函数,一般要用预处理命令将其头文件包含进来。 3. C语言属于() A.高级语言 B. 低级语言 C.中级语言 D. 机器语言 4. C语言规定了若干有特定意义、为C语言专用的单词,称为关键字。 5. C语言的语句以结尾。 6. C语言源程序经过编译以后生成文件,生成的文件名后缀为,经过连接后生成文件,后缀为 7.C语言中不能使用关键字作为标识符。(√)

第二章基本数据类型,运算符与表达式(出题比例20-30%) 关键知识点: 1.常量,变量: a)标识符的命名规则 b)常量,变量的概念:直接常量,符号常量,变量必须先定义后使用 c)变量名和变量值的区别。 2.C语言中的基本数据类型 a)各种数据类型的数据在内存中的存放方式 b)掌握各种数据类型数据的常量使用方法,特别注意字符常量和字符串常量的区别使 用 c)整型,字符型,浮点型变量的定义和引用方法 d)数据的数据类型,数据的取值范围,数据在内存中存放方式三者之间的联系 3.运算符和表达式的使用方法 a)自增、自减运算符 b)赋值运算符 c)算术运算符及表达式 d)逗号运算符及表达式 e)*位运算符及表达式 f)sizeof运算符及表达式 g)*强制数据类型转换符及表达式 4.运算符的优先级和结合性 本章复习题: 课后习题:一、单选题,二、填空题 1. C语言的标识符命名规则中,第一个字符可以为字符‘#’或‘&’ .(×)。 2.下列全部属于合法的用户标识符的是() A.A1 P_0 dS B. float 2la _A C. *a hy kk D. _123 temp main 3. C语言对字母的大小写不敏感。(×) 4. C语言中,符号常量由宏定义命令#define来定义。(√) 5. 在VC 6.0中,数据类型int,char,float和double所占的内存字节数分别是、、和。 6.下列四个选项中,均是合法的整型常量的选项是A A.160 –0XFFFF 011 B。-0XCDF 01A 0XE C.-01 986,012 0688 D。-0X48a 2e5 0x

C语言程序设计(第3版)第3章习题参考答案

习题三参考答案 (1)从键盘输入一个年份值,判断是否闰年。设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。 #include "Stdio.h" #include "Conio.h" int main(void) { int iYear; printf("please input the year:"); scanf("%d",&iYear); if(iYear%400==0||(iYear%4==0&&iYear%100!=0)) printf("%d is leap",iYear); else printf("%d is not leap",iYear); getch(); return 0; } (2)从键盘输入三个整数,按由小到大的顺序输出。 #include "stdio.h" main() {int i,j,k,max; scanf("%d%d%d",&i,&j,&k); max=i>j?i:j; max=max>k?max:k; printf("max=%d",max); getch(); } (3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。 #include "Stdio.h" #include "Conio.h" int main(void) { int iWeek,iHours ; float fSalary,fTaxes;

语言学概论 精讲一官方笔记

语言学概论第一节课官方笔记目录 一、课件下载及重播方法 二、本章/教材结构图 三、本章知识点及考频总结 四、配套练习题 五、其余课程安排 一、课件下载及重播方法 二、教材节构图

三、本章知识点及考频总结 第一部分语言和语言学 ◆模块一认识人类的语言 知识点一语言的性质和类型 (一)语言的概念 语言是一种符号系统,是由语音和语义构成的符号系统,是人类进行社会交际和思维认知的工具。 (二)人类语言与其他动物鸣叫系统的区别是: 1、内容更多: 表达无极限(时间、空间),想说、可说、能说。 2、用处更大: 交际、标志、记录、思维、认知等功能。 3、能够创造: 极强的生成能力和极高的运转效率。

注意:只有人类才有语言人类具有语言能力,是人跟其他动物区别的最重要的标志 (二)语言和民族、国家的关系 确定不同的语言,首先涉及的是语言跟民族和国家的关系 1.语言是识别民族和国家的标志——“相互能够听懂”(欧洲国家) 相同民族——相同语言;同一国家——同一语言 2.语言并非识别民族和国家的标志(欧洲以外的国家) 犹太人的语言与民族身份;海外华人的民族身份与语言;满族与满语 3.西方学界的双重标准——“相互能够听懂” 弱国——用语言识别民族;对“汉语”的看法。 强国——不用语言识别民族,美国、英国、澳大利亚和加拿大 (三)语言的特点和语言类型 1、语言的特点 不同的语言有自己的特点,各种语言在语音、词汇、语法方面差距显著。根据语言的特点,把语言进行分类,主要有“语言的谱系分类”和“语言的形态分类” 2、语言的类型 (1)语言的谱系分类

从语言的“历时”角度划分不同的语言,建立“语言的谱系分类”, 即语言的亲属关系分类。根据各种语言在语音、语汇、语法等方面是否有共同的来源和相似性的大小对语言进行的分类。 谱系分类是一个层级系统:语系—语族—(语支)—语言—方言—次方言(土语) 语系:语系是谱系分类中最大的类,语系、语族、语支、语群这种谱系分类的层级体系,反映了原始基础语随着社会的分化而不断分化的历史过程和结果。 世界上的语言大致分为七、八个语系。印欧语系和汉藏语系(区别在于是否有区分意义的声调和词的形态变化)语族:语系的下一级叫语族,同一语族的语言不但有相同的来源,相似点也更多,如印欧语系下分印度语族、伊朗语族、日耳曼语族等。 (2)语言的形态分类 即语言的结构类型分类。主要分为两种: ①形态语(综合性语言) 通过词的形态变化来体现各种结构意义的语言,主要有屈折语(词的形态变化丰富,如德语、俄语)、黏着语(词的形态变化为前后词缀,如维吾尔语、日语) ②孤立语(分析性语言)——汉语 语法手段无需谓词词形变化表现“时、体、态”;无需

程序设计基础—C语言,科学出版社

程序设计基础——C语言 科学出版社 第六章——其他数据模型,教材习题答案。 东风冷雪 如果认为对自己不利那就离开。 你看了比没有看好,首先印象还是有的,如果自己不会你可能都不会写,结果就是什么也不做,老师讲解时效果也会降低。其次你不会可能上网查书也是为了寻找答案,这样浪费时间(可能影响深些)。 一份答案做起来不容易,合理利用不要全部抄复制,这样老师会发现。你可以修改啊!你可以排版的比我更加调理清楚。 1.0 #include struct s { int x,*y; } *p; int date[]={10,20,30}; struct s array[]={100,&date[0],200,&date[1],300,&date[2]};

void main() { p=array; printf("%d\n",++p->x); printf("%d\n",++*p->y); printf("%d\n",*++p->y); } /* p指向结构体数组array首地址即是&array[0]. (1)++p->x 中->运算符优先级大于++所以)p->x 结果是100++p->x =101。 (2)++*p->y中->运算符优先级大于++和*++和*同优先级别结合方向自右向左所以p->y=&date[0], *p->y=date[0]=10, ++*p->y=11。 (3)*++p->y中同理所以 p->y=&date[0], ++p->y=&date[1], *++p->y=date[1]=20. */ #include"stdio.h" void main() { struct stuinf { char name[15];

相关文档
最新文档