电科19秋《C语言》在线作业3[满分答案]满分答案
19秋《C语言》在线作业3-0001
试卷总分:100 得分:100
一、 单选题 (共 20 道试题,共 100 分)
1.下面程序段的运行结果是 ( ) char c[5]={'a','b','\0','c','\0'}; printf("%s",c);
A.’a’’b’
B.ab
C.ab c
D.ab□(其中□表示空格)
正确答案:?
2.若有以下程序段:int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t;} ...... 则该程序段的功能是( )
A.对数组a进行插入排序(升序)
B.对数组a进行插入排序(降序)
C.对数组a进行选择排序(升序)
D.对数组a进行选择排序(降序)
正确答案:?
3.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )
A.int
B.float
C.double
D.不确定
正确答案:?
4.在C语言中,正确的的结论是( )
A.对文件操作必须先关闭文件
B.对文件操作必须先打开文件
C.对文件操作顺序没有统一规定
D.以上都错
正确答案:?
5.已有函数max(a,b)为了让函数指针变量p指向函数max正是确的赋值方法是( )
A.p=max;
B.*p=max;
C.p=max(a,b);
D.*p=max(a,b);
正确答案:?
6.设有程序段 int k=10; while (k=0) k= k-1; 则下面描述中正确的是( )
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
正确答案:?
7.当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )
A.K%2
B.K%2==1
C.(K%2)!=0
D.!K%2==1
正确答案:?
8.关于函数声明,以下不正确的说法是( )
A.如果函数定义出现在函数调用之前,可以不必加函数原型声明
B.如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明
C.函数再调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查
D.标准库不需要函数原型声明
正确答案:?
9.有以下程序段:int x=0,s=0; while (!x!= 0) s+=++x; printf("%d",s); 则 有以下程序段( )
A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次
正确答案:?
10.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )
A.c=*p1+*p2;
B.p2=c;
C.p1=p2;
D.c=*p1*(*p2);
正确答案:?
11.以下对枚举类型名的定义中正确的是( )
A.Enum a={one,two,three};
B.Enum a {a1,a2,a3};
C.Enum a={''1'',''2'',''3''};
D.Enum a {"one","two","three"};
正确答案:?
12.以下不正确的叙述是( )
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
正确答案:?
13.根据下面的定义,能印出字母m的语句是( )根据下面的定义,能印出字母M的语句是( ) struct person{char name[9];int age;}; struct person class[10]={“john”,17, “paul”,19, “mary”,18, “adam”,16};
A.printf(“%c\n”,class[3].name);
B.printf(“%c\n”,class[3].name[1]);
C.printf(“%c\n”,class[2].name[1]);
D.printf(“%c\n”,clsaa[2].name[0]);
正确答案:?
14.下面程序的运行结果是 ( ) main() {int a[6],i; for(i=1;i<6;i++) {a[i]=9*(i-2+4*(i>3))%5; printf("%2d",a[i]);}}
A.—40404
B.—40403
C.一40443
D.一40440
正确答案:?
15.己有变量定义和函数调用语句:int a=25 ;print_vaue(&a);下面函数的 正确输出结果是( ) void print_value(int *x) {printf("%d\n",++*x);}
A.23
B.24
C.25
D.26
正确答案:?