华北水利水电大学C语言期末
本试卷为华北水利水电大学C语言期末,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言期末
一、单项选择题 (共50题,每题2分,共计100分)
( C )
1、设有数组定义:char array[]="student"; 则数组所占的存贮空间为________。
( A )
2、下列叙述中错误的是________。
( C )
3、以下叙述正确的是 。
( C )
4、执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是________。 int a; float b; scanf("a=%d,b=%f",&a,&b);
( C )
5、有以下程序
main( )
{
char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(a),sizeof(b));
}
执行后输出结果是________。
( B )
6、设有条件表达式:(exp)? i++ ; j—,则以下表达式中与(exp)完全等价的是________。
( B )
7、下面函数的功能是______。 sss ( char *s , char *t )
{
while (( *s ) && ( *t ) && ( *t++== *s++ )) ;
return ( *s-*t ) ;
}
( C )
8、如有说明 : char s1[5],s2[7]; 要给数组 s1 和 s2 整体赋值 , 下列语句中正确的是 __________.
( D )
9、已知 short int 类型变量占用两个字节 , 若有定义 : short int x[10]={ 0,2,4 }; 则数组 x 在内存中所占字节数是 __________.
( B )
10、在"先判断后工作"的循环程序结构中,循环体执行的次数最少是________次。
( C )
11、下列程序段执行后,k的值是________。 int i=6,j=8,k=10,m=7; if(i>||m<k--) k++; else k--;
( C )
12、表达式sizeof(double)是________。
( D )
13、给定下面的代码: int i=1,j=10;
do
{
if(i++>--j) continue;
}
while(i<5) 执行完之后,i与j的值分别是多少 ( )
( D )
14、下列描述正确的是________。
( C )
15、在下列选项中,没有构成死循环的程序是________。
( C )
16、计算机中的数有浮点和定点两种表示,浮点表示的数,通常由两部分组成,即________。
( C )
17、有以下程序
int add(int a,int b)
{
return(a+b);
}
main()
{
int k,(*f)(),a=5,b=10;
f=add;
…
}
则以下函数调用语句错误的是______。
( B )
18、关于过程、自定义函数的调用,正确的叙述是________。
( B )
19、微机中的32指的是________。
( A )
20、下列哪个是c语言的有效标识符
( B )
21、与十六进制数cd等值的十进制数是________。
( D )
22、对两个数组a和b进行如下初始化: char a[]="abcdef"; char b[]= {'a','b','c','d','e','f' } 则以下叙述正确的是________。
( D )
23、数字字符0的ascii值为48,若有以下程序
main() {
char a=’1’,b=’2’;
printf("%c,b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是______。
( C )
24、有以下程序:
#include <stdio.h>
main()
{
int i, j, m=1;
for(i=1; i<3; i++)
{
for(j=3; j>0; j--)
{
if(i*j>3)break;
m*=i*j;
}
}
printf("m=%d\n", m);
}
程序运行后的输出结果是______。
( A )
25、以下不能将s所指字符串正确复制到t所指存储空间的是______。
( B )
26、设有以下程序段 int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
则
( A )
27、设有以下函数
f(int a) {
int b=0;
static int c=3;
b++;
c++;
return(a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是______。
main() {
int a=2,i;
for(i=0;i<3;i++)printf("%d\n"f(a));
}
( A )
28、选择出合法的if语句(设int x,a,b,c;)________。
( A )
29、c 语言中的基本数据类型包括
( B )
30、下列选项中,哪一项不是c语言中的位运算符________。
( B )
31、下列关于八进制与十六进制的描述中,错误的是________。
( D )
32、以下定义语句中,错误的是______。
( B )
33、以下程序的输出结果是______。
main()
{
int a=5,b=4,c=6,d;
printf("%d\n",d=a>c?(a>c?a:c):(b));
}
( C )
34、设有数据定义语句"int a[200]; ",下列数组元素引用中下标不越界的是________。
( C )
35、有以下程序段:
int x=3;
do
{
printf(”%3d”,x-=2);
}
while(!(--x));
程序段的输出结果是________。
( A )
36、以下关于逻辑运算符两侧运算对象的叙述中正确的是________。
( C )
37、位字段数据的单位是_______位。
( C )
38、static struct
{
int a1;
float a2;
char a3;
}
a[10]={1,3.5,'a'};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存 储方式,其中被初始化的下标变量是________。
( C )
39、以下叙述中不正确的是________。
( D )
40、若有以下的定义:int t[3][2]; 能正确表示t数组元素地址的表达式是________。
( C )
41、下面程序的输出结果是________。
main( )
{
extern int m;
m-=2;
f( );
printf("%d\n",m);
}
int m=7;
f( )
{
printf("%d&",m*m);
m+=m;
}
( D )
42、若有代数式|x3+lgx|,则正确的c 语言表达式是________。
( D )
43、有字符数组a[80]和b[80],则正确的输出语句是________。
( D )
44、判断字符串a 和b 是否相等,应当使用。
( D )
45、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是________。
( B )
46、C语言程序是由____组成
( D )
47、C语言函数的隐含存储类别是________.
( A )
48、char a[]="This is a program.";输出前 5 个字符的语句是()。
( C )
49、以下叙述中正确的是 ()。
( A )
50、设有以下语句, 若 0
相关标签:
- C语言
- 华北水利水电大学
- 期末