T C语言程序设计复习题判断题:l C语言编写的源程序通过编译、连接后,假如没有错误,则运营结果一定对的l 在C语言中,变量是不区分大小写的,如:a 和A是同一个变量l double类型数据的输入必须用格式“%lf”l while和do-while循环,肯定是可以互相替换的l 若有定义int a = 2,则语句printf(“%d”,a++); 的输出结果为3l 在循环体中,使用continue语句,可以跳出该循环l 表达式3 * 5 / 2 和表达式3 / 2 * 5的值相等l 任何变量都必须要定义其类型l 表达式(double)(1/2)的值为0.5l 若有定义int a=0,b; 执行语句if(a=0) b=0; else b=1; 后,b的值是1l C语言中用于结构化程序设计的三种基本结构是if、switch、breakl 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则计算表达式:(m=a>b)&&(n=c>d)后,n的值为2l 在可执行的C语言程序中有且只有一个主函数main(),并且应当写在程序的最前面l 若有int x,则(x+1)++是一个合法的c语言表达式。
l 设int x = 7,y = 5,则x *= y - 3后,x的值为14l 假如i的原值为3,则执行语句:j = i++;后,j的值为3l do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次l 表达式4.0 *(1 / 2) 的值为2.0l ‘\n’是一个字符常量l 表达式 3.5%2 是合法的C语言表达式l C的任何类型数据在计算机内部都是以二进制形式存储的l 定义函数时,必须要有形参和返回值l 在C程序中,main函数和自定义的函数都可以有多个l 语句return(a,b);则函数可以返回两个值l 传值调用时,在函数中形参变量值改变后,不改变实参变量的值l 构成数组的各个元素的数据类型不一定要相同l 有定义:int a[5]={10,11,12,13,14},*p=a;,语句printf(“%d”,*p++);的输出结果为11l 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用l 传值调用的形参只有在被调用时,才被创建(分派存储单元)l 在C程序中,若对函数类型未加说明,则函数的隐含类型为voidl 若a为一维数组名,则*(a+i)与a[i]等价。
l C文献使用前需要打开,使用后需要关闭l 定义为void类型的函数,其含义是调用函数后,被调用的函数的返回值为任意的类型l C语言程序中,若实参是变量,当调用函数时实参和形参各占一个独立的存储单元l 在C语言中,所有函数之间都可以互相调用l 若有定义char s1[]=”Hello”,s2[]=”world!”,则strlen(s1) + strlen(s2) 等于strlen(strcat(s1,s2))l 若有定义int a,*p=&a,*q=p;则p指向a,q指向pl 若有定义int a,*p=&a; char *t;由于指针的数据类型事实上是指定指针所能指向对象的数据类型,所以不能将p赋给tl 若fp是指向某文献的指针,且已读到该文献的末尾,则C语言函数feof(fp)的返回值是0l 在使用fopen()函数时必须先定义一个类型为FILE的文献指针l void类型的函数一定无形参l 数组元素的下标必须是整数,不能用实数l 若有定义语句“int a[10];”则a[10-9/2] 是合法的数组元素l 若有定义语句“int a[10],i=2;”,则&a[i]与a+i等价l 数组定义语句“char c[ ]= "Hello";”与“char c[ ]={‘H’,’e’,’l’,’l’,’o’};”等价。
l 语句“double *p=&x,x;”使指针变量p指向变量xl C语言规定,实参应与其相应的形参类型一致l 系统判断字符串结束的标志是’\n’ ()l 若打开文献的方式为“w”而该文献已经存在,则文献中原有数据被清空单选题:l 可以把由高级语言编写的源程序翻译成目的程序的系统软件叫( B )A. 源程序 B.编译程序 C. 汇编程序 D. 解释程序l 下列结构中,不属于结构化程序设计中的3种结构的是( D )A.循环结构 B.顺序结构 C.选择结构 D.网状结构l 程序中调用了库函数exit(0),必须包含头文献( B ) A.string.h B.stdlib.h C.ctype.h D.math.hl x、y是整型变量,执行语句scanf("x=%d, y=%d", &x, &y);使x和y的值分别为7和9,对的的输入是( C )A. 7 9 B. 7, 9 C. x=7, y=9 D. x=7 y=9l 条件“-6≤x≤4”,相应的C逻辑表达式是( D )A. x>=-6 and x<=4 B. -6<=x<=4 C. x>=-6 || x<=4 D. x>=-6 && x<=4l 假设变量x、k都已定义,下列语句片段中,无语法错误的是( B )A. switch(x){ case x>=80: putchar(‘A’); case x<70: putchar(‘E’);}B. switch(x) {case 2+4: k=‘A’; defualt: k=‘E’; case 3*5: k=‘B’; }C. switch(x){case 3+x: k=x-2; case 5*x: k=x+3;default: k=0; }D. switch(x){case 4.5: k=0.5*x; case 6.8: k=8*x;default: k=0; }l 判断下面的while循环体的执行次数( D )i=5;k=10;while(i=1) i=k--;A. B.10次 C.2次 D.无数次l 能对的地定义符号常量的是( B )A.#define n=6 B.#define n 6 C.#define n 6; D. #DEFINE N 10l 若有定义语句“char c=‘\134’;”则变量c ( A )A. 包含1个字符 B. 包含2个字符 C. 包含3个字符 D. 包含4个字符l 设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是( D )A.把x和y按从小到大排列 B.把x和y按从大到小排列C.无拟定结果 D.互换x和y中的值X=X+Y Y=X-Y X=X-Yl 下列运算符中,优先级最低的是( D ) A. ?: B.&& C./= D. ,l 若有条件表达式“x?a++:b--”,则以下表达式中( B )等价于表达式xA.x==0 B.x!=0 C.x==1 D.x!=1l 以下关于switch语句和break语句的描述,只有( C )是对的的A.在switch语句中必须使用break语句B.break 语句只能用于switch语句中C.在switch语句中,可以根据需要使用或不使用break语句D.break语句是switch语句的一部分l 以下程序段的循环次数是( A )for (i=3; i==0; ) printf(“%d”, i--) ;A. 0次 B. 3次 C. 2次 D. 无数次l while(scanf(“%f”,&n),n<=0);下列描述对的的是 ( A )A.当输入n>0的值时循环终止 B. 当输入n<=0的值时循环终止 C.scanf(“%f”,&n),n<=0不能充当循环条件 D. 循环体不能为空l 以下不对的的C语言标记符是( C )。
A._next B.a_1_2 C.f(x,y) D.Progl 若有定义:int k=2,x;则能使变量x的值为3的表达式是( B )A.x=5/k+0.5 B.x=5/k+1; C.x=x+k D.x=2*k--l 设char c=‘y’;,表达式c>=‘a’&&c<=‘z’|| c>=‘A’&&c<=‘Z’的值为( B )A.0 B. 1 C.“假” D.“真”l 若有定义int a=1,b=2,c=3; 在下列选项中,不对的的赋值语句是( D )A. a++; B. a=b=c=0; C. a=b==c; D. a=b+c=1;l 判断下面的while循环体的执行次数( D )k=10,s=0;while( k>=0 ) s+=k--;A. 0次 B. 1次 C. 10次 D. 11次l 设整型变量a为9,使b不为4的表达式是( B )。
A. b=a/2 B. b= (--a)-5 C. b=a>3?4:5 D. b=a%5l 循环语句 for(x=0,y=0;(y!=123)||(x<4);x++);执行( A )A. 无限次 B. 4次 C.3次 D. 0次l 若有定义:int a=8,b=5,c;,则执行语句c=a/b+0.4;后,c的值为( B )A.1.4 B.1 C.2 D.2.2l 已知int x=10,y=20,z=30;,执行if(x>y)z=x; x=y; y=z;后x,y,z的值是( B )A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20l 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与( B )配对A. 缩排位置相同的if B. 其之前最近的没有else配对的ifC. 其之后最近的if D. 同一行上的ifl 下列各m的值中,能使表达式m%3==2&&m%5==3&&m%7==2值为1的是( A )。
A. 23 B. 17 C. 8 D. 6l 以下4个选项中,不能看作一条语句的是( D )A. ; B. a=0,b=0,c=0; C. while(i--); D. if(b==0) m=1;n=2;l 逻辑运算符两侧运算对象的数据类型( D )A. 只能是0或1 B. 只能是0或非0正数 C. 只能是整型或字符型数据 D. 可以是任何类型数据l 以下程序段输出结果是( C ) int x=3; do { printf(“%3d”,x-=2);}while(!(--x));A.1 B. 3 0 C. 1 -2 D.死循环l 有定义”int a=5;”, 语句”a+=a-=a+a;”, 执行后,变量a的值为( C )A. 10 B. 5 C. -10 D. -5l 下列各语句中,可以将变量u、s中最大值赋给变量t的是( C )。
A. if(u>s)t=u;t=s; B. t=u;if(u>s)t=s;C. t=s;if(u>s)t=u; D. if(u>s)t=s;else t=u;l 下列可以对的表达字符型常量的是 ( B )A.“a” B.’\t’ C.”\n” D.18l 执行x=(6*7%8+9)/3;后,x的值为( C )A.1 B.2 C.3 D.4l 设int a=3,b=6,c=9;,下列表达式中值为0的是( D )A. 2*a<=b B. a&&b C. (3*a-c)||b D. b-a
A. e+2 B. 068 C. ‘\x41’ D. πl 下列( C )表达式的值等于0 A. 2%5 B. 1/2.0 C. 10>5>3 D. !(‘a’-97)l 设有定义double x=2.4, y=3.56;,则表达式(int)x+y的值为( A )A. 5.56 B. 5.4 C. 5 D. 6 l 设有语句int n=10,i=4;,则语句 n%=i+1;执行后,n的值是( A )A. 0 B. 1 C. 2 D. 3l 下列语句将大写字母转换为小写字母,其它字符不变,其中对的的是( B )A.if(ch>=‘A’||ch<=‘Z’)ch=ch+32;B.if(ch>=‘A’&&ch<=‘Z’)ch=ch+32;C.ch=(ch>=‘A’&&ch<=‘Z’)?ch+32: ‘ ‘;D.ch=(ch>‘A’&&ch<‘Z’)?ch+32:ch;l 设有定义int a=0,b=0,t;,则执行语句:t = a++&&++b;后,a和b的值是( b! )。
A. a=0,b=0 B. a=0,b=1 C. a=1,b=0 D. a=1,b=1l 若有int i;,执行语句for(i=1;i++<4; );后变量i的值是( C )A.3 B.4 C.5 D.不拟定l 程序段int n=10; while (n>7) { n--;printf("%d ",n);}的输出结果是( D )A.10 9 B.9 8 C.10 9 8 D.9 8 7l 执行下面程序段,若从键盘输入33后,其输出结果是( D ) int x; scanf(“%d”,&x); if(x>60) printf(“%d”,x); else if(x>30) printf(“%d”,x);else if(x>20) printf(“%d”,x);A.333333 B.3333 C.33 D.33 33 33l 设有函数调用语句: m=max(a , max(b,c)); 则函数max有( C )个实参A. 1 B. 4 C. 2 D. 0l 程序中调用了库函数strlen,必须包含头文献( D )。
A.stdlib.h B.math.h C.ctype.h D.string.hl 下列数组s中所存放字符串的长度为( B )char s[]="a\127b\\\tcd\xdg\n"; A.9 B.10 C.11 D.18l 下列能对的定义一维数组a的语句是( D )A.int a(20); B.int n=20,a[n];C.int n;scanf("%d",&n); D.#define n 20int a[n]; int a[n];l 若有 int a[8]={1,9,8,0,4,2,5,3};则数值为2的表达式是( C )A.*a B.a[6] C.*a+1 D.*(a+1)+5l 下列程序段的运营结果为( B )char s[]="mn\0gy"; printf("%s",s);A.mn0 B.mn C.Mngy D.mn gyl 若有定义char s[8]="broke",*ps=s;则不能代表字符k的表达式是( A )。
A.ps+3 B.s[3] C.ps[3] D.*(ps+3)l 下面的程序段中循环体执行次数( B )char a[5],*t="Boy",*s=t; int i=0;while( *s!=‘\0’ ) { a[i]=*s; s++;}A、4次 B、3次 C、0次 D、无数次l 对变量定义及初始化为:FILE *p=fopen("d:\\aa.txt","r"); int x; float a; char s;能对的的将文献中的整数、实数、字符输入到各变量的是( D )A、fgets(x,a,s,p); B、fprintf(p,”%d,%f,%c”,x,a,s);C、fgetc(x,a,s,p); D、fscanf(p,”%d,%f,%c”,&x,&a,&s);l 函数定义如下:void fun(int x, int y, int *a, int *b){ *a=x+y; *b=x*y; }可以对的调用fun函数的是( B )。
其中m、n是已经定义过的int型变量 A、fun(5,8,m,n); B、fun(5,8,&m,&n); C、fun(5,8,*m,*n); D、fun(m,n,5,8);l 定义char s[4]={"Max"},t; 执行下面语句段后输出结果是( B )t=s[0];s[0]=s[2];s[2]=t; printf("%s \n", s);A、Max B、xaM C、axM D、 xMal 以下叙述不对的的是( B )A. main函数在C语言中必须有且只有一个B.C程序的执行从main函数开始,所以main函数必须放在程序最前面C. 函数可以带参数,也可以不带参数D. 每个函数执行时,按函数体中语句的先后顺序,依次执行每条语句l 在C程序中,若对函数返回类型未加说明,则函数的隐含类型为( A )A.int B.double C.void D.charl 有一个函数调用f( (1,2), 3*4 ),则本次调用的是下面哪个函数f( B )?A. void f (int a);B. void f (int a, int b);C. void f (int a, int b, int c);D. void f (int a, int b, int c,int d);l 若有定义语句“int a[10];”则下列对a中数组元素对的引用的是( C )。
A.a[10] B.a[2.5] C.a[5%2] D.a[5+6]l 下列哪个语句存在语法错误( C )?A. char c = ‘A’; B. char c[] = "A";C. char c = ‘AB’; D. char c[] = "AB";l 已知”char s[] = “ab\0cd”;”,则数组s的长度为( ),s所存放的字符串的长度为( )BA.6和 5 B. 6和2 C. 5和2 D. 5和5l 若有说明:int i,j=1,*p=&i;则与i=j;等价的语句是( B )A.i=*p; B.*p=j; C.i=&j; D.p=&j;l 有数组定义语句“char a[20];”,则对的的输入语句为( D )A.scanf("%s",&a); B.scanf("%s", a[]);C.gets(a[20]); D.gets(a) ;l p和q同为指向int类型的指针,则下面哪个表达式会导致语法错误?( A )A.p+q B.p-q C.p=q D.p==ql 下列语句定义p为指向double型变量x的指针,其中对的的是( B )。
A.double x,*p=*x; B.double x,*p=&x;C.double *p=&x, x; D.double x; int *p; p=&x;l 已定义以下函数:int fun(int *p){ return *p;},fun函数返回值是( C )A.不拟定的值 B.形参p中存放的值 C.一个整数 D.形参p的地址值l 下面程序的运营结果为( A )int a[] = {1,2,3,4}, *p=a;printf("%d ", *p++);!!!!!printf("%d ", *p);A.1 2 B.1 1 C.2 3 D.2 2l 若有定义:char str[]=“ABCD”,*p=str;则语句printf(“%d\n”,*(p+4));的输出结果是( B )(已知’A’的ASCII码为65)A.68 B.0 C.字符D的地址 D.不拟定的值l 下面( C )语句是从文献中读取一个字符。
A.ch=getc(); B.fputc(ch,fp); C.fscanf(fp,"%c",&ch); D.scanf("%c",&ch);l 以“只读”方式打开文本文献c:\1.txt,下列语句中哪一个是对的的( B )A. fp=fopen("c:\\1.txt","a"); B. fp=fopen("c:\\1.txt","r"); C. fp=fopen("c:\1.txt","wb"); D. fp=fopen("c:\1.txt","r");l 已知数组的初始化语句为:int a[10] = {1,2,3,4,5};则表达式a[5]的值为( D )A. 5 B. 1 C. 不拟定的值 D. 0l 表达式“c=*p++”的执行过程是( A )A.复制*p的值给c后再执行p++ B.复制*p的值给c后再执行(*p)++C.复制p的值给c后再执行p++ D.执行p++后将*p的值复制给cl 变量的指针,其含义是指该变量的( B )。
A.值 B.地址 C.名字 D.一个标志l 若有定义: char s[] = "HappyNewYear";则下面那条语句能输出字符’N’( D )?A. printf(“%s”, s+5); B. printf(“%c”, s+5);C. printf(“%s”, *(s+5)); D. printf(“%c”, *(s+5));l C语言中函数返回值的类型是由( C )决定的 A.调用该函数的主调函数类型 B.return语句中的表达式类型C.定义函数时所指定的返回函数值类型 D.调用函数时临时l 以下对的的函数说明是( A )A.int fun(int , int); B.int fun(int x,y); C.int fun(x,y); D.int fun(int x; int y);l 在C语言中,下面关于数组的描述对的的是( C )A.数组的大小是固定的,但可以有不同类型的数组元素B.数组的大小是可变的,但所有数组元素的类型必须相同C.数组的大小是固定的,所有数组元素的类型必须相同D.数组的大小是可变的,可以有不同的类型的数组元素l 假定int类型变量占用4个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( D )。
A.3 B.12 C.10 D.40l 下列程序段执行后,s的值是( A ) S=1 s=10+2 s=120+3char ch[]="123"; int i,s=0;for(i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i++) s=10*s+ch[i]-’0’;为A.123 B.1 C.3 D.6l 要将20,30,40,50 存入数组b中, 下列对的的程序段是( A )A.int i,b[4]; for (i=0; i<4; i++) b[i]=(i+2)*10;B.int b[4]; b={20,30,40,50}; C.int b[4]; b[1]=20,b[2]=30,b[3]=40,b[4]=50; D.int b[4]; b[4]={20,30,40,50};l 设已有定义:char *st="how are you";下列程序段中对的的是( A )A.char a[12], *p=a+1; strcpy(p,st+4); B.char a[12]; strcpy(++a, st);C.char a[12],*p;strcpy(p, st); D.char a[], *p=a+1;strcpy(p,&st[4]);l 若已有定义 char str[10]; 要将键盘输入的字符串"a pear" 赋给str,应使用( B )。
A.scanf("%s",str); B.gets(str); C.str="a pear"; D.getchar(str);l 若int a=1,b=2,*pa=&a,*pb=&b;,执行语句*pa*=3;b*=2;printf(“%d,%d”,*pa,*pb);后输出( D )A.1,2 B.1,4 C.3,2 D.3,4l 若有int a=100,b=200,t,*temp,*pa=&a,*pb=&b;则下列各语句组中,不能实现变量a,b值互换的是( C )A.t=a; a=b; b=t; B.t=*pa;*pa=*pb;*pb=t;C.temp=pa;pa=pb;pb=temp; D.a=a+b; b=a-b; a=a-b;l 已知有语句FILE *fp; int x=123; fp=fopen("out.dat","w");,假如需要将变量x的值以文本形式保存到磁盘文献out.dat中,则以下函数调用形式中,对的的是( B )。
A.fprintf("%d",x); B.fprintf(fp,"%d",x);C.fprintf("%d",x,fp); D.fprintf("out.dat","%d",x);l 以下对的的函数定义是( D )A.double fun(int x, int y) B.double fun(int x,y) { z=x+y ; return z ; } { int z ; return z ;}C.fun (x,y) D.double fun (int x, int y) { int x, y ; double z ; { double z ;z=x+y ; return z ; } z=x/y; return z ; }l 设有定义语句char s[ ]="abcDE";,则s[5]的值是( C )A.未知字符 B.’0’ C.’\0’ D.’E’l 当调用函数时,实参是一个数组名,则向函数传送的是( B )。
A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值l 能对一维数组对的初始化的语句是( C )A.int a[5]={0,1,2,3,4,5}; B.int a[5]={};C.int a[5]={10}; D.int a[5]={1,……,5}; l 下面程序段的输出结果是( A )char a[10]= "abcd";char b[4]= "ABC";strcat(a,b);printf(“%s”,a);A.abcdABC B.abcd C.ABC D.ABCabcdl 设有下列定义 char s[ ]="12345", *p=s;则下列表达式中错误的是( D )A.*(p+1) B.*(s+2) C.p="ABC " D.s="ABC "l 设有如下定义: int a[]={1,3,5,7,9};int *p; 则下列程序段的输出结果为( A )。
p=a;*(p+2)+=2;printf (“%d,%d\n”,*p,*(p+2));A.1,7 B.1,5 C.5,9 D.3,7l 判断字符串s1与s2是否相等,应当使用的语句是( D )A.if(s1= =s2) B.if(s1=s2)C.if(s1[]= =s2[]) D.if(strcmp(s1,s2)= =0)程序阅读题:说明:阅读下列程序,在每小题提供的程序运营结果若干可选答案中,挑选一个对的答案l #include 答案:A void main() { int n; for(n=1;n<=10;n++) { if(n%3==0) break; printf("%d",n); } }A. 1 2 B.369 C. 12457810 D. l #include 答案:Dvoid main(){ int i,n;scanf("%d",&n); //输入24i=2; while(n>1) if(n%i==0){ printf("%d\t",i); n/=i;} else i++; printf("\n");}A. 2 2 6 1 B. 2 3 4 1 C. 3 2 2 2 D. 2 2 2 3l #include 答案:Avoid main(){ int i, m=15, y = -1;for(i=2; i<=m/2;i++) if (m%i==0) y=0;else y=1; printf("%d##",y);}A. 1## B.2## C. 0## D.3##l #include 答案:Cvoid main(){ int j,k,s1,s2; s1=s2=0; for(j=1;j<=5;j++){ s1++; for(k=1;k<=j;k++) s2++;} printf("%d %d", s1, s2);}A. 5 5 B.5 6 C.5 15 D. 5 21l #include "stdio.h" 答案:Cvoid main(){ int a; float b,c; scanf("%2d%3f%4f",&a,&b,&c); //输入 printf("a=%d,b=%.1f,c=%.1f\n",a,b,c);}A.a=12,b=345,c=6543 B.a=12,b=123,c=1234C.a=12,b=345.0,c=6543.0 D.a=12.0,b=345.0,c=6543.0l #include 答案:Dvoid main(){ char grade; scanf("%c", &grade); // 输入 B switch(grade) { case ‘A’: printf(">=85"); case ‘B’: case ‘C’: printf(">=60"); case ‘D’: printf("<60"); default: printf("error.");}}A. >=85>=60<60 B. >=60<60 C.>=60 D. >=60<60error.l #include 答案:Bvoid main(){ int a,b; for(a=1,b=1;a<100;a++) { if(b>=20) break; if(b%3==1){b+=3;continue;} b-=5; }printf("%d\n",a);}A.7 B.8 C.9 D.10l #include 答案:A void main() { int i,j,k,a=3,b=2; i= (--a==b++)?--a:++b; j=a++; k=b; printf("i=%d,j=%d,k=%d\n",i,j,k);}A. i=1,j=1,k=3 B. i=1,j=1,k=2 C. i=4,j=2,k=4 D. i=2,j=1,k=3l #include 答案:B void main( ) { int a=1,b=0; do { switch(a) { case 1: b=1;break; case 2: b=2; break; default : b=0; } b=a+b; }while(b==0); printf("a=%d,b=%d \n",a,b); }A. a=1,b=3 B. a=1,b=2 C. a=1,b=1 D. a=1,b=0l #include 答案:Cvoid main(){ int i,a,b; for(a=10;a<=20;a++) { b=1;for(i=2;i<=a/2;i++) if(a%i==0) { b=0; break; } if(b==1) printf("%d ", a); }}A. 10 12 14 16 18 20 B. 11 13 15 17 19C. 11 13 17 19 D. 10 14 18l #include 答案:Cvoid main(){ int n, sum_p=0, sum_f=0; scanf(“%d”, &n); while(n != -1){ if(n>=60 && n<=100) sum_p++; else if(n>= 0 && n<60) sum_f++; scanf(“%d”, &n); } printf(“%d,%d”, sum_p, sum_f);}输入数据为23 67 87 98 26 101 -20 19 56 80 -1A. 5,6 B. 4,5 C. 4,4 D. 5,4l #include 答案:Dvoid main( ){ int s=0,i,t,flag=1; for(i = 1; i < 5; i++) { t = flag*i*i; 1 -4 9 -16 s += t; flag = -flag;}printf(“%d”, s);}A. 15 B. 10 C. -15 D. -10l #include 答案:Bvoid main(){int i=0;while(i < 3){switch(i){ case 0: printf("%d",i); case 1:printf("%d",i); break; case 2: printf("%d",i); break; }i++;} }A. 012 B. 0012 C. 00112 D. 001122l #include 答案:C void main() { int a=2,b=-1,c=2; if(a 答案:Avoid main(){ int i; for(i=1;i<=5;i++) { if(i%2) printf(“*”); i=不为0 执行else continue;printf(“#”); } printf(“$\n”);}A. *#*#*#$ B. #*#*#*$ C. *#*#$ D. #*#*$l #include 答案:Cvoid main( ){ int i,j,sum,m,n=4; sum=0; for(i=1;i<=n;i++) { m=1; 1+2+6 +24for(j=1;j<=i;j++) m=m*j;sum=sum+m; } printf(“sum=%d\n”,sum);}A.sum=10 B.sum=24 C. sum=33 D. sum=303l #include "stdio.h" 答案:Avoid main(){ int j,x=0; for(j=0;j<=3;j++) { if(j%2) continue; x++;} printf("x=%d\n",x);}A.x=2 B.x=4 C.x=3 D.x=1l #include 答案:C void main() { int k; for(k=1; k<5; k++) { if(k%2) printf("#"); else break; printf("*"); } }A.# B.*#*# C、#* D.#*#*l #include 答案:Avoid main(){ int x=6, y=5;x+=1/8; x=(++x==y++)? x%3 : x/3;printf("x=%d,y=%d\n",x,y);}A.x=2,y=6 B.x=1,y=5 C.x=2 y=6 D.x=1 y=5l #include 答案:Bvoid main( ){ int k=1,sum=0;do{k=k*(k+1)/2;sum+=k;}while(sum%7);printf(“sum=%d”,sum);}A.7 B.sum=7 C.7.0 D.sum=7.0l 下面程序执行后的对的输出项是( )。
答案:A#include void swap1(int a[ ]) { int t; t=a[0]; a[0]=a[1]; a[1]=t; } void swap2(int a,int b。