C语言题库(带答案)-排版

C语言题库(带答案)-排版

ID:69565397

大小:220.50 KB

页数:7页

时间:2024-02-06

上传者:U-140648
C语言题库(带答案)-排版_第1页
C语言题库(带答案)-排版_第2页
C语言题库(带答案)-排版_第3页
C语言题库(带答案)-排版_第4页
C语言题库(带答案)-排版_第5页
C语言题库(带答案)-排版_第6页
C语言题库(带答案)-排版_第7页
资源描述:

《C语言题库(带答案)-排版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

------------------------------------------作者xxxx------------------------------------------日期xxxxC语言题库(带答案)-排版 【精品文档】一、选择题1、以下不能定义为用户标识符的是()。(A)MAIN(B)_HJ(C)2ong(D)LINE12、以下不能定义为用户标识符的是()(A)If(B)H_J(C)208ong(D)LINE123、下面属于C语言标识符的是()。(A)2ab(B)@f(C)?b(D)_a124、下列符号中用来表示C语言中的回车换行的是()。(A)r(B) (C)b(D)t5、在计算机系统中,可执行程序是()(A)源代码(B)汇编语言代码(C)机器语言代码(D)ASCII码6、在VisualC++6.0环境下,C源程序文件名的默认后缀是()。(A).obj(B).txt(C).c(D).doc7、MicrosoftVisualC++6.0中,C语言可执行程序的扩展名是:()(A)exe(B)obj(C)c或cpp(D)txt8、C程序由()组成。(A)子程序(B)主程序和子程序(C)函数(D)过程9、C程序的基本组成单位()。(A)数据类型(B)变量和常量(C)函数(D)表达式10、C语言中主函数的个数是()。(A)2个(B)1个(C)任意个(D)10个11、一个C程序的执行是从()(A)本程序的main()函数开始,到main函数结束.(B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束.(C)本程序文件的第一个函数开始,到本程序main函数结束.(D)本程序的main()函数开始,到本程序文件的最后一个函数结束.12、以下叙述正确的是(A)在C语言程序中,main函数必须放在其他函数的最前面((C)在C语言程序中,只有main函数才可单独进行编译(13、设变量a是整型,b是实型,c是双精度型,则表达式2+’a’+b*c值的数据类型是()。(A)int(B)float(C)double14、以下选项中表示一个合法的常量是(说明:符号□表示空格)A)9□9□9B)0XabC)123E0.215、以下选项中非法的字符常量是A)'102'B)'65'C)'xff'D)'19'16、以下选项中,能表示逻辑值“假”的是A)1B)0.000001C)017、下列关系表达式中,结果为“假”的是A)(3+4)>6B)(3!=4)>2C)3<=4||3D)(3<4)==118、关于C语言变量,以下说法不正确的是()(A)变量名由程序员定义,必须符合标识符的命名规则。(B)变量是程序运行过程中其值可以改变的量。(C)可以用C语言的关键字作为变量名。(D)变量命名时应尽量做到见名知意。19、关于C语言中数的表示,以下叙述正确的是A)只有整型数在允许范围内能精确无误的表示,实型数会有误差B)只要在在允许范围内整型和实型都能精确表示C)只有实型数在允许范围内能精确无误的表示,整型数会有误差D)只有八进制表示的数在不会有误差20、设有语句inta=3;,则执行了语句a+=a-=a*a;后,变量a的值是。A.3B.0C.9D.-1221、在C语言中,要求运算数必须是整型的运算符是。A.%B./C.main(){charc='z';printf("%c",c-25);}A.aB.ZC.z-25D.y30、已知字母A的ASCII码为十进制数的65,以下程序的输出结果是。【精品文档】 【精品文档】#includemain(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c ",ch1,ch2);}A.67,DB.B,CC.C,DD.不确定的值31、若k是int型变量,则以下程序片段的输出结果是。k=-3;if(k<=0)printf("####");elseprintf("&&&&");A.####B.&&&&C.####&&&&D.有语法错误,无输出结果32、关于以下程序,说法正确的是。#includemain(){intx=3,y=0,z=0;if(x=y+z)printf("****");elseprintf("####");}A.有语法错误不能通过编译B.输出****C.可以通过编译,但是不能通过连接,因而不能运行D.输出####33、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为。A.a<>0B.!aC.a=0D.a34、能正确表示关系x≤y≤z的C语言表达式是。A.(x<=y)&&(y<=z)B.(x<=y)and(y<=z)C.(x<=y<=z)D.(x<=y)&(y<=z)35、能正确表示逻辑关系a≥10或a≤0的C语言表达式是。A.a>=10ora<=0B.a>=0|a<=10C.a>=10&&a<=0D.a>=10‖a<=036、若变量c为char型,能正确判断出c为小写字母的表达式是。A.'a'<=c<='z'B.(c>='a')||(c<='z')C.('a'<=c)and('z'>=c)D.(c>='a')&&(c<='z')37、语句while(E);中的条件E等价于。A.E==0B.E!=1C.E!=0D.~E38、语句while(!E);中的条件!E等价于。A.E==0B.E!=1C.E!=0D.~E39、以下程序片段的输出结果是。intx=23;do{printf("%2d",x--);}while(!x);A.打印出321B.打印出23C.不打印任何内容D.陷入死循环40、若i、j已定义为int型变量,则以下程序片段中,内循环体的执行次数是。for(i=5;i;i--)for(j=0;j<4;j++){…}A.20B.25C.24D.3041、以下程序的输出结果是。#includemain(){intn=4;while(n--)printf("%d",--n);}A.20B.31C.321D.21042、以下定义语句中,错误的是。A.inta[]={1,2};B.char*a[3];C.chars[10]="test";D.intn=5,a[n];43、设int型变量占用4个字节,如有定义intx[10]={0,2,4};,则数组x在内存中所占的字节数是。A.3B.12C.20D.4044、以下语句的输出结果是。printf("%d ",strlen("t"65xff "));A.5B.1445、以下程序片段的输出结果是。charstr[]="ab 12\"";printf(%d",strlen(str));A.3B.4C.6D.1246、以下数组定义中,不正确的是。A.inta[2][3];B.intb[][3]={0,1,2,3};C.intc[100][100]={0};D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};47、以下程序的输出结果是。#includemain(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d ",a[0][3],a[1][2],a[2][1],a[3][0]);}A.0650B.1470C.5430D.不确定的值48、以下程序的输出结果是。#includemain(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf("%d ",s);}A.11B.19C.13D.2049、以下对C语言字符数组的描术中,错误的是。A.字符数组可以存放字符串【精品文档】 【精品文档】B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较50、定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};以上语句的输出结果是。for(i=0;i<3;i++)printf("%d",x[i][2-i]);A.159B.147C.357D.36951、不能将字符串:Hello!赋给数组b的语句是。A.charb[10]={'H','e','l','l','o','!',''};B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!");D.charb[10]="Hello!";52、以下数组定义中,合法的是。A.inta[]="string";B.inta[5]={0,1,2,3,4,5};C.strings="string";D.chara[]={0,1,2,3,4,5};53、若有以下定义语句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是。A.*p+6B.*(p+6)C.*p+=5D.p+554、若有以下定义语句:intw[3][4]={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是。A.*w[1]+1B.p++,*(p+1)C.w[2][2]D.p[1][1]55、若有以下定义语句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是。A.*pB.a[10]C.*aD.a[p-a]56、下列保留字中用于构成循环结构的是()(A)else(B)for(C)switch(D)default57、以下程序运行结果是:()(A)无限次输出:“你好,中国!”(B)输出5次“你好,中国!”(C)没有任何输出(D)编译错误,不能运行#includemain(){while(5)printf("你好,中国!");}58、以下函数值的类型是。intfun(floatx){floaty;y=3*x-4;returny;}A.intB.不确定C.voidD.float59、以下程序的输出结果是。#includeinta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d%d ",a,b);}A.100200B.57C.200100D.7560、以下函数调用语句含有个实参。func((exp1,exp2),(exp3,exp4,exp5));A.1B.2C.4D.561、在调用函数时,如果实参是简单变量,它与对应的形参之间的数据传递方式是。A.地址传递B.单向值传递C.由实参传给形参,再由形参传回实参D.由用户指定的62、以下if语句错误的是()(A)if(x=是A)算术运算符B)关系运算符C)逻辑运算符D)以上均不是73.已知:inta=1,b=2,c=3,d=4;则表达式a>b?a:(c>d?c:d)的值是A)1B)-2C)3D)474.执行以下程序段后,变量y的值是intx,y;x=1;y=(++x*5);A)5B)10C)15D)2075.若有说明:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};,则数组第一维的大小为A)2B)3C)4D)不能确定的值76.函数调用:strcat(strcpy(str1,str2),str3)的功能是A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3中C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中7#includemain(){inta,b;a=5;b=8;p(a+b,a);p(a/b,b);}p(intx,inty){y=x+y;printf(“%d,%d ”,x,y);}则执行上述程序后的输出是A)13,18B)18,5C)18,5D)18,230,81,131,141,1378.若以数组名作为函数的实参,则实参向形参传送的是A)数组元素的地址B)数组元素的值C)数组的首地址D)数组名79.变量的指针是A)变量的值B)指针变量C)变量存储单元的地址D)变量存储单元的字节数80.执行以下程序后,a的值为int*p,a=10,b=1;p=&a;a=*p+b;A)12B)编译出错C)10D)11二、填空题1、C语言标识符由字母、下划线或数字组成。命名标识符必须以字母或下划线开头,字母严格区分大小写,不能使用C语言的关键字作为标识符。(两空顺序可以互换)2、在C语言中,包含头文件的预处理命令以#开头。3、在C语言中,主函数名是main。4、机器语言是计算机唯一能直接执行的语言。计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译和解释。5、C语言源程序文件经过编译后,生成文件的后缀是.obj;经过连接后,生成文件的扩展名是.exe。6、开发一个C程序要经过编辑、编译、链接和运行4个步骤。7、在结构化程序设计方法中,有顺序结构、选择结构和循环结构三种基本结构。8、C语言中为了简化程序,提高程序的编译效率,在赋值运算符前面加上其他运算符号构成复合运算符。例如:x=x+5用复合运算符可以写成x+=59、已知字符A的ACSII码值为65,以下语句的输出结果是B,66charch='B';printf("%c,%d ",ch,ch);10、若定义:inta=5,b=2,c=1;则表达式a-b>c||b==c的值是1;表达式a-b>c&&b==c的值是0。14、“:?”条件运算符是C语言中唯一的三目运算符。由其连接的表达式为条件表达式,其格式为:<表达式1>?<表达式2>:<表达式3>。执行过程:首先计算表达式1的值,如果表达式1的值是“真”(非0),则整个表达式的值为表达式2的值;如果表达式1的值是“假”(0),则整个表达式的值为表达式3的值。15、C语言中常用的三种循环控制语句中,while语句和for语句属于当型循环,do……while语句属于直到型循环。16、把多个语句用括号{}括起来组成的一个语句称复合语句。在程序中应把这种语句看成是单条语句,而不是多条语句。把一种只有分号而没有表达式的特殊语句称空语句,它是c语句中最简单的语句,因为它只由一个分号组成,是一种不执行任何操作的语句。【精品文档】 【精品文档】17、对于while和do……while这两种循环语句,do……while语句至少执行1次循环体,而while语句可以一次也不执行循环体。18、在循环语句中,continue和break语句的区别是:continue语句提前结束本次循环,进行下一次循环的判断;而break语句跳出循环结构,结束循环。19、一个循环体内又包含另一个完整的循环结构,称为嵌套。20、for语句表达方式灵活多样,for(;;)表示循环条件为真。21、表达式(int)((double)(5/2)+2.5)的值是______4______。22、设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为________。23、变量a和b的值均不为0的逻辑表达式是_____a!=0&&b!=0_____。24、对于while和do-while这两种循环语句,_____do-while____语句至少执行1次循环体。25、逗号表达式(a=15,a*4),a+5的值为_____20_______。26、执行下列语句inta=8;a+=a-=a*a;后,a的值是_____-112_______。27、开发一个C程序要经过编辑、_____编译_______、连接和运行4个步骤。28、C语言中基本的数据类型有:整型、______实型______、字符型。29、intx=6,y=7;printf(”%d,”,x++);printf(”%d ”,++y);程序的输出结果是______6,8______。30、判断ch为大写字母的逻辑表达式_____ch>=’A’&&ch<=’Z’_______。31、func((exp1,exp2),(exp3,exp4,exp5));该函数调用语句含有2个实参。32、设有以下定义语句:inta[3][2]={10,20,30,40,50,60},(*p)[2]=a;则*(*(p+2)+1)的值为60。33、以下函数的功能是将两个整数指针所指的存储单元中的内容进行交换。exchange(int*x,int*y){intt;t=*y;*y=*x;*x=t;}34、int变量在Win32中占4个字节。35、写出1010&&x<20||x<-30。36、变量a、b中有且只有一个为0的逻辑表达式是a==0&&b!=0||a!=0&&b==0。37、若有定义语句:inta=5;,则表达式a++的值是5。38、若有语句doublex=17;inty;,当执行y=(int)(x/5)%2;之后y的值是1。39、若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:a=7,b=9请完成输出语句:printf("a=%d,b=%d",a,b);。40、若有定义:intk;,以下程序段的输出结果是#2#4。for(k=2;k<6;k++,k++)printf("#%d",k);41、以下程序运行后的输出结果是10。#includemain(){intx=20;printf("%d",0main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d ",a,b);}46、以下程序的输出结果是261。#includemain(){inta=177;printf("%o ",a);}47、以下程序的输出结果是16。#includemain(){inta=0;a+=(a=8);printf("%d ",a);}48、以下程序的输出结果是20,0。#includemain(){intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(“%d,%d ”,x,y);【精品文档】 【精品文档】}49、以下函数的功能是将两个整数指针所指的存储单元中的内容进行交换。exchange(int*x,int*y){intt;t=*y;*y=*x;*x=t;}50、函数fun()计算数组中各元素的平均值。doublefun(inta[],intn){inti;doublesum=,avg;for(i=0;ia[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}52、字符串的结束标志是’’。53、表达式6.0*(1/2)的值为。54、C语言中,唯一的三目运算符是条件运算符,而&&是双目运算符。顺序结构:1、编写一个C程序,由用户输入一个双精度实型数据存储到变量x中,实现四舍五入保留小数点三位,并输出。2、编写一个C程序,实现由用户输入两个整数a,b,交换a和b的值后,输出。3、编写一个C程序,由用户输入三角形三条边长a,b,c,计算三角形的面积,并输出,如果输入的三条边不能构成三角形的话,则输出-1。附:计算三角形的海伦公式:设三角形三边长为a,b,c,半周长p=(a+b+c)/2,面积选择结构:1、输入两个整数,求其最大值并输出。2、输入三个整数,求其最大值并输出。3、输入三个整数,要求按照从小到大进行排序,并输出。4、编写一个C程序,由用户输入一个整数,判断并输出它是奇数还是偶数。循环结构:1、编写一个C程序,求1+2+3+...+99+100的值。2、编写一个C程序,求1+3+5+...+97+99的值。3、编写一个C程序,求的值。4、编写一个C程序,输入一个整数,判断其是否为素数。数组:1、编写一个程序,从键盘上读取10个整数到数组中,并数组中元素其最大值,并输出。2、编写一个程序,从键盘上读取一个字符串到字符数组中,统计字符串中数字字符的个数,并输出。3、编写一个程序,求N*N矩阵左下半角元素置为零。4、编写一个程序,求二维数组中周边元素的和。5、使用一维数组来存放5个学生的考试分数{85,70,67,75,90},求分数在60-75之间的学生人数。#includemain(){inta[5]={85,70,67,75,90},i,count=0;for(i=0;i<5;i++){if(a[i]>=60&&a[i]<=75)count++;}printf(“60-75分之间有%d位学生 ”,count);}函数:1、编写一个函数voidfun(inta[],intn);,要求对a指向的数组中n个元素逆序进行存放。2、编写一个函数intfun(inta[],intn);,要求返回a所指向数组中元素的最大值。3、编写一个函数intIsPrime(intm),判断某个数是否为素数,如果是,返回1,如果不是,返回0。4、编写一个函数voidfun(char*s);,要求删除所有s所指向字符串中的空格。【精品文档】

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭