试卷
1.定义该结构的关键字是()
A.联合b .枚举c .结构d .类型定义
2.设整数变量A为5,使B不为2的表达式是()
A.b = a/2b . b = 6-(-a)c . b = a % 2d . b = a & gt;3?2:1
3.下列哪一个是不正确的字符串赋值或初始值赋值方法()
A.char * strstr= "中国";
B.char str[7]= {'c ',' h ',' I ',' n ',' a ' };
C.char str1[]= "中国",str 2[]= " 123 ";
D.char str 1[10];str1= "中国";
4.下面的二维数组A被正确初始化()
A.int a[2][3]={{1,2},{3,4},{5,6 } };B. int a[ ][3]={1,2,3,4,5,6 };
C.int a[2][ ]={1,2,3,4,5,6 };D. int a[2][ ]={{1,2},{3,4 } };
5.选择下列标识符不合法的标识符是()
A.hot_do B. cat1 C. _pri D. 2ab
6.下列说法正确的是()
A.c语言程序总是从第一个函数开始。
b在c语言程序中,要调用的函数必须在main()函数中定义。
C.c语言程序总是从main()函数开始。
D. C语言程序中的main()函数必须放在程序的开头。
7.如果已经定义了:int a[9],* p = a;而p的值在后面的语句中是不变的,所以不能表示a[1]的地址的表达式是()。
A.p+1 B. a+1 C. a++ D. ++p
8.如果指定:int i,j = 7,* p = &;我;,并且I = j;等效的说法是()
A.I = * p;B. * p = * & ampj;C. i = & ampj;d . I = * * p;
9.如果变量C是char类型,能正确判断C是小写的表达式是()。
A.a ' & lt= c & lt= ' z ' b .(c & gt;= ' a ')| |(c & lt;= 'z ')
C.(' a ' & lt=c)和(' z ' & gt= c)d .(c >;= ' a ')& amp;& amp(c & lt= 'z ')
10.以下程序的输出是()
主()
{ int a[]={1,2,3,4,5,6,7,8,9},* p;
p = a;
*(p+3)+= 2;
printf( "%d,%d\n ",*p,*(p+3));}
A.0,5 B. 1,6 C. 1,5 D. 0,6
11.以下程序的输出是()
主()
{ int a = 5;
float x = 3.14;
a* = x *(E '-' A ');
printf("%f\n ",(float)a);}
A.62.000000 b 62.800000 c 63.000000d 62
12.以下程序的输出是()
#定义f(x) x*x
主()
{ int a=6,b=2,c;
c = f(a)/f(b);
printf("%d\n ",c);}
A.9 B. 6 C. 36 D. 18
13.定义以下变量和数组:int I;int x[3][3]={1,2,3,4,5,6,7,8,9 };
然后语句for(I = 0;我& lt3;i++) printf("%d ",x[I][2-I]);的输出结果是()
A.1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
14.下列程序段的输出是()
void main()
{ int k;
for(k = 1;k & lt5;k++)
{ if(k%2!=0)
printf(" # ");
其他
printf(" * ");}
}
A.#*#* B . *#*# C. ## D. **
15.执行以下程序后的输出结果是()
int d = 1;
资金(利息)
{ int d = 5;
d++ = p++;
printf("%d ",d);}
主( )
{ int a = 3;
好玩(一);
d++ = a++;
printf("%d\n ",d);}
A.8,4 B. 9,6 C. 9,4 D. 8,5
2.填空(***7题,每题2分,***30分)
1.array int a[3][5];* * *定义了_ _ _ _ _ _ _ _ _ _个元素。
2.float f = 3.1415927;Printf ("%5.4f ",f);输出结果是_ _ _ _ _ _ _ _ _ _。
3.下面这个程序的作用是:输出100以内(不包括100)所有能被3整除的个位数为6的整数。请填空。
主( )
{ int I;
for(I = 1;_______________;i++)
如果(_______________)
printf("%d ",I);
}
4.如果提供了“int x=2,y”的描述,则逗号表达式“y=x+5,x+y”的值为_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
5.下面是一个用指针复制字符串的程序。请填空。
主()
{ char a[]= "清华大学",b[30],*p1,* p2
p 1 = a;
p2 = b;
for(;*p1!= '_______________';p1++,p2++)
_______________=_______________;
* p2 = ' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ';
printf("字符串a是:%s\n ",a);
printf("字符串b为:%s\n ",b);
}
6.下面的程序使用冒泡法对数组A进行降序排序。请填空。
主()
{ int a[5]={4,7,2,5,1 };
int i,j,m;
for(I = 0;我& lt4;i++)
for(j = 0;j & lt_______________;j++)
如果(_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ & lt_______________ )
{ m = a[j];
a[j]= a[j+1];
a[j+1]= m;}
for(I = 0;我& lt5;i++)
printf("%d ",a[I]);
}
7.fun的作用是逆序存储一个字符串。请填空。
void fun (char str[])
{ char m;int i,j;
for(i=0,j = strlen(str);我& lt_______________;i++,j -)
{ m = str[I];
str[I]= _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;
str[j-1]= m;
}
printf("旋转后的字符串是% s \ n " ,_ _ _ _ _ _ _ _ _ _ _ _);
}