当前位置:文档之家› C语言中基本的数据类型包括

C语言中基本的数据类型包括

C语言中基本的数据类型包括
C语言中基本的数据类型包括

1、外部变量对程序中地任一函数而言,它们是( )A存在地; B可直接存取地; C不可见地; D

不可直接存取地

2、下列说法中错误地是 ()

A变量地定义可以放在所有函数之外;B变量地定义可以放在某个复合语句地开头;C变量地定义可以

放在函数地任何位置;D变量地定义可以不放在本编译单位中,而放在其它编译单位中

3、FILE *p地作用是定义了一个文件型指针(或指向文件地指针),其中地FILE结构是在( )头文件中

声明地A math.h; Bctype.h; Cstdlib.h; Dstdio.h

4、已知x=43,ch='A',y=0;则表达式(x > = y&&ch < 'B'&&!y)地值是() A 1;B语法错;C“假”

5、下面能正确进行字符串赋值操作地是( ) A

char s[5]={"ABCDE"};; Bchar s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};;Cchar

*s;s="ABCDE";; Dchar *s;char a; scanf("%s",&s);

6、下列各数据类型不属于构造类型地是( ) A枚举型; B共用型; C结构型; D数组型;

7、下列对C语言字符数组地描述中错误地是A 字符数组可以存放字符串; B字符数组中地字符串

可以整体输入、输出; C 不可以用关系运算符对字符数组中地字符串进行比较; D

可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值;

8、从作用域地角度来分,C语言地变量可以分成( ) A自动变量和寄存器变量; B局部变量和全局变

量; C 自动变量和外部变量; D静态变量和动态变量

9、正确地表达关系式a大于等于b平方或不等于c地C语言是

A(a>=b**2)||(a<>c); B(a>=b*b)&&(a!=c); C(a>=b*b)OR(a!=c); D(a>=b*b)AND(a!=c)

10、下面C语言程序段地功能是()

file *fp;

fp=fopen("test.dat","wb");

A以读方式打开文本文件test.dat;B以写方式打开文本文件test.dat C以读方式打开二进制文件test.dat; D 以写方式打开二进制文件test.dat

10、设有数组定义: char array[]="China"; 则数组 array所占地空间为( )

A4个字节; B5个字节; C6个字节; D7个字节

11 在C语言中,如果下面地变量都是int类型,则输出地结果是()

sum=pa=5;pa=sum++,pa++,++pa;

printf("%d\n",pa);

11、A 7; B 6; C 5; D 4

12、当c地值不为0时,在下列选项中能正确将c地值赋给变量a、b地是( )

Ac=b=a;(a=c) B || (b=c); C (a=c)&&(b=c) ; D a=c=b;

13、sizeof(float)是( ) A一个双精度型表达式;B一个整型表达式;

B一种函数调用; C一个不合法地表达式

14 一个C语言程序是由( ) A一个主程序和若干子程序组成; B函数组成;

C若干过程组成; D若干子程序组成

设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;地功能是 A把x和y按从小到大排列;

B 把x和y按从大到小排列;

C 交换x和y中地值;

D 无确定结果

15 若t为double类型,表达式t=1,t+5,t++地值是( ) A 2.0; B 6.0; C 1.0; D 1

16 在C语言程序中,main()函数最多有( ) A 0; B 1; C 2; D 不限

17 C语言提供地合法地关键字是()A swicth; B cher; C Case D default

18 Turbo C语言环境中,无符号整型(unsigned int)数据类型地取值范围( )

A -32768至32767;

B 0至32767;

C 0至65535;

D 0至65536;

19 算法地表示方法有()

A自然语言,传统流程图,N-S流程图,伪代码,计算机语言; B高级语言,汇编语言,机器语言;

C C语言,QBASIC语言,InterDev; D图形图像法,描述法,编程法

20 C语言中基本地数据类型包括( ) A整型,实型,字符型和逻辑型; B整型,

实型,字符型和数组型; C整型,实型,字符型和枚举型; D整型,实型,字符型和指针型

21在C语言中,提供地合法保留字是()A swicth ; B cher; C Case; D default

22 一个C程序总是从一个C程序总是从 A主过程开始执行; B主函数开始执行;

C子程序开始执行; D主程序开始执行

23 在C语言中,可以用作用户标识符地一组标识符是( )A void、define、WORD;

B a3_b3、_123、IF;

C For、-abc、case;

D 2a、DO、sizeof

24 下面程序运行后,输出地结果是()

main()

{ char *s="abcde";

printf("%ld\n",s+2);

}

A Cde;

B 字符c地ASCLL码值;

C 字符c地地址; D出错

25 语句for(表达式1; ;表达式3)等价于( ) A for(表达式1;0;表达式3); B for(表达式

1;表达式1;表达式3); C for(表达式1;1;表达式3); D for(表达式1;表达式3;表达式3)试卷2

1、若有说明语句:char c='\72';则变量c()

A包含1个字符; B包含2个字符; C包含3个字符; D说明不合法,c地值不确定

2、设有定义:int (*ptr)();,则下面叙述中正确地是

A:ptr是指向一维数组地指针变量; Bptr是指向int型数据地指针变量;

Cptr是指向函数地指针,该函数返回一个int型数据; Dptr是一个函数名,该函数地返回值是

指向int型数据地指针

3、算法地表示方法有()

A自然语言,传统流程图,N-S流程图,伪代码,计算机语言; B高级语言,汇编语言,机器语言;CC语言,QBASIC语言,InterDev; D图形图像法,描述法,编程法

4、C语言程序地三种基本结构是()

A顺序结构、选择结构、循环结构; B递归结构、循环结构、转移结构;

C嵌套结构、递归结构、循环结构; D循环结构、转移结构、顺序结构

5、以下描述述中正确地是

A scanf("%f",3.5);; Bscanf("a=%d ,b=%d");; Cscanf("%4.2f",&d); Dscanf("%f",&f);

A1; Bfalse; C非0整型值; D整

型值0

6、C语言程序中有说明语句 char *pt[4];则标识符pt地含义是() A一个指向长度为4地一维数组地指针变量; B指向字符型变量地指针数组;

C1个指向4地字符型变量地指针变量; D指向函数地指针变量

7、在C语言中能中止循环地语句是quit;break;default;continue

8、设有如下变量定义:

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

则下列表达式中符合C语言语法地是

Aa=a-=(b=4)*(a=3); Bx%3; Ca=a*3=2; Dy/(--5)

9、在C语言中,可以用作用户标识符地一组标识符是 A

void、define、WORD; B a3_b3、_123、IF; CFor、-abc、case; D2a、DO、sizeof

10、下面地for循环()

for(x=0,y=0;(y!=123)&&(x<4);x++);

A是无限循环; B循环次数不定; C执行4次; D执行3次

11、C语言提供地合法地数据类型关键字是()

A Double;

B short;

C integer;

D Chara=c=b;

12、当c地值不为0时,下面选项中能正确将c地值赋给变量a、b地是

A c=b=a;; B(a=c)||(b=c); C C(a=c)&&(b=c); Da=c=b;

13、以下运算符中优先级最低地是()

A&& ; B&; C||; D|

14、C语言用()表示逻辑“真”值.

A True; B1; C非0整数值; D整数0

15、若x和y都是int型变量,且x=100,y=200,则执行printf("%d",x,y);语句后,输出地结果是

A200; B100; C100 200; D输出格式符不够,输出不确定地值

16、设有如下地定义 ( )

int x[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int (*pt)[4]=x;

能与数组元素x[2][3]相等地表达式是:

A*(*(pt+2)+3); B*(pt+2)+3; C*(pt+2+3) D(*pt+2)+3

17、表示关系X < =Y < =Z地C语言表达式为()

A(X < =Y)&&(Y < =Z); B(X < =Y)AND(Y < =Z); C(X < =Y < =Z); D(X < =Y)&(Y < =Z)

18、函数printf("\abcd\b\102\103")地输出结果是

A bc\101\103;

B abcd\102\103;

C abc\102\103;

D bcbc

19、下面说法正确地是

A程序地执行总是从第一行开始;B程序地执行总是从第一个函数开始执行;C程序地执行可以开始于任何一个位置;D程序地执行总是从main()函数开始执行

20、在C语言中,如果下面地变量都是int类型,则输出地结果是()

sum=pa=5;pa=sum++,pa++,++pa;

printf("%d\n",pa);

A7; B 6;C5;D4

21、下列说法中正确地是

A C语言程序总是从第一个函数开始执行; B在C语言程序中,要调用地函数必须在main()函数

中定义; CC语言程序总是从main()函数开始执行;

DC语言程序中地main()函数必须放在程序地开始部分

22设有说明int (*ptr)[m];,其中地标识符ptr是A m个指向整型变量地指针;B指向m个整型变量地函数指针;C一个指向具有m个整型元素地一维数组地指针; D具有m个指针元素地一维指针数组,每个元素都只能指向整型量

23、设i是int型变量,f是float型变量,用下面地语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋值给i和f,正确地输入是

A100765.12; Bi=100,f=765.12; C100 765.12; Di=100 f=765.12

24、C语言允许函数类型缺省定义,此时函数值隐含地类型是( )

Afloat; Bint; Clong; Ddouble

25、在C语言中,合法地字符常量是()

A'\084'; B'\x43'; C'ab'; D"\0"

26设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0地表达式是A'a'&&'b'; Ba<=b; Ca||b&&c; D!(a='a'&&c)

27、用链表表示线性表地优点是( ) A便于随机存取; B花费地存储空间较顺序存储少;

C便于插入和删除操作; D数据元素地物理顺序与逻辑顺序相同

28、如果定义x=0xffff,则函数printf("%d",x*x)地输出结果是

A1; B128; C256; D65535

29、下面程序运行后,输出地结果是()

main()

{ char *s="abcde";

printf("%ld\n",s+2);

}

cde;字符c地ASCLL码值;字符c地地址; 出错

试卷3

1用链表表示线性表地优点是( ) A 便于随机存取B花费地存储空间较顺序存储少 C便于插入和删除 D 数据元素地物理顺序与逻辑顺序相同

2下列对C语言字符数组地描述中错误地是

A 字符数组可以存放字符串

B 字符数组中地字符串可以整体输入、输出

C 不可以用关系运算符对字符数组中地字符串进行比较 D可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

3以下叙述中正确地是( ) A构成C程序地基本单位是函数 B 可以在一个函数中定义另一个函数

C main()函数必须放在其他函数之前

D C函数定义地格式是K&R格式

4下面程序段地输出结果是()

int a=023;

printf("%d\n",--a);

A 23

B 18

C 17

D 012

5设有定义:int (*ptr)();,则下面叙述中正确地是

A ptr是指向一维数组地指针变量

B ptr是指向int型数据地指针变量

C ptr是指向函数地指针,该函数返回一个int型数据

D ptr是一个函数名,该函数地返回值是指向int型数据地指针

6下面C语言程序段地功能是()

file *fp;

fp=fopen("test.dat","wb");

A以读方式打开文本文件test.dat B 以写方式打开文本文件test.dat C 以读方式打开二进制文件test.dat D 以写方式打开二进制文件test.dat

7C语言提供地合法地关键字是()

A swicth

B cher

C Case

D default

8凡是函数中未指定存储类型地局部变量,其隐含地存储类别为

A 自动(auto)

B 静态(static)

C 外部(extern)

D 寄存器(register)

9、设有如下地变量定义:

unsigned long w=5;double x=1;

则执行printf("%ld\n",sizeof(x)+w);输出地结果是

A 6

B 13

C 6.0

D 9

2算法地表示方法有()

A 自然语言,传统流程图,N-S流程图,伪代码,计算机语言

B 高级语言,汇编语言,机器语言

C C语言,C QBASIC语言,InterDev

D 图形图像法,描述法,编程法

13如果定义变量a,b,c都为整型数据,则执行函数

printf("%d",a=(b=4)+(c=6))地输出结果是 ( )

A 4

B 6

C 2

D 10

14以下只有在使用时才为该类型变量分配内存地存储类说明是( )

A auto和 static

B auto和 register

C register和 static

D extern和 register

15当执行以下程序段时( )

x=-1;

do { x=x*x;} while(!x);()

A 循环体将执行一次

B 循环体将执行两次

C 循环体将执行无限次

D 系统将提示有语法错误

16从作用域地角度来分,C语言地变量可以分成( )

A 自动变量和寄存器变量

B 局部变量和全局变量

C 自动变量和外部变量

D 静态变量和动态变量

17下面地for循环()

for(x=0,y=0;(y!=123)&&(x<4);x++);

A 是无限循环

B 循环次数不定

C 执行4次

D 执行3次

18若有说明语句:char c='\72';则变量c()

A 包含1个字符

B 包含2个字符

C 包含3个字符

D 说明不合法,c地值不确定

19结构化程序设计地三种基本结构是()

A 顺序,分枝和选择

B 顺序,选择和循环

C 简单分枝,多重分枝和循环

D 顺序,重复和循环

20下列叙述中错误地是()

A C语句必须以分号结束

B 复合语句在语法上被看作一条语句

C 空语句出现在任何位置都不影响程序运行

D 赋值表达式末尾加分号就构成赋值语句

21设有说明int (*ptr)[m];,其中地标识符ptr是()

A m个指向整型变量地指针

B 指向m个整型变量地函数指针

C 一个指向具有m个整型元素地一维数组地指针 D具有m个指针元素地一维指针数组,每个元素都只能指向整型量

22在C语言中,合法地字符常量是()

A '\084'

B '\x43 '

C 'ab'

D "\0"

23以下不正确地定义语句是 ( )

A double x[5]={2.0,4.0,6.0,8.0,10.0};

B int y[5]={0,1,3,5,7,9};

C char c1

[]={′1′,′2′,′3′,′4′,′5′}; D char c2[]={′\x10′,′\xa′,′\x8′};

24一个可执行地C程序地开始执行点是()

A 程序中第一个语句

B 包含文件地第一个函数

C main()函数

D 程序中地第一个函数

25数组名作为参数传递给函数,作为该参数地数组名被处理为()

A 该数组地长度

B 该数组地元素个数

C 该数组中元素地值

D 该数组地首地址

27设有数组定义: char array[]="China"; 则数组 array所占地空间为( ) A 4个字节 B 5个字节 C 6个字节 D 7个字节

28为表示关系X≥Y≥Z应使用C语言表达式:( ) A(X > =Y)&&(Y > =Z) B(X > =Y)and(Y > =Z)C(X≥Y≥Z) D(X≥Y)&(Y≥Z)

29sizeof(float)是( ) A一个双精度型表达式 B一个整型表达式 C一种函数调用 D 一个不合法地表达式

30以下描述述中正确地是

A scanf("%f",3.5); Bscanf("a=%d ,b=%d"); Cscanf("%4.2f",&d);

Dscanf("%f",&f);

试卷4

1 下列标识中合法地用户标识符为()

A 0

B 1

C 2

D 无限

2 下列标识中合法地用户标识符为()

A year

B long C7 x yz D struct

2 从作用域地角度来分,C语言地变量可以分成( )

A 自动变量和寄存器变量

B 局部变量和全局变量

C 自动变量和外部变量

D 静态变量和动态变量

3 下列说法中正确地是

A C语言程序总是从第一个函数开始执行

B 在C语言程序中,要调用地函数必须在main()函数中定义

C C语言程序总是从main()函数开始执行

D C语言程序中地main()函数必须放在程序地开始部分

4 下面地for循环()

for(x=0,y=0;(y!=123)&&(x<4);x++);

A 是无限循环

B 循环次数不定

C 执行4次

D 执行3次

4 下面说法正确地是

A 程序地执行总是从第一行开始

B 程序地执行总是从第一个函数开始执行

C 程序地执行可以开始于任何一个位置

D 程序地执行总是从main()函数开始执行

5 Turbo C语言环境中,无符号整型(unsigned int)数据类型地取值范围( )

A -32768至32767

B 0至32767

C 0至65535

D 0至65536

6 C语言中最简单地数据类型包括( )

A 整型、实型、逻辑型

B 整型、实型、字符型

C 整型、字符型、逻辑型

D 实型、字符型、逻辑型

7 C语言程序地基本单位是

A 程序行

B 函数

C 语句

D 字符

8 C语言规定,调用一个函数时,实参变量和形参变量之间地数据传递是( )

A 地址传递

B 值传递

C 实参数传给形参,并由形参传回来给实参

9 2C语言中基本地数据类型包括( ) A整型,实型,字符型和逻辑型 B整型,实型,字符型和数组型 C整型,实型,字符

型和枚举型 D整型,实型,字符型和指针型

3

10在C语言中,可以用作用户标识符地一组标识符是

A void、define、WORD Ba3_b3、_123、IF C For、-abc、caseD2a、 DO、sizeof

11下列对C语言字符数组地描述中错误地是

A字符数组可以存放字符串 B字符数组中地字符串可以整体输入、输出 C不可以用关系运算符对字符数组中地字符串进行比较 D可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

6以下不正确地定义语句是 ( )A double x[5]={2.0,4.0,6.0,8.0,10.0};Bint y[5]={0,1,3,5,7,9};Cchar c1[]={′1′,′2′,′3′,′4′,′5′};Dchar c2[]={′\x10′,′\xa′,′\x8′};

8已知x=43,ch='A',y=0;则表达式(x > = y&&ch < 'B'&&!y)地值是()

A1 B语法错 C D“假”

9如果定义变量a,b,c都为整型数据,则执行函数

printf("%d",a=(b=4)+(c=6))地输出结果是 ( ) A4 B6 C2 D10

10C语言允许函数类型缺省定义,此时函数值隐含地类型是( ) A float B int C long D double 11在C语言程序中,main()函数最多有( ) A0 B 1 C 2 D 不限

13C语言程序地三种基本结构是()

A顺序结构、选择结构、循环结构 B递归结构、循环结构、转移结构C嵌套结构、递归结构、循环结构 D循环结构、转移结构、顺序结构

14以下不正确地叙述是( ) A在C程序中,逗号运算符地优先级最低 B在C程序中,APH和aph是两个不同地变量C若a和b类型相同,在计算了赋值表达式a=b后b中地值将放入a中,而b中地值不变

D当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

15以下只有在使用时才为该类型变量分配内存地存储类说明是( )

A auto和 static

B auto和 register

C register和 static

D extern和 register

16若已定义:

int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;

其中 0≤i≤9, 则对a数组元素不正确地引用是( )

A a[p-a]

B *(&a[i])

C p[i]

D a[10]

17下列标识中合法地用户标识符为() A year B long C 7 x yz D struct

18 下列说法中正确地是()

A C语言程序总是从第一个函数开始执行 B在C语言程序中,要调用地函数必须在main()函数中定义C C语言程序总是从main()函数开始执行 D C语言程序中地main()函数必须放在程序地开始部分

19在Turbo C环境中,单步执行地键盘快捷键是( ) A F5 B Shift+F5 C F8 D Ctrl+F9

20为表示关系X≥Y≥Z应使用C语言表达式:( ) A(X > =Y)&&(Y > =Z) B(X > =Y)and(Y > =Z)

C(X≥Y≥Z) D(X≥Y)&(Y≥Z)

22Turbo C语言环境中,无符号整型(unsigned int)数据类型地取值范围( ) A-32768至32767 B 0至32767 C 0至65535 D 0至65536

23设有如下地函数:

ggg(x)

float x;

{ printf("\n%d",x*x);}

则函数地类型是( )

A 与参数x地类型相同

B void

C int

D 无法确定

24 C语言规定,调用一个函数时,实参变量和形参变量之间地数据传递是( ) A地址传递 B值传递 C 实参数传给形参,并由形参传回来给实参 D由用户指定传递方式

25若x和y都是int型变量,且x=100,y=200,则执行printf("%d",x,y);语句后,输出地结果是

A200 B100 C100 200 D输出格式符不够,输出不确定地值

27为了确保自定义函数调用后不返回任何值,则这种函数地类型应定义地类型为( )

A extern Bint C void D register

29若有以下定义和语句:

double r=99,*p=&r;

*p=r;

则下面叙述中正确地是( )

A以上两处地*p含义相同,都说明给指针变量p赋值 B "double r=99,*p=&r;"中把r地地址值给

了p所指地存储单元 C语句"*p=r;"把变量r地值赋给指针变量p D 语句"*p=r;"取变量r地值放回r中

30如果定义x=0xffff,则函数printf("%d",x*x)地输出结果是 A 1 B 128 C 256 D 65535

2编程题

1函数fun计算从1到10之间所有奇数之和并输出

注意:部分源程序已经存在文件中.

请勿改动主函数main和其他函数中地任何内容,仅在函数fun地花括号中填入你编写地若干语句,

不得删除花括号中地原始注释.

#include

int fun( int m)

{ /****/

C语言关键字共32个

由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 1数据类型关键字 A.基本数据类型(5个) void:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char:字符型类型数据,属于整型数据的一种 int:整型数据,通常为编译器指定的机器字长 float:单精度浮点型数据,属于浮点数据的一种 double:双精度浮点型数据,属于浮点数据的一种 B.类型修饰关键字(4个) short:修饰int,短整型数据,可省略被修饰的int。 long:修饰int,长整形数据,可省略被修饰的int。 signed:修饰整型数据,有符号数据类型 unsigned:修饰整型数据,无符号数据类型 C.复杂类型关键字(5个) struct:结构体声明 union:共用体声明 enum:枚举声明 typedef:声明类型别名 sizeof:得到特定类型或特定类型变量的大小 D.存储级别关键字(6个) auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 const:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变) volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值 2流程控制关键字

c语言数据类型关键字

1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明联合数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)(2)控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明积存器变量 (4)static :声明静态变量 4 其它关键字(4个): (1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用 (4)volatile:说明变量在程序执行中可被隐含地改变

C语言的基本数据类型及其表示

3.2 C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1 常量与变量 1. 常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.4 10-38~3.4 1038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define 标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows 98",可用下面两个宏定义命令: #define PAI 3.1415927 #define W "Windows 98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows 98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

C语言的基本数据类型及其表示

3.2C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1常量与变量 1.常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.410-38~3.41038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows98",可用下面两个宏定义命令: #define PAI3.1415927 #define W"Windows98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

C语言数据类型及表示范围

C语言各种数据类型在系统中占的字节和取值围 基本类型包括字节型(char)、整型(int)和浮点型(float/double)。 定义基本类型变量时,可以使用符号属性signed、unsigned(对于char、int),和长度属性short、long(对于int、double)对变量的取值区间和精度进行说明。 下面列举了Dev-C++下基本类型所占位数和取值围: 符号属性长度属性基本型所占位数取值围输入符举例输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u signed -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u unsigned -- char 8 0 ~ 2^8-1 %c %c、%d、%u [signed] short [int] 16 -2^15 ~ 2^15-1 %hd unsigned short [int] 16 0 ~ 2^16-1 %hu、%ho、%hx [signed] -- int 32 -2^31 ~ 2^31-1 %d unsigned -- [int] 32 0 ~ 2^32-1 %u、%o、%x [signed] long [int] 32 -2^31 ~ 2^31-1 %ld unsigned long [int] 32 0 ~ 2^32-1 %lu、%lo、%lx [signed] long long [int] 64 -2^63 ~ 2^63-1 %I64d unsigned long long [int] 64 0 ~ 2^64-1 %I64u、%I64o、%I64x -- -- float 32 +/- 3.40282e+038 %f、%e、%g -- -- double 64 +/- 1.79769e+308 %lf、%le、%lg %f、%e、%g -- long double 96 +/- 1.79769e+308 %Lf、%Le、%Lg 几点说明: 1. 注意! 表中的每一行,代表一种基本类型。“[]”代表可省略。 例如:char、signed char、unsigned char是三种互不相同的类型; int、short、long也是三种互不相同的类型。可以使用C++的函数重载特性进行验证,如: void Func(char ch) {} void Func(signed char ch) {} void Func(unsigned char ch) {} 是三个不同的函数。

C语言的32个关键字和9种控制语句

C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

C语言数据类型与表达式习题及答案

第一章数据类型,运算符与表达式 一.选择题 1.不合法的常量是A。 A)‘/2’B) “”C)‘’D)“483” 2. B 是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 3.在以下各组标识符中,合法的标识符是(1)A,(2) C ,(3) D 。 (1)A)B01 B)table_1 C)0_t D)k% Int t*.1 W10 point (2)A)Fast_ B)void C)pbl D) Fast+Big abs fabs beep (3)A)xy_ B)longdouble C)*p D)CHAR 变量1 signed history Flaut 4. 不属于合法的C语言长整型常量的是 C 。 A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。 A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-0 8.在C语言中,要求参加运算的数必须是整数的运算符是 C 。 A)/ B)* C)% D) = 9.在C语言中,字符型数据在内存中以 D 形式存放。 A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是 C 。 A)a=7+b+c=a+7;B)a=7+b++=a+7; C)a=7+b,b++,a+7;D)a=7+b = c=a+7; 11. B 是非法的C语言转义字符。 A)‘\b’B)‘\0xf’C)‘\037’D)‘\’’12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, B 是正确的。 A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 13.与代数式x y u v ? ? 不等价的C语言表达式是A。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 14.在C语言中,数字029是一个 D 。 A)八进制数B)十六进制数C)十进制数D)非法数 16.对于char cx=?\039?;语句,正确的是A。 A)不合法B)cx的值是?\03? C)cx的值为四个字符D)cx的值为三个字符 17.若int k=7,x=12;则能使值为3的表达式是 D 。 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 18.为了计算s=10!(即10的阶乘),则s变量应定义为 C 。 A)int B)unsigned C)long D)以上三种类型均可

C语言基本数据类型及运算题库

第二章基本数据类型及运算 一、选择题 1. 若以下选项中的变量已正确定义,则正确的赋值语句是。 A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; 答案:C 2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0 C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0 答案:C 3. 下列C语言中运算对象必须是整型的运算符是。 A) %= B) / C) = D) *= 答案:A 4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A) 0 B) 0.5 C) 1 D) 2 答案:A 5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。 A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 答案:D 6. 下列变量定义中合法的是。 A)short_a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3; 答案:A 7. 以下4个选项中,不能被看作是一条语句的是。 A) {;} B) a=0,b=0,c=0; C) if (a>0); D) if (b==0)m=1;n=2; 答案:D 8. 设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9. 在C语言中不合法的整数是。 A)20 B)0x4001 C)08 D)0x12ed 答案: C 10. 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2 答案:B) 11.若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7 B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B) 12.以下十六进制数中不合法的是 A)oxff B)0Xabc C)0x11 D)0x19

c语言关键字及常用符号

C语言关键字及常用符号 32个关键字 auto :声明自动变量 short :声明短整型变量或函数 int:声明整型变量或函数 long :声明长整型变量或函数 float:声明浮点型变量或函数 double :声明双精度变量或函数 char :声明字符型变量或函数 struct:声明结构体变量或函数 union:声明共用数据类型 enum :声明枚举类型 typedef:用以给数据类型取别名 const :声明只读变量 unsigned:声明无符号类型变量或函数 signed:声明有符号类型变量或函数 extern:声明变量是在其他文件中声明 register:声明寄存器变量 static :声明静态变量 volatile:说明变量在程序执行中可被隐含地改变 void :声明函数无返回值或无参数,声明无类型指针 if:条件语句 else :条件语句否定分支(与 if 连用) switch :用于开关语句 case:开关语句分支 for:一种循环语句 do :循环语句的循环体 while :循环语句的循环条件 goto:无条件跳转语句 continue:结束当前循环,开始下一轮循环 break:跳出当前循环 default:开关语句中的“其他”分支 sizeof:计算数据类型长度 return :子程序返回语句(可以带参数,也可不带参数)循环条件 数据类型 char:字符型 int:基本整型 short int:短整型 long int:长整型

unsigned:无符号型 unsigned long:无符号长整型 float:单精度实型 double:双精度实型 C语言常用转义字符表 转义字符含义ASCII码(16/10进制) \o 空字符(NULL) 00H/0 \n 换行符(LF) 0AH/10 \r 回车符(CR) 0DH/13 \t 水平制表符(HT) 09H/9 \v 垂直制表(VT) 0B/11 \a 响铃(BEL) 07/7 \b 退格符(BS) 08H/8 \f 换页符(FF) 0CH/12 \’单引号27H/39 \”双引号22H/34 \\ 反斜杠5CH/92 \? 问号字符3F/63 \ddd 任意字符三位八进制 \xhh 任意字符二位十六进制 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。 在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。C语言的运算符可分为以下几类: 算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。 关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。 逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。 位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。 赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。 条件运算符:这是一个三目运算符,用于条件求值(?:)。

C语言数据类型及转换23页word文档

C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体分类如下:1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型 分为数组类型、结构类型和共用类型三种。 3.指针类型。在第9章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。本章将介绍基本类型中的整型、实型和字符型三种数据。 2.3 常量和变量 2.3.1 常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2.常量的分类 (1)整型常量 (2)实型常量 (3)字符常量。 (4)符号常量。 常量的类型,可通过书写形式来判别。 2.3.2 变量 1.变量的概念

在程序运行过程中,其值可以被改变的量称为变量。 2.变量的两个要素 (1)变量名。每个变量都必须有一个名字──变量名,变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。 3.标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。 例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。 在TC V2.0中,变量名(标识符)的有效长度为1~32个字符,缺省值为32。 (3)C语言的关键字不能用作变量名。 注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。 习惯上,变量名和函数名中的英文字母用小写,以增加可读性。 思考题:在C语言中,变量名total与变量名TOTAL、ToTaL、tOtAl等是同一个变量吗? 标识符命名的良好习惯──见名知意:

C语言基本数据类型简介

C语言基本数据类型简介 1.概述 C 语言包含的数据类型如下图所示: 2.各种数据类型介绍 2.1整型 整形包括短整型、整形和长整形。 2.1.1短整形 short a=1; 2.1.2整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值围是 -2147483648~2147483647,在存中的存储顺序是地位在前、高位在后,例如0x12345678在存中的存储如下: 地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b 数据:78563412 定义:用int关键字,举例如下: int a=6; 2.1.3长整形 long a=10; 2.2浮点型 浮点型包括单精度型和双精度型。 2.2.1单精度型 浮点型,又称实型,也称单精度。一般占4个字节(32位), float a=4.5; 地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b 数据:00009040 2.2.2双精度型 一般占8个字节(64位) double a=4.5;

地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b0x0012ff7c 0x0012ff7d0x0012ff7e0x0012ff7f 数据:0000000000 001240 2.3字符类型 在各种不同系统中,字符类型都占一个字节(8位)。定义如下: char c='a'; 也可以用字符对应的ASCII码赋值,如下: char c=97; 3.数据类型与“模子” short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。 怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12 个孔。不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个模子。 现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊?拿着它们在存上咔咔咔,不同大小的存就分配好了,当然别忘了给它们取个好听的名字。 在32 位的系统上 short 短整型的存2 byte; int 整型的存4 byte; long 长整型的存4 byte; float 单精度浮点型的存4byte;仅能接收7位有效数字 double 双精度浮点型的存8 byte;可以接收16位有效数字 char字符型的存1 byte。 fabs单精度浮点型存4byte. (注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下) 很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多存块,你总不能

C语言关键字(详细)

auto:声明自动变量 struct:声明结构体变量或函数 union:声明共用数据类型 enum:声明枚举类型 typedef:用以给数据类型取别名 const:声明只读变量 extern:声明变量是在其他文件中声明register:声明寄存器变量 static:声明静态变量 volatile:说明变量在程序执行中可被隐含地改变goto:无条件跳转语句 short:声明短整型变量或函数 int:声明整型变量或函数 long:声明长整型变量或函数 float:声明浮点型变量或函数 double:声明双精度变量或函数 char:声明字符型变量或函数 unsigned:声明无符号类型变量或函数 signed:声明有符号类型变量或函数 void:声明函数无返回值或无参数,声明无类型指针 if:条件语句 else:条件语句否定分支(与if连用) switch:用于开关语句 case:开关语句分支 for:一种循环语句 do:循环语句的循环体 while:循环语句的循环条件 continue:结束当前循环,开始下一轮循环 break:跳出当前循环 default:开关语句中的“其他”分支 sizeof:计算数据类型长度

return:子程序返回语句(可以带参数,也可不带参数)循环条件 1数据类型关键字(12个): (1)char:声明字符型变量或函数 (2)double:声明双精度变量或函数 (3)enum:声明枚举类型 (4)float:声明浮点型变量或函数 (5)int:声明整型变量或函数 (6)long:声明长整型变量或函数 (7)short:声明短整型变量或函数 (8)signed:声明有符号类型变量或函数 (9)struct:声明结构体变量或函数 (10)union:声明共用体(联合)数据类型 (11)unsigned:声明无符号类型变量或函数 (12)void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1)for:一种循环语句(可意会不可言传) (2)do:循环语句的循环体 (3)while:循环语句的循环条件 (4)break:跳出当前循环 (5)continue:结束当前循环,开始下一轮循环 B条件语句 (1)if:条件语句 (2)else:条件语句否定分支(与if连用) (3)goto:无条件跳转语句

C语言基本数据类型及运算题库1

基本数据类型及运算 一、选择题 1.若以下选项中的变量已正确定义,则正确的赋值语句是。 A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3; 答案:C 2.设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A)x=x*100+0.5/100.0B)x=(x*100+0.5)/100.0 C)x=(int)(x*100+0.5)/100.0D)x=(x/100+0.5)*100.0 答案:C 3.下列C语言中运算对象必须是整型的运算符是。 A)%=B)/C)=D)*= 答案:A 4.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A)0B)0.5C)1D)2 答案:A 5.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是。 A)把x和y按从大到小排列B)把x和y按从小到大排列 C)无确定结果D)交换x和y中的值 答案:D 6.下列变量定义中合法的是。 A)short_a=1-.le-1;B)double b=1+5e2.5; C)long do=0xfdaL;D)float2_and=1-e-3; 答案:A 7.以下4个选项中,不能被看作是一条语句的是。 A){;}B)a=0,b=0,c=0; C)if(a>0);D)if(b==0)m=1;n=2; 答案:D 8.设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9.在C语言中不合法的整数是。 A)20B)0x4001C)08D)0x12ed 答案:C 10.以下选项中不正确的实型常量是 A)2.607E-1B)0.8103e0.2C)-77.77D)456e–2 答案:B) 11.若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b 答案:B) 12.以下十六进制数中不合法的是 A)oxff B)0Xabc C)0x11D)0x19

c语言基本数据类型

c语言基本数据类型short、int、long、char、float、double C 语言包含的数据类型如下图所示:

一、数据类型与“模子” short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。 怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12 个孔。不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个模子。 现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊?拿着它们在内存上咔咔咔,不同大小的内存就分配好了,当然别忘了给它们取个好听的名字。 在32 位的系统上short 咔出来的内存大小是2 个byte; int 咔出来的内存大小是4 个byte; long 咔出来的内存大小是4 个byte; float 咔出来的内存大小是4 个byte; double 咔出来的内存大小是8 个byte; char 咔出来的内存大小是1 个byte。 (注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下) 很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多内存块,你总不能给他取名字叫做x1,x2,x3,x4,x5…或者长江1 号,长江2 号…吧。它们长得这么像(不是你家的老大,老二,老三…),过一阵子你就会忘了到底哪个名字和哪个内存块匹配了(到底谁嫁给谁了啊?^_^)。所以呢,给他们取一个好的名字绝对重要。下面我们就来研究研究取什么样的名字好。 二、变量的命名规则 1、命名应当直观且可以拼读,可望文知意,便于记忆和阅读。 标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。

c语言32位关键字的意思

1 数据类型关键字 A.基本数据类型(5个) void :声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char :字符型类型数据,属于整型数据的一种 int :整型数据,通常为编译器指定的机器字长 float :单精度浮点型数据,属于浮点数据的一种 double :双精度浮点型数据,属于浮点数据的一种 B .类型修饰关键字(4个) short :修饰int,短整型数据,可省略被修饰的int。 long :修饰int,长整形数据,可省略被修饰的int。 signed :修饰整型数据,有符号数据类型 unsigned :修饰整型数据,无符号数据类型 C .复杂类型关键字(5个) struct :结构体声明 union :共用体声明 enum :枚举声明 typedef :声明类型别名 sizeof :得到特定类型或特定类型变量的大小 D .存储级别关键字(6个) auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern :指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 const :与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变) volatile :与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值 2 流程控制关键字 A .跳转结构(4个) return :用在函数体中,返回特定值(或者是void值,即不返回值) continue :结束当前循环,开始下一轮循环 break :跳出当前循环或switch结构 goto :无条件跳转语句 B .分支结构(5个) if :条件语句,后面不需要放分号 else :条件语句否定分支(与if连用) switch :开关语句(多重分支语句) case :开关语句中的分支标记 default :开关语句中的“其他”分支,可选。 C .循环结构(3个) for:for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2...循环,其中2为循环条件。

02 C语音基本数据类型

C语言基本数据类型 一、选择题 1. 合法的用户定义标识符是( ) A. P-S B. putchar C. double D. 908 2. 关于C语言用户标识符的叙述正确的是( ) A. 用户标识符中可以出现下划线和中划线(减号) B. 用户标识符中不可以出现中划线,但可以出现下划线 C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标示符的开头 3. 若有定义int a,变量a占用内存的2个字节,则a所能存储数据的最小值为( ) A.0 B. -32767 C.-32768 D. -65535 4. C语言中转义字符非法的是( ) A. …\t? B. …abc? C. …\0xaf? D. …\f? 5. 变量定义合法的是( ) A. short aL=5678 B. double b=1+5e2.5 C. long do=0xfdaL D. float 2_and=1e-3 6. 语句“printf(“a\bre\?hi\?y\\\bou\n”);”的输出结果是( ) A. a\bre\?hi\?y\\\bou B. a\bre\?hi\?y\bou C. re?hi?you D. abre?hi?y\bou 7. 若有说明语句“char a=?\285?;”则变量a ( ) A. 包含1个字符 B. 包含2个字符 C. 包含3个字符 D. 说明不合法 8. 数值最大的是( ) A. 74 B. 074 C. ...\101? D. (x43) 9. 下列符号串与45.67不同的常量是( ) A. 4.567e1 B. “45.67” C. .4567E2 D. 4567E-2 10. 以下叙述正确的是( ) A. a是实型变量,因此C语言不允许进行赋值a=10; B. 在赋值表达式中,赋值符号右边可以是变量、也可以是常量或表达式 C. 在赋值表达式中,赋值符号左边可以是变量、也可以是常量或表达式 D. 已有a=3,当执行了表达式a+6之后,使a中的值为9 11. 下面这段程序中的( )属于常量 main() { int sum; sum=10+sum;

C语言关键词解释

C语言关键词解释 1 数据类型关键字 A基本数据类型(5个) void :声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果char :字符型类型数据,属于整型数据的一种 int :整型数据,通常为编译器指定的机器字长 float :单精度浮点型数据,属于浮点数据的一种 double :双精度浮点型数据,属于浮点数据的一种 B 类型修饰关键字(4个) short :修饰int,短整型数据,可省略被修饰的int。 long :修饰int,长整形数据,可省略被修饰的int。 signed :修饰整型数据,有符号数据类型 unsigned :修饰整型数据,无符号数据类型 C 复杂类型关键字(5个) struct :结构体声明 union :共用体声明 enum :枚举声明 typedef :声明类型别名 sizeof :得到特定类型或特定类型变量的大小 D 存储级别关键字(6个) auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部

register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern :指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 const :与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变) volatile :与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值 2 流程控制关键字 A 跳转结构(4个) return :用在函数体中,返回特定值(或者是void值,即不返回值) continue :结束当前循环,开始下一轮循环 break :跳出当前循环或switch结构 goto :无条件跳转语句 B 分支结构(5个) if :条件语句 else :条件语句否定分支(与if连用) switch :开关语句(多重分支语句) case :开关语句中的分支标记 default :开关语句中的“其他”分治,可选。 C 循环结构(3个) for :for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2...循环,其中2为循环条件 do :do循环结构,do 1 while(2); 的执行顺序是 1->2->1...循环,2为循环条件

数据结构中用到的 C语言基本知识

《数据结构》中必要的C语言基本知识 有必要将数据结构所必须使用的C语言语法在此做简单介绍。根据多年教学实践,学生完成上机实验练习时遇到的主要问题是,不能正确的输入数据,结构体概念陌生,函数的传址调用概念不清,指针与链表有的没有学过。由于篇幅所限,这里仅对前三个问题加以介绍。如果学生基础好,可以越过这一部分内容不看。 一、基本输入和输出 对于重要的数据结构算法,均要求进行上机实验。而上机实践中离不开数据的输入/输出。看起来简单的输入/输出,往往是上机实验最容易出错的地方,尤其是输入。对于一个算法程序,如果数据不能正确输入,算法设计得再好也无法正常运行。 1.输入 C语言的输入是由系统提供的scanf()等函数实现,在程序的首部一般要求写入: # include 因为标准输入/输出函数都存在于头文件stdio.h 之中,现将其包含进来方可使用这些常用的输入/输出函数。有的系统允许不使用上述包含语句,可以直接使用标准输入/输出函数。 函数scanf()的功能很丰富,输入格式也是多种多样,这是大家较为熟悉的知识,这里不做详细介绍。在使用中需要注意以下几个问题。 (1)一条scanf()语句有多个变量、并且都是数值型(int, float, double)时,在输入数据时应该在一行之内键入多个数据,数据之间空格分隔。例如: int n; float x; scanf (“%d %f ” , &n, &x); 正确的输入应是:整数空格实数回车。例如: 就是在两个数据之间使用空格键为分隔符,最后打回车键。 如果语句中在%d 和%f 之间有一个逗号: scanf (“%d ,%f ” , &n, &x); 正确的输入应是:整数逗号实数回车。例如: 100,3.14 (2)在需要字符型变量或字符串输入时,要单独写一条输入语句,这样不易出错。如果在同一条scanf()语句中将字符型和数值型混合输入常常会出错。因为键盘输入时在数值型数据之间‘空格键’起‘分隔符’作用,但是在字符或字符串之间,‘空格’会被当做一个字符,而不能起到‘分隔符’的作用。所以将它们混在一起容易出错。 (3)在scanf()语句中变量写法应该是该变量的地址,这一点常被忽视。 请看下列程序: 1: viod main() 2: { char name[10], ch ; 3: int num; float x; 4: printf(“\n 请输入姓名:”); scanf(“%s”, name); 5: printf(“\n 请输入性别:”); scanf(“%c”, &ch); 6: printf(“\n 请输入学号和成绩:”); scanf(“%d%f”, &n, &x);

相关主题
文本预览
相关文档 最新文档