C语言经典作业题
- 格式:doc
- 大小:67.50 KB
- 文档页数:13
C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、 C程序的每行中只能写一条语句。
C、 C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。
C语言百道练习题一、填空题1.C源程序的基本单位是【函数】。
2.一个C源程序至少应该包含一个【main函数】。
3.在一个C源程序中,注释用的分界符是【//】或【/* */】。
4.在C语言中,标准输入操作的库函数是由【scanf()】完成的,标准输出操作的库函数是由【printf()】完成的。
5.在C语言中,标识符只能由【字母】、【数字】和【下划线】组成,且首字符必须是【字母或下划线】。
6.x为double类型,代数式的C语言表达式是【sqrt(pow(sin(x),2.5))】。
7.数学中一元二次议程的求根公式的C语言表达式为(-b+sqrt(b*b-4*a*c) )/(2*a) 或(-b-sqrt(b*b-4*a*c) )/(2*a) 。
8.梯形的面积公式的C语言表达式为 1.0/2*(a+b)*h 。
9.已知:char a=' a',b=' b',c=' c',i;(已知a的ASCII码值为97)则表达式i=a+b+c的值为294 。
10.C语言中,指针运算符有* 和& 两个。
11.已知int a=12,n=5;则:表达式运算后a和n的值各为0,0 。
a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a12.复合语句是用一对{ } 界定的语句块。
13.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:#include <stdio.h> 。
14.C语言提供三种逻辑运算符,按优先级高低它们分别是! ,&& ,|| 。
15. 将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式(y%4==0&&y%100!=0) ||(y%400==0) 。
16. 已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !C>B的值是F/假。
C语言练习题(带答案)-绝对经典题目不看后悔————————————————————————————————作者:————————————————————————————————日期:1单选题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%x B)a+b C)a123 D)123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
1.寻找数组中的最大值和最小值2.寻找数组中的中位数3.查找数组中给定元素的索引4.反转数组5.合并两个升序数组6.移位数组7.查找两个数组的交集8.查找两个数组的并集9.查找两个数组的差集10.寻找数组中的众数11.寻找数组中的缺失元素12.寻找数组中的重复元素13.计算数组的和14.计算数组的平均值15.计算数组的方差16.计算数组的标准差17.比较两个数组是否相等18.复制数组19.排序数组20.搜索数组(线性搜索)21.搜索数组(二分搜索)22.插入元素到数组23.删除元素到数组24.更新数组中的元素25.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。
一,闰年问题#include<stdio.h>void main(){int a;printf("please input the data of years:");scanf("%d",&a);if(a%400==0||(a%4==0&&a%100!=0))printf("\n闰年:%d",a);}二,数字整除问题#include<stdio.h>void main(){int a=1,i=0;printf("能被7整除的数:\n");while(a<=100){if(a%7==0){printf("%4d",a);i++;if(i%5==0)printf("\n");}a++;}}三,五层递加三角#include<stdio.h>void main(){int a,b,n=1;while(n<=5){a=1,b=1;while(a<=5-n){printf(" ");a++;}while(b<=2*n-1){printf("*");b++;}printf("\n");n++;}}四,水仙花数#include<stdio.h>void main(){int a,m,n,q,p=1;a=100;while(a<1000){m=a/100;n=a/10-m*10;q=a-m*100-n*10;if(a==m*m*m+n*n*n+q*q*q){printf("%5d",a);if(p%2==0)printf("\n");p++;}a++;}}五,最小公倍数#include<stdio.h>int gy(int x,int y){int r;if(x<y){r=x;x=y;y=r;}r=x%y;while(r!=0){x=y;y=r;r=x%y;}return (y);}int gb(int m,int n){int p;p=m*n/gy(m,n);return (p);}void main(){int a,b,c;printf("please enter the data you want to handle:");scanf("%d,%d",&a,&b);c=gb(a,b);printf("%d",c);}六,1+1/3+1/5.....#include<stdio.h>void main(){int n,i;float sum=0.0;scanf("%d",&n);i=1;while(i<=n){sum +=___1.0/(2*i-1);i++;}printf("%.3f",sum);}七,1+1/(1+2)+1/(1+2+3).....#include<stdio.h>void main(){int a,b,c=0;float d=0.0;a=1;scanf("%d",&b);while(a<=b){c+=a;a++;d+=1.0/c;}printf("%d\n",c);printf("%.3f",d);}八,1/(1*2*3*4....*b)#include<stdio.h>void main(){int a,b,c=1;float d;scanf("%d",&b);a=1;while(a<=b){c*=a;a++;d=1.0/c;}printf("%d\n",c);printf("%.3f\n",d);}九,从大到小排列数组,求和,取极差#include<stdio.h>void main(){int a[10],m=0,i,j,t,c;float d=0.0;while(m<10){scanf("%d",&a[m]);m++;}for(i=0;i<10;i++)printf("%3d",a[9-i]);printf("\n");for(i=0;i<10;i++)for(j=0;j<9-i;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(i=0;i<10;i++)printf("%3d",a[i]);c=a[0]-a[9];printf("\n%d",c);for(i=0;i<10;i++)d+=a[i];printf("\n%.3f",d/10.0);}十,矩阵转置及其元素最大值#include<stdio.h>void main(){int i,j,a[2][3],b[3][2],max;for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<2;i++){for(j=0;j<3;j++)printf("a[%d][%d]=%d ",i,j,a[i][j]);printf("\n");}for(i=0;i<2;i++){for(j=0;j<3;j++){b[j][i]=a[i][j];}}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("b[%d][%d]=%2d ",i,j,b[i][j]);printf("\n");}max=a[0][0];for(i=0;i<2;i++)for(j=0;j<3;j++){if(max<a[i][j])max=a[i][j];}printf("max=%d",max);}十一,矩阵对角线元素和#include<stdio.h>void main(){int i,j,m=0,a[3][3];for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("a[%d][%d]=%2d ",i,j,a[i][j]);printf("\n");}printf("对角线之和为:");for(i=0;i<3;i++)m+=a[i][i];printf("%d",m);}十二,斐波那契数列#include<stdio.h>void main(){int fib[20]={1,1};int i;for(i=2;i<20;i++)fib[i]=fib[i-1]+fib[i-2];for(i=0;i<20;i++){if(i%5==0)printf("\n");printf("%5d",fib[i]);}}十三,杨辉三角#include<stdio.h>void main(){int a[10][10],i,j;for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j]+a[i-1][j-1];for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}}十四,101-200之间的素数#include<stdio.h>void main(){int sum,num,i;for(num=101;num<=200;num++){sum=0;for(i=2;i<num;i++){if(num%i==0)sum++;}if(sum==0)printf("%5d",num);}}#include<stdio.h>void main(){int i,j,k;for(i=0;i<=20;i++)for(j=0;j<=33;j++)for(k=0;k<=99;k=k+3)if((i+j+k==100)&&(15*i+9*j+k==300))printf("i=%d j=%d k=%d\n",i,j,k);}十六,猴子吃桃#include<stdio.h>void main(){int x1,x2=1,day;for(day=9;day>0;day--){x1=2*(x2+1);x2=x1;}printf("第一天的桃子数:%d\n",x1);5.1 用π/4≈1-1/3+1/5-1/7+…公式求π的值,直到某一项的绝对值小于10-6为止。
C语言程序设计习题授课对象:信息奥赛辅导成员授课时间:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?__________________________________________________________________程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…。
___________________________________________________________________程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){printf(“%12ld %12ld”,f1,f2);if(i%2==0)printf(“\n");/*控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}}上题还可用一维数组处理,you try!题目:判断101—200之间有多少个素数,并输出所有素数。
__________________________________________________________________程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
___________________________________________________________________程序源代码:#include “math。
h”main(){int m,i,k,h=0,leap=1;p rintf(“\n”);for(m=101;m〈=200;m++){ k=sqrt(m+1);for(i=2;i〈=k;i++)if(m%i==0){leap=0;break;}if(leap){printf(“%-4d”,m);h++;if(h%10==0)printf(“\n");}leap=1;}printf(“\nThe total is %d”,h);}题目:打印出所有的“水仙花数",所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
哈工大 2006 年 春 季学期C 语言 试题和卷面笔试成绩各自所占比例折合后累加计算。
一、单项选择题:(10分,每题2分)1.以下对一维数组的定义中,正确的是: 。
A) #define MAX 5 B) int MAX=5;int a[MAX]; int a[MAX];C) int MAX; D) #define MAX 5;Scanf(“%d ”,&MAX); int a[MAX];int a[MAX];2.以下程序运行时输入8,则程序运行后t 的值是: 。
main(){ int t;scanf(“%d ”,&t);if(t-->=8)printf(“%d \n”,t --) ;elseprintf(“%d\n ”,t++) ;}A)9 B)8 C)7 D)63.有以下程序段main(){ int i=1,sum=0,n;scanf(“%d”,&n);do{ i+=2;sum+=i ;}while(i!=n);printf(…%d”,sum);}若使程序的输出值为8,则应该从键盘输入的n 的值是: 。
A) 1 B) 3 C) 5 D) 74.若有以下定义及语句:struct s1{char a[3];int num;}t={…a‟,‟b‟,‟c‟,4},*p;p=&t;则输出值为c的语句是________。
A) printf(“%c\n”,p->t.a[2]);B) printf(“%c\n”,(*p).a[2]);C) printf(“%c\n”,p->a[3]);D) printf(“%c\n”,(*p).t.a[2]);5.C语言规定:在一个源程序中,main函数的位置。
A)必须在程序的最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在程序的最后二、写出下列程序的运行结果。
(10分,每题2分) 1.#include <stdio.h>main(){int i,j;for(i=1; i<=3; i++){ for(j=i; j>=1; j--)printf("* “);printf("\n“);}}运行结果是:2.#include <stdio.h>main(){int a,b,c;scanf("%2d%2d%*2c%2d",&a,&b,&c);printf("%d\n", a+b-c);}程序执行时从键盘输入:54457766↙运行结果是:3.#include <stdio.h>#include <string.h>main(){char *p=”abcde”,a[20]=”ABC”,*q=a;p+=3;printf(“%s\n”,strcat(q,p));}运行结果是:4.#include <stdio.h>int fun(){auto int x=1;static int y=1;x+=2;y+=2;return x+y;}main(){int a,b;a=fun();b=fun();printf(“%d,%d\n”,a,b);}运行结果是:5.#include <stdio.h>main(){ int k=0;char c=‟A‟;do{ switch(c++){ case …A‟: k++; break;case …B‟: k--;case …C‟: k+=2; break;case …D‟: k=k%2; continue;case …E‟: k=k*10; break;default: k=k/3;}k++;}while(c<‟G‟);printf(“k=%d\n”,k);}运行结果是:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
第一题:编写一个售货机(POS)计算程序,用于水果店售货员算账。
苹果每千克 3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。
某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。
要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。
#include<stdio.h>main(){float apple=1.5,pear=2.0,banana=3.0,cherry=1.5;float cost,pay=100.0,retern;cost=3.2*apple+1.96*pear+3.0*banana+24.0*cherry;retern=pay-cost;printf("LIST\t重量:\t价钱:\n");printf("apple\t1.5\t%.2f\n",3.2*apple);printf("pear\t2.0\t%.2f\n",1.96*pear);printf("banana\t3.0\t%.2f\n",3.0*banana);printf("cherry\t1.5\t%.2f\n",24.0*cherry);printf("pay=%.2fRMB\ncost=%.2fRMB\nretern=%.2fRMB\n",pay,cost,retern);}第二题:编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。
#include<stdio.h>main(){int a[]={12,1648,500,-322,41,-15,126,-45,0,45,-356},i=0,m=0,n=0;for(i=0;a[i]!=0;i++){if(a[i]<0)m++;else if(a[i]>0)n++;}printf("%d\n%d\n",m,n);}第三题:统计100-500之间各个数字之和为9的三位数,输出这些三位数。
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
红色代表改的正确答案绿色黄色自己做的1、下列程序的输出结果是:main( ){}A、5B、1C、0D、不确定值2、设int a=12,则执行完语句a+=a-=a*a后,a的值是: A、552B、264C、144D、-264int a=7,b=5; printf("%d ",b=b/a);结果03、当调用函数时,实参是一个数组名,则向函数传送的是: A、数组的长度B、数组的首地址C、数组每以个元素的地址D、数组每个元素的值4、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b 的是:A、c=b=a;B、(a=c)||(b=c);C、(a=c)&&(b=c);D、a=c=b;5.能正确表示a 和b 同时为正或同时为负的逻辑表达式是: A、(a>=0||b>=0)&&(a<0||b<0) B、(a>=0&&b>=0)&&(a<0&&b<0) C、(a+b>0)&&(a+b<=0)D、a*b>06在一个C程序中: A、main函数必须出现在所有函数之前; B、main函数可以在任何地方出现; C、main函数必须出现在所有函数之后; D、main函数必须出现在固定位置7以下说法中正确的是: A、C语言程序中是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语程序中的main()函数必须放一在程序的开始部分8、C语言中,调用个函数时,实参变量和形参变量之间的数据传递是: A、单纯值传递B、单纯地址传递C、值传递和地址传递都有可能D、由实参传给形参,然后由形参传回给实参,即是双向传递9、以下程序的输出结果是: #include main(){int a=2,c=5;printf("a=%%d,b=%%d ",a,c); }%%代表输出%A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d10.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是: A、大写字母B.连接符C、数字字符D、下划线11.以下定义语句中正确的是: A、char a='A' b='B';B、floata=b=10.0;C、int a=10,*b=&a;B答案没有定义变量bD、float *a,b=&a;12、有以下程序: main(){int y=10; while(y--) ; printf(“y=%d ”,y);}程序执后的输出结果是: A、y=0B、y=-1C、y=1D、while构成无限循环先使用在减小1等于0停止打印时候已经减一13、程序char c[5]={…a‟,‟b‟,‟\0‟,‟c‟,‟\0‟}; printf(“%s”,c); 的运结果是:A、'a''b'B、abcC、ab cD、ab14、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是: A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);15、下列变量声明正确的是: A、int a = 0 , b = 5; B、float i = j = 3.0; C、char a ='A' b ='B' D、int a = 3 , b = &a;16.以下不正确的if语句形式是: A、if(x>y&&x!=y)t=x++;B、if(x==y) x+=y;C、if(x!=y) scanf("%d",&x) else scanf("%d",&y);D、if(x<0)x++;17、设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是: A、k++B、k+=1C、++kD、k+118、以下结构体类型的变量所占字节数是: struct student{ shortnum; char name[15]; float score; char sex;};A、22B、24C、26D、2819、C语言源程序的基本单位是: A、过程B、函数C、程序D、标识符20若有以下定义和语句: int u=010,v=0x10,w=10;printf("%d,%d,%d ",u,v,w); 则输出结果是:A、8,16,10B、10,10,10C、8,8,10D、8,10,1021、若要求定义具有10个int形元素的一维数组array,则以下的定义语句错误的是: A、#define N 10int a[N]; B、#define n 5int a[2 * n];C、int a[5 + 5];D、int n = 10,a[n] = {0};22、以下程序执行后sum的值是: main(){inti,sum; for(i=1;i<6;i++) sum+=i; printf("%d ",sum);}A、15B、14C、不确定D、0 sum没有赋初值23、设变量定义为int x , *p = &x;则&(*p)相当于: A、*(&x)B、*pC、pD、x24、设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是: A、float *p=1024;B、int *p=(float)x;C、float p=&x;D、float *p=&x;25、以下程序的输出结果为:inti; void prt( ){for(i=5;i<8;i++) printf("%c",'*');printf(" "); } 这个只执行了一次因为内部加到8,在i+1结束main( ) {for(i=5;i<=8;i++) prt( ); }A、***B、*** *** *** ***C、*** ***D、* * *26、定义由n个指向整形数据的指针组成的数组p,其正确的式为:A、int p;B、int (*p)[n];C、int *p[n];D、int (*p)( );27、以下代码的输出结果为: int array[3] = {1,4};for(inti = 0;i < 3;i++){ printf(“%d ”,array[i]); }A、1 4 0B、0 1 4C、1 0 4D、1 4 428、设int x=1, y=1; 表达式(!x||y--)的值是: A、0 B.1C、2 D、-129.以下程序的输出结果是: main(){int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d %d ",x--,y);}A、10 1 9 2B、9 8 7 6C、10 9 9 0D、10 10 9 1自加是最后进行所以y先打印在进行加减30、若执行下面程序时:int x;scanf("%d",&x);if(x++ > 5){ printf( "%d ",x)}; else{ printf("%d ",++x)};从键盘上输5,则输出是:A、7B、6C、5D、431、下面程序的输出是: fun3(int x){staticint a=3; a+=x; return(a);} main() {int k=2, m=1, n; n=fun3(k); n=fun3(m); printf("%d ",n);}A、3B、4C、6D、932、有定义语句:intb;char c[10];,则正确的输入语句是: A、scanf("%d%s",&b,&c);B、scanf("%d%s",&b,c);C、scanf("%d%s",b,c);D、scanf("%d%s",b,&c);33、函数调用:strcat(strcpy(str1,str2),str3)的功能是: A、将串str1复制到串str2中后再连接到串str3之后B、将串str1连接到串str2之后再复制到串str3之后C、将串str2复制到串str1中后再将串str3连接到串str1之后D、将串str2连接到串str1之后再将串str1复制到串str3中34、若程序中定义了以下函数double myadd(double a,doubleb){ return (a+b); } 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是:A、double myadd(double a,b);B、double myadd(double,double);C、double myadd(double b,double a);D、double myadd(doublex,double y);35、有以下程序main(){char s[]="abcde"; s+=2;printf("%d ",s[0]);}执行后的结果是: s+=2这是错误的不能更改数组首地址A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错36、现有一个函数的功能是求出一个元素在数组中的索引,以下该函数的声明正确的是: A、intgetIndex(int *a,intcount,int n);B、void getIndex(int a[],intcount,int n);C、intgetIndex(int a[],int count);D、void getIndex(int *a,int count);37、以下程序的输出结果为: main( ){char s1[40]="country",s2[20]="side";inti=0,j=0;while(s1[i]!='') i++;while(s2[j]!='')s1[i++]=s2[j++]; s1[i]=0;printf("%s ",s1); }A、sideB、countryC、sidetryD、countryside38、有以下程序main(){charch[]="uvwxyz",*pc; pc=ch;printf(" %c ",*(pc+5));}程序运行后的输出结果是: A、zB、0C、元素ch[5]的地址D、字符y的地址39、利用宏,求三个数中的最大值,以下宏定义正确的是: A、#define MAX(a,b,c) ((a)>(b)?(a):(b))>c?((a)>(b)?(a):(b)):(c) B、#define MAX(a,b,c) (a>b?a:b)>c?(a>b?a:b):c C、#defineMAX(a,b,c) (a)>(b)?(a):(b)>c?((a)>(b)?(a):(b)):(c) D、#define MAX(a,b,c) a>b?a:b>c?(a>b?a:b):c40、设有如下定义:structjan{inta;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引是: A、(*p).c2.aB、(*p).aC、p->c2.aD、p.c2.a※判断题(共10题,每题2分)1、条件运算符?和:是一对运算符,不能分开单独使用。
c语言100题1. 构成C语言程序的基本单位是()。
A.函数B.变量C.子程序D.语句是不正确的转义字符。
2. C语言规定:在一个源程序中,main()函数的位置()。
A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后3. 下列哪个选项能够正确地声明一个指向整型变量的指针?A) int *ptr;B) int ptr;C) int ptr;D) int ptr;4.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种5. C语言中的简单数据类型有()。
A.整型、实型、逻辑型B.整型、字符型、逻辑型C.整型、实型、字符型D.整型、实型、字符型、逻辑型6. 以下选项中,不正确的整型常量是()。
A.-37B.32,758C.326D.67.以下选项中,不正确的实型常量是()。
A.123B.1e4C.3.640E-1D.0.358.以下选项中,合法的C语言赋值语句是()。
A.a=b=34B.a=34,b=34C.-i;D.m=(int)(x+y);9.设int类型的数据长度为两个字节,则unsigned int类型数据的取值范围是()。
A.0~255B.0~65535C.-32768~32767D.-256~25510.在C语言中,下列哪个函数用于将整数转换为字符串?A) itoa()B) atoi()C) to_string()D) intstr()11.以下叙述中,不正确的是()。
A.在C程序中,%是只能用于整数运算的运算符B.在C程序中,无论是整数还是实数,都能准确无误地表示C.若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.前缀和后缀运算符,作为表达式来说有不同的作用12.设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&(n=c>d)运算后,n的值为()。
参考答案一、单项选择题:(10分,每题2分)1.char (*p)[10];该语句声明了一个:A。
A) 指向含有10个元素的一维字符型数组的指针变量pB) 指向长度为10的字符串的指针变量pC) 有10个元素的指针数组p,每个元素可以指向一个字符串D) 有10个元素的指针数组p,每个元素存放一个字符串2.以下错误的描述是(C )。
A)不同的函数中可以使用相同名字的变量,互不干扰B)形式参数都是局部变量C)函数定义可以嵌套D)C语言中的函数参数传递都是单向值传递3.以下对二维数组进行正确初始化的是( B )。
A)int a[2][3]={{1,2},{3,4},{5,6}};B)int a[][3]={1,2,3,4,5,6};C)int a[2][]={1,2,3,4,5,6};D)int a[2][]={{1,2},{3,4}};4.已知:union{double k;char c;float a;}test;则sizeof(test)的值是:A。
A)8 B)1 C)4 D)135.设有语句int a = 3; 执行了语句a += a -= a *= a; 后,变量a的值是____B____。
A) 3 B) 0 C) 9 D) -12二、写出下列程序的运行结果。
(10分,每题2分,第2、4、5题打印结果正确但是没有换行时,给1分)1.#include <stdio.h>main(){char c;while ((c = getchar()) != '$'){putchar(c);}printf("End!\n");}程序运行时输入abcdefg$abcdefg↙则程序的运行结果为abcdefgEnd!2.#include<stdio.h>void Fun(int *y){printf("*y = %d\n", *y);*y = 20;printf("*y = %d\n", *y);}main(){int x = 10;printf("x = %d\n", x);Fun(&x);printf("x = %d\n", x);}运行结果是:x = 10*y = 10*y = 20x = 203.#include <stdio.h>main(){int n;for (n=1; n<=5; n++){if (n % 2){printf("*");}else{continue;}printf("#");}printf("$\n");}运行结果是:*#*#*#$4.#i nc lu de <st d io.h>st ru ct d at e{in t y ea r;in t m on th;in t d ay;};vo id f un c(st r uc t da te *p){p->y ea r = 2006;p->m on th = 11;p->d ay = 18;}ma in(){st ru c t da te d;d.ye a r = 2005;d.mo n th = 12;d.da y = 10;pr in t f(“%d,%d,%d\n”,d.ye ar,d.mo nt h,d.da y);fu nc(&d);pr in t f(“%d,%d,%d\n”,d.ye ar,d.mo nt h,d.da y);}运行结果是:2005,12,102006,11,185.#include<stdio.h>in t Fu n(in t x){st at ic i nt y= 10;y += x;re tu rn y;}ma in(){in t y= 0, k;fo r (k=0; k<2; k++){y = Fu n(k);pr in tf("y = %d\n", y);}}运行结果是:y = 10y = 11三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。
#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。
#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。
#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。
#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。
c语言必做100题1. 编写一个C程序,输出“Hello, World!”。
2. 编写一个C程序,计算并输出1到100的和。
3. 编写一个C程序,判断一个数是否为素数。
4. 编写一个C程序,将一个字符串反转。
5. 编写一个C程序,实现二分查找算法。
6. 编写一个C程序,实现插入排序算法。
7. 编写一个C程序,实现选择排序算法。
8. 编写一个C程序,实现冒泡排序算法。
9. 编写一个C程序,实现快速排序算法。
10. 编写一个C程序,实现希尔排序算法。
11. 编写一个C程序,将一个二维数组转置。
12. 编写一个C程序,计算一个数的阶乘。
13. 编写一个C程序,实现斐波那契数列。
14. 编写一个C程序,计算两个数的最大公约数。
15. 编写一个C程序,计算两个数的最小公倍数。
16. 编写一个C程序,计算一个数的平方根。
17. 编写一个C程序,计算一个数的立方根。
18. 编写一个C程序,实现矩阵乘法运算。
19. 编写一个C程序,实现字符串的查找和替换。
20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。
21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。
22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。
23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。
24. 编写一个C程序,实现图的深度优先搜索算法。
25. 编写一个C程序,实现图的广度优先搜索算法。
26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。
27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。
28. 编写一个C程序,实现拓扑排序算法。
29. 编写一个C程序,实现优先队列。
30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。
31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。
32. 编写一个C程序,实现最大堆排序算法。
1、C语言程序的基本单位是____ A) 程序行B) 语句C) 函数D) 字符、C、12、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构B、递归结构,循环结构,转移结构C、嵌套结构,递归结构,顺序结构D、循环结构,转移结构,顺序结构、A、13、C语言规定,程序中各函数之间A) 既允许直接递归调用也允许间接递归调用B) 不允许直接递归调用也不允许间接递归调用C) 允许直接递归调用不允许间接递归调用D) 不允许直接递归调用允许间接递归调用、A、14、C语言中可处理的文件类型是( ) A) 文本文件和数据文件B)文本文件和二进制文件C)数据文件和二进制文件D)数据代码文件、B、15、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数、C、16、C语言提供的合法的数据类型关键字是A)double B) short C) integer D) char、B、17、C语言中,运算对象必须是整型数的运算符是A) % B) \ C) %和\ D) * *、A、18、C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型B) 调用函数的主调函数类型C) 调用函数时临时D) 定义函数时所指定的函数类型、D、19、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。
A、该数组的长度。
B、该数组的元素个数。
C、该数组中各元素的值。
D、该数组的首地址。
、D、110、C语言中数组下标的下限是________。
A、1 B、0 C、视具体情况D、无固定下限、B、111、C语言中提供的合法关键字是____ A、swith B、cher C、caseD、default、D、112、C语言中文件的存取方式是________。
A、顺序存取B、随机存取C、顺序存取、随机存取均可D、顺序存取、随机存取均不可、C、113、C语言中最简单的数据类型包括A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 整型、实型、逻辑型、字符型、B、114、sizeof(float)是( ) A) 一种函数调用B) 一个不合法的表示形式C) 一个整型表达式D) 一个浮点表达式、C、115、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);、B、116、表达式:10!=9的值是A) true B) 非零值C) 0 D) 1、D、117、表示关系x<=y<=z的c语言表达式为A) (X<=Y)&&(Y<=Z)B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)、A、118、程序片段:在TC20中, int i=65536; printf("%d\n",i);的输出结果是____ A) 65536 B) 0 C) 有语法错误,无输出结果D) -1、B、119、当调用函数时,实参是一个数组名,则向函数传送的是____A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值、B、120、对嵌套子程序调用说法正确的是____。
1若定义如下变量和数组:int i;*pstatic int a[10] ={1,2,3,4,5,6,7,8,9,10};p=a;则执行下面的语句输出结果是【】。
for(i=3;i<6;i++) printf(“%d”,*(p+i));A) 3 4 5 6 B) 1 2 3 C) 4 5 6 D)3 6 9 2若定义如下变量和数组:int i;static int x[3][3]={1,2,3,4,5,6,7,8,9};则执行下面的语句输出结果是是【】。
for(i=0;i<3;i++)(printf(“%d”,x[i][i]);A) 3 5 7 B) 1 4 7 C) 1 5 9 D)3 6 93若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10}则取元素值6的表达式是【】。
A) *p+6B) *(p+6)C) *p+=5D)p+54下列选项中,不正确的赋值语句是【】A)++j;B) n1=(n2=(n3=0));C) k=i==j;D)a=b+c=15下面程序运行时的输出结果是【】main(){int a=5;printf("\na=%d", ++a+2);}A) a=6 B) 8 C) a=5 D) a= 86下面程序的循环结束后i的值是【】main(){int i;for(i=0;i<10;i++) ;printf("\n%d", i);} ;A) 11 B) 9 C)10 D) 287C语句printf(“y=%d”,(9^2*8+3) % 3*4);运行输出的结果是【】.A) y=0B) y=3C) 8D)y=88判断字符型变量s1的值在…0‟到…9‟之间,正确的表达式是【】A)(s1>=‟0‟) & (s1<=‟9‟)B)(s1>=‟0‟) and (s1<=‟9‟)C)(…0‟<=s1<=‟9‟)D)(s1<=‟9‟) && (s1>=‟0‟)9根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为【】main(){char ch1,ch2,ch3;输入语句printf("%c%c%c",ch1,ch2,ch3);}输入形式:A B C输出形式:A BA) scanf("%c%c%c",&ch1,&ch2,&ch3);B) scanf("%c,%c,%c",&ch1,&ch2,&ch3);C) scanf("%c %c %c ",&ch1,&ch2,&ch3);D) scanf("%c%c",&ch1,&ch2,&ch3);10若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是【】A) scanf("%d%lx,%le",&x,&y,&z);B) scanf("%2d*%d,%lf",&x,&y,&z);C) scanf("%x%*d,%o",&x,&y);D)scanf("%x%o%6.2f",&x,&y,&z);1.下面程序输出的结果是【】。
#include<stdio.h>main(){ int m,n,o,a=2,b=3;m=(++a==--b)?-a:++b;n=++a;o=b;printf(“m=%d,n=%d,o=%d”,m,n,o);}A) m=4,n=4,o=3B) m=4,n=3,o=4C) m=3,n=4,o=4D) m=3,n=4,o=32、下面程序输出的结果是【】。
#include<stdio.h>#define SUB(x,y) (x)*ymain(){ int a=3,b=4;printf(“%d”, SUB(a++,++b));}A)12 B)15 C)20 D)163.若有下面的定义语句:static char str[]={“abcd”}, *string;下面的语句不正确的是【】A) string=”123”;B)str=”aaaa”;C)*(str+2)=‟1‟;D)string=str;4若有宏定义#define MOD(x,y) x%y则执行以下语句后的输出为【】int z,a=15,b=100;z=MOD(b,a);printf("%d\n",z++);A) 11B) 10C) 6D) 宏定义不合法5在宏定义#define FUN(a) a*a中,宏展开FUN(a)中的a用一个【】代替。
A)赋值语句B)指针变量C)字符串D) 实参值6若j为整型变量,则以下循环执行次数是【】for(j=2;j==0; ) printf(“%d”,j--);A)无限次B)0次C)1次D)2次7执行语句for(j=1;j++<4; );后变量j的值是【】A)3 B)4 C)5 D)不定8若a=2, b=3; 则语句:printf(“%d”,(a=2)&&(b=2));的输出结果是【】A)无输出B)结果不确定C)0 D)19设有如下的变量定义:int i =8,k ,a,b ;unsigned long w=5;double x=1,42,y=5.2;则以下符合C语言语法的表达式是【】A) a=a+=(b=4)*(a=3) B) x%(-3);C ) a=a*3=2 D) y=float(i)10假定有以下变量定义:int k=7 ,x=12;则能使值为3的表达式是【】A ) x%=(k%=5) B) x%=(k-k%5)C) x%=k-k%5 D) (x%=k)- (k%=5)11设x,y,z,t均为int型变量,则执行以下语句后,t的值为【】x=y=z=1;t=x||y&&z;A)不定值B)2 C)1 D)012下面程序的执行结果是【】main( ){int i, j, m, n;i=8; j=10;m=++i; n=j++;printf(“%d, %d, %d, %d”, i, j, m, n,);}A) 9, 10, 9, 10 B)9, 11, 9, 10 C)9, 11, 9, 11 D)9, 10, 9, 1113下面程序的执行结果是【】main(){ int a,b;a=20;b=10;a+=a+b;a-=a-b;printf("%d\n",a);}A) 10 B) -10 C) 30 D) 014下面程序的执行结果是【】main(){ int x,a=1,b=2,c=0;x=-a||b&&++c;printf("%d\n",x);}A) 1 B) 0 C) -1 D) 非零值15设有程序段int k=10;while(k=0) k=k-1;下面描述正确的是【】A)While循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次16下面程序的执行结果是【】main(){int x=10;do {x--;} while( --x);printf("%d\n",x--);}A) 0 B) -1 C) 1 D) 817)120.设说明为int a=1; 执行下列switch语句后,b获值为2的是【】。
A. switch (a) {B. switch (a) {case 1: b=1; case 1: b=1;case 2: b=2; case 2: b=2; break;default: b=3; default:b=3:} }C. switch (a) {D. switch (a) {case 1: b=1;break; case 1: b=1; break;case 2: b=2;break; case 2: b=2;default:b=3;break; default:b=3;} }18设程序为int i,j,n;for (i=1;i<=10;i++){n=0;for (j=1;j<=10;j++)n=n+j;}printf(“n=%d\n”,n);运行后输出n的值是【】。
A) 5500 B) 5050 C) 55 D) 500019有如下程序main( ){char a[10]={“123456789”};char *p; int i=8;p=a+i;printf(“%s\n”,p-3);}运行后的输出结果是【】。
A) 6 B) 6789 C)‟6‟ D) 78920以下程序的输出结果是【】viod fun (int a,int b,int c){a=456;b=567;c=678;}main(){int x=10,y=20,z=30;fun (x,y,z);printf(“%d,%d,%d\n”,x,y,z);}A)30,20,10 B) 10,20,30 C)456,567,678 D) 678,567,456 21以下程序运行后,输出结果是【】main(){char *s=“abcde”;s+=2;printf(“%s\n”,s);}A ) cde B)c C) 字符C的地址D) 出错22设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行以下语句后,z的值为【】z=2*(N+Y(5+1));等价于z=2*(N+(N+1)*5+1);N=3带入A) 出错B)42 C) 48 D) 5423以下程序执行输出结果是【】main(){int a,,b,k=3,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+6;printf(“%d,%d\n”,a,b);}A)0,6.5 B)1,6 C)0,6 D) 6,6.524下面程序的输出是【】fun3(int x){static int a=3;a+=x;return(a);}main(){int k=2,m=1,n;n=fun3(k);n=fun3(m);printf(“%d\n”,n);}A)3 B)4 C)6 D)925有以下程序段int k=0while(k=1) k++;while 循环执行的次数是【】A) 无限次B) 有语法错,不能执行C)一次也不执行D) 执行1次26有如下程序main( ){ int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++; b++;}printf(“a=%d,b=%d\n”,a, b);}该程序的输出结果是【】A)a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=227下面程序的输出结果是【】A)0 B) 1 C) 10 D) 9main(){ int a[]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}28下面程序的运行结果是【】#define ADD(x) x+xmain(){ int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d”,sum);}A) sum=9 B) sum=10 C) sum=12 D) sum=1829139. 以下程序的输出结果是【】main(){ int i, y[3][3]={1,2,3,4,5,6,7,8,9};for(i=2;i>=0;i--) printf("%d,",y[i][ i]);}A) 1,5,9 B) 3,4,7 C) 9,5,1 D)7,4,330以下程序运行结果是【】。