C语言基础知识练习.pdf





《C语言基础知识练习.pdf》由会员分享,可在线阅读,更多相关《C语言基础知识练习.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、变量及表达式1 单选题:sizeof(float)的执行结果是()。选项:A:一种函数调用B:一个浮点表达式C:一个不合法的表达式D:一个整型表达式答案:【一个整型表达式】解析:l.sizeof运算符功能:获取变量和数据类型所占内存大小(字节数)格式:sizeof表达式sizeof(数据类型名或表达式)例:sizeof(int)其值为 4故 sizeof(float)执行结果为42.整型数据及其所占字节数intshort int(short)long int(long)unsigned int(unsigned)unsigned short int(unsigned short)unsigne
2、d long int(unsigned long)char基本整型 4 个字节短 整 型 2 个字节长 整 型 4 个字节2人 31 2A311-2人 15 2Al5-1-2A312A31-1无符号基本整型4 个 字 节 02A32-l无符号短整型 2 个 字 节 02A16-l(65535)无符号长整型 4 个 字 节 02八 32-1字 符 型 1 个字节-2A7-2A7-1floatdoublelong double单 精 度 实 型 4 个 字 节-3.4*10A383.4*10八 38双 精 度 实 型 8 个 字 节-1.7*10A3081.7*10A308长双精度实型8 个字节-
3、1.7*10A308-1.7*10A3082、单选题:下列关于C 语言用户标识符的叙述中正确的是()。选项:A:用户标识符中可以出现下划线和中划线(减号)B:用户标识符中不可以出现中划线,但可以出现下划线C:用户标识符中可以出现下划线,但不可放在标识符开头D:用户标识符中可以出现下划线和数字,它们都可放在用户标识符的开头答案:【用户标识符中不可以出现中划线,但可以出现下划线】解析:标识符:为程序的构成成分命名。如,变量名,函数名,文件名,类型名命名规则:-只能由字母,数字下划线组成;-首字符必须为字母或下划线;-见名知意,区分大小写;-不能使用系统的保留字。如:area,sum,Sum,_st
4、ul,lesson_l3、单选题:下列转义字符中,错误的是()。选项:A:0 xa5B:031C:bD:答案:0 xa5解析:接十六进制为xdd4、单选题:字 符 串 abcdn在内存中占用的字节数是()。选项:A:14B:9C:10D:11答案:10解析:十个字节分别是ab cd n (猜的,找不到解释了)5、单选题:以下哪个数字占据的空间最大()。选项:A:32768B:3C:32768.0D:32768.0F答案:32768.0】解析:32768整 型 4 字节3字符常量1 字节32768.0双 精 度 8 字 节(整型常量默认为int型,实型常量默认为double型)32768.0F单
5、 精 度 4 字节6、单选题:以下哪个字母不能在常量数字后面表示类型()。选项:A:FB:UC:LD:X答案:X解析:F 单精度U 无符号L 长整型7、单选题:以下哪个数字的值最大()。选项:A:10B:010C:0 x10D:10.0答案:0 x10解析:全部转为十进制计算分别为 10,8,16,108、单选题:下列哪个不是有效的字符常量()。选项:A:B:C:1D:1答 案:1 解析:字符常量:用单引号括起来的一个字符(在计算机内部存储字符的ASCII码值)例如H、官、S、2字符串常量是双引号括起来9、判断题:当存储单元溢出时,数据的值不会受到影响,只会丢掉超过的部分。选项:A:正确B:错
6、误答案:【错误】解析:如果溢出就从最小值重新开始例:以下程序结果是多少,为什么?#include int main()(inta=4294967295;printf(%d,a);return 0;)因为int表示的范围为-2147483648214748364如果溢出就从最小值-2147483648重新开始10、判断题:当有若干运算符同时出现在表达式中时,运算符的优先级规定了运算的先后次序。选项:A:正确B:错误答案:【正确】补充:优先级*/%高于+-11、填空题:当赋值语句右边表达式类型与左边变量类型不一致时,以 类型为准。答案:【左边变量】12、填空题:若有定义:char c=010;则变
7、量C 中包含的字符个数为 个。答案:1113、填空题:在 C 语言中的实型变量分为float型和double型,按浮点数进行存储,分为数符、和尾数几部分。答案:【阶码】14、填空题:设有变量定义:int i=3,j=5;float x=2.5;double y=5.0;则 表 达 式 y+=i-=j*=+x;的计算结果为答案:-9.0#%_YZPRLFH_%#-9.000000 不知道怎么做15、填空题:表 达 式 a=3*5,a*4,a+5的值为。答案:【20】不知道为什么,什么时候能知道?a=3*5,a*4 表达式的值为60a=3*5,a*4,a+5 表达式的值为20 x=(a=4%3,a
8、+1,a*10)表达式的值为 10z=(2,3,4)这个时候z 的值为4(整个是赋值表达式)z=2,3,4 这个时候z 的值为2(整个是逗号表达式)数据的输入与输出1.单选题:printf(arHappiby);在屏幕上正确的输出形式是()。选项:A:aHappyB:HappyC:HappiD:aHappi答案:【Happy考点:转义字符,感觉,算了吧太多了,就答案一般都挺正常的A=65(ASCII),a=972、单选题:运行下面的程序,正确的输出结果是()。ttinclude int main()doublex=68.7563,y=-789.127;printf(%f,%10.2fn,x,y
9、);return 0;选项:A:68.756300,-789.12B:68.756300,-789.13C:68.75,-789.13D:68.75,-789.12答案:68.756300,-789.133、判断题:输入数据时不能指定数据的精度。选项:A:正确B:错误答案:【正确】4、判断题:输入数据时不可以指定数据的宽度。选项:A:正确B:错误答案:【错误】5、填空题:用 scanf 函数输入数据,使得 x=1.23,y=67.1234o#include#include int main()double x,y,z;scanf(,&x,&y);z=2*x+y/sin(3.1415/4);pr
10、intf(z=%6.2f,z);return 0;答案:%lf%lf6、填空题:getchar。函 数 只 能 接 收 一 个。答案:【字符】7、填空题:若要将数据以指数形式输出,应该选择 格式符。答案:e#%_YZPRLFH_%#E】8、填空题:在格式说明符中,当 后 边 出 现,表示要跳过相应的数据,是附加说明符。答案:*#%_YZPRLFH_%#星号】逻辑运算符的优先级与结合性优先级:!,&|运算符优先级1、+、-、sizeof 高算术运算符关系运算符&、II赋值运算符 低结合性:逻辑非一右结合逻辑与、逻辑或一左结合算数运算符,/,+,-关系运算符,=,4C:34=0D:654答案:65
11、4优先级 高于!二8、单选题:判断char型变量ch是否为小写字母的正确表达式是()。选项:A:(a=ch)|(z=ch)B:a=ch=a)&(ch=a)&(ch=a)&(ch成员选择(指针)对象指针*成员名-负号运算符表达式单目运算符(类型)强制类型转换(数据类型)表达式+自增运算符+变量名变量名+单目运算符2-自减运算符-变量名变量名一右到左单目运算符&取值运算符取地址运算符指针变量&变量名单目运算符单目运算符逻辑非运算符!表达式更目运算符sizeof按位取反运算符长度运算符-表达式sizeof(表达式)单目运笠符3/除表达式/表达式左到右双目运算符*乘表达式表达式双目运算符%余 数(取模
12、)整型表达式整型表达式双目运算符4+加表达式+表达式左到右双目运算符-减表达式-表达式双目运算符5左移变量 表达式双目运苴符6大于表达式 表达式左到右双目运算符双目运算符=大于等于表达式“表达式小于表达式 表达式双目运算符=小于等于表达式“表达式双目运算符7i=等于不等于表达式=表达式表达式!=表达式左到右双目运算符双目运算符8&按位与表达式&表达式左到右双目运算符9A按位异或表达式“表达式左到右双目运算符101按位受表达式|表达式左到右双目运算符11&逻辑与表达式&表达式左到右双目运算符12II逻辑或表达式|表达式左到右双目运苴符13?:条件运算符表达式1?表达式2:表达式3右到左三目运算符
13、14/=赋值运算符除后赋值变量=袤达式变量方表达式右到左,=乘后赋值变量”表达式%=+=取模后赋值加后赋值变量%=表达式变量+=表达式=履后赋值变量=表达式=左移后赋值变量 =表达式&=按位与后赋值变量&=表达式A=按位异或后赋值变量表达式1 =按位或后赋值变到=表达式151逗号运算符表达式,表达式,左到右10、判断题:switch语句嵌套使用时,一条break语句可用于跳出所有嵌套switch语句。选项:A:正确B:错误答案:【错误】不知道哪错了哈哈哈21、判断题:条件运算符的优先级低于算术运算符、关系运算符及逻辑运算符,高于赋值运算符和逗号运算符。选项:A:正确B:错误答案:【正确】这些名
14、词都是什么意思奥0.000001=l/le6=le-6循环结构程序设计1、单选题:关于下面程序段,正确的是()。int k=10;while(!k)k-;选项:A:循环体执行10次B:循环体执行1 次C:循环体一次也不执行D:死循环答案:【循环体一次也不执行】!k是 k=0的意思2、单选题:下 面 程 序 的 运 行 结 果 是()o#include int main()int i=10,s=0;while(i0)if(i%3=0)continue;s=s+i;i-;printf(s=%d,s);return 0;选项:A:死循环B:55C:37D:10答案:【死循环】好深的套路3、单选题:下
15、面程序的运行结果是(),include int main()int i=10,s=0;for(i=l;i=10;i+)if(i%3!=0)continue;s=$+i;printf(%d,s);return 0;选项:A:死循环B:55C:37D:18答案:1 8 可以和上一个题对照看看7、单选题:下面程序的运行结果是()0 include int main()int x=15;do x-while(x-);printf(%d return 0;)选项:A:0B:1C:-1D:-2答案:-1好怪啊那个while(x-)应该是把它当成whHe(x 0)来看一维数组及其应用1、单选题:在 C 语言
16、中,引用数组元素时,其数组下标的数据类型不允许的是()o选项:A:整型常量B:正整型常量表达式C:整型变量表达式D:任何类型的表达式答案:【任何类型的表达式】15、判断题:引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式。选项:A:正确B:错误答案:【正确】哈哈,可能答案有问题吧2、单选题:现 有 如 下 程 序,则 程 序 的 输 出 结 果 为()。include int main()intk30=12,324,45,6,768,98,21,34,453,456;int count=0,i=0;while(ki)if(ki%2=0 II ki%5=0)count+;i+;
17、printf(%d,%dn,count,i);return 0;选项:A:7,8B:8,8C:7,10D:8,10答案:8,10此题倒无事,主要是while()括号中的表达式若为0,自动跳出循环3、单选题:以下能对一维数组a 进行初始化的正确语句是()。选项:A:inta10=(0,0,0);B:int a10=;C:int a=0;D:int a10=0,l,2,3,4,5,6,7,8,9,10;答案:int a=0;C 选项是对数组元素全部赋值可以不指定长度4、单选题:若有以下程序段,则数值为 3 的 表 达 式()。int x12=l,2,3,4,5;6,7,8,9,10;char c=
18、,a,d,f;选项:A:xg-cB:x3C:xd-cD:xtcMo答案:【xd-b1】不知道为什么哈,看看得了14、判断题:如果对数组不赋初值,则数组元素取随机值。选项:A:正确B:错误答案:【正确】17、判断题:数组名的规定与变量名不相同。选项:A:正确B:错误答案:【错误】18、判断题:一个数组可以存放许多不同类型的数值。选项:A:正确B:错误答案:【错误】20、判断题:数组可以声明为任何数据类型。选项:A:正确B:错误答案:【正确】这一连串都看不懂捏二维数组与字符数组1、单选题:下述对C 语言字符数组的描述中错误的是()选项:A:字符数组的下标从0 开始B:字符数组中的字符串可以进行整体
19、输入/输出C:可以在赋值语句中通过赋值运算符=对字符数组整体赋值D:字符数组可以存放字符串答案:【可以在赋值语句中通过赋值运算符=对字符数组整体赋值】不知道为什么2、单选题:对两个数组a 和 b 进行如下初始化char a=ABCDEF;char bQ=7V,B,O E,F 则下述叙述正确是()选项:A:a 和 b 数组完全相同B:a 和 b 长度相同C:a 和 b 都存放字符串D:a 数组比b 数组长度长答案:【a 数组比b 数组长度长】A 长 7,b 长 63、判断题:字符数组不要求它的最后一个字符为“0 ,甚至可以不包含 0。选项:A:正确B:错误答案:【正确】4、判断题:在程序中可以对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础知识 练习

限制150内