|
【奥鹏】[电子科技大学]18秋《C语言》在线作业3
试卷总分:100 得分: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;i5;i++){t=a[i];j=i-1;while(j=0&&ta[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;i6;i++){a[i]=9*(i-2+4*(i3))%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
第16题,下面程序的运行结果是( ) #includestdio.h main(){ int k=0;char c='A';do{switch(c++){case 'A':k++;break; case 'B':k--;case 'C':k+=2;break; case 'D':k=k%2;continue;case 'E':k=k*10;break; default:k=k/3;}k++;} while(c'
A、k=3
B、k=4
C、k=2
D、k=0
第17题,C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )
A、float型
B、int型
C、long型
D、double型
第18题,下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空() #includestdio. hmain(){1ong int num;scanf("%ld",&num); do { if( 【 】) printf("%ld",num);scanf("%ld",&num);}while(!num==0);}
A、num%100/10==3
B、num/100%10==3
C、num%10/10==3
D、num/10%10==3
第19题,下面程序的输出是( )
typedef union {long x;
int y;
char z;
}MYTYPE;
MYTYPE them;
main()
{printf("% d\n",sizeof(them));}
A、32
B、16
C、8
D、4
第20题,C语言中( )存储类型的变量只在使用时分配空间
A、static 和auto
B、register和 extern
C、register和 static
D、auto 和register
|
|