C语言试卷

发布 2021-04-23 11:45:28 阅读 5349

江苏省计算机等级考试。

学年第学期 c程序设计试卷。

一、选择题(本题共20道小题,共40分。)

1. 有下列程序。

#include <>

main()

unionint k;

char i[2];

*s,a;s=&a;

s->i[0]=0x39;s->i[1]=0x38;

printf("%x",s->k);

输出结果是。

a)3839 b)3938 c)380039 d)390038

2. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋给i和f,则正确的输入为。

a)100《空格》765.12《回车》 b)i=100,f=765.12《回车》

c)100《回车》765.12《回车》 d)x=100《回车》,y=765.12《回车》

3. 设已有定义: char *st="how are you"; 下列程序段中正确的是。

a) char a[11], p; strcpy(p=a+1,&st[4]);

b) char a[11]; strcpy(++a, st);

c) char a[11]; strcpy(a, st);

d) char a,p; strcpy(p=&a[1],st+2);

4. 设j为int型变量,则下面for循环语句的执行结果是。

for(j=10;j>3;j--)

if(j%3)j--;

-j;--j;

printf("%d",j);

a)6 3 b)7 4 c)6 2 d)7 3

5. 以下程序的输出结果是。

main()

int i,k,a[10],p[3]:

k=5;for (i=0;i<10;i++)a[i]=i;

for (i=0;i<3;i++)p[i]=a[i*(i+1)];

for (i=0;i<3;i++)k=p[i]*2;

printf("%d",k);

a)20 b)21 c)22 d)23

6. 若有以下说明:

int w[3][4]o=,,

int(*p)[4]=w;

则数值为4的表达式是。

a) *w[1]+1 b) p++,p+1)

c) w[2][2d) p[1][1]

7. 若k是int型变量,且有下面的程序片段:

k=-3if(k<=0) printf("####

else printf("&

上面程序片段的输出结果是。

abcd) 有语法错误,无输出结果。

8. 以下程序运行后,输出结果是

main( )

int y=18,i=0,j,a[8];do

a[i]=y%2;i++;

y=y\2;

while(y>1=1);

for(j=i-1;j>=0;j--)

printf("%d",a[j]);

printf("")

a)10000 b)10010 c)00110 d)10100

9. 以下叙述中不正确的是。

a)在不同的函数中可以使用相同名字的变量。

b)函数中的形式参数是局部变量。

c)在一个函数内定义的变量只在本函数范围内有效

d)在一个函数内的复合语句中定义的变量。

10. 请读程序:

#include<>

func( int a, int b)

int c;

c=a+b;

return c;

main()

int x=6, y=7, z=8, r;

r=func( x--,y==,x+y),z--)

printf("%d",r);

上面程序的输出结果是。

a) 11b) 20c) 21d) 31

11. 以下程序的输出结果是。

# include <>

main()

int a=2,c=5;

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

a) a=%2,b=%5 b) a=2,b=5 c) a=%%d,b=%%d d) a=%d,b=%d

12. 设a=1,b=2,c=3,d=4,则表达式:aa) 4b) 3

c) 2d) 1

13. 执行以下程序后,y的值是。

main (

int a=

int y=1,x,*p;

p=&a[1];

for(x=0;x<3;x++)y + p + x);

printf("%d",y);

a) 17b) 18c) 19d) 20

14. 下面四个选项中,全是不合法的用户标识符的是:

a、a p_0 dob、float la0 _a

c、b-a goto intd、_123 temp int

15. 以下程序的输出结果是。

main( )

int n=4;

while(n--)printf("%d ",n);

a) 2 0 b) 3 1 c) 3 2 1 d) 2 1 0

16. 设有如下的变量定义:

int i=8,k,a,b;

unsinged long w=5

double x=1,42,y=5.2

则以下符合c语言语法的表达式是。

a)a+=a-=(b=4)*(a=3) b)x%(-3); c)a=a*3=2 d)y=float(i)

17. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。

main( )

int x;

scanf("%d",&x);

if(x + 5) printf("%d",x);

else printf("%d",x

a) 7和5 b) 6和3 c) 7和4 d) 6和4

18. 若有以下定义:

char a;int b;

float c;double d;

则表达式a*b+d-c值的类型为。

a)float b)int c)char d)double

19. 设有以下定义:

int a[4][3]=;

int (*prt)[3]=a,*p=a[0];

则下列能够正确表示数组元素a[1][2]的表达式是。

a) *prt+1) [2]) b) *p+5

c) (prt+1)+2 d) *a+1)+2)

20. 给出以下定义:

char x=abcdefg";

char y=

则正确的叙述为。

a)数组x和数组y等价 b)数组x和数组y的长度相同。

c)数组x的长度大于数组y的长度 d)数组x的长度小于数组y的长度。

二、填空题(每空1分,共10分。)

1. 假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++语句后,p所指对象的值为。

2. 如果变量定义有:int a=9,c=8;则表达式(――a!=c++)a:++c的值为___

3. 假定一个二维数组为a[m][n],则a[i]的地址值(以字节为单位)为。

4. 已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是。

5. 若x=5,y=10,则x>y和x<=y的逻辑值分别为___和___

6. c语言提供三种逻辑运算符,按优先级高低它们分别是。

7. 空字符串的长度是。

三、判断题(本题共10道小题,共10分。)

1. 若a是实型变量,c程序中允许赋值a=10,因此实型变量中允许存放整型数( )

2. 函数中的局部变量都是动态存储( )

3. 自增运算符(++或自减运算符(--只能用于变量,不能用于常量或表达式( )

4. 函数的定义可以嵌套,但函数的调用不可以嵌套( )

5. do-while循环中,根据情况可以省略while( )

6. 形参时虚拟的,不占用存储单元( )

7. 用户若需要调用标准库函数,调用前必须重新定义( )

8. 全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求( )

9. 在实际编程中,do-while循环完全可以用for循环替换( )

10. if语句,switch语句可以嵌套,而且嵌套的层数没有限制( )

四、程序填空(本题共5道小题,每题4分,共20分。)

1. 编写程序,计算s=1+(1+2)+(1+2+3)+…1+2+3+…+n)的值。

#include <>

main()

int n,s,sum=0;

scanf("%d",&n);

for(int i=1;i<=n;i++)

for(int j=1;j<=i;j++)

c语言试卷c

a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...

C语言试卷A

青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...

C语言试卷

一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...