C语言练习-运算符和表达式_第1页
C语言练习-运算符和表达式_第2页
C语言练习-运算符和表达式_第3页
C语言练习-运算符和表达式_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 单项选择题(1)以下字符串为标识符的是      。A. _MY                 B. 2_2222                     C. short   &#

2、160;                 D. LINE 5【答】A(2)下列符号可以作为变量名的是      。A. +a                    B. *p     

3、60;                      C. _DAY                    D. next day【答】C(3)设c是字符变量,则以下表达式正确的是      。A. c=

4、666               B. c='c'                        C. c="c"          

5、0;         D. c="abcd"【答】B(4)23+'m'+3.6-123.45/'b'的结果是      型数据。A. char                  B. double       

6、0;              C. int                 D. long int【答】3.6和123.45均为double型,运算结果也是double型。本题答案为B。(5)若变量已正确赋值,以下符合C语言语法的表达式是      。A. a=a+7;  &#

7、160;                                       B. a=7+b+c,a+C. int(12.3%4)         &

8、#160;                         D. a=a+7=c+b【答】选项A错误,以分号结尾是一个语句而不是表达式;选项B正确,是一个逗号表达式;选项C错误,因为%求模运算的两个运算数必须均为整数;选项D错误,给一个表达式(a+7)而非变量赋值是不正确的。本题答案为B。(6)整型变量x=1,y=3,经下列计算后,x的值不等于6的表达式是  

9、;    。A. x=(x=1+2,x*2)                            B. x=y>2?6:5C. x=9-(-y)-(-y)            &#

10、160;               D. x=y*(int)(4.8/2)【答】选项A的计算过程x=1+2=3,再计算x=x*2=6;选项B的计算过程y>2为真,x=6;选项C的计算过程式中有两个-运算,最后y=1,x=9-1-1=7;选项D的计算过程x=y*(int)(4.8/2)=y*2=6。本题答案为C。(7)若定义int m=7,n=12;则能得到值为3的表达式是      。A. n%=(m%=5)

11、                            B. n%=(m-m%5)C. n%=m-m%5                     &#

12、160;      D. (n%=m)-(m%=5)【答】A、B、C、D选项各表达式的值分别是0、2、2、3。本题答案为D。(8)以下程序的运行结果是      。#include <stdio.h>main()    int i=5,j=6,m=i+j;    printf("%d,%d,%dn",i,j,m);A. 6,6,11       

13、 B. 5,6,11        C. 5,6,12        D. 6,6,12【答】m=i+j等价于m=(i+)+j。本题答案为A。(9)以下程序的运行结果是      。#include <stdio.h>void main()    double f=3.14159;    int n;    n=(int)(f

14、+10)%3;    printf("%dn",n);A. 1                             B. 0               &

15、#160;                 C. 2                            D. 3【答】f+10=13.14159,(int)(f+10)=13,13%3=1。本题答案为A。(

16、10)以下程序的运行结果是      。#include <stdio.h>void main()    int n,i=2,j=4;    n=(+i=j-);    printf("%dn",n);A. 0                   

17、          B. 1                                 C. 2            &#

18、160;               D. 3【答】+i返回3,j-返回4,两者不等,故n=0。本题答案为A。2. 填空题(1)表达式语句与表达式的不同是      。【答】语句必须以分号结尾,而表达式结尾没有分号;语句可以出现在函数体中数据定义或声明语句后面的任何位置,而表达式只能出现在语句中规定的位置或表达式中(嵌套出现)。(2)在C语言中可以利用    

19、0; 将一个表达式的值转换成指定的类型。【答】强制类型转换(3)写出完成下列功能的表达式:· 如果变量c是大写字母,则将c转换成对应的小写,否则c的值不改变。      · 如果d是数字,则将d转换成相应的整数,否则d的值不改变。      · 返回两个整数x、y中较大者。      · 返回三个整数x、y和z中最大者。      【答】 c=(c>='A' &&am

20、p; c<='Z') ? c-'A'+'a' : c d=(d>='0' && d<='9') ? d-'0' : d (x>y) ? x : y (x>y) ? (x>z ? x : z) : (y>z ? y : z) 或 (x>y && x>z) ? x : (y>z ? y : z)(4)以下程序的运行结果是      。#include <st

21、dio.h>#include <string.h>main()   char s="abn'rb"   printf("%d,%dn",sizeof(s),strlen(s);【答】字符串s由字符'a'、'b'、'n'、''、'''、'r'、'b'等7个字符组成,故长度为7,但字符串本身有一个结束标志'0'。所以,s的长度为7,在内存中占用8个字节。输出为

22、:8,7。(5)以下程序的运行结果是      。#include <stdio.h>main()    int a=2,b=4,c=6,x,y;    y=(x=a+b),(b+c);    printf("y=%d,x=%dn",y,x);【答】结果为y=6,x=6。(6)以下程序的运行结果是      。#include <stdio.h>main()

23、60;   char a,b;    a='a'b='b'    a=a-32;b=b-32;    printf("%c,%c,%d,%dn",a,b,a,b);【答】A,B,65,66(7)以下程序的运行结果是      。#include <stdio.h>main()    int i,j,x,y;    i=5;j=7;    x=+i;y=j+;    printf("%d,%d,%d,%dn",i,j,x,y);【答】执行x=+i后,i=6,x=6;执行y=j+后,j=8,y=7;所以输出为:6,8,6,7。(8)以下程序的运行结果是  

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论