c语言模拟考卷(09[1].6已选考)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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函数的位置。