




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.1 下列哪些是词法记号?关键字(是)注释空白符八进制常量(是)三字符序列字符串常量(是)括号(是)2.2 C编译器可将下列每一个源字符串分解为哪些记号?(不必考虑记号组合是否合法)(1) x+yx, +, +, y(2) -0xabL-, 0xabL(3) 2.89E+12L2.89E+12L(4) String+FOO String+ FOO(5) x*2x, *, *, 2(6) X?/X?/(7) a?ba, ?, b(8) x-+=yx, -, +=, y(9) intx=+10intx, =, +, 10(10) StringFOOString, FOO(这道题当时改的时候有几个小题改得有错误,注意!)2.3 下列哪些不是标识符,为什么?标识符由字母、数字和下划线组成,但首字符必须是字母或下划线。4th不是,以数字开头;sizeof不是(标准C的关键字)_limit是_is2是xYshould是x*y不是,* 非法o_no_o_no是temp-2不是,- 非法isnt不是, 非法enum不是(标准C的关键字。注:关键字也称为保留字,是被系统赋予特定含义并有专门用途的标识符。关键字不能作为普通标识符,但可以作为宏名。所有预处理均发生在识别这些关键字之前。)2.4 在下列表示中,哪些是合法常数,哪些是非法常数?对于合法常数,指出其类型;对于非法常数,说明其错误原因。2L合法,long长整型不合法,单引号组中的单引号前需要转义字符.12合法,double双精度浮点型0x1ag不合法,g不是16进制数中的符号,也不表示任何类型33333合法,int整形a合法,字符串常量合法,字符串常量0. L合法,long double长双精度浮点型E20不合法,缺少尾数部分0377UL合法,unsigned long无符号长整型18不合法,存在非8进制位0xa不合法,不符合十六进制字符码表示规则xhh0x9cfU合法,unsigned int无符号整形45合法,char字符型1. E-5合法,double双精度浮点型0合法,char字符型3. F合法,float浮点型34不合法,缺少转义符合法,char字符型(P35,双引号作为字符常量时既可用图形符号也可用转义序列表示)a合法,char字符型2.6 以下的变量声明语句中有什么错误?(1) int a; b = 5;第一个分号改为逗号int a, b=5;(2) doubel h;关键字错误double h;(3) int x = 2.3;类型错误float x = 2.3;(4) const long y;需要赋初值const long y = 0;(5) float a = 2.5*g;g未定义变量int g = 1; float a = 2.5*g;(6) int a = b = 2;b未定义变量int a = 2, b = 2;2.7 设变量说明为:int a = 1, b = 2, c = 3, d;double x = 2.0; y = 7.7;请给出下列表达式的值。(1) +a*b-4(2) !a+b/c0(3) a=-b+ctrue(4) d=a+,a*=b+1d为1, a为6(5) d=y+=1/xy为8.2, d为8(6) a2正确(9) a+=i+=1+2正确(10) int(a+b)正确,VC+下可运行2.9 下面代码的执行结果是什么?char a = 1, b = 2, c = 3;printf(%d,%d,%d,%dn,sizeof(c), sizeof(a), sizeof(c=a), sizeof(a+b+7.7);结果:1,4,1,82.10 设变量说明为:unsigned short x = 1, y = 2, z = 4, mask = 0xc3, w;short v;请给出下列表达式的值。(1) x&x0(2) v=x-2(3) w=xx65535(4) x|y&x|z5(5) w=y|z,(w3)+(w1)60(6) w=x|y&x|zx113(7) v=-1,v232.11写一个表达式,将整数k的高字节作为结果的低字节,整数p的低字节作为结果的高字节,拼成一个新的整数。表达式为:32位k 24 | (k & 2558)8 | (p & 2558 | p 2416位(k 8) | (p 8)2.12 写一个表达式,将整数x向右循环移位n位。表达式为:32位x(n%32)16位x(n%16)2.13 写一个表达式,将整数x从第p位开始的向右n位(p从右至左编号为015)翻转(即1变0,0变1),其余各位保持不变。表达式为:x(0)(16-p-1)或:x(0(16-n)(p+1-n)2.15 表达式v &= (v-1)能实现将v最低位的1翻转。比如v=108,其二进制表示为01101100,则v &= (v-1)的结果是01101000。用这一方法,可以实现快速统计v的二进制中1的位数,只要不停地翻转v的二进制数的最低位的1,直到v等于0即可。请用该方法重写例2-18。#includeint main(void)unsigned char data, backup, t = 0;int parity = 0;data = getchar();backup = data;while(data)t+;data &= (data -1);data = backup | (parity7)(tb?ac?a:c:bc?b:c 或(ab)?(ac?a:c):(bc?b:c) 或(ab)?(ac)?a:c):(bc)?b:c)2.18 写一个表达式,如果整数a能被3整除且个位数字是5,则结果为非0,否则为0。表达式为:a%3 ? 0 : (a%10=5 ? 1 : 0)2.19 定义一个枚举类型enum month,用来描述一年12个月:一月(jan)、二月(feb)、十二月(dec),并编写一个程序,根据用户输入的年份,输出该年各月的英文名及天数。#includeenum year jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec;int main(void)enum yaer month;int year_num, year_days=365;char *month_name =January, February, March, April, May, June,July, August, September, October, November, December;int month_days = 31,28,31,30,31,30,31,31,30,31,30,31;scanf(%d, &year_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件显示异常
- 理货人员考试题及答案
- 客房考试题目及答案
- 真空垂熔工岗位操作规程考核试卷及答案
- 重冶火法精炼工技术考核试卷及答案
- 石脑油吸附分离装置操作工技术考核试卷及答案
- 竞赛规程考试题及答案
- 2025年教师招聘之《幼儿教师招聘》题库试题带答案详解
- 高炉原料工主管竞选考核试卷及答案
- 金属轧制考试题及答案
- 关注老年人心理健康守护幸福 从心开始课件
- 《生成式人工智能(AIGC)通识教程(微课版)》课件 【第09-10讲】生成式人工智能基础与应用
- 扬州扬州市宝应县公安局招聘30名警务辅助人员笔试历年参考题库附带答案详解
- 科技论文写作 第2版 课件 第1-5章 科技论文写作概述-英文科技论文的写作
- 部分退款协议书
- 旅行社地接合同协议书
- 曲臂高空作业车施工方案
- 病人陪护考试题及答案
- 2025年农业经济管理基础知识试卷及答案
- 2024年重庆万州公开招聘社区工作者考试试题答案解析
- 果树中级工试题及答案
评论
0/150
提交评论