当前位置:文档之家› C语言变量的数据类型和赋值笔记

C语言变量的数据类型和赋值笔记

C语言变量的数据类型和赋值笔记
C语言变量的数据类型和赋值笔记

1》知识点

2》归类:整型、字符型、浮点型、布尔类型

1》知识点:

》变量是存储数据的方法;

》变量名可用字母、数字、下划线并且大小写敏感;

》变量第一个字符只能是字母或下划线,不能是数字;

》关键字不能作为变量名;

》声明是指用数据库类型给给变量分配存储空间的过程,由编译器执行;

》未经声明的变量不能被直接使用。

2》归类(数据类型:关键字、所占字节数、数的表示范围、格式控制符、赋值举例)

1GB = 1024MB

1MB = 1024KB

1KB = 1024B (字节:Byte)

1B = 8b (位:bit)

2.1》整型

》有符号短整型:short int,2字节,

-2^15~2^15-1,%hd,short i = 100;

无符号短整型:unsigned short int,2字节,

0~2^16-1,%hu,unsigned short i = 10;

》有符号整型:int,4字节,-2^31~2^31-1,%d,int i = 123456;

无符号整型:unsigned int,4字节,0~2^32-1,%u,unsigned i = 200;

》有符号长整型:long int,8字节,

-2^63~2^63-1,%ld,long i = 123456789L;

无符号长整型:unsigned long int,8字节,

0~2^64-1,%lu,unsigned long i15 = 123456789L;

》有符号长长整型: long long int,8字节,

-2^63~2^63-1,%lld,long long i = 123456789012345L;

无符号长长整型:unsigned long long int,8字节,0~2^64-1,%llu,unsigned long long i16 = 98765432123L;

2.2》字符型

》有符号:char,1字节,-2^7~2^7-1,%c

无符号:unsigned char,1字节,0~2^8-1,%c

》char类型常见问题汇总:

》char类型不可以存储中文

char c4 = ‘中’;//字符类型不可以存储中文

》char类型值可以作为整数类型直接使用

char c1 = 'abc';//当用单引号引起多个字符时,只保留最后一个字符

printf("%c\n", d);//结果输出只有c

char c2 = '';//两个连续的单引号,表示不赋值,所以语法错误

char c3 = ' ’;//至少带一个空格

char c5 = 97;

printf("%d\n", c5);//输出字符对应的ASCII码

printf("%c\n", c5);//输出字符

2.3》浮点型

》单精度浮点型:float,4字节,10^-38~10^37,有效位数6位,%f,float a = 3.14f或3.14F;

双精度浮点型:double,8字节,10^-308~10^307,有效位数15位,%lf,double b = 3.14;

long double,16字节,10^-4932~10^4951,有效位数16位,%Lf,long double c = 3.14L;

》浮点类型常见问题汇总:

》默认的浮点字面值为double类型,如果需要表示float类型的字面值,需要加’f’或’F’后缀。

?》浮点数存在舍入误差问题。由于浮点数内部用二进制的方式来表示十进制,会存在舍入误差。

二进制系统中无法精确地表示1/10,就好像十进

制系统中无法精确表示1/3一样。对于一些要求精

确运算的场合会导致代码的缺陷。

//舍入误差

double money = 3.0;

double price = 2.9;

printf("%.17lf\n", money - price - 0.1);//二进制数无法精确表示1/10 输出结果:

0.00000000000000008

2.4》布尔类型

》bool,1字节,0或1,%d,bool b = 0或false;

》布尔类型常见问题汇总:

》除了给bool变量赋值0或false以外,其余赋值输出结果都为1。

// bool b2 = true;

// bool b2 = 200;

// bool b3 =“abc”;

c语言选择题

1.以下运算符中优先级最低的是(C)。 A、&& B、| C、|| D、& 2.不合法的if语句是:(D) A、if(表达式) 语句1 else 语句2 B、if(表达式) 语句 C、if(表达式1)语句1 else if(表达式2)语句2 else 语句3。 D、if 关系表达式语句1 else 语句2 3.以下不是无限循环的语句为(D)。 A、while(1){x++;} B、for(;;x++=i); C、for(i=10;;i--) sum+=i; D、for(y=0,x=1;x>++y;x=i++) i=x; 4.调用函数时,基本类型变量做函数参数, 实参和对应的形参(B). A、不占用存储单元 B、各自占用独立的存储单元 C、同名时才能共用存储单元 D、共占用一个存储单元 5.已知有宏定义#define F(a) a*(a+2),则F(4+3)的值为(D). A、24 B、15 C、63 D、31 a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是(D) A、for(i=1;i<11;i++)a[i]=i; B、for(i=1;i<11;i++)a[0]=1; C、for(i=1;i<11;i++)a[i+1]=i; D、for(i=1;i<11;i++)a[i-1]=i; 7.若有说明:int a[3][4];则数组a中各元素(A)。 A 、不能得到确定的初值B、可在程序的编译阶段得到初值0 C、可在程序的运行阶段得到初值0 D、可在程序的编译或运行阶段得到初值0 8. 已定义float a; int i;选择正确的输入语句(C). A、scanf("%6.2f%3d", &a,&i); B、scanf("%f%s", &a,&i); C、scanf("%6f%3d",&a,&i); D、scanf("%f%d", a,i); 9 执行下面程序段后,k的值是:(B) int k=2; switch(k+1) { case 3:k+=1; case 4:k--;break; case 5:k*=3; case 6:++k;} A、10 B、2 C、28 b D、27 11.以下程序段中,能够正确地执行循环的是(B)。 A、int s=6; m:if(s<100) exit(0); else s-=2; goto m: B、int s=6; do s-=2; while(s); C、for(i=1;i>10;i++) D、static int a; while(a) 12.运行结果是" 11 12"的程序段是:请在A处填写正确内容(B)。 for(i=1;i<=2;i++) ___A___ A、for(j=1;j<=2;j++)printf("%3d",10*i+j);break; B、{for(j=1;j<=2;j++) printf("%3d",10*i+j);break;} C、for(j=1;j<=2;j++)printf("%3d",10*i+j);continue; D、{for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;} 13.设有以下定义: int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=a; 则数值为6的表达式是(D). A、p+5 B、*p+6 C、*(p+6) D、*p+=5 14. 语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(B)(说明:'\b'是退格符)。 A、a\bre\'hi\'y\\\bou B、re'hi'you C、a\bre\'hi\'y\bou D、abre'hi'y\bou 14.执行下面程序段后,i的值是(A).

C语言中条件运算符的语法为

条件运算符的语法为: (条件表达式)?(条件为真时的表达式):(条件为假时的表达式) 例如: x=ay?"greater than":x==y?"equal to":"less than" 它等价于: (x>y)?"greater than":((x==y)?"equal to":"less than") 当x>y时,值为"greater than",x==y时,值为"equal to",否则,值为"less than"。条件运算符的嵌套可读性不够好。 在一个条件运算符的表达式中,如果后面两个表达式的值类型相同,均为左值,则该条件运算符表达式的值为左值表达式。例如: int x=5; long a,b; (x?a:b)=1;//ok:因为a和b都是左值 (x?x:a)=2;//error:x和a不同类型。编译器将其解释为(1ong)x和a (x==271:a)=3;//error:1非左值 "(x?a:b)=1"表示当x为0时,b=1,否则a=1。这里的括号是必须的,否则将被看作x?a:(b=1)。"(x?x:a)=2”中,尽管x是左值,a也是左值,但x与a不同类型,条件运算符要对其进行操作数的隐式转换,使之成为相同的类型。任何被转换的变量都不是左值。 ->在C中,条件运算符是不能作左值的,所以"(x?a:b)=1;"将通不过编译。 getchar 函数名: getchar 功能: 从stdio流中读字符 用法: int getchar(void); 注解:

c语言选择结构试题带答案

1. 以下非法的赋值语句是 A: n=(i=2,++i); B: j++; C: ++(i+1); D: x=j>0; 2. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2 的值是A: 6 B: 0 C: 2 D: 1 3. 阅读以下程序: main() { int x; scanf(“%d”,&x); if(x--<5) printf(“%d”,x); else printf(“%d”,x++); } 程序运行后,如果从键盘上输人5,则输出结果是()。 A: 3 B: 4 C: 5 D: 6 4. 有如下程序 main0 { int a=2,b=-1,c=2; if(a main()

a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } 输出结果是( )。 A: 2,1 B: 3,2 C: 4,3 D: 2,-1 6.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是main( ) { int x; scanf("%d",&x); if(x + + >5) printf("%d",x); else printf("%d\n",x - -); } A: 7 和5 B: 6 和3 C: 7 和4 D: 6 和4 7. 能表示x 为偶数的表达式是 A: x%2==0 B: x%2==1 C: x%2 D: x%2!=0 8. 下面的程序段中共出现了几处语法错误? int a,b; scanf("%d",a); b=2a; if(b>0) printf("%b",b); A: 1 B: 2 C: 3 D: 4 9. C 语言中,逻辑“真”等价于 A: 大于零的数 B: 大于零的整数 C: 非零的数 D: 非零的整数

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语言基础练习题(含答案)

目录

第1-3章 C语言基础知识习题 1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行 B.语句 C.函数 D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行

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语言选择题

一、多项选择共31题(共计310分) 第1题(10.0分)题号:4 以下选项中,合法的字符常量是()。 A:'\t' B:'\17' C:"n" D:'\xaa' 答案:ABD 第2题(10.0分)题号:3 以下用户标识符,其中合法的是()。 A:return B:f2_G3 C:A3-3 D:abc 答案:BD 第3题(10.0分)题号:14 以下可以定义为用户标识符的有()。 A:scanf B:short C:_3com_ D:int 答案:AC 第4题(10.0分)题号:8 以下选项中合法的表达式是()。 A:0<=x<100 B:i=j==0 C:(char)(65+3) D:x+1=x+1 答案:ABC 第5题(10.0分)题号:10 以下不符合C语言语法的实型常量是()。 A:1.2E0.5 B:3.14.159E C:.5E-3 D:E15 答案:ABD 第6题(10.0分)题号:5 以下叙述中正确的是()。 A:一个C源程序可由一个或多个函数组成 B:一个C源程序必须包含一个main()函数 C:C源程序的基本组成单位是函数 D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC

第7题(10.0分)题号:20 以下正确的if语句形式是()。 A:if (x>y && x!=y); B:if (x==y) x+=y; C:if (x!=y) scanf("%d",&x) else scanf("%d",&y); D:if (x0); D:if(b==0) m=1;n=2; 答案:ABC 第12题(10.0分)题号:6 设有以下定义 int a=0; double b=1.25; char c='A'; #define d 2 则下面语句中正确的是()。 A:a++;

C语言赋值表达式

C语言赋值表达式 一、赋值运算符 1:赋值运算符 赋值运算符的符号位“=”,由赋值运算符组成的表达式称为赋值表达式。功能:先求出右边表达式的值,然后把此值赋给左边的变量。 格式:变量名=表达式 说明:在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋给的那个数据。 2:赋值表达式 例如:a=2+3 就是一个赋值表达式 使用赋值表达式应注意以下几点: a:赋值运算符的优先级只高于逗号运算符,比其他的运算符的优先级都要低,且具有自右向左的结合性。 b:赋值运算符不是数学中的等号,而是进行赋予的操作。 c:赋值表达式a=b的作用是将变量y所代表的的存储单元中的内容赋给变量x所代表的存储单元,x中原有的数据被替换掉。 d:赋值运算符的左侧只能是变量,不能是常量或表达式。 e:赋值运算符右边的表达式也可以说一个赋值表达式。 f:在c语言中,“=”被视为一个运算符,x=12是一个表达

式。 3:赋值语句 在赋值表达式的尾部加一个“;”,就构成了赋值语句。 例如:a=2+3;就是一个赋值语句。赋值语句必须在最后出现分号,分号是语句中必不可少的部分,c语言规定赋值运算符的左边不能为常量或表达式。 二、复合赋值表达式 在赋值运算符之前加上其它运算符可以构成复合赋值运算符。在c语言中共有10种复合赋值运算符,其中与算术运算符有关的复合运算符有:+=、-=、*=、/=。两个运算符之间不能有空格。复合赋值运算符的优先级与赋值运算符的优先级相同。三、赋值运算中的类型转换 如果赋值运算符两侧的数据类型不一致,在赋值前系统将自动先把右侧表达式求得的数值按赋值运算符左边变量的类型进行转换,也可以用强制类型转换的方式人为地进行转换后将值赋给赋值运算符左边的变量。 在c语言的表达式中,如果运算符两边的整型类型不相同,系统将自动地进行类型转换,规则如下: A:当赋值运算符左边的变量为短整型,右边的值为长整型变量,短整型只能接受长整型变量低位上两个字节中的数据,高位上的两个字节中的数据将丢失; B:当赋值运算符左边的变量为无符号整型,右边的值为有

C语言中《赋值运算》

3.1复合赋值运算 算术运算符―+ —* / %‖和赋值运算符―=‖结合起来,形成复合赋 值运算符。如下所示: +=:加赋值运算符。如a+=3+1,等价于a=a+(3+1)。 -=:减赋值运算符。如a-=3+1,等价于a=a-(3+1)。 *=:乘赋值运算符。如a*=3+1,等价于a=a*(3+1)。 /= :除赋值运算符。如a/=3+1,等价于a=a/(3+1)。 %= :取余赋值运算符。如a%=3+1,等价于a=a%(3+1)。 复合赋值运算符的作用是先将复合运算符右边表达式的结果与 左边的变量进行算术运算,然后再将最终结果赋予左边的变量。所以 复合运算要注意: 一、是复合运算符左边必须是变量; 二、是复合运算符右边的表达式计算完成后才参与复合赋值运算。 复合运算符常用于某个变量自身的变化,尤其当左边的变量名很 长时,使用复合运算符书写更方便。 Eg 1:赋值运算符的演示: #include void main() { int nA=10; int nB=10; printf("%d\t",nA+=nA-=nA*nA); printf("%d ",nB+=nB-=nB*=nB); } 运行结果: -180 0 3.2自增自减运算 自增运算符和自减运算符 自增和自减运算符是C++语言所特有的,主要用于给一个变量加 1或减1。自增和自减运算符及其功能如下: + +:自增运算符。如a++; ++a;都等价于a=a+1。 - -:自减运算符。如a- -; - -a;都等价于a=a-1。 自增运算符和自减运算符可以放到变量前面(前置方式)或者后 面(后置方式),这两种方式同样实现了变量的自增或自减运算。但 是当变量的自增运算或者自减运算同其它运算符配合构成一个表达 式时,前置运算时变量先做自增或自减运算,再将变化后的变量值参 加表达式中的其它运算。后置运算时变量在参加表达式中的其它运算 之后,再做自增或自减运算。

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语言基本数据类型简介 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语言赋值语句是哪个

一、选择题 1、下面程序的输出是______ main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A.k=11,k=12,k=13 B.k=11,k=13,k=13 C.k=11,k=013,k=oXb D.k=11,k=13,k=b 2、以下合法的C语言赋值语句是哪个?______ A.a=b=58 B.k=int(a+b) ; C.a=58,b=58 D.i; 3、以下程序的输出结果是______ main() { int x=10,y=3; printf(“%d\n”,y=x/y); } A.0 B. 1 C. 3 D.不确定 4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是______ A.read (a,b,c); B.scanf(“%d%d%d”,a,b,c); C.scanf(“%D%D%D”,%a,%b,%c); D.scanf(“%d%d%d”,&a,&b,&b); 5、执行下面程序段后,c3中的值是______ int c1=1 , c2=2 , c3; c3=c1/c2; A.0 B.1/2 C.0.5

D. 1 6、若执行以下程序段,其输出结果是______ int a=0 , b=0 , c=0; c=(a-=a-5) , (a=b,b+3) ; printf(“%d , %d , %d\n” , a,b,c); A.3,0,-10 B.0,0,3 C.-10,3,-10 D.3,0,3 7、若有以下定义和语句: int a=5; a++; 此处表达式a++的值是______ A.7 B. 6 C. 5 D. 4 8、在C语言中,如果下面的变量都是int类型,则输出结果是______ sum=pad=5; pad=sum++,pad++,++pad; printf("%d\n",pad); A.7 B. 6 C. 5 D. 4 9、以下程序的输出结果______ #include main() { int i=010,j=10; printf("%d,%d\n",++i,j--); } A.11,10 B.9,10 C.010,9 D.10,9

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语言程序设计》教学基本知识点 第一章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语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 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 Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

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语言选择题

第1章 1.以下叙述不正确的是()。 A、C程序的基本组成单位是函数 B、在C程序中,注释说明只能位于一条语句的后面 C、一个C源程序必须包含一个main函数 D、一个C源程序可由一个或多个函数组成 2.C语言的注释定界符是()。 A、\* *\ B、{ } C、[ ] D、/* */ 3.C语言规定,在一个源程序中,main函数的位置()。 A、必须在最开始 B、必须在系统调用的库函数的后面 C、必须在最后 D、可以任意 4.一个C程序的执行是从()。 A、本程序文件的第一个函数开始,到本程序main函数结束 B、本程序的main函数开始,到main函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 5.以下叙述中正确的是()。 A、C程序中注释部分可以出现在程序中任意合适的地方 B、分号是C语句之间的分隔符,不是语句的一部分 C、花括号“{“和”}”只能作为函数体的定界符 D、构成C程序的基本单位是函数,所有函数名都可以由用户命名 6.以下叙述正确的是()。 A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B、C语言本身没有输入输出语句 C、在C程序中,main函数必须位于程序的最前面 D、C程序的每行中只能写一条语句 7.C语言源程序的基本单位是()。 A、子程序 B、过程 C、函数 D、标识符 8.下列标识符中,不合法的C语言用户自定义标识符是()。 A、printf B、sin C、enum D、_ 9.下列四个选项中,均是C语言关键字的选项是()。 A、if struct type B、switch typedef continue C、signed union scanf D、auto enum include 10.以下叙述中错误的是() A、用户所定义的标识符应尽量做到"见名知意" B、用户所定义的标识符允许使用关键字 C、用户定义的标识符中,大、小写字母代表不同标识 D、用户所定义的标识符必须以字母或下划线开头 11.下列字符序列中,可用作C标识符的一组字符序列是()。 A、#md,&12x,month,student_n! B、D56,r_1_2,name,_st_1 C、,sum,average,_above D、class,day,lotus_1,2day 12.下面四个选项中,均是不合法的用户标识符的选项是()。 A、_123 temp int B、A P_0 do C、b-a goto int D、float la0 _A 13.下列四组选项中,均不是C语言关键字的选项是()。 A、file IF type B、include scanf case

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;

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