(完整word版)C语言运算符与表达式的练习题答案
- 格式:docx
- 大小:17.03 KB
- 文档页数:4
第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10;printf(”%d”,a++);A、11 和10B、11 和11C、10 和11D、10 和10答案:C题号:2100已知字符’A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是’D'。
执行语句printf (”%d,%d”,c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以().A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 ”的C语言表达式是A、a〉=0 | a〈=10B、a>=10 or a<=0C、a〉=10 && a〈=0D、a>=10 ||a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(”a=%d,b=%d",a,b);}该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+’a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______ main(){int i=0;while(i<10){if(i〈1)continue;if(i==5)break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72’;则变量c().A、说明不合法,c的值不确定B、包含3个字符C、包含1个字符D、包含2个字符答案:C题号:1300下列程序运行结果为:#define P 3#define S(a)P*a*amain(){int ar;ar=S(3+5);printf("\n%d”,ar);}A、192B、25C、29D、27答案:C判断==================================================题号:6755若i =3,则printf("%d",-i++);输出的值为-4。
一、C语言概述练习题选择1.一个C程序的执行是从 A 。
本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是 D 。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是 C 。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由 B 。
A)一个主程序和若干个子程序组成函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C.x=(i=4,j=16,k=32) A) 4 B) 16 D) 522.下列四组选项中,均不是C语言关键字的选项是 A 。
C) include case scanf D) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是 B 。
4.下列四组选项中,均是合法转义字符的选项是 A 。
\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’5.下面不正确的字符常量是 A 。
“c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是 D 。
A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是 B 。
C语言运算符与表达式的练习题单项选择题(1)以下选项中,正确的 C 语言整型常量是(D )。
A. 32LB. 510000 C。
—1.00 D. 567(2)以下选项中,(D )是不正确的 C 语言字符型常量.A. 'a'B. ’\x41' C。
’\101' D. "a”(3)字符串的结束标志是(C).A. 0B. ’0' C。
'\0' D. "0”(4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。
A。
算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(5)逻辑运算符中,运算优先级按从高到低依次为(D).A. &&! ||B. || &&!C. && || ! D。
! &&|| (6)表达式!x||a==b 等效于(D)。
A。
!((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b)(7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a〉b)&&(n=c〉d)后, m,n 的值是(A). A。
0,0 B. 0,1 C. 1,0 D. 1,1*(8)设有语句 int a=3;,则执行了语句 a+=a—=a*=a;后,变量 a 的值是(B)。
A. 3B. 0C. 9 D。
—12(9)在以下一组运算符中,优先级最低的运算符是( D )。
A. *B. !=C. + D。
=(10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B,上机13).A。
6 B。
12 C. 15 D。
表达式出错(11)若已定义 x 和 y为double 类型,则表达式的值是( D).A. 1 B。
2 C。
2。
带答案C语言2-10章作业C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。
(float)(a+b)/2+(int)x% (int)yA) B)35 C) D)2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。
(x+y)%2+(int)a/(int)bA) B)1 C) D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。
x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。
A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。
#include <>main( ){ double d=; int x,y;x=; y=(x+/;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)6.下列程序执行后的输出结果是(小数点后只写一位)( A )。
#include <>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 B)6 6C)6 6 D)6 67.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。
A)1 B)2 C) D)8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。
A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);9.若执行以下程序段后,c3的值为( A )。
int c1=1,c2=2,c3;c3=c2*c1;A)0 B)0.5 C)1 D)210.如下程序的运行结果是( D )。
数据类型、运算符和表达式复习题一.选择题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) 0xAF 7。
以下合法的长整型常量是()a) 2L b) 49627 c) 34566666 d) 213&8. 以下正确的实型常量是( )a) 1.2E b) 。
579899 c) 1.2e0.6 d) 8 9。
以下选项中合法的实型常数是()a) 5E2。
0 b) E—3 c) 。
2E0 d) 1。
3E 10。
以下合法的八进制数是()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。
一、选择题1. 可用作C语言用户标识符的一组标识符是( B )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof2. 存储以下数据,占用存储字节最多的是(D )。
A. 0B. ‘0’C. “0”D. 0.03. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。
A. 12B. 144C. 156D. 2885. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( A)。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。
A. 15B. 26,15C. 15,26D. 267. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。
A. 1B. 0C. 与x值相同D. 与x值相反8. x>0 && x<=10的相反表达式为( A )。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. x>0 || y==5的相反表达式为( B )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==510. 下面的哪个保留字不能作为函数的返回类型?( C ) 。
书面作业1(数据类型、变量、输入/输出、运算符与表达式、选择结构、循环结构)一、判断题:在正确的说法前面填写T,在错误的说法前面填写F(每题1分)[得分: ] (F )1. C语言程序中,注释越多越好。
(F )2. C语言程序中的注释,不会影响程序的执行速度。
(F )3. C语言规定,在一个源程序中,main函数的位置必须在最开始。
(F )4. 标识符中可以出现下划线,但它不可以放在标识符的开头。
(F )5. C语言规定标识符只能由字母、数字和小数点三种字符组成。
(T )6. unsigned 和void 在C语言中都是保留字。
(F )7. 在C语言中,变量名越短越好。
(F )8. 在C语言中,使用短的变量名可以节省程序执行时的内存消耗。
(F )9.字符型变量用来存放字符常量,且只能存放2个字符。
(T )10. printf函数是一个标准库函数,它的函数原型在头文件stdio.h中。
(F )11. scanf函数是一个标准库函数,它的函数原型在头文件string.h中。
(F )12. printf 是C 语言的输出语句。
(T )13. 在printf 函数中,输出项可以是任意合法的表达式。
(T )14. C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。
(T )15. C语言中,整型数运算速度快,没有误差,应该优先使用。
(T )16. C语言中,浮点数运算存在误差。
不宜使用浮点数做相等运算。
(F )17. C语言中,不允许将一个浮点数赋值给一个整型变量。
(F )18. C语言中,不能将整数值赋值给一个字符型变量。
(F )19. C语言中,不能将一个字符常数赋值给一个整型变量。
(F )20. C语言中,不同类型的数据对象不能出现在一个表达式中。
(F )21. C语言中可以把一个字符串赋给一个字符变量。
(T )22. 在C语言中,模运算(相除后取余数,运算符%)要求参加运算的数必须是整型。
参考答案及解析一、选择题1. 答案:C【解析】C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同。
2. 答案:C【解析】标识符命名规则:标识符必须由字母(a~z或A~Z)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(0~9)组成;大小写字母表示不同意义,如cout和Cout 代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,我们最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。
因此,本题正确答案为C)。
3. 答案:C【解析】C语言合法标识符的命名规则是:标识符只能由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。
因为选项C)中的标识符的第一个字符为"&",所以选项C)为本题的正确答案。
4. 答案:A【解析】在C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
C语言的标识符可以分为关键字、预定义标识符和用户标识符。
选项B)和C)中的横线以及点都不合法,选项D)中的case为C语言关键字,故本题答案为A)。
5. 答案:B【解析】C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。
6. 答案:C【解析】C语言规定的标识符只能由字母、数字和下划线3种字符组成,第一个字符必须为字母或下划线,并且不能使用C语言中的关键字作为标识符。
选项C)中goto和int是关键字,b-a中"-"不是组成标识符的3种字符之一;选项D)中int是关键字,所以,均是不合法用户标识符的选项是C)。
7. 答案:B【解析】合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。
C 语言运算符与表达式的练习题
单项选择题
(i )以下选项中,正确的C 语言整型常量是(
D )。
A. 32L
⑵以下选项中,( A. 'a'
B. 510000
D )是不正确的
B. '\x41'
C. -1.00
C 语言字符型常量。
C. '\101'
(3)字符串的结束标志是( C )。
A. 0
B. '0'
C. '\0'
(4)
算术运算
符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。
A. 算术运算、赋值运算、关系运算
B. 算术运算、关系运算、赋值运算
C.
关系运算、赋值运算、算术运算
D.
关系运算、算术运算、赋值运算 (5) 逻辑运算符中,运算优先级按从高到低
依次为( D )。
A. && ! || (6)表达式!x||a
B. || && !
C. && || ! ==b 等效于(
D
)。
!
D. ! && ||
A. !((x||a)==b)
B. !(x||y)==b
C .!(x||(a= ==b))
D
(!x)||(a==b)
(7)设整型变
量 m, n,a,b,c,d 均为 1,执行(m=a>b)&&(n=c>d) 后,m,n
的值是(
A
A. 0,0
B. 0 ,1
C. 1 ,0
D. 1 , 1
*(8)设有语句 i nt a=3 ;,则执行了语句 a+=a-=a*=a;
后,
变量a
的值是(
B
A. 3
B. 0
C. 9
D. -12
(9) 在以下一组运算符中,优先级最低的运算
符是( D )。
A. *
B. !=
C. +
D.=
(10)
设
整型变量i 值为2,表达式(++i )+(++i )+(++i ) 的结果是( B,上机13
)
A. 6
B. 12
C. 15
D.
表达式出错
D. 567
D. "a"
D. "0"
(11)若已定义x和y为double类型,则表达式x=1 ;y=x+3/2的值是(D )。
(22) 下列不正确的转义字符是( C )。
A. 1
B. 2
C. 2.0
D. 2.5
*(12)设a=1, b=2, c=3, d=4,则表达式:a<b? a : c<d? a : d 的结果为( D )。
A. 4
B. 3
C. 2
D. 1
(13)设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是( A )。
A. 10<a<15
B. a= =11|| a= =12 || a= =13 || a=
=14
C. a>10 && a<15
D. !(a<=10) && !(a>=15)
*(14) 设f 是实型变量,下列表达式中不是逗号表达式的是( B )。
A. f= 3.2, 1.0
B. f>0, f<10
C. f=2.0, f>0
D. f=(3.2,
1.0)
*(15) 设ch 是char 型变量,其值为'A' ,则下面表达式的值是( B )。
ch=(ch>='A'&& ch<='Z')? (ch+32):ch
A. A
B. a
C. Z
D. Z
(16) 以下运算符中,结合性与其他运算符不同的是( A )。
A. ++
B. %
C. /
D. +
(17) 以下用户标识符中,合法的是( B )。
A. int
B. nit
C. 123
D. a+b
(18) C 语言中,要求运算对象只能为整数的运算符是( A )。
A. %
B. /
C. >
D. *
(19) PC 机中,'\n' 在内存占用的字节数是( A )。
A. 1
B. 2
C. 3
D. 4
(20) 字符串"ABC"在内存占用的字节数是( B )。
A. 3
B. 4
C. 6
D. 8
(21) 要为字符型变量a 赋初值,下列语句中哪一个是正确的( B )。
A. char a="3";
B. char a= '3';
C. char a=%;
D. char a=*;
(22) 下列不正确的转义字符是(
C )。
则表达式'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2
0 __ 、 1 、 __________________________ 0
(5)
设 float x=2.5,y=4.7; int a=7;,表达式
x+a%3*(int)(x+y)%2/4
的值
为
2.5。
⑹ 判断变量 a 、b 的值均不为 0的逻辑表达式为
|a*b!=0—或
a!=0&&b!=0 (7) 求解赋值表达式 a=(b=10)%(c=6),表达式值、a 、b 、c 的值依次为 4,10,6 (8) 求解逗号表达式 x=a=3,6*a 后,表达式值、x 、a 的值依次为
18,3,3
(9)
数学式a/(b*c)的C 语言表达式是 _______________ a /(b*c); _________________ 。
A. \\
B. \'
C. 074
D. \0
填空题
(1) C 语言中的逻辑值“真”是用 示的。
1
表示的,逻辑值“假”是用
0 表
(2) 设 c='w',a=1,b=2,d=-5.。