资源描述
青蓝是06年4月的,深红色是06年9月的,蓝色是07年4月的,罗兰色是07年9月的,
绿色是08年4月,黑色是08年9月的, 浅橙色是09年3月的,深绿色是09年9月的,
粉色是2010年3月的,
基础
(18)下列4 个程序中,完全正确的是( )。(18)B)
A)#include <stdio.h> B)#include <stdio.h>
main( ); main( )
{/*programming*/ {/* / programming / */
printf("programming! \n");} printf("programming!\n");}
C)#include <stdio.h> D)include <stdio.h>
main( ) main( )
{/* / programming*/ */ { /*programming */
printf("programming! \n");} printf("programming! \n");}
(44)下列叙述中错误的是( )。(44)D)
A)C 语言源程序经编译后生成后缀为.obj 的目标程序
B)C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C)用C 语言编写的程序称为源程序,它以ASCII 代码形式存放在一个文本文件中
D)C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
(45)下列叙述中错误的是( )。(45)B)
A)算法正确的程序最终一定会结束
B)算法正确的程序可以有零个输出
C)算法正确的程序可以有零个输入
D)算法正确的程序对于相同的输入一定有相同的结果
(46)下列叙述中错误的是( )。(46)D)
A)C 程序必须由一个或一个以上的函数组成
B)函数调用可以作为一个独立的语句存在
C)若函数有返回值,必须通过return 语句返回
D)函数形参的值也可以传回给对应的实参
(48)下列叙述中错误的是( )。(48)D)
A)C 程序中的#include 和#define 行均不是C 语句
B)除逗号运算符外,赋值运算符的优先级最低
C)C 程序中,j+ +;是赋值语句
D)C 程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算(求余运算只能用于整型)
(11)下列叙述中错误的是( )。(11)A)
A)一个C 语言程序只能实现一种算法
B)C 程序可以由多个程序文件组成
C)C 程序可以由一个或多个函数组成
D)一个C 函数可以单独作为一个C 程序文件存在
(12)下列叙述中正确的是( )。(12)D)
A)每个C 程序文件中都必须要有一个main( )函数
B)在C 程序中main( )函数的位置是固定的
C)C 程序中所有函数之间都可以相互调用,与函数所处位置无关
D)在C 程序的函数中不能定义另一个函数
(11)C 语言源程序名的后缀是( )。(11)B)
A).exe B).C C).obj D).cp
(14)下列叙述中正确的是( )。(14)C)
A)C 语言程序将从源程序中第一个函数开始执行
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C 语言规定必须用main 作为主函数名,程序将从此开始执行,在此结束
D)main 可作为用户标识符,用以命名任意一个函数作为主函数
(11)在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的
()。(11)C)
A)正当性 B)可行性 C)确定性 D)有穷性
(12)下列叙述中错误的是()。(12)D)
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
(14)下列叙述中错误的是()。(14)C)
A)C语言是一种结构化程序设计语言
B)结构化程序由顺序、分支、循环3种基本结构组成
C)使用3种基本结构构成的程序只能解决简单问题
D)结构化程序设计提倡模块化的设计方法
(15)对于一个正常运行的C程序,下列叙述中正确的是()。(15)A)
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
(11)以下叙述中正确的是 C)
A)C程序中的注释只能出现在程序的开始位置和语句的后面()。
B)C程序书写格式严格,要求一行内只能写一个语句
C)C程序书写格式自由,一个语句可以写在多行上
D)用C语言编写的程序只能放在一个程序文件中
(11)以下叙述中正确的是()。C)
A)C程序的基本组成单位是语句 B)C程序中的每一行只能写一条语句
C)简单C语句必须以分号结束 D)C语句必须在一行内写完
(12)计算机能直接执行的程序是()。D)
A)源程序 B)目标程序 C)汇编程序 D)可执行程序
(11)以下叙述中正确的是 D
A)程序设计的任务就是编写程序代码并上机调试
B)程序设计的任务就是确定所用数据结构
C)程序设计的任务就是确定所用算法
D)以上三种说法都不完整
(11)以下叙述正确的是 B
A)C语言程序是由过程和函数组成的
B)C语言函数可以嵌套调用,例如:fun(fun(x))
C)C语言函数不可以单独编译
D)C语言中除了main函数,其他函数不可作为单独文件形式存在
(12)以下关于C语言的叙述中正确的是 B
A)C语言中的注释不可以夹在变量名或关键字的中间
B)C语言中的变量可以在使用之前的任何位置进行定义
C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D)C语言的数值常量中夹带空格不影响常量值的正确表示
合法标识符
(11)下列不合法的用户标识符是( )。(11)C)
A)j2_KEY B)Double C)4d D)_8_
(12)可在C 程序中用作用户标识符的一组标识符是( )。(12)A)
A)and B)Date
_2007 y-m-d
C)Hi D)case
Dr.Tom Bigl
(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。(13)B)
A)大写字母B)连接符
C)数字字符D)下划线
(12)以下选项中不合法的标识符是()。C)
A)print B)For C)&a D)-00
(11)以下选项中合法的标识符是 C
A) 1-1 B)1—1 C)-11 D)1--
(12)以下选项中,能用作用户标识符的是 C
A)void B)8_8 C)_0_ D)unsigned
(13)阅读以下程序 A
#include <stdio.h>
main()
{ int case; float printF;
printf(“请输入2个数:”);
scanf(“%d %f”,&case,&printF);
printf(“%d %f\n”,case,printF);
}
该程序编译时产生错误,其出错原因是
A)定义语句出错,case是关键字,不能用作用户自定义标识符
B)定义语句出错,printF不能用作用户自定义标识符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无错,printf不能输出case的值
(13)以下C语言用户标识符中,不合法的是 D
A)_1 B)AaBc C)a_b D)a—b
合法常量
(12)下列不合法的数值常量是( )。(12)C)
A)011 B)1e1 C)8.0E0.5 D)0xabcd
(13)下列不合法的字符常量是( )。(13)A)
A)'\018' B)'\" ' C)'\\' D)'\xcc'
(13)下列选项中,合法的一组C 语言数值常量是( )。(13)B)
A) 028 B)12.
.5e-3 0xa23
.0xf 4.5e0
C).177 D)0x8A
4e1.5 10,000
0abc 3.e5
(13)以下选项中不属于字符常量的是()。B)
A)'C' B)"C" C)'\xCC' D)'\072'
(13)以下选项中不能作为C语言合法常量的是()。A)
A)'cd' B)0.1e+6 C)"\a" D)'\011'
(13)以下选项中,能用作数据常量的是 D
A)o115 B) 0118 C)1.5e1.5 D) 115L
定义语句
(13)下列定义变量的语句中错误的是( )。(13)D)
A)int _int; B)double int_; C)char For; D)float US$;
(17)若变量均已正确定义并赋值,下列合法的C 语言赋值语句是( )。(17)A)
A)x = y = = 5; B)x = n%2.5; C)x + n = i; D)x = 5 = 4+ 1;
(15)以下定义语句中正确的是()。B)
A)int a=b=0; B)char A=65+1,b='b'; C)float a=1,"b=&a,"c=&b; D)double a=0.0;b=1.1;
(14)以下选项中正确的定义语句是()。C)
A)double a;b; B)double a=b=7; C)double a=7,b=7; D)double,a,
(12)若函数中有定义语句:int k;,则 B
A)系统将自动给k赋初值0 B)这时k中值无定义
C)系统将自动给k赋初值-1 D)这时k中无任何值
(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是 C
A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a%11; D)i=!a;
(25)下列选项中,能正确定义数组的语句是 D
A)int num[0..2008]; B)int num[];
C)int N=2008;
int num[N];
D)#define N 2008
int num[N];
表达式
(14)表达式3.6-5/2+1.2+5%2 的值是( )。(14)D)
A)4.3 B)4.8 C)3.3 D)3.8
(14)若变量x、y 已正确定义并赋值,下列符合C 语言语法的表达式是( )。(14)A)
A)+ +x,y=x-- B)x+1=y
C)x=x+10=x+y D)double(x)/10
(24)下列选项中,值为1 的表达式是( )。(24)B)
A)1-'0' B)1-'\0' C)'1'-0 D)'\0'-'0'
(21)设有条件表达式:(EXP)?i+ +:j--,则下列表达式中与(EXP)完全等价的是( )。(21)B)
A)(EXP= =0) B)(EXP! =0) C)(EXP= =1) D)(EXP! =1)
(17)若有代数式(其中e仅代表自然对数的底数,不是变量),则下列能够
正确表示该代数式的C语言表达式是()。(17)C)
A)sqrt(abs(n^x+e^x)) B)sqrt(fabs(pow(n,x)+pow(x,e)))
C)sqrt(fabs(pow(n,x)+exp(x))) D)sqrt(fabs(pow(x,n)+exp(x)))
(18)设有定义:int k=0;,下列选项的4个表达式中与其他3个表达式的值不相同的是
()。(18)A)
A)k++ B)k+=1 C)++k D)k+1
(21)下列选项中,当x为大于l的奇数时,值为0的表达式是()。(21)D)
A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0
(14)设变量已正确定义并赋值,以下正确的表达式是()。C)
A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,++y D)x=25%5.0
(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中
的值为大写字母的表达式是()。B)
A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')
C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)
(15)以下不能正确表示代数式的C语言表达式是()。D)
A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d
(14)设有定义:int x=2; ,以下表达式中,值不为6的是 D
A) x*=x+1 B) x++,2*x C)x*=(1+x) D)2*x,x+=2
(14)表达式:(int)((double)9/2)-(9)%2的值是 B
A)0 B)3 C)4 D)5
(15)若有定义语句:int x=10;,则表达式x-=x+x的值为 B
A)-20 B)-10 C)0 D)10
进制
(16)C源程序中不能表示的数制是()。A)
A)二进制 B)八进制 C)十进制 D)十六进制
数据类型
(16)下列关于long、int 和short 类型数据占用内存大小的叙述中正确的是( )。(16)D)
A)均占4 个字节
B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义
D)由C 语言编译系统决定
(16)以下关于C语言数据类型使用的叙述中错误的是 D
A)若要准确无误差的表示自然数,应使用整数类型
B)若要保存带有多位小数的数据,应使用双精度类型
C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型
条件表达式
(16)若有定义int x,y; 并已正确给变量赋值,则下列选项中与表达式(x-y)?(x+ +):(y+ +)中
的条件表达式(x-y)等价的是( )。(16)D)
A)(x-y>0) B)(x-y<0)
C)(x-y<0‖x-y>0) D)(x-y= =0)
(17)若有表达式(w)?(--x):(++y),则其中与w等价的表达式是()。D)
A)w==l B)w==0 C)w!=l D)w!=0
逻辑表达式
(15)下列关于逻辑运算符两侧运算对象的叙述中正确的是( )。(15)D)
A)只能是整数0 或1 B)只能是整数0 或非0 整数
C)可以是结构体类型的数据 D)可以是任意合法的表达式
(18)当变量c的值不为2、4、6时,值也为“真”的表达式是()。B)
A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)
C)(c>=2&&c<-6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)
(18)执行以下程序段后,w的值为()。C)
int w='A',x=14,y=15; w=((x||y)&&(w<'a'));
A)-1 B)NULL C)l D)0
(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 A
A)1 B)0 C)2 D)不知道a的值,不能确定
输入
(18)设有定义: int a; float b; 执行scanf("%2d%f",&a,&b);语句时,若从键盘输入
876543.0<CR>,a 和b 的值分别是( )。(18)B)
A)876 和543.000000 B)87 和6.000000
C)87 和543.000000 D)76 和543.000000
(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行下列选项中的语句,则能正确执行的语句是( )。(15)C)
A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);
C)scanf("%d",p); D)scanf("%d",&p);
(18)有下列程序段:(18)B)
int j; float y; char name[50] ;
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777abc 后,y 的值为( )。
A)55566.0 B)566.0 C)7777.0 D)566777.0
(16)设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量
a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。(16)A)
A)10□X□20□Y<CR>
B)10□X20□Y<CR>
C)10□X<CR>
20Y<CR>
D)10X<CR>
20□Y<CR>
(19)若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋
1、给b赋值2、给c赋值3,以下输入形式中错误的是(ò代表一个空格符) B)
A)òòò1,2,3<回车> B)1ò2ò3<回车> C)1,òòò2,òòò3<回车> D)1,2,3<回车>
(16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是 C
A)scanf(“%f%f”,x,y); B) scanf(“%f%f”,&x,&y);
C) scanf(“%lf%le”,px,py); D) scanf(“%lf%lf”,x,y);
(23)有以下程序 A
#include<stdio.h>
main()
{ int a1,a2;char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
printf(“%d,%c,%d,%c”,&1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下_代表空格,<CR>代表回车)
A)12a34b<CR> B)12_a_34_b<CR>
C)12,a,34,b<CR> D)12_a34_b<CR>
输出
(17)有下列程序:(17)C)
main( )
{ int x,y,z;
x=y=1;
z=x+ +,y+ +,+ +y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是( )。
A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1
(19)有下列程序:(19)A)
main( )
{ int a=0,b=0;
a=10; /*给a 赋值
b=20; 给b 赋值 */
printf("a+b=%d\n",a+b); /*输出计算结果 */
}
程序运行后的输出结果是( )。
A)a+b=10 B)a+b=30 C)30 D)出错
(26)已知字符'A'的ASCII 代码值是65,字符变量cl 的值是'A',c2 的值是'D'。执行语句
printf("%d,%d",c1,c2-2) ;后,输出结果是( )。(26)C)
A)A,B B)A,68 C)65,66 D)65,68
(19)有下列程序,其中%u表示按无符号整数输出。(19)B)
main()
{ unsigned int x=0xFFFF;/*x的初值为十六进制数*/
printf("%u\n",x);
}
程序运行后的输出结果是()。
A)-1 B)65535 C)32767 D)0xFFFF
(48)有下列程序:(48)B)
main()
{ unsigned char a=2,b=4,c=5,d;
d=a|b; d&=c; printf("%d\n",d);)
程序运行后的输出结果是()。
A)3 B) 4 C) 5 D)6
(16)有以下程序段()。D)
char ch;int k;
ch='a';k=12;
printf("%c,%d,",ch,ch,k);
printf("k=%d\n",k);
已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12
D)a,97,k=12
(15)程序段:int x=12; double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是 A
A)123.141593
B)12
3.141593
C)12,3.141593
D)123.141593
(16)有以下程序 D
#include <stdio.h>
main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d\n”,a=2*b);
}
程序运行后的输出结果是
A)0,0 B)1,0 C)3,2 D)1,2
(15)有以下程序 C
#include
main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c\n”,a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)
12
34
则输出结果是
A)1234 B)12
C)12
3
D)12
34
(22)有以下程序,其中k的初值为八进制数 D
#include
main()
{ int k=011;
printf("%d\n",k++);
}
程序运行后的输出结果是
A)12 B)11 C)10 D)9
(39)有以下程序 A
#include
main()
{ int a=2,b=2,c=2;
printf("%d\n",a/b&c);
}
程序运行后的输出结果是
A)0 B)1 C)2 D)3
If语句
(31)有下列程序:(31)D)
main( )
{ int a=0,b=0,c=0,d=0;
if(a=1) b=1;c=2;
else d=3;
printf("%d,%d,%d,%d\n",a,b,c,d);
}
程序输出( )。
A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错
(20)在嵌套使用if 语句时,C 语言规定else 总是( )。(20)C)
A)和之前与其具有相同缩进位置的if 配对 B)和之前与其最近的if 配对
C)和之前与其最近的且不带else 的if 配对 D)和之前的第一个if 配对
(20)有下列计算公式:
若程序前面已在命令行中包含math.h 文件,不能够正确计算上述公式的程序段是
( )。(20)B)
A)if(x>=0) y=sqrt(x); B)y=sqrt(x);
else y=sqrt(-x) ; if(x<0) y=sqrt(-x);
C)if(x>=0) y=sqrt(x) ; D)y=sqrt(x>=0? x:-x);
if(x<0) y=sqrt(-x);
(20)设变量x和y均已正确定义并赋值。下列if语句中,在编译时将产生错误信息的是
()。(20)C)
A)if(x++); B)if(x>y&&y!=0);
C)if(x>0)x-- D)if(y<0){;}
else y++; else x++;
(19)若变量已正确定义,有以下程序段 B)
int a=3,b=5,c=7;
if(a>b)a=b;c=a;
if(c!=a)c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是()。
A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7
(20)有以下程序段 A)
int a,b,c;
a=10;b=50;c=30;
if(a>b) a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n”,a,b,c);
程序的输出结果是()。
A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c
(28)有以下程序 D)
#include<stdio.h>
main()
{ int x=l,y=2,z=3;
if(x>y)
if(y<z) printf("%d",++z);
else printf("%d",++y);
printf("%d\n",x++);
}
程序的运行结果是()。
A)331 B)41 C)2 D)1
(17)以下是if语句的基本形式:
if (表达式)
语句
其中“表达式” D
A)必须是逻辑表达式 B)必须是关系表达式
C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式
(18)有以下程序
#include <stdio.h>
main()
{ int x;
scanf(“%d”,&x);
if(x<=3); else
if(x!=10)
printf(“%d\n”,x);
}
程序运行时,输入的值在哪个范围才会有输出结果 B
A)不等于10的整数 B)大于3且不等于10的整数
C)大于3或等于10的整数 D)小于3的整数
(19)有以下程序 C
#include<stdio.h>
Main()
{ int a=1,b=2,c=3,d=0;
if(a= =1 &&b++= =2)
if(b!=2 || c--!=3)
printf(“%d,%d,%d\n”,a,b,c);
else printf(“%d,%d,%d\n”,a,b,c);
else printf(“%d,%d,%d\n”,a,b,c);
}
程序运行后的输出结果是
A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,1
(28)以下函数按每行8个输出数组中的数据 C
void fun( int *w,int n)
{ int i;
for(i=0;i<n;i++)
{_________________
printf(“%d”,w[i]);
}
printf(“\n”);
}
下划线处应填入的语句是
A)if(i/8==0)print(“\n”); B) if(i/8==0)continue;
C) if(i%8==0)print(“\n”); D) if(i%8==0)continue;
17)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 C
A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;}
C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}
(19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A
A)if((a>b)&&(b>c)) k=1; B)if((a>b)||(b>c) k=1;
else k=0; else k=0;
C)if(a<=b) k=0;
else if(b<=c) k=1;
D)if(a>b) k=1;
else if(b>c) k=1;
else k=0;
(19)有如下嵌套的if语句 C
if (a<b)
if(a< c) k=a;
else k=c;
else
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是
A)k=(a<b)?a:b;k=(b<c)?b:c;
B)k=(a<b)?((b<c)?a:b):((b>c)?b:c);
C)k=(a<b)?((a<c)?a:c):((b<c)?b:c);
D)k=(a<b)?a:b;k=(a<c)?a:c;
Switch语句
(19)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch 语句是( )。(19)C)
A)switch(x) B)switch((int)x);
{ case 1.0:printf("*\ n"); {case 1:printf("*\n");
case 2.0:printf("**\ n");} case 2:printf("**\n");}
C)switch(a+b) D)switch(a+b)
{ case 1:printf("*\n"); { case 1:printf("* \n");
case 2+1:printf("** \n");} case c:printf("** \n");}
(21)下列叙述中正确的是( )。(21)D)
A)break 语句只能用于switch 语句
B)在switch 语句中必须使用default
C)break 语句必须与switch 语句中的case 配对使用
D)在switch 语句中,不一定使用break 语句
(22)下列叙述中正确的是()。(22)C)
A)break语句只能用于switch语句体中
B)continue语句的作用是使程序的执行流程跳出包含它的所有循环
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
(23)有下列程序:(23)B)
main()
{ int k=5,n=0;
do
{ switch(k)
{ case 1: case 3:n+=1;k--;break;
default:n=0;k--;
case 2: case 4;n+=2;k--;break;
}
printf("%d",n);
}while(k>0&&n<5);
}
程序运行后的输出结果是()。
A)235 B)0235 C)02356 D)2356
(20)有以下程序D)
#include <stdio.h>
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{
case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
case 3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的运行结果是()。
A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1
(18)有以下程序 A
#include <stdio.h>
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k
case 2: c++;break;
case 4: c+=2;break;
}
printf(“%d\n”,c);
}
程序运行后的输出结果是
A)3 B)5 C)7 D)9
(29)有以下程序 C
#include <stdio.h>
main()
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);
}
A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4
(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 B
A)switch(a)
{ case:a=b; break;
default: a++;
}
B)switch(a==1)
{ case 0:a=b; break;
case 1: a++;
}
C)switch(a)
{ default:a++ ;break;
case 1: a=b;
}
D)switch(a==1)
{ case 1:a
展开阅读全文