新疆农业大学C语言测试卷
本试卷为新疆农业大学C语言测试卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言测试卷
一、单项选择题 (共50题,每题2分,共计100分)
( D )
1、若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是________。
( B )
2、与"y=(x>0?1:x<0?-1:0)"; 的功能相同的if 语句是________。
( C )
3、已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是________。
( D )
4、以下函数,一般情况下,功能相同的是________。
( C )
5、下面程序的输出的是
main()
{
int x=10,y=3;
printf("%d\n",y=x/y);
}
( A )
6、以下不能正确进行字符串赋初值的语句是________。
( C )
7、设有定义:char s[81]; int i=0; 以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是________。
( D )
8、有以下程序
#include <stdio.h>
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1: switch(y)
{
case 0: a++;
break;
case 1: b++;
break;
}
case 2: a++;
b++;
break;
case 3: a++;
b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的运行结果是________。
( D )
9、有如下定义
struct person
{
char name[9] ;
int age ;
};
struct person class[10]={" johu" , 17 , "paul" , 19 , "mary" , 18 , "adam" , 16};
根据上述定义,能输出字母 m 的语句是______。
( C )
10、以下程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int a[ ]={5,4,3,2,1},i,j;
long s=0;
for(i=0;i<5;i++) s=s*10+a[i];
printf("s=%ld\n",s);
}
( D )
11、若要说明一个类型名stp,使得定义语句stp s; 等价于char *s; , 以下选项中正确的是________。
( A )
12、在c语言中,main函数默认返回一个( )类型的值。
( D )
13、执行下面的语句后,表达式*(p[0]+1)+**(q+2)的值为______。 int a[]= { 5,4,3,2,1 },*p[]= { a+3,a+2,a+1,a },**q=p;
( D )
14、设有下面的定义:
struct st
{
int a;
float b;
} d;
int*p;
要使p指向结构变量d中的a成员,正确的赋值语句是________。
( B )
15、在下列叙述中,错误的一条是________。
( B )
16、下列运算符中,属于关系运算符的是________。
( A )
17、下列( )是合法标识符。
( D )
18、已有定义:int i,a[10],*p; 则合法的赋值语句是________。
( A )
19、下列运算符中,不属于关系运算符的是______。
( A )
20、在c程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。在求逻辑值时,逻辑真和逻辑假可分别表示为
( C )
21、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
( C )
22、下面单位换算中,正确的是________。
( C )
23、在标准ascii码表中,已知英文字母a的十进制码值是65,英文字母a的十进制码值是________。
( B )
24、下列各项中不属于算法基本特征的是________。
( D )
25、在下面的字符数组定义中,哪一个有语法错误 。
( D )
26、已知:int a,b; 下列switch语句中,( )是正确的。
( D )
27、在64位高档微机中,一个字长所占的二进制位数为________。
( B )
28、下面程序的输出结果是______。
main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a+4;
printf("%d\n",p[3]);
}
( C )
29、以下程序的输出结果是
typedef union {
long x[2];
int y[4];
char z[8];
} mytype;
mytype them;
main() {
printf("%d\n",sizeof(them));
}
( C )
30、有以下程序
#include <stdio.h>
int main()
{
int m[][3]= { 1,4,7,2,5,8,3,6,9 };
int i,j,k=2;
for(i=0;i<3;i++) printf("%2d",m[k][i]);
}
执行后输出结果是________。
( D )
31、已知三个字符为a、z和8,按它们的ascii码值升序排序,结果是________。
( A )
32、以下叙述错误的是________。
( B )
33、下面程序的输出是________。 typedef union
{
long x[2];
int y[4];
char z[8];
}
mytype;
mytype them;
void main()
{
printf("%d\n", sizeof(them));
}
( D )
34、下列叙述中正确的是______。
( C )
35、有以下程序
main()
{
int i=1,j=1,k=2;
if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
执行后输出的结果是______。
( D )
36、以下叙述中正确的是______。
( C )
37、已知int x=10,y=20,z=30; 以下语句:if(x<y) z=x; x=y; y=z; 执行后x,y,z的值是________。
( C )
38、设 float f[10]; 则f数组中下标最大的元素的正确表示为________。
( C )
39、若有定义:
struct keyword
{
char key[20];
int id;
}
kw[] = {"void", 1, "char", 2, "int", 3, "float", 4, "double", 5 };
则printf("%c,%d\n", kw[3].key[0], kw[3].id);
语句的输出结果为________。
( D )
40、有以下程序
void fun(char s[][10],int n)
{
char t;int i,j;
for(i=0;i<N-1;I++)
for(j=i+1,j<N;J++)}
/*比较字符串的首字符大小,并交换字符
串的首字符*/
if(s[i][0])>s[j][0]){
t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;
}
main()
{
char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};
fun(ss,5);printf(”%s,%s”,ss[0],ss[4]);
}
程序运行结果是________。
( C )
41、c 语言主要是借助以下哪种手段来实现程序的模块化()
( A )
42、以下说法正确的是________。
( B )
43、c 语言 double 中类型数据占字节数为________。
( C )
44、以下数值中,不正确的八进制数或十六进制数是________。
( C )
45、以下标识符中,不能作为合法的c用户定义标识符的是________。
( D )
46、若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10}
, *p=a;
不能表示a数组元素的表达式是________。
( C )
47、下面正确的字符常量是________。
( C )
48、以下是死循环的程序段是________。
( B )
49、下列标识符中,不合法的 C语言用户自定义标识符是()。
( B )
50、设 p1 和 p2 是指向同一个字符串的指针变量,c 为字符变量,则以下不能正确执行的赋值语句是()。
相关标签:
- C语言
- 新疆农业大学
- 测试卷