c语言知识学习模拟考卷096已选考.docx

上传人:b****5 文档编号:5022788 上传时间:2022-12-12 格式:DOCX 页数:10 大小:20.54KB
下载 相关 举报
c语言知识学习模拟考卷096已选考.docx_第1页
第1页 / 共10页
c语言知识学习模拟考卷096已选考.docx_第2页
第2页 / 共10页
c语言知识学习模拟考卷096已选考.docx_第3页
第3页 / 共10页
c语言知识学习模拟考卷096已选考.docx_第4页
第4页 / 共10页
c语言知识学习模拟考卷096已选考.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

c语言知识学习模拟考卷096已选考.docx

《c语言知识学习模拟考卷096已选考.docx》由会员分享,可在线阅读,更多相关《c语言知识学习模拟考卷096已选考.docx(10页珍藏版)》请在冰豆网上搜索。

c语言知识学习模拟考卷096已选考.docx

c语言知识学习模拟考卷096已选考

学院________________系_______________班级___________________学号__________________姓名____________

………………………………………………….装…………………………….订…………………………..线…………………………………

扬州大学试题纸

(0-0学年第二学期)

信息工程学院 班(年)级课程C语言程序设计模拟试卷

题目

总分

得分

阅卷人

得分

阅卷人

审核人

一、单项选择题(20分,每题1分)

1.下列表达式中,不能正确表达代数式

含义的C语言表达式是()。

A.x/a/b*y*2 B.2*x*y/a/b   C.2*x*y/a*b  D.x*y/b/a*2

2.若s是int型变量,则表达式s%2+(s-1)%2的值为()

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

3.若调用一个函数,且此函数中没有return语句,则表示该函数()。

A.没有返回值B.返回若干个系统默认值

C.返回一个用户所希望的函数值D.返回一个不确定的值

4.执行下列程序段后的输出结果是()。

charstr[]={“\t\bc\\Language\n\0g”};

printf("%d\n",strlen(str));

A.12B.13C.14D.16

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

 main()

{intx=1,y=2,z=3;

x=y--<=x||x+y !

=z ;

printf(“ %d,%d”,x,y) ;

}

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

6.以下不是死循环的语句是()

A.inti=100;

while

(1){i=i%100+1;if(i>100)break;}

B.for(;;);

C.intk=0;

do{++k;}while(k>=0);

D.ints=6;

while(s);--s;

7.下面能使i的运行结果为4的表达式语句是()。

A.inti=0,j=0;

(i=3,(j++)+i);   

B.inti=1,j=0;

j=i=((i=3)*2);  

C.inti=0,j=1;

(j==1)?

(i=1):

(i=3);    

D.inti=1,j=1;

i+=j+=2;

8.若有以下宏定义:

#defineN2

#defineY(n)((N+1)*n)

则执行语句“z=2*(N+Y(5));”后的结果为()。

A.语句有错误 B.z=34  C.z=70D.z无定值

9.下列程序是求1到100的累加和,其中有3个程序段能完成规定功能,有1个所完成的功能与其它程序不同,它是()。

A.s=0,i=0;while(i<=100)s+=i++;

B.s=0,i=1;while(i++<100)s+=i;

C.s=0,i=0;while(i<100)s+=++i;

D.s=0,i=0;while(++i<=100)s+=i;

10.凡在函数中未指定存储类别的变量,其隐含的存储类别是()。

A.自动(auto) B.静态(static)  

C.外部(extern)D.寄存器(register)

11.已有定义intk=2;int*p1,*p2;且p1和p2均已指向变量k,下面不能正确执行的赋值语句是()。

A.k=*p1+*p2B.p2=k;  

C.p1=p2;D.k=*p1**p2;

12.若有以下定义,则对a数组元素地址的正确引用是()。

inta[5],*p=a;

A.p+5B.*a+1 C.&a+1D.&a[0]

13.若有以下定义和赋值语句,则对b数组的第i行第j列(假设i,j已正确说明并赋值)元素值的非法引用是()。

intb[2][3]={0},(*p)[3];p=b;

A.*(*(p+i)+j)B.*(p[i]+j)  

C.*(p+i)+jD.(*(p+i))[j]

14.设有说明“inta[4][4],(*p)[4]=a;”,以下与数组元素a[3][3]不等价表示的是()。

A.*(a[3]+3)B.*(*(a+3)+3)  

C.*(*(p+3)+3)D.(*(*(a+3))+3)

15.若有以下定义,则数值不为3的表达式是()。

intx[10]={0,1,2,3,4,5,6,7,8,9},*p1;

A.x[3]B.p1=x+3,*p1++ 

C.p1=x+2,*(p1++)D.p1=x+2,*++p1

16.以下程序的输出结果是( )。

#include

#include

main()

{char*s1=”AbDeG”,*s2=”AbdEg”;

s1+=2,s2+=2;

printf(“%d\n”,strcmp(s1,s2));

}

A.正数B.负数 C.零D.不确定值

17.已有定义int(*p)();指针p可以()。

A.代表函数的返回值B.指向函数的入口地址 

C.表示函数的类型D.表示函数返回值的类型

18.以下程序的运行结果是()。

#include

main()

{structdate

{intyear,month,day;

}today;

printf(“%d\n”,sizeof(structdate));

}

A.6   B.8   C.10    D.12

19.设有说明:

struct{

charname[15],sex;

intage;floatscore;

}stu,*p=&stu;

以下不能正确输入结构体成员值的是()。

A.scanf(“%c”,&p->sex);B.scanf(“%s”,stu.name);

C.scanf(“%d”,&stu.age); D.scanf(“%f”,p->score);

20.若有以下声明和语句:

intt[3][3],*pt[3],k;

for(k=0;k<3;k++)pt[k]=&t[k][0];

则表达式*(*(pt+1)+2)所引用的是()。

A.t[2][0]B.&t[2][0]

C.t[1][2]D.&t[1][2]

得分

阅卷人

审核人

二、基本概念题(10分,每题1分)

 

1.C语言提供了四种基本的数据类型,它们是整型、实型、字符型和。

2.若定义了intx;则将x强制转换成双精度类型应该写成。

3.表达式8.0*(1/2)的值为。

4.C语言规定,在一个源程序中,main函数的位置。

5.C语言中的标识符只能由字母、数字和下划线字符组成,且第一个字符必须是。

6.若所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。

7.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式是

(假设s[0][0]位于数组的第一个位置上)。

8.在C语言中,&运算符作为单目运算符时表示的是   运算。

9.若要是下列程序段中指针变量p指向一个存储整型数据的存储单元,则应填入。

int*p;

p=malloc(sizeof(int));

10.函数调用strcat(strcpy(str1,str2),str3)的功能是:

得分

阅卷人

审核人

三、写出程序运行结果(20分,每题4分)

1.【程序】

main()

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

ints=0,i,*p;

p=&x[0];

for(i=0;i<=9;i+=2)

s+=*(p+i);

printf(“%d\n”,s);

}

2.【程序】

#include

#include

voidfun(char*w,intm)

{chars,*p1,*p2;

p1=w;

p2=w+m-1;

while(p1

{s=*p1++;*p1=*p2--;*p2=s;}

}

main()

{staticchara[]=”GFEDCBA”;

fun(a,strlen(a));

puts(a);

}

3.假设运行以下程序时,从键盘输入的是:

Howareyou

Goodmorning

Helloworld

【程序】

#include"stdio.h"

#include"string.h"

voidmain()

{inti;

chars[80],str[3][80];

for(i=0;i<3;i++)

gets(str[i]);

strcpy(s,str[0]);

for(i=1;i<3;i++)

if(strlen(s)

strcpy(s,str[i]);

printf("%s%d",s,strlen(s));

}

4.【程序】

#include

voidnum()

{externintx,y;

inta=15,b=10;

x=a-b;

y=a+b;

}

intx,y;

main()

{inta=7,b=5;

x=a+b;

y=a-b;

num();

printf(“%4d%4d\n”,x,y);

}

5.【程序】运行下面的程序,假设从键盘上输入值为3。

#include"stdio.h"

main()

{intj,k,n,temp;

inta[6][6];

scanf("%d",&n);

for(k=0;k

for(j=0;j

a[k][j]=k*n+j;

for(k=0;k

for(j=0;j

{temp=a[n-j-1][k];

a[n-j-1][k]=a[k][j];

a[k][j]=temp;

}

for(k=0;k

{for(j=0;j

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

printf("\n");}

}

得分

阅卷人

审核人

四、完善程序(12分,每空1分)

1.以下程序打印所有符合下列条件的3位正整数:

是某一个数的平方数,其中有两位数字相同。

如100、121等。

main()

{inta,b,c,n,k;

for(k=10;;k++)

{n=

(1);

if(n>999)

(2);

a=n/100;

b=(3);

c=n%10;

if(!

((a-b)*(b-c)*(c-a)))printf(“\n%d,%d”,n,k);

}

}

2.下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0。

main()

{inti,x,y=1;

scanf(“%d”,(4));

for(i=2;i<=x-1;i++)

if(5)

{

y=0;

(6)}

printf(“%d\n”,y);

}

3.以下程序可把输入的十进制数以十六进制数的形式输出。

main()

{charb[17]={“0123456789ABCDEF”};

intc[64],d,i=0,base=16;

longn;

printf(“Enteranumber:

\n”);

scanf(“%ld”,&n);

do

{c[i]=(7);i++;n=(8);}

while(n!

=0);

printf(“Transmitenewbase:

\n”);

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

{d=c[i];printf(“%c”,b[(9)]);}

printf(“\n”);

}

4.以下程序可分别求出方阵a中两个对角线上元素之和。

#defineN6

main()

{inta[N][N],i,j,k,pr1,pr2;

for(i=0;i

for(j=0;j

pr1=pr2=0;

for(i=0;i

{pr1=(10)+(*(*(a+i)+i);

k=(11);

pr2=(12)+*(*(a+i)+k);}

printf(“pr1=%d,pr2=%d\n”,pr1,pr2);

}

 

得分

阅卷人

审核人

四、编程(共38分)

1.求下列序列之值1+1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))的值。

要求输入n的值,输出序列之值。

2.定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数。

然后按顺序每5个数求出一个平均值,放在b数组中并输出。

3.某班30名同学1~30,考了5门课程1~5,要求编程输入该班所有考试成绩保存a[31][6]数组中,然后求出每门课程的平均成绩。

4.编程sum=1!

+2!

+3!

+…+10!

之值。

要求:

(1)使用函数调用技术,将求n!

之值编写为fac(n)函数。

(2)通过主函数调用fac函数实现题意。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1