c语言全套课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1本章要求掌握c语言简单的程序构成和格式;掌握常量、变量、标识符的概念;理解各种类型数据在内存中的存放形式;掌握各种类型数据的定义和引用方法;掌握各种运算符的基本使用方法;(优先级、结合性)掌握各种类型数据的格式化输入输出方法;学会简单顺序程序的设计养成良好的程序设计习惯。习题课一一、选择题1.C语言中,长整形long数据在内存中的存储形式是()A)ASCIIB)原码C)反码D)补码2.C语言中简单数据类型包括()A)整形、实型、逻辑型B)整形、实型、字符型C)整形、字符型、逻辑型D)整形、实型、逻辑型、字符型3.C语言中,错误的int类型的常数是()A)32768B)0C)037D)0Xaf4.下列常数中不能作为C常数的是()A)0x45B)2.5e-2C)3e2D)05825.在C语言中,数字029是一个()。A)八进制数B)十六进制数C)十进制数D)非法数6.下面四个选项中,均是合法浮点数的选项是()A)+1e+15e-9.403e2B)-.6012e-4-8e5C)123e1.2e-.4+2e-1D)–e3.8e-45.e-07.下面四个选项中均是不合法的浮点数的选项是()A)160.0.12e3B)1232e4.2.e5C)-.18123e40.0D)–e3.2341e38.下面四个选项中,均是合法转义字符的选项是()A)‘\’’‘\\’‘\n’B)‘\’‘\017’‘\”’C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘x1f’9.下面四个选项中,均是不合法转义字符的选项是()A)‘\”’‘\\’‘\xf’B)‘\1011’‘\’‘\a’C)‘\011’‘\f’‘\}’D)‘\abc’‘\101’‘x1f’10.字符串”\\\22a,0\n”的长度是()A)8B)7C)6D)511.要判断char型变量m是否是数字,可以使用下列表达式A)0=m&&m=92B)‘0’=m&&m=‘9’C)“0”=m&&m=“9”D)前面的答案均错12.设以下变量均为int型,则值不为7的表达式是()A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)13.C语言程序的执行,总是起始于()。A)程序中的第一条可执行语句B)程序中的第一个函数C)main函数D)包含文件中的第一个函数分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。本题正确答案为C。14.下列说法中正确的是()。A)C程序书写时,不区分大小写字母B)C程序书写时,一行只能写一个语句C)C程序书写时,一个语句可分成几行书写D)C程序书写时每行必须有行号分析:C语言严格区分大小写字母,如A1和a1被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。本题正确答案为C。15.下面对C语言特点,不正确描述的是()。A)C语言兼有高级语言和低级语言的双重特点,执行效率高B)C语言既可以用来编写应用程序,又可以用来编写系统软件C)C语言的可移植性较差D)C语言是一种结构式模块化程序设计语言分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为C。16.C语言源程序的最小单位是()。A)程序行B)语句C)函数D)字符分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。本题正确答案为D。17.以下四项中属于C语言关键字的是()。A)CHARB)defineC)unsignedD)retrun分析:C语言有32个关键字(或称保留字),它们都有特定的含意,并且由小写字母组成,所以选项A是错的,选项B不是保留字,选项D是return的错误拼写。本题正确答案为C。18.十进制数2403转换成十六进制数为()。A)963B)369C)953D)359分析:十进制数化成十六进制数的方法是:不断除以16,商0为止,倒取余数。本题正确答案为A。19.二进制数00110101转换成八进制数是()。A)055B)065C)056D)1523分析:二进制数化成八进制数的方法是:从右向左划分,将每3位二进制数书写成1位八进制数。本题正确答案为B。20.将二进制数1011011.011转换成十进制数是()。A)91.75B)91.375C)91.125D)91.25分析:二进制数化成十进制数的方法是:各数字乘以权重再相加,题中整数部分为:(1011011)2=1×26+1×24+1×23+1×21+1×20=64+16+8+2+1=91,小数部分为:(0.011)2=0×2-1+1×2-2+1×2-3=0.25+0.125=0.375,再将两者合在一起得91.375。本题正确答案为B。21.计算机内部运算使用的数是()。A)十进制数B)十六进制数C)二进制数D)八进制数分析:在实际生活中找不到具有十个稳定状态的物理元件,而具有两种稳定状态的元件到处可见,如一个开关具有通电和断电两个稳定状态,计算机内部的元件正是以1代表通电,以0代表断电的,所以计算机内部运算使用的数是二进制数,至于八进制数和十六进制数是对二进制数的人为缩写。本题正确答案为C。22.一个字长的二进制位数是()。A)2个BYTE,即16个bitB)3个BYTE,即24个bitC)4个BYTE,即32个bitD)随计算机系统不同而不同分析:一个二进制位也称做1bit,八个二进制位称做1个BYTE,即所说的一个字节,BYTE和bit有固定的换算关系,但是计算机中的字长WORD和字节BYTE没有固定的换算关系,字长WORD是随CPU型号而异的。本题正确答案为D。23.在C语言系统中,假设int类型数据占2个字节,则double、long、unsignedint、char类型数据所占字节数分别多少()。A)8,2,4,1B)2,8,4,1C)4,2,8,1D)8,4,2,1分析:由上题知CPU字长决定了分配给各种类型变量多少个字节,当int类型占2个字节时,double、long、unsignedint、char型所占的字节分别为8、4、2、1个字节。本题正确答案为D。二、填空题1.已知intj,i=1;,执行语句j=-i++;后,j的值是________。2.已知inti=5;执行语句i+=++i;后,i的值是________。3.已知floatx=1,y;则y=++x*++x表达式的值是________。4.已知inti=6,j;,则执行语句j=(++i)+(i++);后的j的值是________。5.若w=1,x=2,y=3,z=4;则表达式wx?w:yz?y:z的结果是____________。6.执行下面程序段后的输出结果是________intw=3,z=7,x=10;printf(“%d\n”,x10?x+100:x-10);printf(“%d\n”,w++||z++);printf(“%d\n”,!wz);printf(“%d\n”,w&&z);7.当a=3,b=2,c=1时,表达式f=abc的值是______________。8.若有inta=5;则执行a+=a-=-a*a;后,a的值是______________。9.以下程序段的输出结果是___________________inta=0,b=4,k=2;k=a+10||(++a0)&&(!(b--=0));printf(“%d,%d,%d”,k,a,b);10.以下程序段的输出结果是___________________inta=10,b=11,c=12,s;s=a++=10&&b--=2&&c++;4printf(“%d,%d,%d,%d”,s,a,b,c);11.执行intk=11;k=1/3*k++后,K的值是________________。三、写出下列程序的运行结果1.main(){intx=2,y,z;x*=3+2;printf(“%d\n”,x);10x*=y=z=4;printf(“%d\n”,x);40x=y=1;printf(“%d,%d\n”,x,z);1,4z+=-x+++(++y);5z+=x++-1;6printf(“%d,%d\n”,x,z);3,6}2.main(){intx=3,y=3,z=3;y=x++-1printf(“%d\t%d\n”,x,y);y=++x-1;printf(“%d\t%d\n”,x,y);y=z--+1;printf(“%d\t%d\n”,z,y);y=--z+1;printf(“%d\t%d\n”,z,y);}3.main(){inti=16,j=6;floatx,y;;printf(“%d\n”,i/j);2printf(“%d\n”,i%j);4x=y=3;x=x+y;y+=13;printf(“%f\n”,y/=x);2.666667}4.main(){inti=16,j;j=(i++)+i;printf(“%d\n”,j);32i=15;printf(“%d\t%d\n”,++i,i);16,15i=20;j=i--+i;printf(“%d\n”,j);405i=13;printf(“%d\t%d\n”,i++,i);13,13}5.下面程序段执行结果是()。inti=5,k;k=(++i)+(++i)+(i++);printf(%d,%d,k,i);A)24,8B)21,8C)21,7D)24,7分析:k=(++i)+(++i)+(i++)表达式中,++号在i前面的有两个,所以在计算k之前,i要先增两次,即i变为7,然后再将3个7相加,使k得21,表达式中++号在i后面的有1个,所以得出k的值以后i又增1次变为8。本题正确答案为B。6.下面程序段的输出结果是()。inti=32769;printf(%d\\n,i);A)32769B)32767C)-32767D)输出不是确定的数分析:int型变量表示数据的范围是-32768~+32767,赋值时比-32768小或比+32767大,都会发生溢出,溢出后存放的数值是:正向溢出时,为该数减去模65536,负向溢出时,为该数加上模65536,所以本题输出为32769-65536=-32767。本题正确答案为C。7.下面的程序运行后输出为()。main(){inta=-32769;ptintf(%8U\\n,a);}A)32769B)%8UC)32767D)-32767分析:格式字符必须小写,题中的%8U不会当作格式控制符,而是原样输出,变量a将没有对应的格式说明,也不会送出。本题正确答案为B。8.#includestdio.h#includestring.hvoidmain(){chara[7]=a0\0a0\0;inti,j;i=sizeof(a);j=strlen(a);printf(%d,%d\n,i,j);}

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功