c语言模拟考卷(09[1].6已选考)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

扬州大学试题纸

( 0 - 0 学年 第 二 学期)

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

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

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

ab

xy

2含义的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.执行下列程序段后的输出结果是( )。 char str[ ]={“\t\bc\\Language\n\0g”}; printf("%d\n", strlen(str)); A.12 B.13

C.14

D.16

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

{ int x=1,y=2,z=3; x=y--<=x||x+y !=z ; printf(“ %d,%d ”,x,y) ; }

A.0,1

B.0,2

C.1,1

D.1,2

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

A. int i=100;

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

B. for( ; ; );

C. int k=0;

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

D. int s=6;

while(s); --s;

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

A.int i=0,j=0;

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

B.int i=1,j=0;

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

C.int i=0,j=1;

(j= =1)?(i=1):(i=3);

D.int i=1,j=1;

i+=j+=2;

8.若有以下宏定义:

#define N 2

#define Y(n) ((N+1)*n)

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

A.语句有错误B.z=34 C.z=70 D.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.已有定义int k=2;int *p1,*p2;且p1和p2均已指向变量k,下面不能

正确执行的赋值语句是()。

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

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

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

int a[5],*p=a;

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

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

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

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

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

14.设有说明“int a[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的表达式是()。

int x[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( )

{ struct date

{ int year,month,day;

}today;

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

}

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

19.设有说明:

struct {

char name[15],sex;

int age; float score;

}stu,*p=&stu;

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

A.scanf(“%c”,&p->sex); B.scanf(“%s”,);C.scanf(“%d”,&stu.age); D.scanf(“%f”,p->score); 20.若有以下声明和语句:

int t[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.若定义了int x;则将x强制转换成双精度类型应该写成。3.表达式8.0*(1/2)的值为。

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

相关文档
最新文档