电子科大15春《C语言》在线作业2试卷(最新)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子科大15春《C语言》在线作业2
一、单选题(共20 道试题,共100 分。
)V 1. 假定ptr1和ptr2分别是指向某个字符串的指针,则在下列选项中非法的语句中是( )
A. if(ptr1==ptr2)printf("yes.");
B. *ptr1=48+(ptr1-ptr2);
C. *(ptr1+=2)=*ptr2;
D. *(ptr1-1+ptr2)=getchar();
满分:5 分
2. 以下不正确的定义语句是( )
A. double x[5]={2.0,4.0,6.0,8.0,10.0};
B. int y[5]={0,1,3,5,7,9};
C. char c1[]={’1’,’2’,’3’,’4’,’5’};
D. char c2[]=}{'\x10','\xa','\x8'};
满分:5 分
3. 下面程序的运行结果是( ) main() {char str[]="SSSWLIA", c; int k; for(k=2;(c=str[k])!='\0';k++) {switch(c) {case 'I': ++k; break; case 'L': continue; default: putchar(c);continue; } putchar('*'); } }
A. SSW*
B. SW*
C. SW*A
D. SW
满分:5 分
4. enum color{red,green,yellow=5,white,black}定义了一枚举类型。
编译程序为值表中各标识符分配的枚举值依次为( )
A. 1、2、3、4、5
B. 0、1、5、2、3
C. 0、1、5、6、7
D. 3、4、5、6、7
满分:5 分
5. 下面程序的输出是( ) 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. 9
满分:5 分
6. 以下正确的描述是( )
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
满分:5 分
7. 有如下定义:char*s1="AbCdE",*s2="aBcDe";则表达式strcmp(s1+1,s2+1)的值是( )
A. 零
B. 负数
C. 正数
D. 非零值,无法肯定符号
满分:5 分
8. 有定义:int a[5][4],*p=a[0];,则*(p+2*4+3)等于( )。
A. a[2][0]
B. a[2][1]
C. a[2][2]
D. a[2][3]
满分:5 分
9. 以下正确的叙述是( )
A. 在C程序中,每行中只能写一条语句
B. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C. 在C程序中,无论是整数还是实数,都能被准确无误地表示
D. 在C程序中,%是只能用于整数运算的运算符
满分:5 分
10. 在C语言中,一维数组的定义方式为:类型说明符数组名( )
A. [常量表达式]
B. [整形表达式]
C. [ 整型常量]或[整型表达式]
D. [整型常量]
满分:5 分
11. 下列程序段不是死循环的是( )
A. int i=100; while(1){i=i%100+1;if(i>100) break; }
B. for(;;);
C. int k=0; do{++k; if(i>100) break; }while(k>=0);
D. int s=36;while(s);--s;
满分:5 分
12. 有以下程序:union pw { int i; char ch[2];}a; main(){a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )
A. 13
B. 14
C. 208
D. 209
满分:5 分
13. 若有条件表达式(exp) ? a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )
A. (exp==0)
B. (exp!=0)
C. (exp==1)
D. (exp!=1)
满分:5 分
14. 以下不正确的说法为( )
A. 在不同函数中可以使用相同名字的变量
B. 形式参数是局部变量
C. 在函数内定义的变量只在本函数范围内有效
D. 在函数内的复合语句中定义的变量在本函数范围内有效
满分:5 分
15. 对下面程序段: #define A 3 #define B(a) ((A+1)*a) x=3*(A十B(7)); 正确的判断是( )
A. 程序错误,不许嵌套宏定义
B. )x=93
C. x=21
D. 程序错误,宏定义不许有参数
满分:5 分
16. 以下正确的函数定义形式是( )
A. double fun(int x,int y)
B. double fun(int x; int y)
C. double fun(int x, int y);
D. double fun(int x,y);
满分:5 分
17. 若有说明:int a[ ][4]={0,0};则下面不正确的叙述是( )
A. 数组a的每个元素都可得到初值0
B. 二维数组a的第一维大小为1
C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a行数为1
D. 只有元素a[0][0]和a[0][1]可得初值0,其余元素均得不到初值0
满分:5 分
18. 以下程序的输出结果是( ) main() {int a=100,x =10,y=20,okl=5,ok2=0; if (x<y) if(y ! =10) if(!okl) a=1; else if(ok2) a=10; a=-1; printf("%d\n",a );}
A. 1
B. 0
C. -1
D. 值不确定
满分:5 分
19. 以下关于枚举的叙述不正确的是( )
A. 枚举变量只能取对应枚举类型的枚举元素表中元素
B. 可以在定义枚举类型时对枚举元素进行初始化
C. 枚举元素表中的元素有先后次序,可以进行比较
D. 枚举元素的值可以是整数或字符串
满分:5 分
20. 请阅读以下程序:#include <stdio. h> main() {float a,b scanf("%f",&a); if (a<0.0) b=0.0; else if((a<0.5) &&(a!=2.0)) b= 1.0/(a+2.0); else if(a<10.0) b= 1.0/x ; else b=10.0; printf("%f\n",y); } 若运行时输入2.0(回车),则上面程序的输出结果是( )
A. 0.000000
B. 0.500000
C. 1. 000000
D. 0.250000
满分:5 分。