



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 数据类型、运算符与表达式2.1 请将C语言的数据类型和其他高级语言的数据类型做比较。C有哪些特点?答:C语言的数据类型如下所示:数据类型基本类型构造类型指针类型空类型整型字符型枚举类型实型数组类型结构体类型共同体类型和其他高级语言数据类型相比,C语言有数据类型丰富,执行效率高等特点。2.2 C语言为什么要规定对所有用到的变量要“先定义,后使用”。这样做有什么好处?答:1凡未被事先定义的,不作为变量名,这样能保证程序中变量名使用正确; 2每一个变量被指定一确定数据类型,在编译时就能为其分配相应的存储单元; 3指定每一变量属于一个类型,这就便于在编译时,据此检查该变量所进行的运算是否合法;2.3请将下面各数用八进制和十六进制数(补码)表示。(1)10 (2)32 (3)75 (4)-617 (5)-111 (6)2483 (7)-28654 (8) 21003答:(1)(10)10=(12)8=(a)16(2)(32)10=(40)8=(20)16(3)(75)10=(113)8=(4b)16(4)(-617)10=(176627)8=(fd97)16(5)(-111)10=(177621)8=(ff91)16(6)(2483)10=(4663)8=(963)16(7)(-28654)10=(110022)8=(9012)16(8)(21003)10=(51013)8=(520b)162.4 将以下3个整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。变量的类型25-232769int 型(16位)long 型(32位)short 型(16位)signed char 型(8位)unsigned int 型unsigned long 型unsigned short 型unsigned char 型答:略2.5 字符常量与字符串常量有什么区别?答:字符常量在内存中占一个字节(byte),而字符串可占多个;字符常量表示时要用单引号引起来并且只能是一个字符,字符串常量要用双引号,里面可有多个字符,并且存储时自动在字符串后面加一个结束标志0。2.6 写出以下程序运行的结果。main() char c1=a,c2=b,c3=c,c4=101,c5=116;printf(a%c b%ctc%ctabcn,c1,c2,c3);printf(tb%c %c,c4,c5);结果应该如下:aa空格bb空格空格空格cc空格空格空格空格空格空格abc空格空格空格空格空格空格空格A空格N即:分析:printf函数中的格式化字符串包含三部分内容,一种是普通字符,一种是以%为标志的格式说明符,一种是以为标志的转义字符。题目中的转义字符t的意思是水平制表(跳到下一个tab位置),通常我们的机器一个tab位置占8个字符位置。b的意思是退格。c4=101和c5这两个变量,表示ASCII码所对应的字符,分别是A和N。分析结果:第一个输出函数输出到这里时:a%c b%c是对应下图第5个字符,即第二个b,这时执行t,光标应该从第6个格跳到第9个格,而不是从b开始往后数8个字符位置,因为计算tab位是从上一tab位置开始计算,这里前面不足8个字符,所以是从第一个a数起的,往后8个字符位置,然后在第9个位置重新计算tab位。 第1个TAB位 第二个TAB位置aabbccabcA N先输出一个tab位置,光标跳到第9个格,遇到b,再往回跳一个格,所以A在第8个格里。2.7要将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母”A”后面第4个字母是“E”,用“E”代替“A”。因此,China应译为“Glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为C、h、i、n、a,经过运算,使c1、c2、c3、c4、c5分别变成G、l、m、r、e,并输出。#include”stdio.h”main()char c1=C,c2=h,c3=i,c4=n,c5=a; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(“keywords=%c%c%c%c%c”,c1,c2,c3,c4,c5);2.8例2.6能否改成如下: main() int c1,c2; /*原为 char c1,c2*/c1=97;c2=98;printf(“%c%cn”,c1,c2);printf(“%d %dn”,c1,c2); 分析运行时会显示什么信息?为什么?答:可以。因为字符型变量占一个字节,所以在一个字节范围内(整数要小于等于255),整型数和字符型是通用的。题目中的两个变量均小于255,所以题目中的改正是可以的。运行时输出两行,分别以字符型和整形输出c1 c2。结果如下图所示:2.9 求下面算术表达式的值。(1)x+a%3*(int)(x+y)%2/4 设 x=2.5 , a=7 ,y= 4.7(2)(float)(a+b)/2+(int)x%(int)y 设 a=2 ,b=3 ,x=3.5, y=2.5首先按优先级和结合性将表达式含义弄清楚。(1)x+a%3*(int)(x+y)%2/4= x+(a%3)*(int)(x+y)%2/4=2.5+1*9%2/4=2.5(2)(float)(a+b)/2+(int)x%(int)y=(float)(a+b)/2+(int)x)%(int)y)=2.5+3%2=3.52.10 写出程序运行结果。main()int i,j,m,n; i=8 ;j=10 ;m=+i ;n=j+ ; printf(“%d,%d,%d,%d”,i,j,m,n);答:运行结果如下图所示:2.11 写出下面赋值的结果。格中写了数值的是要将它赋给其他类型变量,将所有空格填上赋值后的数值。int9942chardunsigned int7665535float53.65long int68答:int9910076536842-1charcdL5D*unsigned int991007653684265535float99.000000100.00000076.00000053.6568.00000042.00000065535.000000long int9910076536842655352.12 写出下面表达式运算后a的值,设原来a=12。设a和n已定义为整型变量。(1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a解:(1) a+=a即a=a+a结果为24(2) a-=a即a=a-a结果为0(3) a*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年水泥熟料及水泥合作协议书
- 2025年心血管系统用药项目发展计划
- 2025年鲜花绿植项目发展计划
- 抽粪车转让协议书范本
- 河道土方分包协议书范本
- 田地调换协议书范本
- 贸易总监聘用协议书范本
- 2025年院线经营项目发展计划
- 钢化玻璃协议书范本
- 心理健康课考试课件
- 学校食堂岗位职责及食品安全管理
- 党建能力测试题及答案
- 2025年教师招聘教育学心理学试题及答案汇编
- 2025高考物理答题技巧构建模板:机械能守恒定律(五大题型)(试卷+答案解析)
- 教练技术学习心得感想范文3篇(3篇)
- GB/T 34843-20173.3硼硅玻璃性能
- GB/T 3280-2015不锈钢冷轧钢板和钢带
- 保险友邦电话销售培训课程
- 义务教育历史新课程标准试题题库测试卷(2022版)
- 全日制义务教育化学课程标准
- ISO 141552020医疗器械的人体受试者临床试验-临床试验质量管理规范简介
评论
0/150
提交评论