东师《C程序设计16秋在线作业2Word文件下载.docx
《东师《C程序设计16秋在线作业2Word文件下载.docx》由会员分享,可在线阅读,更多相关《东师《C程序设计16秋在线作业2Word文件下载.docx(25页珍藏版)》请在冰点文库上搜索。
break;
case‘b’:
case‘e’:
ok,"
);
default:
printf("
end"
}}}的输出结果为()
A.a,ok,end
B.a,ok,endend
C.a,ok,end,end
D.a,ok,ok
6.下列程序:
main(){inta=7,b=5;
%d\n"
b=b/a);
}的输出结果是()
A.5
B.1
C.0
D.不确定值
7.文件存贮在()
A.内存
B.外存
C.寄存器
D.CPU
8.以下说法中正确的是()
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
9.C语言中以追加方式打开一个文件应选择的参数。
()
A.“r”
B.“w”
C.“rb”
D.“a”
10.若已定义:
inta[9],*p=a;
并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()
A.p+1
B.
C.a+1
D.a++
E.++p
11.在C语言中,要求运算数必须是整型的运算符是()
A.%
B./
C.<
D.!
12.用C语言编写的代码程序()
A.可立即执行
B.是一个源程序
C.经过编译即可执行
D.经过编译解释才能执行
13.一个main(inta,char*argv[])函数带参数,可执行文件名为prog.exe,若命令行输入:
progabcdefg123则printf(“%d,%s\n”,a,argv[1]);
的结果是()
A.3,prog
B.4,prog
C.3,abcd
D.4,abcd
14.有以下程序main(){intx[8]={8,7,6,5,0,0},*s;
s=x+3;
s[2]);
}执行后输出结果是()
A.随机值
B.0
C.5
D.6
15.设变量定义为inta[3]={1,4,7},*p=&
a[2],则*p的值是()
A.&
a[2]
B.4
C.7
D.1
16.若有以下类型说明语句charw;
intx;
floaty;
doublez;
则表达式w*x+z-y的结果是什么类型?
A.float
B.char
C.int
D.double
17.设有以下宏定义:
#defineH30#defineLENH+20则执行赋值语句v=LEN*10;
后,v的值是()
A.60
B.230
C.500
18.设有说明int(*ptr)();
其中标识符ptr是()
A.是一个指向整型变量的指针
B.它是一个指向函数值是int的函数指针
C.是一个函数名
D.定义不合法
19.下列函数intfun1(chat*x){char*y=x;
while(*y++);
return(y-x-1);
}的功能是()
A.求字符串的长度
B.比较两个字符串的大小
C.将字符串x复制到字符串y
D.将字符串X连接到字符串Y后面
20.在以下一组运算符中,优先级最高的运算符是()
A.<
=
B.=
C.%
D.&
&
C程序设计16秋在线作业2
二、判断题(共20道试题,共40分。
1.对整型变量可进行自加或自减运算,而对常量或表达式不可以。
A.错误
B.正确
2.结构体类型只有一种。
3.执行语句x=(a=3,b=a--);
后,x,a,b的值依次是3,2,3。
4.在C语言中,八进制数是用英文字母o后加一个整数来表示,例如o123。
5.有数组定义inta[2][2]={{1},{2,3}};
则a[0][1]的值为0。
6.C语言中有些不同类型的变量可以在一个表达式中运算。
7.在使用函数fgetc()时,文件可以“w”的方式打开。
8.构成数组的各个元素可以有不同的数据类型。
9.从变量的作用域分,变量分为静态变量和动态变量。
10.宏定义的宏名一定要大写,否则无效。
11.int(*ptr)(),则ptr是一维数组的名字。
12.a==b;
的功能是将b的值赋给a。
13.C语言中,变量名用大小写是等价的。
14.在TurboC中,整型数据在内存中占2个字节。
15.为表示关系a>
b>
c,应使用C语言的表达式为:
a>
b&
c。
16.main函数不能有形参。
17.若有定义:
char*p(chara[10]);
则p是函数名。
18.getchar()函数的功能是从键盘上输入一个字符串。
19.通过return语句,函数可以带回一个或一个以上的返回值。
20.当C的值不为0时,(A=C)&
(B=C)能正确地将C的值赋给变量A,B。
1.以下能正确定义一维数组的选项是()
A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;
intnum[N];
2.以下函数intfun(char*s,char*t){while((*s)&
(*t)&
(*s==*t))t++,s++;
return(*s-*t);
}的功能是()
C.将字符串s复制到字符串t中
D.将字符串s连接到字符串t后
3.两个指针变量不可以()
A.相加
B.比较
C.相减
D.指向同一地址
4.设整型变量a为5,使b不为2的表达式是()
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=a>
3?
2:
1
5.要定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是()
A.int(*a)[3]
B.int*a[2]
C.int*a[3]
D.以上写法都不对
6.一个main(inta,char*argv[])函数带参数,可执行文件名为prog.exe,若命令行输入:
7.若以下程序所生成的可执行文件名为filel.exe;
main(intargc,char*argv[]){while(argc>
1){++argv;
%s"
*argv);
argc--;
}}当打入以下命令执行该程序时;
FILE1CHINABEIJINGSHANGHAI程序的输出结果是()
A.CHINABEIJINGSHANGHAI
B.FILE1CHINABEIJING
C.CBS
D.FCB
8.以下能正确定义二维数组的是()
A.inta[][3];
B.inta[][3]={2*3};
C.inta[][3]={};
D.inta[2][3]={{1},{2},{3,4}}
9.a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()
A.a*b/a*b==1
B.a/b*b/a==1
C.a/b*b+a%b==a
D.a%b*b==a
10.若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:
int*p;
p=__________malloc(sizeof(int));
则应填入()
A.int
B.*int
C.(*int)
D.(int*)
11.若有以下类型说明语句charw;
12.已知字母A的ASCⅡ码为十进制的65,下面程序:
main(){charch1,ch2;
ch1='
A'
+'
5'
-'
3'
;
ch2='
6'
%d,%c\n"
ch1,ch2);
}的输出是()
A.67,D
B.B,C
C.C,D
D.不确定的值
13.下列函数intfun1(chat*x){char*y=x;
14.以下关于函数的叙述中正确的是()
A.每个函数都可以被其它函数调用(包括main函数)
B.每个函数都可以被单独编译
C.每个函数都可以单独运行
D.在一个函数内部可以定义另一个函数
15.以下程序:
16.下程序运行后,main(){char*s="
abcde"
s+=2;
%ld\n"
s);
}输出结果是()
A.cde
B.字符c的ASCII码值
C.字符c的地址
D.出错
17.以下程序#defineP3#defineF(x)P*x*xmain(){printf("
F(3+5));
A.192
B.29
C.25
D.编译出错
18.以下函数intfun(char*s,char*t){while((*s)&
19.下面程序main(){charch[7]={"
65ab21"
};
inti,s=0;
for(i=0;
ch[i]>
='
0'
&
ch[i]<
9'
i+=2)s=10*s+ch[i]-'
}运行的结果是()
A.2ba56
B.6521
C.6
D.62
20.若有定义inta[]={10,20,30},*p=a;
则当执行p++后,下列说法错误的是()
A.p向高地址移了一个字节
B.p向高地址移了两个字节
C.p向高地址移了一个存贮单元
D.p与a+1等价
1.在C语言中定义一个文件指针的方法为:
FILE*fp;
。
2.常量的定义要通过#ifndef宏指令来实现。
3.格式控制符%d和%D是一样的。
4.strlen是求字符串长度的函数。
5.一个C程序可以包含多个函数,但只能有一个main()函数。
6.函数的实参个数可以多于形参的个数。
7.用scanf可以从键盘上读入一个含有空格的字符串。
8.free函数用来分配存贮空间。
9.C语言中运算对象必须为整型的运算符是%。
10.一个程序中可以使用多条文件包含命令,但一条文件包含命令只能包含一个文件。
11.执行语句x=(a=3,b=a--);
12.strcmp用来比较两个字符串的大小。
13.函数调用可以通过语句的形式也可以通过表达式的形式。
14.switch选择结构中必须有default子句。
15.getchar()函数的功能是从键盘上输入一个字符串。
16.C语言规定数组元素的下标从0开始。
17.指针在任何情况下都可进行>
<
>
=,<
=,==运算。
18.C语言是函数式的语言。
19.当循环体中包含多条语句时,要用()将它们括起来。
20.C语言的所有循环语句都要求至少要执行一次循环体。
1.有以下程序main(){charc1=’1’,c2=’2’;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
}当运行时输入:
a<
回车>
后,以下叙述正确的是()
A.变量c1被赋予字符a,c2被赋予回车符
B.程序将等待用户输入第2个字符
C.变量c1被赋予字符a,c2中仍是原有字符2
D.变量c1被赋予字符a,c2中将无确定值
2.下列函数:
intfun1(chat*x){char*y=x;
}的功能是()
3.已有定义:
inti,a[10],*p;
则合法的赋值语句是()
A.p=100;
B.p=a[5];
C.p=a[2]+2;
D.p=a+2;
4.已有定义:
intx=3,y=4,z=5;
,则表达式!
(x+y)+z-1&
y+z/2的值是()
A.6
B.0
C.2
D.1
5.已定义c为字符型变量,则下列语句中正确的是()
A.c=‘97’;
B.c="
97"
C.c=97;
D.
E.c="
a"
6.以下不能正确定义二维数组的语句是()
A.inta[2][2]={{1},{2}};
B.inta[][2]={1,2,3,4};
C.inta[2][2]={{1},2,3};
D.inta[2][]={{1,2},{3,4}};
7.下列程序段:
chars1[10]=”12345”,s2[10]=”abc”,s3[]=”67”;
strcpy(s1,s2);
strcat(s1,s3);
puts(s1);
的运行结果是()
A.abc67
B.abc4567
C.abc567
D.abc567
8.若k为整型,则下列while循环k=2;
while(k==0)printf(“%d”,k);
k--;
printf(“\n”);
执行多少次?
A.2
B.9
9.设i和k都是int类型,则有关for循环语句for(i=0,k=-1;
k=1;
i++,k++)printf("
****\n"
的说明正确的是()
A.循环结束的条件不合法
B.循环体一次也不执行
C.循环体只执行一次
D.是无限循环
10.若程序中定义了以下函数doublemyadd(doublea,doubleB){return(a+B);
}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()
A.doublemyadd(doublea,B);
B.doublemyadd(double,double);
C.doublemyadd(doubleb,doubleA);
D.doublemyadd(doublex,doubley);
11.若有以下定义和语句:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是()
A.*p
B.a[10]
C.*a
D.a[p-a]
12.C语言的编译系统对宏命令的处理是()
A.在程序运行时进行
B.在程序连接时进行的
C.和C程序中的其它语句同时进行编译
D.在对源程序正式编译之前进行的
13.设有定义:
inta=2,b=3,c=4;
,则以下选项中值为0的表达式是()
A.(!
a==1)&
(!
b==0)
B.(a<
b)&
c
C.a&
b
D.a||(b+b)&
(c-a)
14.以下程序:
#defineN2#defineMN+2#defineCUBE(x)(x*x*x)#include"
stdio.h"
main(){inti=M;
i=CUBE(i);
i);
}的输出结果为()
A.17
B.64
C.125
D.53
15.若有说明:
inti,j=7,*p=&
i;
则与i=j;
等价的语句是()
A.i=*p;
B.*p=j;
C.i=&
j;
D.i=**p;
16.两个指针变量不可以()
17.设有以下定义,enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;
值为5的枚举常量是()
A.tue
B.sat
C.fri
D.thu
18.已知inti=5;
执行语句i+=++i;
后,i的值是()
A.10
B.11
C.12
D.以上都不对
19.有如下定义,struct{intn;
chara[10];
floatm;
}x;
变量x占的字节数是()
B.8
C.14
D.16
20.在C语言程序中,以下说法正确的是()
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用都不可以嵌套
D.函数的定义和函数的调用都可以嵌套
1.函数的函数体可以为空。
2.空类型是C语言的一种数据类型。
3.C语言函数的缺省(默认)类型是void型(空类型)。