欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C程序设计习题部分.docx

    • 资源ID:2023504       资源大小:46.31KB        全文页数:42页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C程序设计习题部分.docx

    1、C程序设计习题部分习题第1部分 表达式及三种基本结构1、 单项选择题1)在语言中,int、char和float三种类型数据所占用的内存 。A、均为2个字节 B、分别为1、2、4个字节C、分别为2、1、4个字节 D、由变量的大小决定2)在语言中,错误的int类型的常数是 。A、32768 B、 -32766 C、 037 D、 0xAF3)下列可以表示字符型常数的是 。A、 a B、 t C、 n D、 2974)下列错误的转义字符是 。A、 B、 C、 81 D、 05)已知char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是:

    2、 。A、 int B、 char C、 float D、 double 6)已知 int i=5; 执行语句i+=+i; 后,i的值是 。A、6 B、 10 C、 12 D、 117)若w=1,x=2,y=3,z=4; 则条件表达式wx?w:yz?y:z的结果为 。A、4 B、 3 C、 2 D、 18)已知int x; 则使用逗号运算符的表达式(x=4*5,x*5),x+25的结果为 。A、20 B、 100 C、 125 D、 459)已知a=b=c=1且均为int 类型变量,则执行以下语句:+a|+b&+c; 变量b的值为 。A、1 B、 2 C、3 D、 010)若要求在if后一对圆括

    3、号中表示条件“a不等于0成立”,则能正确表示这一关系的表达式是 。A、a0 B、 !a C、a=0 D、 a11)C语言对嵌套if语句的规定是:else总是和 配对。A、其之前最近的if B、第一个ifC、缩进位置相同的if D、其前面最近的且尚未配对的if12)为了判断两个字符串s1和s2是否相等,应当使用 。A、if(s1=s2) B、 if(s1=s2)C、if(strcpy(s1,s2) D、if(strcmp(s1,s2)=0)13)已知x,a,b均为整型变量,则下列选项中错误的if语句是 。A、if(a=b) x+; B、if(a=b) m=a; B、if(a=b) m=b; C、

    4、if(a=b)=0) m=a; D、if(a=b;)=0) m=a;17)程序main() int x=5; if(x+10) printf(%d,x);else printf(%d,x-);的输出是 。A、4 B、5 C、6 D、718)在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三条语句不等价,它是 。A、if (a) s1; else s2; B、if (a=0) s2; else s1;C、if (a!=0) s1; else s2; D、if (a=0) s1; else s2;19)在循环语句的循环体中使用break和continue语句的作用分别

    5、是 。A、都是结束循环 B、结束本次循环和结束循环C、都是结束本次循环 D、结束循环和结束本次循环20)设i,s是整型变量,执行如下的语句: for (i=0,s=0;i10;i+,s+); printf(%d,%dn,i,s); 输出的i和s的值为 。A、0,0 B、10,0 C、10,10 D、9,921)语句while(!x);中的条件等价于 。A、x=0 B、x!=0 C、x D、x!=122)在while(x)语句中的x与下面条件表达式等价的是 。A、x=0 B、x=1 C、x!=1 D、x!=023)若int x=3; 且有下面的程序片段,则输出结果是 。 do printf (%

    6、d,x-=2); while (!(-x);A、1 B、3 0 C、1 -2 D、死循环24)若i,j均为整型变量,则关于循环for(i=0,j=-1;j=1;i+,j+)printf(%d,%dn,i,j);正确的说法是 。A、循环体只执行一次 B、循环体一次也不执行C、判断循环结束的条件不合法 D、是无限循环25)以下不是死循环的语句为 。A、for ( ; ; x+=i ); B、while (1) x+;C、for (i=10; ; i-) D、for ( ; (c=getchar()!=n;) sum+=i; printf(%c,c);26)设有如下程序段,则以下叙述中正确的是 。i

    7、nt x=2002,y=2003;printf(%dn,(x,y);A、输出语句中格式说明符的个数少于输出项的个数B、输出语句中格式说明符必须再增加一个%dC、输出值为2002D、输出值为20032、填空题1)设有如下说明: int i=3,j=5,m; 执行语句m=(i+)-(-j);后,m的值是 ,j的值是 。2)设有如下程序:void main() int a=3,b=3,c; c=a+ +b;printf(%d %dn,a,c); c=a- -b;printf(%d %dn,b,c);/*减号之间有无空格结果是不同的*/ c=a+b; printf(%d %dn,a,c); 该程序执行

    8、后的三行输出分别是 , , 。3)设x=2.5,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值为 。4)以下程序运行的结果是 。#include void main()int i,j,m,n; i=8; j=10; m=+i; n=j+; printf (%d,%d,%d,%d,i,j,m,n); 5)strlen(ab034x79)的值是 。6)若int x=600; 则执行下列程序后,变量y的值是 。 if (x400) if (xb) if (ac) printf(%d,a); else printf(%d,b); printf(end); 9)完善程序:企业根

    9、据月销售额为销售人员发奖金。销售额小于1万元,奖金为销售额的20%;销售额大于或等于1万元而小于2万元,低于1万元的部分按20%,高于1万元的部分按15%发奖金;销售额大于2万元而小于4万元的,低于2万元的部分仍按上述方法发奖金,高于2万元的部分按10%发奖金;销售额大于4万元而低于6万元时,高于4万元的部分按6%发奖金;销售额大于6万元而低于10万元时,高于6万元的部分按3%发奖金;当销售额大于10万元时,高于10万元的部分按2%发奖金。#include void main() float sales; double price; int n; printf(请输入月销售额:n); scan

    10、f(%f ,&sales); if (sales=100000) n=10; else ; switch( n ) case 0: price= sales*0.2; break; case 1: price= 2000+(sales-10000)*0.15; break; case 2: case 3: price= 3500+(sales-20000)*0.1; break; case 4: case 5: price= 5500+(sales-40000)*0.06; break; case 6: case 7: case 8: case 9: price= 6700+(sales-60

    11、000)*0.03;break; case 10: price= 7900+(sales-100000)*0.02; break; printf(奖金是:%fn,price );10)执行下列程序段后,x和i的值分别是10和 。 int x,i; for(i=1,x=1;i=10) break; if(x%2=1) x+=5;continue; x-=3;11)完善程序:程序用于求100200之间的全部素数。程序中n的作用是累计素数的个数,该程序要求控制每行输出10个数据。 #include math.h void main() int m,k,i,n=0 ; for (m= 101 ;m=2

    12、00;m=m+2) if ( n%10=0 ) printf(n); k=sqrt(m); for (i=2;i=k+1) printf(%d ,m); n=n+1; 12)完善程序:已知任意一个正整数的立方都可以写成一串连续奇数的和。例如:131313=2197=157+159+ +177+179+181,下列程序可以验证上述定理。void main() long int n,i,k,j,sum; printf(Enter n=); scanf(%ld,&n); k=n*n*n; for(i=1;ik/2;i+=2) for(j=i,sum=0;sumk ;j+=2) sum+=j; if(

    13、 sum=k ) printf(%ld*%ld*%ld=%ld=from %ld to %ldn,n,n,n,sum,i,j); 13)完善程序:下面程序的功能是打印100以内个位数为6且能被3整除的所有数。#include stdio.hvoid main()int i,j; for(i=0; i10 ;i+) j=i*10+6; if( ) continue; printf(%d ,j);14)阅读程序,写出程序的输出结果 。 #include void main() int k=1; char c=A; do switch(c+) case A: k+; break; case B: k

    14、-; case C: k+=2; break; case D: k=k%2; continue; case E: k=k*2; break; default: k=k/3; k+; while(cF); printf(k=%dn,k); 15)写出程序的输出结果 。 #include void main() int i=1; while (i=15) if (+i%3 !=2) continue; else printf(%d ,i); /*该语句是否在循环中?*/ printf(n); /*该语句是否在循环中?*/ 16)编程将一个键盘输入的正整数分解质因数。例如:输入90,打印出90=2*

    15、3*3*5。17)猴子吃桃问题:几个猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃时,见只剩下一个桃子了。编程求第一天共摘了多少桃子。(提示:采取逆向思维的方法,从后往前推断。)第2部分 数组1、单项选择题1)以下对数组的初始化方法中,正确的是: 。A、int a =A,B,C; B、int a5=0,1,2,3,4,5;C、char a=A,B,C; D、int a = 0,1,2,3,4,5;2)若要判断两个字符串str1和str2是否相等,应选用的函数是 。A、

    16、strcat(str1,str2) B、strcpy(str1,str2)C、strcmp(str1,str2) D、strstr(str1,str2)3)以下对字符数组初始化的方法中,错误的是: 。A、 char str =Hello; B、 char str =Hello;C、 char str =Hello; D、 char str =H,e,l,l,o,0;4)若给出以下定义,则正确的叙述为 。char x =abcdefg;char y =a,b,c,d,e,f,g; A、数组x和数组y等价 B、数组x和数组y的长度相同C、数组x的长度大于数组y的长度 D、数组x的长度小于数组y的长

    17、度5)若二维数组a有m列,则在aij前的元素个数为 。A、 j*m+i; B、 i*m+j; C、 i*m+j-1; D、 i*m+j+1;6)若已定义:int w10;则在下面表达式中不能表示w2的地址的是 。A、w+2 B、&w2 C、&w0+2 D、w+=27)以下对二维数组a的正确说明是 。A、int a3 =3,4,2,6,9,2; B、float a(3, 4);C、int a 4=3,4,2,6,9,2; D、int a10=10*1;8)不正确的字符串赋值或赋初值方式是 。A、char str =s, t, r, i, n, g, 0; B、char str7=s, t, r,

    18、 i, n, g;C、char str110; str1=string; D、char str1 =string,str2 =12345678;9)若有以下说明和语句,则输出结果是 。char s12a book! ; printf(.4s,s); A、a book! B、a boC、a book!(代表空格) D、因格式描述不正确,没有确定的输出10)若有以下说明和语句,则输出的结果是 。 char sp =x69082n; printf(%d,strlen(sp);A、3 B、1 C、5 D、411)若两个静态数组A和数组B进行如下初始化,则 。 static char A =ABCDEF

    19、; static char B =A,B,C,D,E,F;A、A和B完全相同 B、A和B只是长度相等C、A和B不相同,A是字符串,不是数组 D、A数组长度比B数组长12)下列程序的输出结果是 。void main()int k=3,a2; a0=k;k=a1*10; printf(%dn,k);A、10 B、30 C、33 D、不定值13)要定义一个连续10个字节的存储空间,以下定义正确的是 。A、char ss10; B、int ss10; C、float ss10; D、double ss10;14)有一数组int num4=11,12,13,14,15,16,17,9,8,7,6,5,执

    20、行语句scanf(%d, &num23)后,数组中的值应为: (键盘输入值为0)。A、11,12,13,14,0,0,0,0,0,0,0,0 B、11,12,13,14,15,16, 17,9,8,7,6,0C、11,12,13,14,15,16, 17,0,8,7,6,5 D、11,12,13,14,15,16, 17,9,8,7,6,515)有一数组如下定义int a6=1,2,3,4,5;执行for (i=0; i6;i+)printf (%d ,ai); 输出的结果是 。A、1 2 3 4 5 6 B、1 2 3 4 5 随机值 C、1 2 3 4 5 0 D、1 2 3 4 5 51

    21、6)执行以下程序,若输入数据为:abcd1234 efgh,则程序的输出结果是 。void main() char str 13; scanf(%s,str); printf(%sn,str); A、abcd B、abcd1234 C、efgh D、abcd1234efgh17)若有声明语句“int M10,N33;”,则以下对数组元素赋值的操作中,未出现越界访问的是 。A、N03=0 B、M10=0 C、N30=0 D、M-1=018)已定义一个数组str存放字符串,要从键盘上接收一串字符到str中,正确的方法是 。A、gets(str); B、gets(&str); C、scanf(%c,

    22、str); D、scanf(%s,&str);19)有一数组char str60,要将windows存放到此数组的正确语句是 。A、get(str); B、scanf(%s, str); C、scanf(%s, &str); D、puts(str);20)C语言中,存储字符串“ABC”占用的字节数(即函数sizeof(a)的值)和字符串长度(即函数strlen(ABC)的值)分别是 。A、3、4 B、4、3 C、3、3 D、4、421)设有说明:“char str1100;”,并假设已输入一个字符串至str1数组中,则输出该字符串的printf函数调用语句的格式为 。A、printf(%dn,

    23、&str); B、printf(%cn,str);C、printf(%sn,str); D、printf(%sn,&str);22)下列描述正确的是 。A、数组名就是本数组在存储空间中的起始地址B、数组名就是一个符号,在程序中没有实际的意义C、数组名就是存放数组中的第一个元素的存储单元D、在程序中数组不能单独使用,必须带使用23)命题“当两个字符串s1和s2相等时为真,否则为假”的C语言表达式为 。A、s1=s2 B、s1=s2 C、!strcmp(s1,s2) D、strcmp(s1,s2)24)有一数组int a8=1,2,3,4,5,6,7,8,在执行scanf(“%d”, &aa5%3

    24、+1),数组中的值为 。(键盘输入值为0)A、1 2 0 4 5 6 7 8 B、1 2 3 0 5 6 7 8C、1 2 3 4 0 6 7 8 D、1 0 3 4 5 6 7 825)若有以下说明和语句,则输出结果是 。char str =c:abc.dat;printf(%s,str);A、符串中有非法字符 B、c:abc.dat C、c:abc.dat D、c:abc.dat26)有以下语句:int b;char c10;则正确的输入语句是 。A、scanf(%d%s,&b,&c); B、scanf(%d%s,&b,c);C、scanf(%d%s,b,c); D、scanf(%d%s,

    25、b,&c);27)以下程序运行后的输出结果是 。 void main() int p8=11,12,13,14,15,16,17,18,i=0,j=0; while( i+7) if(pi%2) j+=pi; printf(%dn,j); A、42 B、45 C、56 D、6028)以下程序运行后的输出结果是 。 void main() char a7=a00a00; int i,j; i=sizeof(a); /* sizeof()是求a数组存储空间的库函数*/ j=strlen(a); printf(%d %dn,i,j); A、2 2 B、7 6 C、7 2 D、6 229)以下能正确定

    26、义一维数组的选项是 。A、int a5=0,1,2,3,4,5 B、char a=0,1,2,3,4,5;C、char a=A,B,C; D、int a5=0123;30)以下叙述中错误的是 。A、对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B、数组名代表的是数组所占存储区的首地址,其值不可改变C、当程序执行中数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D、可以通过赋初值的方式确定数组元素的个数31)以下能正确定义一维数组的选项是 。A、int num; B、#define N 100 int numN; C、int num0100; D、int N=100; int numN;32)若有定义语句static char str412=thank,you,very,much!;则str数组中存储0的数组元素有 个。A、4 B、1 C、31 D、272、填空题1)执行以下程序段后,b0、b1、b2的值为 。int b3=0,1,2; b2=b(b0=2)+b1-1-2;2)下面程序的输出结果为 。int a33=1,2,3,4,5,6,7,8,9;void main() int i; for(i=0;i3;i+) printf(%d ,ai2-i);


    注意事项

    本文(C程序设计习题部分.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开