1、一、选择题:1、一个c次序的实行是从A、 本次序的main函数开始,到本次序文件的最后一个函数终了B、 本次序文件的第一个函数开始,到本次序文件的最后一个函数终了C、 本次序的main函数开始,到main函数终了D、 本次序文件的第一个函数开始,到本次序main函数终了2、以下次序的运行结果为main()inta=100,x=10,y=20,ok1=5,ok2=0;if(xy)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%dn,a);A、1B、0 C、-1D、值不判定3、曾经明白字母A的ASCII码为十进制数65,且c2为字符型,那么实行
2、c2=A+6-3;后,ascII码值为无答案A、BB、66 C、不判定的值D、1144、曾经明白inta=12,语句a+=a=a*=a;实行后,a的值为A、 a=100B、a=120 C、a=0D、a=125、下面有关for循环的精确描画是A、 for循环只能用于循环次数曾经明白的循环B、 for循环是先实行循环体语句,后揣摸表达式C、 在for循环中,不克不迭用break语句跳出循环体D、 for循环的循环体语句中,可以包含多条语句,且必须用花括号括起来6、以下次序段x=-1;dox=x*x;while(!x);A、是去世循环B、循环实行两次C、循环实行一次D、有语法差错6、假定有说明:in
3、ta34;那么对a数组元素的精确引用是A、a24B、a1,3C、a1+10D、a(2)(1)7、揣摸字符串a跟b是否相当,应当应用A、if(a=b)B、if(a=b)C、if(strcpy(a,b)D、if(strcmp(a,b)=1)8、假定i为整型变量,那么以下循环实行次数为for(i=2;i=0;)printf(“%d,i-);A、无限次B、0次C、1次D、2次9、假定用数组名作为函数调用的实参,转达给形参的是A、 数组第一个元素的值B、 数组中全部元素的值C、 数组元素的个数D、 数组的首所在10、以下表达中不精确的选项是A、 预处理命令行都必须以#号开始B、 在次序中凡是以#号开始的
4、语句行根本上预处理命令行C、 C次序在执行过程中对预处理命令行停顿处理D、 预处理命令不占用次序的实行时辰11、以下次序的运行结果是#defineMIN(x,y)(x)pup.sexC、(*p).pup.sexD、(*p).sex19、语句int(*ptr)();的含义是A、 ptr是指向一维数组的指针变量B、 ptr是指向int型数据的指针变量C、 ptr是指向函数的指针,该函数前去一个int型数据D、 ptr是一个函数名,该函数的前去值是指向int型数据的指针20、假定有以下说明语句:structstudentintage;intnum;std,*p;p=&std;那么以下对结构体变量st
5、d中成员age的引用办法不精确的选项是A、std.ageB、p-ageC、(*p).ageD、*p.age二、写出以下次序的运行结果或指明事实上现的功能1、写出下面次序的运行结果main()intt=1605,h,m;h=(t/100)%12;if(h=0)h=12;printf(“%d:,h);m=t%100;if(m10)printf(“0”);printf(“%d,m);if(t0)s=a+b;if(a0)if(c0)w=a-b;elset=c;printf(“%d%d%d,s,w,t);2003、写出下面次序的运行结果main()inti,j,x=0;for(i=0;i2;i+)x+;
6、for(j=0;j=3;j+)if(j%2=0)continue;x+;x+;printf(“x=%dn,x);x=84、写出下面次序的运行结果inta=5;intb=7;main()inta=4,b=5,c;c=plus(a,b);printf(“A+B=5%dn,c);plus(intx,inty)intz;z=x+y;return(z);A+B=95、写出下面次序的运行结果main()increment();increment();increment();increment()staticintx=0;x+=1;printf(“%dn,x);1236、指明下面次序完成的功能intfac(
7、intn)staticintf=1;f=f*n;return(f);main()intj;for(j=1;j=5;j+)printf(“%d!=%dn,j,fac(j);输出15的阶乘7、写出下面次序的运行结果#include“stdio.hmain()inta10=2,4,6,8,10,12,14,16,18,20,*p=a,i;for(i=0;i2;i+)printf(“%d,*p+);printf(“%d,*+p);printf(“%d,(*p)+);printf(“n);26671010三、完满次序1、下面次序的功能是打印100以内个位数为6且能被3整除的所有数。请完满次序。main(
8、)inti,j;for(i=0;_;i+)j=i*10+6;if(_)continue;printf(“%d,j);i=9j%3!=02、下面次序的功能是检查一个二维数组是否对称即对所有的i跟j都有aij=aji,请完满次序。main()inta44=1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4;inti,j,found=0;for(j=0;j4;j+)for(_;i4;i+)if(aji!=aij_;break;if(found=1)printf(No);elseprintf(“Yes);i=j+1Found=13、下面次序的功能是在任意字符串a中将与字符c相当的所有元素的
9、下标值分不存放到整型数组b中。请完满次序。main()chara80;intj,b80,k=0;gets(a);for(j=0;aj!=0;j+)if(_)bk=j;_;for(j=0;jk;j+)printf(“%d,bj);aj=ck+4、下面次序的功能是将两个字符串s1跟s2连接起来。请完满次序。main()chars180,s280;gets(s1);gets(s2);conj(s1,s2);puts(s1);conj(char*p1,char*p2)char*p=p1;while(*p1!=0)_;while(*p2!=0)*p1=_;p1+;p2+;_;return(p);p1+*
10、p2*p1=05、下面次序的功能是打算1-3+5-7+-99+101的值,请完满次序。main()inti,t=1,s=0;for(i=1;i101;i+=2)_;s=s+t;_;printf(“%dn,s);t=t*it=-t/i6、下面次序的功能是将字符串中的数字字符删除后输出。voiddelnum(char*s)inti,j;for(i=0,j=0;si!=0;i+)if(si9)sj=si;j+_;main()char*item;gets(item);delnum(item);printf(“n%s,_);|sj=0item四、编程1、编程求1+3+5+99。2、输出一个正整数,揣摸是否为素数。#include#includevoidmain()intn,flag,i;scanf(%d,&n);flag=0;for(i=2;i=sqrt(n);i+)if(n%i=0)flag=1;break;if(flag=0)printf(yesn);elseprintf(non);