欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言练习题(31页).docx

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

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

    c语言练习题(31页).docx

    -41 选择题1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a的正确说明是( D)。 A.int a(10); B. int n=10,an;C.int n; D. #define SIZE 10 scanf("%d",&n); int aSIZE; int an; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(C )。 A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式4. 以下对一维数组m进行正确初始化的是(C )。 A. int m10=(0,0,0,0) ; B. int m10= ;C. int m =0; D. int m10=10*2; 5. 若有定义:int bb 8;。则以下表达式中不能代表数组元bb1的地址的是( c)。 A. &bb0+1 B. &bb1 C. &bb0+ D. bb+16. 假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是(B )。 A. 3 B. 6 C. 10 D. 207. 若有以下说明: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c='a',d,g; 则数值为4的表达式是(D )A. ag-c B. a4 C. a'd'-'c' D. a'd'-c8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(A )。 #include<stdio.h>main() int a10,i=0;while(i<10) scanf("%d",_ );A. a+(i+) B. &ai+1 C. a+i D. &a+i9. 执行下面的程序段后,变量k中的值为( A)。 int k=3, s2; s0=k; k=s1*10;A. 不定值 B. 33 C. 30 D. 1010. 以下程序的输出结果是(C ) main()int i, a10;for(i=9;i>=0;i-) ai=10-i;printf("%d%d%d",a2,a5,a8);A. 258 B. 741 C. 852 D. 36911. 以下程序运行后,输出结果是( D)。 main() int n5=0,0,0,i,k=2;for(i=0;i<k;i+) ni=ni+1;printf("%dn",nk);A. 不确定的值 B. 2 C. 1 D. 012. 以下程序运行后,输出结果是(B )。 main() int y=18,i=0,j,a8; do ai=y%2; i+; y=y/2; while(y>=1); for(j=i-1;j>=0;j-) printf("%d",aj); printf("n");A. 10000 B. 10010 C. 00110 D. 1010013. 以下程序运行后,输出结果是(A )。 main()int a10, a1 =1,3,6,9,10, a2 =2,4,7,8,15,i=0,j=0,k;for(k=0;k<4;k+)if(a1i<a2j) ak=a1i+;else ak=a2j+; for(k=0;k<4;k+) printf("%d",ak); A. 1234 B. 1324 C. 2413 D. 432114. 以下程序运行后,输出结果是(B )。 main() int i,k,a10,p3;k=5;for (i=0;i<10;i+) ai=i;for (i=0;i<3;i+) pi=ai*(i+1);for (i=0;i<3;i+) k+=pi*2;printf("%dn",k);A. 20 B. 21 C. 22 D. 2315. 以下程序运行后输出结果是( D)。 main( ) int n3,i,j,k;for(i=0;i<3;i+) ni=0;k=2;for (i=0;i<k;i+)for (j=0;j<k;j+) nj=ni+1;printf("%dn",n1); A. 2 B. 1 C. 0 D. 316. 下列程序的主要功能是输入10个整数存入数组a,再输入一个整数x,在数组a中查找x。找到则输出x在10个整数中的序号(从1开始);找不到则输出0。程序缺少的是 ( B)。 main()int i,a10,x,flag=0;for(i=0;i<10;i+) scanf("%d",&ai);scanf("%d",&x);for(i=0;i<10;i+) if _ flag=i+1; break;printf("%dn", flag);A. x!=ai B. !(x-ai) C. x-ai D. !x-ai17. 若说明:int a23; 则对a数组元素的正确引用是(C ) 。 A. a(1,2) B. a1,3 C. a1>2!1 D. a2018. 若有定义:int b34=0;则下述正确的是( D) 。 A. 此定义语句不正确B. 没有元素可得初值0C. 数组b中各元素均为0D. 数组b中各元素可得初值但值不一定为019. 若有以下数组定义,其中不正确的是( D) 。 A. int a23;B int b3=0,1,2,3;C. int c100100=0;D. int d3=1,2,1,2,3,1,2,3,4;20. 若有以下的定义:int t54;能正确引用t数组的表达式是(C )。A. t24 B. t50 C. t00 D. t0,021. 在定义int m 3=1,2,3,4,5,6;后,m10的值是( C)。 A. 4 B. 1 C. 2 D. 522. 在定义int n56后第10个元素是(C )。 A. n25 B. n24 C. n13 D. n1423. 若二维数组c有m列,则计算任一元素cij在数组中的位置的公式为( A)。(假设c00位于数组的第一个位置)A. i*m+j B. j*m+i C. i*m+j-1 D. i*m+j+124. 若有以下定义语句,则表达式“x11*x22”的值是( B)。 float x33=1.0,2.0,3.0,4.0,5.0,6.0;A. 0.0 B. 4.0 C. 5.0 D. 6.0 25. 以下程序运行后,输出结果是 (A )。 main() int a44=1,3,5,2,4,6,3,5,7;printf("%d%d%d%dn",a03,a12,a21,a30);A. 0650 B. 1470 C. 5430 D. 输出值不定26. 以下程序运行后,输出结果是( B)。 main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i<4;i+) s+=aai1;printf(“%dn”,s);A. 11 B. 19 C. 13 D. 2027. 有以下程序 main( ) int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;i<3;i+)for(j=0;j<=i;j+) s+=aij;printf("%dn",s);该程序的输出结果是( A)。A. 18 B. 19 C. 20 D. 2128. 若定义如下变量和数组: 则下面语句的输出结果是(C )。 int i;int x33=1,2,3,4,5,6,7,8,9;for(i=0;i<3;i+) printf("%d",xi2-i);A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9 29. 下述对C语言字符数组的描述中错误的是( C)。 A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较30. 下述对C语言字符数组的描述中正确的是 (C )。A. 任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间B. 一维数组的元素在引用时其下标大小没有限制C. 任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间D. 一维数组的第一个元素是其下标为1的元素31. 不能把字符串:Hello!赋给数组b的语句是(B )。 A. char str10= 'H', 'e', 'l', 'l', 'o', '! 'B. char str10;str="Hello!"C. char str10;strcpy(str,"Hello!");D. char str10="Hello!"32. 合法的数组定义是( D)。A. int a="string" B. int a5=0,1,2,3,4,5;C. int s="string" D. char a=0,1,2,3,4,5;33. 下列语句中,不正确的是(C )。A. static char a2=1,2; B. static char a2= '1', '2'C. static char a2= '1', '2', '3' D. static char a2= '1'34. 若给出以下定义: char x ="abcdefg"char y ='a','b','c','d','e','f','g' 则正确的叙述为( C)。A. 数组x和数组y等价 B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度 D. 数组x的长度小于数组y的长度35. 若有数组定义: char array ="China" 则数组 array所占的空间为( C)。 A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节36. 若有定义和语句: char s10;s="abcd"printf("%sn",s);则结果是(以下代表空格)(D )。A. 输出abcd B. 输出a C. 输出abcd D. 编译不通过37. 下面程序运行后,输出结果是( C)。 main()char ch7= "65ab21"int i,s=0;for(i=0;chi>= '0'&&chi<= '9'i+=2)s=10*s+chi- '0'printf("%dn",s);A. 12ba56 B. 6521 C. 6 D. 6238. 运行下面的程序,如果从键盘上输入:123<空格>456<空格>789<回车>,输出结果是(D )。 A. 123,456,789 B. 1,456,789C. 1,23,456,789 D. 1,23,456 main() char s100; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%sn",c,i,s); 39. 运行下面的程序,如果从键盘上输入: ab<回车> c <回车> def<回车>则输出结果为( C)。A. a B. a C. ab D. abcdefb b cc c dd def#include<stdio.h> #define N 6 main() char cN; int i=0; for( ;i<N;ci=getchar(),i+); for( i=0;i<N;i+) putchar(ci); printf("n"); 40. 运行下面的程序,如果从键盘上输入:ABC时,输出的结果是(D )。 #include<string.h>main() char ss10="12345"strcat(ss, "6789" );gets(ss);printf("%sn",ss); A. ABC B. ABC9 C. 123456ABC D. ABC45678941. 判断两个字符串是否相等,正确的表达方式是(C )。A. while(s1=s2) B. while(s1=s2) C. while(strcmp(s1,s2)=0) D. while(strcmp(s1,s2)=0)42. 以下程序的输出结果是( A)。main() char str12= 's','t','r','i','n','g' printf("%dn",strlen(str); A. 6 B. 7 C. 11 D. 1243. 若有以下程序片段: char str ="abn012""printf("%d",strlen(str);上面程序片段的输出结果是 ( )。A. 3 B. 4 C. 6 D. 1244. 若有以下程序段,输出结果是( )。 char s ="141141abct"printf ("%dn",strlen(s);A. 9 B. 12 C. 13 D. 1445. 设有static char str ="Beijing"则执行printf("%dn", strlen(strcpy(str,"China");后的输出结果为 ( )。 A. 5 B. 7 C. 12 D. 1446. 以下程序运行后,输出结果是( )。 main() char cf35="AAAA","BBB","CC"printf(""%s"n",ch1);A. "AAAA" B. "BBB" C. "BBBCC" D. "CC"47. 以下程序运行后,输出的结果是( )。 #include <stdio.h>#include<string.h>main() char w 10="ABCD","EFGH","IJKL","MNOP",k; for (k=1;k<3;k+)printf("%sn",&wkk);A. ABCD B. ABCDFGH EFGKL IJMC. EFG D. FGHJK KLO 48. 以下程序运行后,输出结果是( )。 main() char arr24; strcpy(arr,"you"); strcpy(arr1,"me"); arr03='&' printf("%s n",arr); A. you&me B. you C. me D. err42 填空题1. C语言中,数组元素的下标下限为 _整型常量或整形表达式_。 2. C程序在执行过程中,不检查数组下标是否_。 3. 在定义时对数组的每一个元素赋值叫数组的_;C语言规定,只有_存储类型和_存储类型的数组才可定义时赋值。 4. 下面程序的运行结果是_。 #define N 5main()int aN=1,2,3,4,5,i,temp;for(i=0;i<N/2;i+)temp=ai; ai=aN-i-1; aN-i-1=temp;printf("n");for(i=0;i<N;i+) printf("%d ", ai);5. 以下程序以每一行输出4个数据的形式输出a数组。#include<stdio.h>main()int a20,i;for(i=0;i<20;i+) scanf("%d", 【1】);for(i=0;i<20;i+)if ( 【2】 ) 【3】 ;printf("%3d",ai);printf("n");6. 以下程序分别在a数组和b数组中放入an+1和bn+1个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并到c数组中。#include<stdio.h>main()int a10=1,2,5,8,9,10, an=5,b10=1,3,4,8,12,18,bn=5;int i,j,k,c20,max=9999;aan+1=bbn+1=max;i=j=k=0;while(ai!=max)|(bj!=max)if(ai<bj) ck= 【1】; k+; 【2】;else ck= 【3】; k+; 【4】;for(i=0;i<k;i+) printf("%4d",ci); printf("n");7. 以下程序的功能是:从键盘上输入若干个学生的成绩,计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。 main( ) float x1000, sum=0.0, ave, a; int n=0, i; printf("Enter mark:n");scanf("%f",&a); while(a>=0.0&& n<1000) sum+=【1】 ; xn= 【2】 ; n+; scanf("%f",&a); ave=【3】 ; printf("Output:n"); printf("ave=%fn",ave); for (i=0;i<n;i+) if ( 【4】) printf ("%fn",xi); 8. 以下程序把一个整数转换成二进制数,所得二进制数的每一位放在一维数组中,输出此二进制数。注意:二进制数的最低位在数组的第一个元素中。#include<stdio.h>main()int b16,x,k,r,i;printf("please input binary num to x"); scanf("%d",&x);printf("%dn",x);k=-1;do r=x% 【1】 ;b+k=r;x/= 【2】 ;while(x>=1);for(i=k; 【3】 ;i-)printf("%d",bi); printf("n"); 9. 输入10个整数,用选择法排序后按从小到大的次序输出。 #define N 10main( ) int i,j,min,temp,aN;for(i=0;i<N;i+)scanf("%d", 【1】);printf("n");for(i=0; 【2】; i+)min=i;for(j=i;j<N;j+)if(amin>aj) 【3】 ;temp=ai;ai=amin;amin=temp; for (i=0;i<N;i+)printf("%5d",ai);printf("n");10. 当先后输入1,3,4,12,23时,屏幕上出现_;再输入12时,屏幕上出现_。#include<stdio.h>#define N 5main()int i,j,number,top,bott,min,loca,aN,flag;char c;printf("please input 5 numbers ai>ai-1n");scanf("%d",&a0); i=1;while(i<N)scanf("%d",&ai); if(ai>=ai-1) i+; printf("n");for(i=0;i<N;i+) printf("%4d",ai); printf("n");flag=1;while(flag) scanf("%d",&number); loca=0; top=0; bott=N-1;if (number<a0)|(number>aN-1) loca=-1;while(loca=0)&&(top<=bott)min=(bott+top)/2;if(number=amin)loca=min;printf("%d is the %dth numbern",number,loca+1);else if (number<amin) bott=min-1;else top=min+1;if (loca=0|loca=-1) printf("%d is not in the list n",number);c=getchar();if (c=N|c=n) flag=0;11. 以下程序运行结果是 _. #include<stdio.h>main()int a33=1,2,3,4,5,6,7,8,9,i,s1=0,s2=1;for(i=0;i<=2;i+) s1=s1+ aii;s2=s2*aii;printf("s1=%d,s2=%d",s1,s2); 12. 以下程序完成功能是:计算两个3*4阶矩阵相加,并打印出结果。请填空。#include<stdio.h>main()int a34=3,-2,1,2,0,1,3,-2,3,1,0,4;int b34=-2,3,0,-1,1,0,-2,3,-2,0,1,-3;int i,j,c34; for(i=0;i<3;i+) for(j=0;j<4;j+) _; for(i=0;i<3;i+) for(j=0;j<4;j+)printf("%d",cij);printf("n");13. 以下程序的运行结果是_.main() int i, j,a33;for(i=0;i<3;i+)for(j=0;j<3;j+)if(i=3) aij=ai-1ai-1j+1;else aij=j;printf("%4d",aij); printf("t");14. 阅读下列程序:#include<stdio.h>main() int i, j, row, column,m;static int array33=100,200,300,28,72,-30,-850,2,6;m=array00;for (i=0; i<3; i+)for (j=0; j<3; j+)if (arrayij<m) m=arrayij; row=i; column=j;printf("%d,%d,%dn",m,row,column);上述程序的输出结果是 _。 15. 若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是_。 : . char a10,b; scanf("a=%s b=%c",a,&b); : .16. 以下程序段的输出结果是_。main() char b="Hello,you" b5=0; printf("%sn", b ); 17. 若有以下程序段,若先后输入:EnglishåGoodå则其运行结果是_。main() char c160,c23; int i=0,j=0; scanf("%s",c1); scanf("%s",c2); while(c1i!= '0') i+; while(c2j!= '0') c1i+=c2j+; c1i= '0'printf("n%s",c1);18. 从键盘输入由5个字符组成的单词,判断此单词是不是hello,并显示结果。#include<stdio.h>main()static char str =h,e,l,l,o; char str15;【1】 ;for(i=0;i<5;i+)【2

    注意事项

    本文(c语言练习题(31页).docx)为本站会员(1595****071)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开