视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
西安工业大学2006年C程序设计考试(非A)试题
2025-09-29 16:32:29 责编:小OO
文档
西安工业大学试题纸

学年学期2005~2006学年第二学期

课程名称计算机语言基础(C语言)A卷

命题教师乔奎贤审   批

考试形式闭卷考试类型考试
使用班级05级非计算机专业

考试时间2006年7月5日

考试地点未央校区
学生班级姓   名

学   号

备    注

一.选择题:(50分,共25题,每题2分)

1.C语言中的标识符只能由字母、数字和下划线组成,且第一个字符( )

A.必须为字母                    B.必须为下划线

C.必须为字母或下划线        D.可以是字母、数字和下划线任意一种

2.C语言中基本数据类型包括(  )

A.整型、实型、逻辑型        B.整型、实型、字符型

C.整型、字符型、逻辑型        D.整型、实型、逻辑型、实型

3.若有定义double x=1,y;则运算表达式y=x+3/2后,y的值是( )

A.1.0            B.2.0            C.2.5                D.3.0

4.设有:int x=3,y=4,z=5;则下面表达式中值为0的是( )

A.x && y        B.x <= y        C.x || y+z&&!y          D.!( x5.设有:int a=1,b=2,c=3,d=4,m=2,n=2;求解表达式(m=a>b)&&(n=c>d)后m和n值分别为( )

A.0和0        B.0和2        C.2和0            D.2和2

6.在C语言中,能正确表示数学关系“10A.a>10 & a<20                B.a>10 | a<20

C.a>10 && a<20                D.a>10 | | a<20

7.执行语句m=5;n=3;n=(!m)?m/n:m%n;后n的值为( )

A.0            B.1            C.2                D.3

8.以下关于switch语句和break语句的描述中,只有( )是正确的。

A.在switch语句中必须使用break语句

B.break语句只能用于switch语句中

C.在switch语句中,可根据需要用或不用break语句

D.break语句是switch语句必不可少的一部分

9.设有程序段 int k=10;while (k=0) k=k-1; 则下面描述中正确的是( )

A.while循环执行10次            B.循环是死循环

C.循环体语句执行一次            D.循环体语句一次也不执行

10.在C语言中,引用数组元素时,其数组下标的数据类型是( )

A.整型常量或表达式                B.浮点型常量或表达式

C.字符串常量    或表达式            D.任何类型的表达式

11.在C语言中定义一个一维数组时,其数组长度( )

A.可以是整型变量             B.必须是整型变量

C.可以是整型符号常量          D.必须是整型符号常量

12.若有定义:char str[ ]=“student”;则字符数组str的长度为( )

A.2                B.4            C.7                D.8

13.有一个函数的定义:func(float a) { …… }则该函数的返回值的类型是( )

A.char型     B.int型       C.double型         D.void型

14.以下正确的描述是( ),在C语言程序中

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和调用均可以嵌套

15.在C语言中,函数调用不可以( )

A.出现在执行语句中                B.出现在一个表达式中

C.做为一个函数的实参              D.做为一个函数的形参

16.变量的指针,其含义是指该变量的( )

A.值                B.地址        C.名             D.占用内存大小

17.若有定义:int a[5];则a数组中首元素地址可以表示为( )

A.&a             B.a+1           C.a              D.&a[1]

18.若有以下定义int a[5],*p=a;则不能正确表示a[2]元素的是( )

A.*&a[2]            B.a+2            C.*(p+2)            D.*(a+2) 

19.若有定义int  (*p)[4],则标识符p是一个(  )

A.指向整型变量的指针变量

B.指向函数的指针变量

C.指向由四个整型元素组成的一维数组的指针变量

D.指针数组名,有四个元素,每个元素均为一个指向整型变量的指针

20.若有说明:char  *language[]={“fortran”,”basic”,”pascal”,”java”,”c”}; 则language[2]的值是( )

A.字符            B.地址        C.字符串            D.不定值

西安工业大学试题纸

学年学期2005~2006学年第二学期

课程名称计算机语言基础(C语言)A卷

命题教师乔奎贤审   批

考试形式闭卷考试类型考试
使用班级05级非计算机专业

考试时间2006年7月5日

考试地点未央校区
学生班级姓   名

学   号

备    注

21.若有函数max(a,b)并且已使函数指针变量p指向max,当调用该函数时正确的调用方法是( )

A.p(a,b)                        B.*p(a,b)    

C.(*p)(a,b)                        D.&p(a,b) 

22.若有以下说明和语句:struct student {int age;int num;}std,*p;p=&std;

则以下对结构体变量std中成员age的引用方式不正确的是( )

A.std.age                            B.std->age    

C.p->age                            D.(*p).age

23.若有如下定义:struct data  { int i;char ch;double f;} b;

则结构体变量b占用内存的字节数是( )

A.1                B.2            C.8                D.11

24.在说明一个共用体变量时,系统分配给它的存储空间是( )

A.该共用体中第一个成员所需存储空间

B.该共用体中占用最大存储空间的成员所需存储空间

C.该共用体中最后一个成员所需存储空间

D.该共用体中所有成员所需存储空间的总和

25.作为函数fopen中第一个参数的正确格式是( )

A.”c:user\ext.txt”                    B.”c:\\rser\ext.txt”

C.”\ext.txt”                    D.”c:\\\\\ext.txt”

二.阅读程序,写出运行结果:(32分,共8题,每题4分)

程序一:程序二:
main()

{

   int x=2,y=-1,z=2;

if(xprintf(“%d”,z);

}

main ( )

{

int n=4;

while (n - -);

printf(“%d”,n);

}

运行结果为:       

运行结果为:       

程序三:程序四:
main()

{  int  k,n=0;

int a[10]={1,2,3,4,5,6,7,8,9,10};

for( k = 0;k<10;k++)

n = n + a[k];

printf(“%d”,n);

}

main()

{  int k,s=0;

int a[3][3]={1,2,3,4,5,6,7,8,9};

for(k=0;k<=2;k++)

s=s+a[k][k];

printf("%d",s);

}

运行结果为:       

运行结果为:       

程序五:程序六:
main()

{  int  a,b,*p,*q;

a=2;  b=10;

p=&a;   q=&b;

*p=10;  *q=2;

printf("%d,%d",a,b);

}

main()

{  int a[ ]={1,3,5,7,9};

int s,k,*p;

s=0;  p=a;

for(k=0;k<5;k++)  s+=*(p+k);

printf("%d",s);

}

运行结果为:       

运行结果为:       

程序七:程序八:
int fun(int m,int *p)

{  int k;

m=3;   *p=7;  k=m+*p;

return k;

}

main()

{  int a=5,b=3,c=2;

c=fun(a,&b);

Printf(“%d,%d”,a,b);

}

int fun(char *str)

{  int m=0;

while(*str) {  str++;m++;}

return m;

}

main()

{  int n;char a[ ]=”program”;

n=fun(a);

printf(“%d”,n);

}

运行结果为:       

运行结果为:       

三.编写程序:(18分,共3题,每题6分)

1.编写程序计算1+2+3+…100。

2.编写程序实现将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8。

3.编写函数实现对数组的前n个正整数进行排序(升序)。下载本文

显示全文
专题