第三章 数据类型、运算符与表达式 练习与答案

合集下载

C语言 第三章数据类型、运算符和表达式

C语言 第三章数据类型、运算符和表达式

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C 语言浮点型常量是(C )。

A. 160.B. 0.12C. 2e4.2D. 0.02、以下选项中,(D )是不正确的C 语言字符型常量。

A. 'a'B. '\x41'C. '\101'D. "a"3、在C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。

A. 原码B. 反码C. ASCII 码D. BCD码4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C )。

x=(i=4,j=16,k=32)A. 4B. 16C.32D.525、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。

A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算6、若有代数式,则不正确的C语言表达式是(C )。

A.a/b/c*e*3B. 3*a*e/b/cC.3*a*e/b*cD. a*e/c/b*37、表达式!x||a==b 等效于( D )。

A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)8、设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是(A)。

A. 0,0B. 0,1C. 1,0D. 1,19、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a 的值是( B )。

A. 3B. 0C. 9D. -1210、在以下一组运算符中,优先级最低的运算符是( D )。

A. *B. !=C. +D. =11、设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。

A. 6B. 12C. 15D. 表达式出错12、若已定义x 和y为double 类型,则表达式x=1,y=x+3/2 的值是( C )。

第三章数据类型与运算符习题

第三章数据类型与运算符习题

第三章数据类型与运算符习题第三章数据类型⼀、选择题:1、以下标识符中,不能作为合法的C⽤户定义标识符的是()A)putchar B)doubleC)_123 D)INT2、下列字符序列中, 不可⽤作C 语⾔标识符的是()A. b70B. #abC. symbolD. a_13.以下不能定义为⽤户标识符的是:(C)A. MAINB. _HJC. 208ongD. LINE124. 以下是正确的字符常量是:( B)。

A. "c"B. '\\'C. 'W1'D. "\32a"5. 以下各项是错误的整型常量的是:(B )A. -0xcdfB. 018C. 0xeD. 0116、下列四组选项中,均不是C语⾔关键字的选项是:( A)A) define B) getc C) include D) whileIF char scanf gotype printf case pow7、下⾯四个选项中,均是正确的⼋进制数或⼗六进制数的选项是:(C )A) -10 B) 0abc C) 0010 D) 0al20x8f -017 -0x11 -0xl23A) 0.0 B) "a" C) '3' D) +0010f 3.9E-2.5 011 0xabcd8.9e lel0xFFOO 2e2 '&''\' '' 0a 50.9、下⾯不正确的字符串常量是:( A)。

A) 'abc' B) "12'12" C) "0" D) ""10.设int类型的数据长度为2字节,则该类型数据的取值范围是:(D)A. 0⾄65536B. 0⾄65535C. -32767⾄32768D. -32768⾄3276711、在C语⾔中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为(A )A)char < int < 1ong int <= float < doubleB)char = int < 1ong int <= float < doubleC)char < int < 1ong int = float = doubleD)char = int = 1ong int <= float < double12.若有以下程序段(n所赋的是⼋进制数)int m=32767,n=0327;printf("%d,%o\n",m,n);执⾏后输出结果是:()A) 32767,327 B) 32767,0327 C) 32767,777 D) 32767,077713.设变量a是整形,f是实型,i是双精度型,则表达式10+′a′+i*f值的数据类型为:()A. intB. floatC. doubleD. 不确定14. 在C语⾔中,char型数据在内存中的存储形式是:()A. 补码B. 反码C. 源码D. ASCII码15. 字符串"a"在内存中占据的字节个数为:()A. 016.下列为字符常量的是:()A.“a”B. ...ab?C....\n?D. (084)17.在C语⾔中,下⾯字符串能⽤作变量名的是:()A. a+bB. autoC. 2-andD. a218.已知字母A的ASCII码为⼗进制数65,且c2为字符型,则执⾏语句c2 = 'A' + '6' - '3';后c2中的值为( )A) D B) 68 C) 不确定的值D) C19.下列为字符常量的是()A.“a”B. ...ab?C....\n?D. (084)20.在C语⾔中,下⾯字符串能⽤作变量名的是()A. a+b B. auto C. 2-and D. a2⼆、填空题:1. 在C语⾔中的实型变量分为两种类型,它们是_ __ 和 ___ ___。

数据类型、运算符与表达式

数据类型、运算符与表达式

一、选择题1. 本题序号:39在C语言中运算对象必须是整型的运算符是()A %B !C /D *参考答案A2. 本题序号:65下列关于C语言的叙述错误的是()A 大写字母和小写字母的意义相同B 不同类型的变量可以在一个表达式中C 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D 同一个运算符号在不同的场合可以有不同的含义参考答案A3. 本题序号:66在C语言中,错误的int类型的常数是()。

A 32768B 0C 037D 0xAF参考答案A4. 本题序号:330如果有整型变量x,浮点型变量y,双精度型变量z,则表达式y*z+x+y执行后的类型为()A 双精度B 浮点型C 整型D 逻辑型参考答案A5. 本题序号:374设C语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围是()A 0—255B 0—32767C 0—65535D 0--2147483647参考答案C6. 本题序号:380以下正确的叙述是()A 在C程序中,每行只能写一条语句;B 若a是实型数据,C程序中允许赋值a=10,因此实型变量中允许存放整型数;C 在C程序中,无论是整数还是实数,都能被正确无误的表示;D 在C程序中,%是只能用于整数的运算符;参考答案B7. 本题序号:406若有int q,p;以下不正确的语句是()A p*=3;B p/=q;C p+=3;D p&&=q;参考答案D8. 本题序号:429设有float x;则x是____变量。

A 整型B 实型C 字符型D 长型参考答案B9. 本题序号:460C语言中运算对象必须是整型的运算符是()A %=B /C =D <=参考答案A10. 本题序号:503不合法的十六进制数是()A oxffB 0xabcC 0x11D 0xbeef参考答案A11. 本题序号:507以下叙述中正确的是()A a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型数值;B 在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式;C 执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已经由原值改变为b的值,b的值由原值变为0;D 已有a=3,b=5;当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3;参考答案A12. 本题序号:576turbo c中int类型变量所占字节数是()A 1B 2C 3D 4参考答案B13. 本题序号:580正确的合法的定义变量的语句是A int ab_=086;B int _ab=0xE8C char a-b=…1‟;D float a3.b;参考答案B14. 本题序号:607以下选项中不属于C语言的类型的是A signed short intB unsigned long intC unsigned intD long short参考答案D15. 本题序号:690正确的字符串常量是A “ABCD”B {ABCD}C …ABCD‟D ABCD参考答案A16. 本题序号:694以下选项中属于C语言的数据类型是A 复数型B 逻辑型C 双精度型D 集合型参考答案17. 本题序号:695以下运算符中优先级最低的运算符是A &&B &C ||D =参考答案D18. 本题序号:769以下叙述中错误的是A 用户所定义的标识符允许使用关键字B 用户所定义的标识符应尽量做到“见名知意”C 用户所定义的标识符必须以字母或下划线开头D 用户定义的标识符中,大、小写字母代表不同标识参考答案A19. 本题序号:928以下不能定义为用户标识符的是A scanfB V oidC _3com_D int参考答案D20. 本题序号:945已定义c为字符型变量,则下列语句中正确的是()。

第三章数据类型、运算符与表达式

第三章数据类型、运算符与表达式

设x的值为4,则表达式y=(++x)+(++x)+(++x)后,y的值是(D)。

A.12B.18C.16D.21下列数据中,为字符的是(D)。

A.‘AB’B."A"C.HowD.‘A'以下符号中,合法的用户标识符是(D)。

A. -pB. intC. 3abD. _xt_以下实型常量中,符合C语言语法的是(A)。

A. .5E-3B. 1.2E0.5C. E15D. 3.14.159E若有说明和语句:int a=5,b=6;b*=a+1;则b的值为(D)A. 5B. 6C. 31D. 36设C 语言中,int 类型数据占4个字节,则short 类型数据占(C)。

A.1个字节B.2个字节C.4个字节D.8个字节若x=3.5,a=2,y=2.5,b=3则表达式(float)(a+b)/2+(int)x%(int)y的值是()。

A.1.5B.2.5C.3.5D.2以下选项中不属于C语言的类型的是(D)。

A.signed short intB.unsigned long intC.unsigned intD.long short关于C语言数据类型的叙述,正确的是(C)。

A. 整型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型若a=12,则表达式a-=a的值为(A)。

A. 0B.12C.1D. 24若x=3.5,a=2,y=2.5,b=3则表达式(int)(a+b)/2+(int)x%(int)y的值是(D)。

A. 1.5B. 2.5C. 3D. 3.5若a是数值类型,则逻辑表达式(a==1)&&(a!=1)的值是(C)。

A.1B. 2C. 0D. 不知道a的值,不能确定若char x=97,则变量x对应(A)字符。

A. ‘a’B. ‘A’C. ‘9’D. ‘7’设C语言中,int类型数据占2个字节,则float类型数据占(C)字节。

C语言数据类型、运算符与表达式上机真题答案与解析

C语言数据类型、运算符与表达式上机真题答案与解析

数据类型、运算符与表达式(7题)第1题:#include <stdio.h>#include <math.h>void main(){int x;/**/ float f; /**/ 定义一个变量来存放表达式的值,注意应定义成浮点型,因为结果包含小数printf("Input an integer: ");scanf("%d",&x);f = /**/ (fabs(x)-2)/(x*x+1) /**/ ; 表达式书写时注意分子分母用括号括起来printf("F(x)=%f\n",f);getch();}第2题:#include <stdio.h>main(){ int x;printf("Please input a number:\n");scanf("%d",/**/ &x /**/); 取地址符 & 不要忘了printf("%d*%d=%d\n", x,x,/**/x*x /**/);getch();}第3题:#include <math.h>#include <stdio.h>double fun1(double x){ /**/return (1+sin(x)+exp(x))/(1+x);/**/}void main(){clrscr();printf("fun1(0.76) = %8.3lf\n", fun1(0.76));printf("fun1(3.00) = %8.3lf\n", fun1(3.00));printf("fun1(3.76) = %8.3lf\n", fun1(3.76));}第4题:#include <math.h>#include <stdio.h>double fun1(double x){ /**/return (exp(x)+fabs(x-6))/(x+1.3);/**/}void main(){clrscr();printf("fun1(0.76) = %8.3lf\n", fun1(0.76));printf("fun1(3.00) = %8.3lf\n", fun1(3.00));printf("fun1(3.76) = %8.3lf\n", fun1(3.76));}第5题:#include <stdio.h>#include <math.h>/**/ double /**/ fun(float a,float b,float c)函数类型由返回值类型确定,因area 是float型所以可设为double或float型{float s,area ;s = /**/ (a+b+c)/2 /**/;根据题意可知s = s*(s-a)*(s-b)*(s-c);计算面积if( s < 0 ) 不能构成三角形的情况area = -1;elsearea = sqrt(s);return area ;}main(){float a,b,c,area;printf("Please input three numbers:\t");scanf("%f%f%f", &a,&b,&c );输入三边长,注意scanf格式,本题输入时不能用逗号隔开,应用空格或回车area = fun(a,b,c);调用fun函数,传递三边长,计算面积,并接收fun函数返回的面积存于area中printf("Area is: %.2f\n",area);getch();}第6题:19、求函数值补充程序ccon071.c,对函数f(x)=x2-2x+6,分别计算f(x+8)和f(sin x)的值。

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

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

c语言程序设计第三章答案第三章:运算符与表达式一、算术运算符在C语言中,算术运算符用于在表达式中执行各种数学运算。

常见的算术运算符有加法运算符(+)、减法运算符(-)、乘法运算符(*)和除法运算符(/)等。

1. 加法运算符(+)加法运算符用于将两个操作数相加,并返回它们的和。

例如,表达式a + b将返回a和b的和。

2. 减法运算符(-)减法运算符用于从第一个操作数中减去第二个操作数,并返回它们的差。

例如,表达式a - b将返回a和b的差。

3. 乘法运算符(*)乘法运算符用于将两个操作数相乘,并返回它们的积。

例如,表达式a * b将返回a和b的积。

4. 除法运算符(/)除法运算符用于将第一个操作数除以第二个操作数,并返回它们的商。

例如,表达式a / b将返回a除以b的商。

二、关系运算符关系运算符用于比较两个操作数并返回一个布尔值(真或假)。

常见的关系运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)等。

1. 大于运算符(>)大于运算符用于检查第一个操作数是否大于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a > b将返回真或假。

2. 小于运算符(<)小于运算符用于检查第一个操作数是否小于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a < b将返回真或假。

3. 大于等于运算符(>=)大于等于运算符用于检查第一个操作数是否大于或等于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a >= b 将返回真或假。

4. 小于等于运算符(<=)小于等于运算符用于检查第一个操作数是否小于或等于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a <= b 将返回真或假。

5. 等于运算符(==)等于运算符用于检查两个操作数是否相等。

C练习_数据类型运算符及表达式_选择题-答案-

C练习_数据类型运算符及表达式_选择题-答案-
C) -1,-1,-1,-1 D) 32767,-1,-1,-1
A
52..阅读下面的程序
main()
{
int i,j;
scanf("%3d%2d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
如果从键盘上输入1234567<回车>,则程序的运行结果是:
A) i=123,j=4567 B) i=1234,j=567
D) char=int=long int<=float<double
A
4.在C语言的变量类型说明中,int,char,float等类型的长度是:
A)固定的B)由用户自己定义的
C)任意的D)与机器字长有关的
D
5.下列四组常数中,均是正确的八进制数或十六进制数的一组是:
A) 016 0xbf 018
B) 0abc 017 0xa
C) 8,10,10 D) 8,8,10
B
46.执行下列语句后,输出结果是:
int a;
long int b=65536;
a=b;
printf("%d\n",a);
A) 65536 B) 0
C) -1 D) 1
B
47.若有定义int a=12,则表达式a+=a-=a*=a的值是:
A) 0 B) -264
C) a=-32768 D) a=-1
C
14.在C语言中,下面合法的长整型数是:
A)0LB) 4962710
C) 0.054838743 D) 2.1869e10
A
15.若有说明语句:char c='\101';则变量c:

C语言(数据类型与运算符)习题与答案

C语言(数据类型与运算符)习题与答案

一、单选题1、表达式:(int)((double)9/2)-(9)%2 的值是A.1B.0C.4D.3正确答案:D解析: D、整数除以整数,结果为整数2、若有定义语句:int x=10; ,则表达式 x-=x+x 的值为A.0B.-10C.10D.20正确答案:B3、以下选项中,不能作为合法常量的是A.1.234e+4B.1.234e04C.1.234e0.4D.1.234e0正确答案:C解析: C、指数次数必须为整型4、下列选项中,不能用作标识符的是A.int_2_B.i_nt123C. _1234_D.2_int_正确答案:D5、设有定义:float a=2,b=4,h=3; 以下C语言表达式与代数式(a+b)/2 × h 计算结果不相符的是A.(1/2)*(a+b)*hB.h/2*(a+b)C.(a+b)*h/2D.(a+b)*h*1/2正确答案:A二、填空题1、若有定义语句:int a=5;,则表达式:a++ 的值是________。

正确答案:5解析:相当于 y=a++,求y的值,++在后,先使用a的值赋给y,之后再给a增1 2、若有语句 double x=17; int y; ,当执行 y=(int)(x/5)%2;之后y 的值为 ________。

正确答案:1解析: %运算要求两数为整数,结果为整数3、设有语句char a='\072';则变量a最终获得________个字符?(仅填写具体阿拉伯数字)正确答案:1解析:这是一个转义字符4、一个float型变量占________个字节?(仅填写具体阿拉伯数字)正确答案:45、int a=5,b=6,c=7,f; f=c>b>a ;f的最终结果是________。

正确答案:0解析:关系运算只能两两判断。

数据类型、运算符与表达式 习题三及参考答案

数据类型、运算符与表达式 习题三及参考答案

第三章习题参考答案一、单项选择题1、C语言中字符型(char)在内存中的形式存储是()。

A)源码 B)补码 C)反码D)ASCII码2、运算符有优先级,在C语言中关于运算符优先级的正确叙述是()。

A)逻辑运算符高于算术运算符,算术运算符高于关系运算符B)算术运算符高于关系运算符,关系运算符高于赋值运算符C)算术运算符高于逻辑运算符,关系运算符高于关系运算符D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符3、C语言并不是非常严格的缩放语言,在以下关于C语言的不严格的叙述中,错误的说法是()。

A)任何不同数据类型都不可以通用B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4、以下选项中属于C语言的数据类型是()。

A)复数型 B)逻辑型C)双精度型 D)集合型5、在C语言中,int、char和short三种类型数据所占的内存()。

A)均为2个字节 B)由用户自己定义C)由所用机器的字长决定 D)是任意的6、下列常数中不能作为C语言的数据类型是()。

A)0xa5 B)2.5e-2 C)3e2 D)05827、设int类型的数据长度为2字节,则unsigned int类型数据的取值范围是()。

A)0至255 B)0至65535 C)-256至255 D)-32768至327678、在C语言中,数字029是一个()。

A)八进制数 B)十六进制数 C)十进制D)非法数9、下列可以正确表示字符型常数的是()。

A)”a”B)'\t’ C)”\n” D)29710、以下错误的转义字符是()。

A)'\\’ B)'\'’ C)'\81’ D)'\0’11、C语言中整数-8在内存中的存储形式是()。

A)1111 1111 1111 1000 B)1000 0000 0000 0000C)0000 0000 0000 1000 D)1111 1111 1111 011112、已知 int i; float f; 正确的语句是()。

C、C++程序设计:数据类型、运算符和表达式单元测试与答案

C、C++程序设计:数据类型、运算符和表达式单元测试与答案

一、单选题
1、若有x=1,y=2,z=3,则表达式(x<y?x:y)==z的值是()。

A.1
B.0
C.3
D.2
正确答案:B
2、设整型变量a为5,使b不为2的表达式是()。

A. b=a%2
B.b = 6-(--a)
C. b=a>3?2:1
D. b = a/2
正确答案:A
3、下列语句不具有赋值功能的是()。

A.a*=b
B.x=1
C.a+b
D.a++
正确答案:C
4、在C语言中,要求参加运算的数必须是整数的运算符是( )。

A.*
B./
C.%
D.=
正确答案:C
5、以下能正确定义整型变量a、b、c并为其赋初值5的语句是()。

A.int a,b, c=5;
B.int a=b=c=5;
C.int a=5,b=5,c=5;
D.a=b=c=5;
正确答案:C
二、判断题
1、在C语言中,所有算术运算符的优先级都相同。

()
正确答案:×
2、'b'和"b"是不同的两种常量。

()
正确答案:√
3、表达式a*b>0 可以表示“a和b同时为正或同时为负”()正确答案:√
三、填空题
1、若已定义int x=1,y=1; 则表达式x--&&y--的值是()。

正确答案: true
2、当a=3,b=2,c=1时,表达式f=a>b>c的值是( )。

正确答案:0。

C语言运算符与表达式训练附答案

C语言运算符与表达式训练附答案

逻辑表达式类型:与运算、 或运算、非运算
逻辑运算符:&&、||、!
逻辑表达式应用:条件判断、 循环控制
逻辑表达式注意事项:运算 符优先级、括号的使用
条件表达式定义
条件表达式的语法
条件表达式的应用
条件表达式的注意 事项
逗号表达式的定义 逗号表达式的语法结构 逗号表达式的执行顺序 逗号表达式的应用场景
编写一个C程序, 要求输入两个浮 点数,计算它们 的和、差、积、 商,并将结果输 出到屏幕上。
编写一个C程序, 要求输入一个字符 串和一个整数,将 字符串中的第几个 字符替换为指定的 字符,并将结果输 出到屏幕上。
编写一个C语 言程序,要求 实现两个数的 四则运算,并
输出结果。
编写一个C语言 程序,要求实 现一个简单的 计算器,可以 进行加减乘除
逻辑或(||):用于连接两个或多个条件,只要其中一个条件为真,结果就为真。
单击此处添加正文,文字是您思想的提炼,请言简意赅的阐述您的观点。单击此处添加正文, 文字是您思想的提炼,请言简意赅的阐述您的观点。
逻辑非(!):用于对一个条件取反,当条件为真时,结果为假;当条件为假时,结果为真。
单击此处添加正文,文字是您思想的提炼,请言简意赅的阐述您的观点。单击此处添加正文, 文字是您思想的提炼,请言简意赅的阐述您的观点。
条件运算符的语法:使用"?"和":"表示条件运算符的格式 条件运算符的执行顺序:先计算条件表达式,再执行相应的语句 条件运算符的应用示例:使用条件运算符进行条件判断和选择执行语句
注意事项:避免在条件表达式中过度嵌套条件运算符,以免影响代码可读性和性能
逗号运算符的定 义
逗号运算符的优 先级

C语言第三章数据类型和运算符及表达式复习题

C语言第三章数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768 b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) 34566666 d) 213&8. 以下正确的实型常量是()a) 1.2E b) .579899 c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0 d) 1.3E10. 以下合法的八进制数是()a) 0135 b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019 b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6.500000 b) 6 c) 5.500000 d) 6.000000 17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式cb a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c 20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式zy x ⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z 21. 不能正确表示代数式d c ba ⋅⋅的C 语言表达式是( )a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( )a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( )a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n ”,y);printf(“y=%+06d\n ”,y);}程序运行的结果是:( )a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111y=001111 y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n ”,y);printf(“*y=%-7o*\n ”,y);printf(“*y=%07o*\n ”,y);}程序运行的结果是:( )a) *y= 710* b) *y= 456**y=710 * *y=456 **y=0000710* *y=0000456*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.667000* b) *3.667000** 3.67* *3.667 ** 4* *4.000000*c) *3.667* d) *3.667000**3.667000* *3.67**3.667000* *4.000000*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1 c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768 d) b=-139.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是______.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是______.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_____.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是_______.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为______.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是___,变量x的值是___,变量y的值是____.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是_____,变量y的值是_______。

数据类型运算符与表达式练习题

数据类型运算符与表达式练习题

精品文档第三章运算符与表达式练习题一、单项选择题1.下列数据中属于“字符串常量”的是()。

A.”a” B. {ABC} C. 'abc\0' D. 'a'2.下列数据中属于“字符串常量”的是()。

A.ABC B. “ABC” C. 'abc' D. 'a'3. 在PC机中,'\n'在内存占用的字节数是()。

A. 1B. 2C. 3D. 44. 在PC机中,”a\xff”在内存占用的字节数是()。

A. 5B. 6C. 3D. 45.字符串”\”ABCD\””在内存占用的字节数是()。

A. 4B. 6C. 7D. 86. 在C语言中,合法的长整型常数是()。

A. 0LB. 49627C. 0.054838743D. 2.1869e107.在C语言中,合法的短整型常数是()。

A. OLB. 0821C. 40000D. 0x2a8.下列数据中不属于“字符常量”的是()。

A. ‘\a'B. ‘\160'C. ‘070'D. 0709.char型常量在内存中存放的是()。

A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。

A. 1B. 0C. -1D. 出错11.在以下一组运算符中,优先级最高的运算符是()。

A. <=B. =C. %D. &&12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。

A. 0B. 1C. 2D. 表达式出错13.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。

A. 4,4B. 6,6C. 4,6D. 6,414.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。

(答案)数据类型、运算符与表达式

(答案)数据类型、运算符与表达式

1 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为A) int B) float C) double D) 不确定2 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为A) D B) 68 C) 不确定的值D) C3 若有以下定义,则能使值为3的表达式是int k=7,x=12;A) x%=(k%=5) B) x%=(k-k%5)C) x%=k-k%5 D) (x%=k)-(k%=5)4 设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为A) float B) char C) int D) double5 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为A) 0--255 B) 0--32767 C) 0--65535D) 0--21474836476 表达式18/4*sqrt(4.0)/8值的数据类型为A) int B) float C) double D) 不确定7若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是A) (exp==0) B) (exp!=0)C) (exp= =1) D) (exp!=1)8 在C语言中,char型数据在内存中的存储形式是A) 补码B) 反码C) 原码D) ASCII码9 若运行时给变量x输入12,则以下程序的运行结果是void main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A) 0 B) 22 C) 12 D) 1010 sizeof(float)是A) 一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式11 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A) 2.500000 B) 2.750000 C) 3.500000 D) 0.00000012 若有说明语句:char c='\72';则变量cA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,c的值不确定13 在C语言中,int、char和short三种类型数据在内存中所占用的字节数A) 由用户自己定义B) 均为2个字节C) 是任意的D) 由所用机器的机器字长决定14 若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum 的值为A) 7 B) 8C) 9 D) 1015 设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -116 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A) n=(n*100+0.5)/100.0 B) m=n*100+0.5,n=m/100.0C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.017 能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10&&a<=0 D) a>=10‖a<=018 下列变量定义中合法的是A) short _a=1-.1e-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;19 下列程序执行后的输出结果是(小数点后只写一位)void main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}A) 6 6 6.0 6.0B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.020 下列程序的输出结果是void main(){ double d=3.2; int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2 C) 0D) 3.0721 设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 1222 有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为A) true B) false C) 0 D) 123 设以下变量均为int类型,则值不等于7的表达式是A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y)D) (y=6,y+1,x=y,x+1)24 设有说明语句:char a='\72';则变量aA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法25 以下符合C语言语法的赋值表达式是//没有答案A) d=9+e+f=d+9 B) d=9+e,f=d+9C) d=9+e,e++,d+9 D) d=9+e++=d+726 有如下程序void main(){ int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}运行该程序的输出结果是A) 3 4 B) 4 2 C) 4 3 D) 3 327 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0B) 0.5 C) 1 D) 228 若变量a、i已正确定义,且i已正确赋值,合法的语句是A) a= =1 B) ++i; C) a=a++=5; D) a=int(i);29 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) 2.0D) 2.530 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b31 下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型32 有如下函数调用语句//注:此题可以不做func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A) 3B) 4 C) 5 D) 有语法错33 有以下程序void main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出结果是A) 9,2 B) 10,2C) 9,1 D) 10,134 在C语言中,要求运算数必须是整型的运算符是A) / B) ++ C) != D) %35 下列四个选项中,均是C语言关键字的选项是A) auto enum include B) switch typedef continueC) signed union scanf D) if struct type36 下列四组选项中,均不是C语言关键字的选项是A) define IF type B) getc char printfC) include scanf case D) while go pow37 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是A) 7 B) 8C) 6 D) 238 若x,i,j和k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32);A) 4 B) 16 C) 32D) 5239 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字和下划线中任一字符40 有以下程序void main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\017";printf ("%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确B) b='\xbc';语句不正确C) d="\0127";语句不正确D) a='\';和c='\0xab';语句都不正确41 下面四个选项中,均是合法整型常量的选项是A) 160 -0xffff 011B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 0x42 有以下程序void main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是A) 1,1,2 B) 2,2,1 C) 2,2,2D) 2,2,343 有以下程序段int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,044 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是A) 0X0 B) 0x0 C) 0D) 0XABC45 下列关于单目运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量46 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767;printf("%d,%o\n",m,n);执行后输出结果是A) 32767,32767B) 32767,032767C) 32767,77777 D) 32767,07777747 下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现在下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头48 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A) char<int<long int<=float<doubleB) char=int<long int<=float<doubleC) char<int<long int=float=doubleD) char=int=long int<=float<double49 下面四个选项中,均是不正确的八进制数或十六进制数的选项是A) 016 0x8f 018 B) 0abc 017 0xaC) 010 -0x11 0x16 D) 0a12 7ff -12350 以下正确的叙述是A) 在C程序中,每行中只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,无论是整数还是实数,都能被准确无误地表示D) 在C程序中,%是只能用于整数运算的运算符51 以下不正确的叙述是A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,APH和aph是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值52 已知各变量的类型如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是A) a+=a-=(b=4)*(a=3)B) a=a*3+2C) x%(-3) D) y=float(i)53 已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是A) x%(-3) B) w+=-2C) k=(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)54 下面不正确的字符串常量是A) 'abc'B) "12'12" C) "0" D) " "55 下面四个选项中,均是不合法的用户标识符的选项是A) A P_0 do B) float la0 _AC) b-a goto int D) _123 temp int56 下面四个选项中,均是正确的八进制数或十六进制数的选项是A) -10 0x8f -011 B) 0abc -017 0xcC) 0010 -0x11 0xf1D) 0a12 -0x123 -0xa57 C语言中运算对象必须是整型的运算符是A) %=B) / C) = D) 〈=58 下面正确的字符常量是A) "c" B) '\\'' C) 'W' D) ''59 下面四个选项中,均是不合法的转义字符的选项是//注:此题无正确选项A) '\"' '\\' '\xf' B) '\1011' '\' '\a'C) '\011' '\f' '\}' D) '\abc' '\101' 'xlf'60 下面四个选项中,均是合法转义字符的选项是A) '\'' '\\' '\n'B) '\' '\017' '\"'C) '\018' '\f' 'xab' D) '\\0' '\101' 'xlf'61 下面四个选项中,均是合法的浮点数的选项是A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-062 下面四个选项中,均是不合法的浮点数的选项是A) 160. 0.12 e3 B) 123 2e4.2 .e5C) -.18 123e4 0.0 D) -e3 .234 1e363 下面四个选项中,均是不合法的整型常量的选项是A) -0f1 -0xffff 0011 B) -0xcdf 017 12,456C) -018 999 5e2 D) -0x48eg -068 03f64 下面四个选项中,均是正确的数值常量或字符常量的选项是A) 0.0 0f 8.9e '&' B) "a" 3.9e-2.5 1e1 '\"'C) '3' 011 0xff00 0a D) +001 0xabcd 2e2 50.65 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序运行后,m的值是A) 4 B) 3 C) 2 D) 166 以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define67 在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是A) a=20000+20000; B) a=4000*10;C) a=30000+10000; D) a=4000L*10L;68 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A) scanf("%d%d%d",&a,&b,d); B) scanf("%d%d%d",&a,&b,&d);C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);69 以下选项中不属于C语言的类型的是A) signed short imt B) unsigned long intC) unsigned int D) long short70 以下程序段的输出结果是int a=1234;printf("%2d\n",a);A) 12 B) 34 C) 1234 D) 提示出错、无结果71 若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是A) a的值是字符C B) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符‘A’的ASCII值加上1。

《C程序设计》练习及答案

《C程序设计》练习及答案

《C程序设计》练习及答案选择题部分第一章c语言概述选择题1、一个c程序的继续执行从______。

a、本程序的main函数开始,到main函数的结束b、本程序文件的第一个函数已经开始,至本程序文件的最后一个函数的完结c、本程序文件的main已经开始,至本程序文件的最后一个函数的完结d、本程序文件的第一个函数已经开始,至本程序文件的main函数的完结2、以下描述恰当的就是______。

a、在c程序中main函数必须位于程序的最前面b、c程序的每行中只能写一条语句c、c语言本身没有输入输出语句d、在对一个c程序展开编程的过程中,可以辨认出注解中的错误3、以下描述不恰当的就是______。

a、一个c源程序可由一个或多个函数组成b、一个c源程序必须包含一个main函数c、c程序的基本组成单位是函数d、在c程序中,注解表明就可以坐落于一条语句的后面4、c语言规定,在一个源程序中,main函数的位置______。

a、必须在最为已经开始b、必须在系统调用的库函数的后面c、可以任一必须在最后5、一个c语言程序是由______。

a、一个主程序和若干子程序共同组成b、函数共同组成c、若干过程共同组成d若干子程序共同组成、、d(acdcb)第三章数据类型、运算符与表达式(红色显示的部分为参考答案)1、如果x、i、j和k都就是int型变量,则排序下面表达式后,x的值______。

x=(i=4,j=16,k=32)a.4b.16c.32d.522、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是______。

a.7b.8c.6d.23、以下四组选项中,均不是c语言关键字的选项就是______。

a.defineiftypeb.getccharprintfc.includescanfcased.whilegopow4、下列四组选项中,均是c语言关键字的选项是______。

a.autoenumincludeb.switchtypedefcontinuec.signedunionscanfd.ifstructtype5、下列四组选项中,均是不合法的用户标识符的选项是______。

知识点一数据类型、运算符及表达式模拟练习(答案版)

知识点一数据类型、运算符及表达式模拟练习(答案版)

知识点⼀数据类型、运算符及表达式模拟练习(答案版)模拟练习⼀(数据类型、运算符及表达式)※基础知识及数据类型1.⼀个C语⾔程序是由()组成。

(☆基础知识☆)A.主程序B.⼦程序C. 函数D.过程2.⼀个C程序总是从()开始执⾏。

(☆基础知识☆)A.程序的第⼀条执⾏语句B.主函数C.⼦程序D.主程序3.⼀个C语⾔程序()(☆基础知识☆)A.应当只包含⼀到多个主函数B.应当由两个主函数C.只能有⼀个主函数D.可以没有主函数4.C语⾔规定:在⼀个源程序中,main函数的位置()(☆基础知识☆)A.必须在最开始B.必须在系统调⽤的库函数的后⾯C.可以任意D.必须在最后5.C语⾔程序中,main()函数的特征是()(☆基础知识☆)A.可独⽴运⾏的程序B.必不可少的函数C.最先执⾏的函数D.具有前述三特征的函数6.以下叙述中正确的是()(☆基础知识☆)A.C语⾔的源程序不必通过编译就可以直接运⾏B.C语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令C.C源程序经编译形成的⼆进制代码可以直接运⾏D.C语⾔中的函数不可以单独进⾏编辑7.下⾯4组常量,合法的⼀组C语⾔常量是()(◆常量◆)A. O 0x10 2E+9 ‘a’ ‘ ’ ’B. 10 10L E1 ‘a’ ‘\0’8.下⾯不正确的字符串常量是()(◆常量◆)A. ‘abc’B. “12’ 12”C. “w”D. “ “9.以下选项中不正确的实型常量是()(◆常量◆)A. 2.6E-1B.0.8324eC.-78.8745D.456e-210.以下正确的实型常量是()(◆常量◆)A.2B.3.12e0.8C.e8D.5.6E-211.以下所列的C语⾔常量中,错误的是()(◆常量◆)A.0xFFB.1.2e0.5C.2LD.’\72’12.下列字符序列中,可⽤作C语⾔⽤户标识符的是()(◆标识符◆)A.enumB._123C.%asD.#age13.对下列标识符或表达形式,正确的是()(◆标识符◆)A.M.johnB.charC.3.2e0.8D.e814.下⾯标识符中,不合法的⽤户标识符是()(◆标识符◆)A . _charB . char C. ab D. a_b15.下⾯标识符中,合法的⽤户标识符是()(◆标识符◆)B. U-3C.2aD. static16.下⾯标识符中,合法的⽤户标识符为()(◆标识符◆)A.p#AdB.12aC.charD._int17.下列语句中正确的是()(◆数据类型◆)A.int s_1[]=”012345”;B.char s[3]={‘1’,’2’,’3’,’4’};C.char *string=”hello!”;D.ch=”how are you?”;18.设int类型的数据长度为2个字节,unsigned int类型数据的取值范围是()(◆数据类型◆)A.-32768~32767B. 0~255C.0~65535D.13019.在C语⾔中,int, char和short int三种类型变量所占⽤的内存⼤⼩是()(◆数据类型◆)A.均为2个字节B.由⽤户⾃⼰定义C.由所⽤机器的字长决定D.是任意的20.若有以下类型说明语句:(◆数据类型◆)char a; int b; float c; short int d;则表达式(c*b+a)*d的结果类型是() A.char B.int C.double D.float21.若已定义x和y为float 类型,则表达式:x=2,y=x+3/2的值是()(◆数据类型◆)A.4B. 3C.3.0D.3.522.若变量a是int类型,并执⾏了语句:a=’A’+1.6;,则正确的叙述是()(◆数据类型◆)A.a的值是字符CB.a的值是浮点型D.a的值是字符’A’的ASCII值加上123.以下选择中不属于C语⾔的类型的是()(◆数据类型◆)A.signedshortintB.unsignedlong intC.unsignedintD.longshort24.下列程序(◆转义字符◆)void main(){printf(“_ab_c\t_de\rf\tg\n”);printf(“h\ti\b\bj_k\n”);} 执⾏后的结果是()A. fab_c___gdeB. fab_c___gdeC. fa__c___gdeD. fa__c___gdeh_______jik h_______ji_ h_______jik h_______ji_25.下列字符中,不正确的转义字符是()(◆转义字符◆)A.’\2’B.’\r’C.’\\’D.’\108’26.在C语⾔中,下列选项说法错误的是()(☆基础知识☆)A.main函数是程序的⼊⼝B.严格区分⼤⼩写C.可以进⾏位运算D.⼀个字符占两个字节27.以下不是C语⾔规定的保留字的是()(◆关键字(保留字)◆)A.typedefB.enumC.FloatD.static28.以下是C语⾔规定的保留字的是()(◆关键字(保留字)◆)A.typeefB.outC.closeD.static29.下列选项中,不合法的C语⾔关键字是()(◆关键字(保留字)◆)A.voidB.char30.对于C语⾔程序中的变量,()是正确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章数据类型、运算符与表达式[试题分类]:1.{下列程序执行后的输出结果是________________。

#define MA(x) x*(x-1)mian()\{int a=1,b=2;pirntf(“%d\n”,MA(1+a+b));\}}试题编号:E54749答案:8题型:填空题2.C语言中基本数据类型包括整型、实型、字符型。

()试题编号:E57279答案:正确题型:判断题3.{要得到下列结果:a, bA, B97,98,65,66请按要求完善程序。

main( )\{char c1,c2;c1=’a’;c2=’b’;printf(“%c,%c ”,c1,c2);printf(“%c,%c\n”, ___);printf(“%d,%d,%d,%d\n”,_c1,c2,c1-32,c2-32);\}}试题编号:E55118答案:c1-32,c2-32题型:填空题4.能表示“整型变量x的绝对值小于5”的表达式是___。

(注意本题答案中规定不得使用系统函数)。

试题编号:E55113答案:(x<5)&&(x>-5)题型:填空题5.设有定义"int a,b=10;",则执行语句"a=b<<2+1;"后a的值___。

试题编号:E55111答案:80题型:填空题6.设有定义"int x=4;",则表达式"x+=x*=x+1"的值是___。

试题编号:E55110答案:40题型:填空题7.有下列运算符:>>、&&、|、!=,优先级别最高的是___。

试题编号:E55109答案:>>题型:填空题8.用十进制来表示无符号短整型数据的数值范围是___。

试题编号:E55108答案:0~65535题型:填空题9.{设有以下变量说明语句char w='A';int x=10;float y=20;double z=30;则执行赋值语句x=w*x+z-y;之后x所得值的数据类是___。

}试题编号:E55106答案:int型 & 整型题型:填空题10.{设有变量说明语句double d=5.4;int a,b;则执行下述语句组的输出结果是___。

b=((a=2.1)+1.5)/3.6;d*=b;printf("%f\n",d);}试题编号:E55104答案:0.000000题型:填空题11.在C语言中,___类型变量的所有成员以覆盖方式共享存储单元。

试题编号:E53887答案:共用型 & union题型:填空题[试题分类]:变量12.{C语言中,可以用下面的语句定义变量并赋值。

int a=b=c=3;}试题编号:E58190答案:错误题型:判断题13.一个变量只能存储一个字符()试题编号:E57928答案:错误题型:判断题14.程序中的变量代表内存中的一个存储单元,它的值不可以随时修改()试题编号:E57918答案:错误题型:判断题15.程序中的变量代表内存中的一个存储单元,它的值不可以随时修改()试题编号:E57918答案:错误题型:判断题16.一个变量只能存储一个字符()试题编号:E57928答案:错误题型:判断题17.一个变量只能存储一个字符()试题编号:E57928答案:错误题型:判断题18.程序中的变量代表内存中的一个存储单元,它的值不可以随时修改()试题编号:E57918答案:错误题型:判断题19.C语言中,不要求对程序中所用到的变量进行强制定义()试题编号:E57733答案:错误题型:判断题20.C语言中,不要求对程序中所用到的变量进行强制定义()试题编号:E57733答案:错误题型:判断题21.{若a为整型变量,则以下语句的输出是()a=-2L;printf("%d\n",a);}A.赋值不合法B.输出值为-2C.输出为不确定值D.输出值为2试题编号:E57120答案:B题型:单选题22.设x,y均为整型变量,且x=10,y=3,则语句printf("%d,%d\n",x--,--y);的输出结果是()A.10,3B.9,3C.9,2D.10,2试题编号:E57108答案:D题型:单选题23.在下列变量中,()不是局部变量A.register类B.外部static类C.auto类D.函数形参试题编号:E51626答案:B题型:单选题24.{以下程序运行后的输出结果是________。

main()\{ int i=10, j=0;do\{j=j+i; i--;\}while(i>2);printf("%d\n",j);\}}试题编号:E54845答案:17题型:填空题[试题分类]:字符型数据25.{以下程序的输出结果是___。

main()\{ char s[]="abcdef";s[3]='\0';printf("%s\n",s);\}}试题编号:E57053答案:abc题型:填空题26.C语言中,字符常量可以用单引号或双引号括起来()试题编号:E57732答案:错误题型:判断题27.C语言中,字符常量可以用单引号或双引号括起来()试题编号:E57732答案:错误题型:判断题28.C语言中,字符常量只能包含一个字符()试题编号:E57731答案:正确题型:判断题29.C语言中,符号常量的值在程序运行过程中可以改变()试题编号:E57660答案:错误题型:判断题30.在C语言中,字符串常量隐含处理成以'\0'结尾()试题编号:E57658答案:正确题型:判断题31.{以下程序的输出结果是___。

main()\{ char s[]="abcdef";s[3]=‘\0';printf("%s\n",s);\}}试题编号:E57033答案:abc题型:填空题32.若有说明语句:char c='\72';则变量c()A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定试题编号:E57076答案:A题型:单选题33.下述描述中不正确的是()。

A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体进行输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值试题编号:E54985答案:C题型:单选题34.{函数sstrcmp()的功能是对两个字符串进行比较。

当s 所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。

请填空。

#includeint sstrcmp(char *s,char *t)\{while(*s&&*t&&*s = =*t)\{s++;t++; \}return ______________________;}试题编号:E53939答案:*s-*t 或者 *s-t[0] 或者 s[0]-*t 或者 s[0]-t[0]题型:填空题35.{有以下程序#include "stdio.h"main()\{char a,b,c;a='\101';b='\x41';c='\0x41';printf("%c,%c,%c\n",a,b,c);\}编译时出现错误,以下叙述中正确的是()}A.程序中只有a='\101';语句不正确B.b='\x41';语句不正确C.c='\0x41';语句不正确D.a='\101';和 c='\0x41';语句都不正确试题编号:E51490答案:C题型:单选题36.在C语言中,char 型数据在内存中是以()形式存储的。

A.原码B.补码C.ASCII码D.反码试题编号:E57131答案:C题型:单选题[试题分类]:常量37.下列符号串中,合法的十进制整型常量是()A.09876B.0x9876C.9876*e4D.-9876试题编号:E57126答案:D题型:单选题38.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是()A.字符AB.字符aC.字符eD.非法的常量试题编号:E57130答案:A题型:单选题39.{设有如下的变量定义int i=8,k,A,B;unsigned long w=5;double x=1.42,y=5.2;则以下符合C.语言语法的表达式是()}A.A+=A-=(B=4)*(A=3)B.x%(-3)C.A=A*3=2D.y=float(i);试题编号:E57125答案:A题型:单选题40.在C语言中,变量所分配的内存空间大小()A.均为一个字节B.由用户自己定义C.由变量的类型决定D.是任意的试题编号:E57122答案:C题型:单选题41.在C语言中,负整数在内存中以()形式释放。

A.补码B.BCD码C.反码D.十进制数试题编号:E57117答案:A题型:单选题42.C语言中,整数-8在内存中的存储形式是()。

A.1111,1111,1111,1000B.1000,0000,0000,1000C.0000,0000,0000,1000D.1111,1111,1111,0111试题编号:E57118答案:A题型:单选题43.在C语言中,合法的长整型常数是()A.0LB.4962710C.0412765D.0xa34b7fe试题编号:E57081答案:A题型:单选题44.下面的符号常量定义中,正确的是()A.#define PI 3.14;B.#include PI 3.14;C.#define PI=3.14D.#define PI 3.14试题编号:E46598答案:D题型:单选题45.下列属于C语言合法的字符常数是()A.'\97'B."A"C.'\t'D."\0"试题编号:E57075答案:C题型:单选题46.以下选项中,不能作为合法常量的是()A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0试题编号:E57078答案:B题型:单选题47.以下符合C语言语法的实型常量是()A.1.2E0.5B.3.14.159EC..5E-3D.E15试题编号:E57079答案:C题型:单选题48.以下所列的C语言常量中,错误的是()A.0xFFB.1.2e0.5C.2LD.'\72'试题编号:E57077答案:B题型:单选题49.存储以下数据,占用存储字节最少的是()A.0B.‘0’C.“0”D.0.0试题编号:E51628答案:B题型:单选题50.{以下程序运行后的输出结果是____#define S(x) 4*x*x+1main()\{int i=6,j=8;printf("%d\n",S(i+j));\}试题编号:E54106答案:81题型:填空题51.以下哪个不是C程序合法的常量A.1,234B.'\123'C.'a'D."x7G"试题编号:E55504答案:A题型:单选题[试题分类]:整型数据52.C语言中,一个字符型数据与整型数据可以互相赋值。

相关文档
最新文档